Ir al contenido

Convenciones del API

Convenciones transversales que aplican a todos los endpoints. Conviene leerlas antes de integrar cualquier endpoint específico.

https://<dominio-hosana>/api/v1/

La versión v1 es parte de la ruta. Todos los ejemplos de esta documentación asumen ese prefijo.

  • Las solicitudes con cuerpo (POST) deben enviar Content-Type: application/json.
  • Todas las respuestas son application/json; charset=utf-8.

Casi todas las respuestas siguen una estructura predecible:

{
"success": true,
"message": "Texto legible para humanos.",
"...": "campos específicos del endpoint"
}
CampoTipoSignificado
successbooleantrue si la operación se completó sin rechazos; false si hubo error o rechazo.
messagestringDescripción legible del resultado. Útil para logs y soporte.
motivostring(Solo en rechazos) Código máquina del motivo. Ver catálogo de errores.
HTTPSignificado en este API
200Operación exitosa. (También se usa para batches duplicados ya procesados.)
404El recurso consultado no existe (p. ej. manifiesto inexistente en estado).
401Falta el ApiKey o es inválido.
422El payload o las reglas de negocio rechazaron la solicitud. El cuerpo trae el detalle.
429Se superó el rate limit del endpoint.
500Error interno en Hosana al procesar. El equipo técnico es notificado automáticamente.
503El servidor no está configurado para recibir solicitudes (falta clave).

Este es un punto frecuente de errores. El API acepta varios formatos de fecha según el contexto:

En el payload de facturas (FechaFactura, FechaVencimiento, etc.)

Sección titulada «En el payload de facturas (FechaFactura, FechaVencimiento, etc.)»

Se aceptan todos estos formatos:

FormatoEjemploNota
ISO 8601 con Z y milisegundos2025-12-28T00:00:00.000ZFormato real de Jaremar (recomendado)
ISO 8601 con Z2025-12-28T00:00:00Z
ISO 8601 sin zona2025-12-28T00:00:00
Fecha plana2025-12-28
Latinoamericano28/12/2025dd/mm/yyyy (pruebas / Postman)

En el header Fecha (endpoint de devoluciones)

Sección titulada «En el header Fecha (endpoint de devoluciones)»

El endpoint listar devoluciones exige estrictamente el formato dd/MM/yyyy:

Fecha: 17/12/2025

Cualquier otro formato responde 422.

  • insertar detecta batches duplicados por hash del contenido durante el mismo día. Si reenvías un batch idéntico, recibes 200 con el resumen del proceso original, sin duplicar facturas. Es seguro reintentar ante un timeout.
  • listar devoluciones es de solo lectura; reintentar no tiene efectos secundarios.