401/403/404/422Corrige o autoriza
Revisa credenciales, permisos o contenido. Si cambia la intención de envío, genera una clave de idempotencia nueva.
Operar · Recuperación
Las respuestas conocidas usan Problem Details. Tu integración debe decidir por code, no por el texto descriptivo ni por un mensaje del transportista.
El contenido usa application/problem+json y contienetype, title, status,detail, code ycorrelation_id. Los fallos de esquema añadenerrors con la ubicación de cada campo.
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/problem+json
X-Correlation-ID: a751b655-d2a5-418d-9131-e18bf7693ee5
{
"type": "https://docs.sendingbay.com/problems/validation_error",
"title": "Petición no válida",
"status": 422,
"detail": "Uno o más campos no cumplen el contrato",
"code": "validation_error",
"correlation_id": "a751b655-d2a5-418d-9131-e18bf7693ee5",
"errors": [{
"location": ["body", "packages"],
"message": "List should have at least 1 item after validation, not 0",
"error_type": "too_short"
}]
}401/403/404/422Revisa credenciales, permisos o contenido. Si cambia la intención de envío, genera una clave de idempotencia nueva.
409/429/503Sólo cuando la acción indicada lo permita. Respeta Retry-After, aplica backoff y conserva la misma clave.
carrier_operation_uncertainNo repitas el alta. Conserva la evidencia y solicita conciliación a SendingBay.
Estos códigos forman el contrato funcional actual. El texto dedetail puede aportar contexto, pero no debe controlar la lógica de tu aplicación.
| Código | HTTP | Acción recomendada |
|---|---|---|
authentication_required | 401 | Envía una credencial Bearer. |
invalid_credential | 401 | Renueva o revisa la credencial del ambiente. |
insufficient_scope | 403 | Solicita el scope requerido. |
carrier_connection_not_found | 404 | Verifica una conexión habilitada para tu cliente. |
shipment_not_found | 404 | Verifica el id; no permite inferir envíos de otro cliente. |
article_mapping_not_found | 422 | Consulta los artículos de la conexión. |
carrier_service_not_contracted | 422 | La constancia contractual vigente excluye ese servicio; consulta con SendingBay o la red. |
origin_mapping_not_found | 422 | Quita origin_code o consulta los orígenes habilitados. |
shipment_option_not_available | 422 | Quita la opción o revisa artículo y conexión. |
shipment_restriction_violation | 422 | Ajusta destino, bultos, medidas o datos obligatorios. |
shipment_modification_unavailable | 422 | Consulta de nuevo la política y limita el cambio a los campos admitidos. |
incident_reporting_unavailable | 422 | Consulta la política y usa una categoría admitida para ese envío. |
reverse_logistics_operation_not_found | 404 | Verifica el resultado dentro de tu cliente y no repitas con otra clave. |
reverse_logistics_unavailable | 422 | Consulta la política: la conexión, red o instantánea no admite la devolución. |
validation_error | 422 | Corrige los campos enumerados en errors. |
invalid_tracking_cursor | 422 | Reinicia sin cursor o usa el de la página anterior. |
carrier_request_rejected | 422 | Corrige la petición según el detalle sanitizado. |
carrier_capability_unavailable | 422 | La capacidad no está habilitada para esa conexión y ambiente. |
carrier_location_request_rejected | 422 | Corrige los filtros según la restricción publicada para la red. |
pudo_point_unavailable | 422 | Vuelve a buscar y pide al usuario que seleccione otro punto. |
idempotency_conflict | 409 | Recupera la petición original o usa una clave nueva para otra intención. |
idempotency_in_progress | 409 | Espera Retry-After y consulta antes de repetir. |
rate_limit_exceeded | 429 | Espera Retry-After sin cambiar la clave. |
carrier_adapter_not_found | 503 | Reintenta según el estado comunicado por soporte. |
carrier_credentials_unavailable | 503 | Conserva la clave y usa backoff si soporte confirma disponibilidad. |
carrier_location_service_unavailable | 503 | Aplica backoff y conserva correlation_id si persiste. |
carrier_operation_uncertain | 503 | No reintentes; conserva correlation_id y, si existe, X-Reconciliation-ID. |
service_unavailable | 503 | Aplica backoff e informa correlation_id si persiste. |
internal_error | 500 | Informa correlation_id a soporte. |
X-Correlation-ID y, si existe,X-Reconciliation-ID.