- Schema JSON:
GET /api/schema/ - Swagger UI:
GET /api/docs/swagger/ - ReDoc:
GET /api/docs/redoc/
-
POST /api/register/- body:
username,email,password,role - role permitido:
customer,distributor
- body:
-
POST /api/token/- body:
username,password - response incluye JWT con claims
roleyusername
- body:
-
POST /api/token/refresh/- body:
refresh
- body:
-
GET /api/products/- query opcional:
q,search,category,channel channel=b2brequiere roldistributoroadmin
- query opcional:
-
GET /api/catalog/- alias de listado de catalogo
GET /api/cart/POST /api/cart/(product_id,quantity)PATCH /api/cart/{id}/(quantity)DELETE /api/cart/{id}/
POST /api/orders/GET /api/orders/{id}/GET /api/orders/user/
Nota de comportamiento:
POST /api/orders/genera el pedido para pago, pero no vacia carrito ni descuenta stock aun.- El descuento de stock y la conciliacion de carrito se ejecutan al confirmar
POST /api/webpay/commit/autorizado.
POST /api/webpay/init/(order_id)POST /api/webpay/return/(callback de retorno Webpay)POST /api/webpay/commit/(token_ws)
Notas:
POST /api/payments/esta deprecado y responde410.
GET /api/users/me/
GET /api/admin/metrics/GET/POST/PATCH/DELETE /api/admin/products/GET/POST/DELETE /api/admin/categories/GET/PATCH /api/admin/orders/GET/PATCH /api/admin/payments/GET/PATCH /api/admin/users/PATCHsoportaroleeis_active.- Guardrail: un admin no puede remover su propio rol admin ni desactivar su propio usuario.
GET /api/health/
- Autenticacion por
Authorization: Bearer <access_token>. - Paginacion por defecto en listados DRF (
count,next,previous,results), salvo endpoints explicitamente sin paginacion. - Trazabilidad por request:
- puedes enviar
X-Request-IDpara correlacionar logs. - la API siempre responde con header
X-Request-ID.
- puedes enviar