API & Guías
API Reference
Referencia de los endpoints principales de la API de Relo.
La API de Relo expone ~250 endpoints distribuidos en 28 modulos de ruta. Esta pagina documenta los endpoints principales por dominio. Para el detalle completo de cada handler, revisa el codigo fuente en src/workers/routes/ y src/workers/handlers/.
<ElkFlowDiagram chart={flowchart LR A[Cliente / Partner / Admin] --> B[Cloudflare Worker API] B --> C[Supabase Postgres] B --> D[ClickHouse Analytics] B --> E[Go Ingest Service] E --> F[R2 WAL] } />
| Entorno | URL |
|---|
| API de plataforma | https://relo-api.quomx.workers.dev |
| Ingesta de eventos | https://ingest.relo.mx |
| Upload de archivos grandes | https://upload.relo.mx |
- API de plataforma: Bearer token de Supabase Auth en header
Authorization.
- Ingesta: Bearer token provisto por Relo.
Authorization: Bearer <token>
GET /api/health
{
"status": "ok",
"version": "7.1.0",
"uptime_sec": 864000,
"clickhouse": "ok",
"dragonfly": "ok",
"supabase": "ok"
}
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/auth/me | Bearer | Perfil del usuario actual (role, partner_id). |
| DELETE | /api/auth/reset-user | Admin | Reset user para testing. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/invitations | Admin | Lista invitaciones de partners. |
| POST | /api/invitations | Admin | Crear invitacion de partner. |
| GET | /api/invitations/verify?token= | Public | Verificar token. |
| POST | /api/invitations/accept | Public | Aceptar invitacion. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/client-invitations | Admin | Lista invitaciones de clientes. |
| POST | /api/client-invitations | Admin | Crear invitacion de cliente. |
| GET | /api/client-invitations/verify?token= | Public | Verificar token. |
| POST | /api/client-invitations/accept | Public | Aceptar invitacion. |
| DELETE | /api/client-invitations/:token | Admin | Revocar invitacion. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/clients | Admin | Lista clientes. |
| POST | /api/clients | Admin | Crear cliente. |
| GET | /api/clients/:id | Admin | Detalle cliente. |
| PATCH | /api/clients/:id | Admin | Actualizar cliente. |
| DELETE | /api/clients/:id | Admin | Eliminar cliente. |
| GET | /api/clients/:id/segments | Admin | Segmentos del cliente. |
| POST | /api/clients/:id/segments | Admin | Crear segmento. |
| PATCH | /api/clients/:id/segments/:code | Admin | Actualizar segmento. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/partners | Admin | Lista partners. |
| POST | /api/partners | Admin | Crear partner. |
| GET | /api/partners/:id | Partner/Admin | Detalle del partner. |
| PATCH | /api/partners/:id | Admin | Actualizar partner. |
| DELETE | /api/partners/:id | Admin | Eliminar partner. |
| GET | /api/partners/:id/dashboard | Partner/Admin | Dashboard del partner. |
| GET | /api/partners/:id/orders | Partner/Admin | Ordenes del partner. |
| GET | /api/partners/:id/payments | Partner/Admin | Historial de pagos. |
| GET | /api/partners/:id/segment-budgets | Partner/Admin | Budgets por segmento. |
| GET | /api/partners/:id/segment-commissions | Admin | Comisiones por segmento. |
| POST | /api/partners/:id/segment-commissions | Admin | Upsert comision. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/campaigns?client_id= | Admin | Lista campanas. |
| POST | /api/campaigns | Admin | Crear campana. |
| PATCH | /api/campaigns/:id | Admin | Actualizar campana. |
| DELETE | /api/campaigns/:id | Admin | Eliminar campana. |
| POST | /api/campaigns/:id/launch | Admin | Launch campana (patterns, partners, comisiones, budgets). |
| GET | /api/campaigns/:id/orders | Admin | Ordenes filtradas por campana. |
| GET | /api/campaigns/:id/stats | Admin | Stats de campana. |
| GET | /api/campaigns/:id/daily | Admin | Ventas diarias de campana. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/payments?client_id=&year=&month= | Admin | Lista pagos. |
| POST | /api/payments/generate | Admin | Generar pagos del mes. |
| GET | /api/payments/summary | Admin | Resumen de pagos. |
| PATCH | /api/payments/:id | Admin | Actualizar status de pago. |
| POST | /api/payments/:id/evidence | Admin | Subir evidencia de pago. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/rules?client_id= | Admin | Lista reglas. |
| POST | /api/rules | Admin | Crear regla. |
| GET | /api/rules/:id | Admin | Detalle de regla. |
| PUT | /api/rules/:id | Admin | Actualizar regla. |
| DELETE | /api/rules/:id | Admin | Eliminar regla. |
| POST | /api/rules/simulate | Admin | Simular regla contra datos historicos. |
| POST | /api/rules/:id/backfill | Admin | Re-evaluar regla historicamente. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/planner?client_id=&year=&month= | Admin | Datos del planner. |
| POST | /api/planner/save | Admin | Guardar planner. |
| POST | /api/planner/approve | Admin | Aprobar y notificar. |
| POST | /api/planner/reopen | Admin | Reabrir mes aprobado. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/budgets/alerts?client_id= | Admin | Alertas de presupuesto. |
| GET | /api/clients/:id/relo-budgets | Admin | Budgets que el cliente paga a Relo. |
| POST | /api/clients/:id/relo-budgets | Admin | Crear budget de Relo. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/imports | Admin | Lista imports. |
| POST | /api/imports/reset-stuck | Admin | Reset imports stuck. |
| POST | /api/import/fast | Admin | Import rapido. |
| POST | /api/v3/upload/init | Admin | Iniciar multipart upload. |
| POST | /api/v3/upload/complete | Admin | Completar upload. |
| POST | /api/v3/imports/process | Admin | Procesar archivo subido. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/orders/:id/details | Admin | Detalle de orden. |
| GET | /api/sales/unattributed?client_id= | Admin | Ventas sin atribuir. |
| POST | /api/sales/assign | Admin | Asignar venta a partner. |
| POST | /api/sales/reattribute | Admin | Re-atribuir ventas. |
| POST | /api/sales/bulk-attribute | Admin | Atribucion masiva. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/dashboard/overview-v2 | Admin | Overview con segmentos. |
| GET | /api/dashboard/partners | Admin | Lista partners para dashboard. |
| GET | /api/dashboard/client-analytics | Admin | Analytics del cliente. |
| GET | /api/dashboard/client-orders | Admin | Ordenes del cliente. |
| GET | /api/dashboard/client-geo | Admin | Datos geograficos. |
| Method | Endpoint | Auth | Descripcion |
|---|
| POST | /api/ai-assistant/chat | Admin | Chat con Claude. |
| GET | /api/ai-assistant/conversations | Admin | Lista conversaciones. |
| GET | /api/ai-assistant/conversations/:id | Admin | Detalle de conversacion. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/client-portal/:clientId/bundle | ClientUser/Admin | Dashboard bundle (sin datos de partners/comisiones). |
| GET | /api/client-portal/:clientId/orders | ClientUser/Admin | Ordenes del cliente. |
| GET | /api/client-portal/:clientId/orders/export | ClientUser/Admin | Exportar ordenes a CSV. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/health | None | Health check basico. |
| GET | /api/system/health | Admin | Salud detallada de componentes. |
| GET | /api/system/data-freshness | Admin | Freshness de datos y lag. |
| GET | /api/admin/fraud-dashboard | Admin | Dashboard cross-client de fraude. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | /api/webhooks?client_id= | Admin | Lista webhooks. |
| POST | /api/webhooks | Admin | Crear webhook. |
| PATCH | /api/webhooks/:id | Admin | Actualizar webhook. |
| DELETE | /api/webhooks/:id | Admin | Eliminar webhook. |
| Method | Endpoint | Auth | Descripcion |
|---|
| GET | https://ingest.relo.mx/health | None | Health del ingest service. |
| POST | https://ingest.relo.mx/ingest/batch | Bearer | Enviar batch de eventos (max 10,000). |
| POST | https://ingest.relo.mx/postback/stripe | Stripe signature | Webhook de Stripe. |
| PUT | https://ingest.relo.mx/upload/{client}/{partner}/{filename} | Bearer | Subir CSV de partner. |
| Codigo | Significado | Accion |
|---|
200 | OK | Revisa rejected si aplica. |
400 | Payload invalido | Corrige el body, no reintentar. |
401 | No autorizado | Revisa el Bearer token. |
403 | Forbidden | El rol no tiene permiso. |
404 | No encontrado | Verifica IDs y slugs. |
429 | Rate limit | Espera 1-5s y reintenta. |
500/502/503 | Error del servidor | Reintenta con backoff exponencial (max 3). |
| Endpoint | Limite |
|---|
/ingest/batch | 100 req/min por token |
/ingest/batch | 10,000 eventos por request |
/api/* | Segun plan y rol |
| Rol | Acceso tipico |
|---|
admin | Todos los endpoints. |
client_manager | Clientes asignados y sus partners. |
partner | Solo datos de su propio partner. |
client_user | Solo datos agregados de su cliente. |
viewer | Solo lectura. |
Para la lista completa de endpoints (~250), revisa el router modular en src/workers/routes/ y los handlers en src/workers/handlers/.