Create New API Key
POST/company/apikey/
Crea una nueva API Key para el usuario autenticado asociada a su compañía, permitiendo autenticación programática para integraciones externas y automatizaciones.
Objetivo
Generar credenciales seguras de tipo API Key que permitan acceso programático a los recursos de la compañía según el tipo de permisos especificado.
Casos de Uso
- Integración con sistemas externos de gestión de transporte
- Automatización de creación de subastas mediante scripts
- Generación automática de facturas desde plataformas de terceros
- Desarrollo de aplicaciones personalizadas que consumen la API de CargoOffer
Límites
- Máximo 4 API Keys por compañía
- Si se alcanza el límite, se retornará error 403 con código MAX_APIKEYS
- Cada key es única e irrecuperable una vez creada
Flujo de operación
flowchart TD
A[Receive Request] --> B{Usuario Autenticado?}
B -->|No| C[401 Unauthorized]
B -->|Sí| D{Usuario Existe?}
D -->|No| E[404 USER_NOT_FOUND]
D -->|Sí| F{Compañía Existe?}
F -->|No| G[404 COMPANY_NOT_FOUND]
F -->|Sí| H{API Keys < 4?}
H -->|No| I[403 MAX_APIKEYS]
H -->|Sí| J{Tipo Válido?}
J -->|No| K[400 Validación Mongoose]
J -->|Sí| L[Generar Key 40 chars]
L --> M[Generar temp_code]
M --> N[Guardar en DB]
N --> O[201 Created + Key Completa]
Consideraciones importantes
- La API Key solo se muestra completa en el momento de creación
- No se puede recuperar posteriormente, debe almacenarse de forma segura
- La clave incluye un carácter de checksum para validación
- Las eliminaciones son soft delete (mongoose-delete plugin)
Notas de Seguridad
- Almacenar la API Key en un gestor de secretos o variable de entorno
- No compartir la clave en repositorios públicos
- Rotar las claves periódicamente por seguridad
- Usar el tipo de permiso más restrictivo necesario
Request
Responses
- 200
- 400
- 401
- 403
- 404
API Key creada exitosamente
Response Headers
Error de validación
Response Headers
No autenticado
Response Headers
Límite de API Keys alcanzado
Response Headers
Usuario o compañía no encontrados