Saltar al contenido principal

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

API Key creada exitosamente

Response Headers