Crear nueva clave API
POST/apikeys
Propósito
Genera una nueva clave API y la asocia a la empresa del usuario autenticado (empresa o transportista).
Objetivo
Permitir que las empresas creen credenciales de acceso programático a la API de ECMR, con diferentes niveles de permisos según el rol asignado.
Casos de uso
- Generar una clave API para integrar un sistema ERP con la API de ECMR.
- Crear una clave con rol
devpara entornos de prueba. - Emitir una clave
adminpara herramientas internas de gestión.
Flujo de generación
flowchart TD
A[Recibir POST /apikeys] --> B{¿Usuario autenticado?}
B -->|No| C[401 Unauthorized]
B -->|Sí| D{¿Tipo de cuenta válido?}
D -->|No| E[404 NOT_FOUND]
D -->|Sí| F[Generar apikey con prefijo T/C + 9 chars]
F --> G[Generar temp_code de 15 chars]
G --> H[Crear documento Apikey con role]
H --> I[Añadir referencia al array apikeys de la empresa]
I --> J[200 OK - Devolver apikey completa]
Detalles técnicos
- La clave generada tiene formato: prefijo (
Tpara trucker,Cpara company) + 9 caracteres alfanuméricos aleatorios = 10 caracteres. - Se genera un
temp_codede 15 caracteres alfanuméricos que se usa como identificador seguro para la eliminación posterior. - El campo
typedel body determina elrolede la clave. - La clave completa solo se devuelve en esta respuesta. En listados
posteriores (
GET /apikeys) se devuelve enmascarada.
Roles válidos: dev, gestor, admin (default: admin).
Autenticación
Requiere JWT Bearer token (isLoged middleware). También acepta API Key.
Request
Responses
- 200
- 401
- 404
- 500
Clave API creada exitosamente. La clave completa se devuelve solo en esta respuesta; en listados posteriores aparecerá enmascarada.
Response Headers
Token JWT ausente, expirado o inválido
Response Headers
No se encontró el usuario, la empresa o el tipo de cuenta asociado al token.
Response Headers
Error inesperado durante la generación de la clave API