Conector de Redes
OpenAPIAPI v0.1.0
Explorar documentación

Operar · Seguridad transaccional

Una intención de envío, una clave estable.

La idempotencia permite repetir una solicitud cuando la red o el cliente fallan sin crear otra expedición por accidente.

Comportamiento determinista

La clave queda asociada al cliente, la operación y la huella de la petición ya validada.

ClaveContenidoHTTPResultado
Clave nuevaPetición nueva201Crea la expedición y reserva el resultado.
Misma claveMismo contenido200Devuelve el resultado original sin repetir el alta.
Misma claveContenido diferente409Rechaza con idempotency_conflict.
Misma clavePrimera petición en curso409Devuelve idempotency_in_progress y Retry-After.

Reconocer una respuesta reproducida

La primera alta incluye Idempotent-Replayed: false. Si el resultado se recupera de la reserva idempotente, responde con200 y la cabecera pasa a true.

Resultado reproducido
HTTP/1.1 200 OK
Content-Type: application/json
Idempotent-Replayed: true
X-Correlation-ID: 6fa5d6a6-fba8-41b6-98a4-a6ed5cb89c6d

{ "id": "274a2a5d-fef4-4fc6-9057-39d8df258367", "status": "created" }

Decidir si debes reintentar

01

Sin respuesta o timeout del cliente

Conserva la clave y repite exactamente el mismo contenido.

02

idempotency_in_progress

Espera Retry-After y consulta antes de volver a intentarlo.

03

rate_limit_exceeded

Espera Retry-After; no cambies la clave.

04

Validación previa al transportista

Corrige la petición y usa una clave nueva para la nueva intención.

05

carrier_operation_uncertain

No repitas. Conserva ambos identificadores y contacta con soporte.

Resultado incierto del transportista

Si la llamada externa comenzó pero no puede confirmarse su resultado, el Conector bloquea el reintento automático y abre una conciliación.

Respuesta que exige conciliación
HTTP/1.1 503 Service Unavailable
Content-Type: application/problem+json
X-Correlation-ID: c99550c4-c9b8-477d-b779-b9329de2ea37
X-Reconciliation-ID: 04a5b2ef-16eb-4b64-a1da-c419915d54a7

{
  "type": "https://docs.sendingbay.com/problems/carrier_operation_uncertain",
  "title": "Resultado pendiente de conciliación",
  "status": 503,
  "detail": "No se pudo confirmar el resultado del transportista",
  "code": "carrier_operation_uncertain",
  "correlation_id": "c99550c4-c9b8-477d-b779-b9329de2ea37"
}
Siguiente lectura

Cómo interpretar y recuperar cada error estable.

Ir a errores →