Integración para Agregadores y Plataformas
Dos modelos de integración
Escenario A
API Key propia
Tu plataforma gestiona eCMRs de múltiples clientes con una sola clave
API eCMR
Operaciones multi-compañía
Escenario B
JWT por cliente
Cada empresa tiene su propio login y token
API eCMR
Cada empresa opera sus eCMRs
Escenario A: Tu plataforma como agregador
Tu plataforma tiene una API Key que permite operar sobre recursos de distintas empresas. Ideal para integraciones server-to-server.
Obtener tu API Key
# 1. Inicia sesión con tu usuario administrador: POST https://ecmr.api.pro.cargoffer.com/auth/login { "email": "admin@tuplataforma.com", "password": "tu-password" } # → Obtienes un JWT token # 2. Crea una API Key: POST https://ecmr.api.pro.cargoffer.com/apikeys Authorization: Bearer <JWT> { "type": "admin" }
⚠️ La API Key se muestra UNA SOLA VEZ. Guárdala de forma segura. Si la pierdes, puedes crear una nueva con el mismo endpoint o revocarla con
DELETE /apikeys/{tempCode}.Usar la API Key
# En cada petición, pasa la API Key como query param: POST /ecmr?apikey=CLAVE_API
Escenario B: Cada cliente con su cuenta
Registras a cada cliente y usas su JWT para cada operación.
POST /auth/register 📖 { "socialName": "Cliente SL", "user": { "email": "admin@cliente.com", ... } } # Operar con el JWT del cliente: POST /ecmr Authorization: Bearer <jwt_del_cliente>
Acceso público con temp_token
El temp_token permite que un transportista sin cuenta acceda a funcionalidades limitadas de un eCMR específico:
PUT /ecmr/trucker-assign/{service_code}?temp_code=TOKEN 📖
Ideal para emails de asignación donde el transportista no tiene credenciales.
Buenas prácticas
- API Keys → M2M: Para integraciones server-to-server
- JWT → Usuarios: Para acciones iniciadas por personas
- Rol mínimo: Asigna el rol más restrictivo (dev < gestor < admin)
- Rotación: Renueva API Keys periódicamente
- temp_token: Acotado a un solo eCMR, no es un mecanismo de autenticación general
| Situación | Recomendación |
|---|---|
| Tu plataforma gestiona todos los eCMRs | Escenario A — API Key propia |
| Cada cliente ve solo sus datos | Escenario B — JWT por cliente |
| El transportista no tiene cuenta | temp_token para acceso limitado |