Gestión de Incidencias
¿Cómo funciona?
El sistema de incidencias (issues) permite a cargadores y transportistas abrir tickets asociados a un eCMR, con motivos predefinidos, seguimiento conversacional y cierre formal. Cada ticket puede incluir archivos adjuntos (fotos, documentos) como evidencia.
1. Crear una incidencia
POST /issues/ 📖 Authorization: Bearer <token> Content-Type: application/json { "service_code": "CODIGO_ECMR", "reason": "MERCANCIA_DANADA", "comment": "El embalaje llegó roto. Se adjuntan fotos.", "files": ["base64_encoded..."] }
Motivos disponibles
GET /issues/reasons 📖 Authorization: Bearer <token>
Devuelve la lista de motivos predefinidos (mercancía dañada, retraso, documento incorrecto, etc.)
2. Seguimiento conversacional
Cada incidencia soporta un hilo de mensajes entre las partes implicadas:
POST /issues/{id} 📖 Content-Type: multipart/form-data comment: "Se ha reemplazado la mercancía" files[]: @nuevo_albaran.pdf
3. Resolver incidencia
POST /issues/{id}/resolve 📖 Authorization: Bearer <token> Content-Type: application/json { "resolution": "Mercancía reemplazada y aceptada por el destinatario." }
4. Consultar incidencias
GET /issues/ 📖 Authorization: Bearer <token> # Listar todas (con filtros) GET /issues/{id} 📖 Authorization: Bearer <token> # Detalle de una incidencia
Códigos de incidencia
GET /issues/codes 📖 Authorization: Bearer <token>
Endpoint auxiliar para obtener códigos de referencia de incidencias.
Resumen de endpoints
| Método | Endpoint | Propósito |
|---|---|---|
| GET | /issues/ | Listar incidencias |
| POST | /issues/ | Crear incidencia |
| GET | /issues/{id} | Detalle de incidencia |
| POST | /issues/{id} | Añadir mensaje |
| POST | /issues/{id}/resolve | Resolver incidencia |
| GET | /issues/reasons | Motivos predefinidos |
| GET | /issues/codes | Códigos de referencia |