Saltar al contenido
Operación segura

Decidí si corregir, esperar o reconciliar.

Una referencia única para interpretar error.code, conservar trazabilidad y evitar reintentos que dupliquen operaciones.

Contrato de respuesta

El código para la lógica; el mensaje para la persona.

Automatizá decisiones con el estado HTTP y error.code. Mostrá error.message sin reemplazarlo por un texto genérico y registrá el Request ID.

No reintentar401, 403 y validaciones hasta corregir la causa.
Esperar425 y 429 siguiendo Retry-After o el reset publicado.
ReconciliarEscrituras ambiguas e idempotency_indeterminate.
HTTP/1.1 403 Forbidden
X-Request-Id: req_01H...

{
  "success": false,
  "error": {
    "code": "api_scope_required",
    "message": "El token no tiene el scope requerido."
  }
}
Matriz de reintentos

La ausencia de respuesta no significa ausencia de efecto.

La regla cambia según el método y la protección durable. Ante una escritura ambigua, priorizá reconciliar antes que repetir.

GET sin respuesta HTTP Reintentar con backoff y jitter. No aplica. Las lecturas son seguras; limitá intentos y conservá X-Request-Id cuando exista.
POST persistente sin respuesta HTTP Reintentar sólo si la operación usa Idempotency-Key. La misma clave. No generes una clave nueva entre intentos; podría duplicar el recurso.
401 o 403 No reintentar automáticamente. Sin efecto. Corregí token, scope, método, plan o permiso real.
409 idempotency_conflict Detener y corregir. No reutilizar para otro contenido. La clave representa un único comando canónico.
409 idempotency_indeterminate Reconciliar antes de continuar. Conservar para diagnóstico. Consultá el recurso antes de crear una operación nueva.
425 idempotency_in_progress Esperar Retry-After y repetir. La misma clave. No aumentes concurrencia sobre el mismo comando.
429 Esperar Retry-After o el reset indicado. La misma si era idempotente. No hagas loops inmediatos; respetá rate, cuota y presupuesto.
5xx Lecturas: reintento acotado. Escrituras: sólo con protección durable. La misma en creaciones idempotentes. Sin protección, tratá la escritura como ambigua.
Diagnóstico y soporte

Un incidente útil no necesita exponer secretos.

Prepará un paquete mínimo que permita relacionar la solicitud con la actividad técnica de PietroCal.

  • X-Request-Id exacto de la respuesta.
  • Fecha y hora con zona horaria.
  • Método HTTP y ruta; sanitizá parámetros sensibles.
  • Código HTTP, error.code y error.message completos.
  • Tipo y nombre de la credencial o su ID visible; nunca el Bearer.
  • Si se usó Idempotency-Key y si la respuesta fue reproducida; no envíes cuerpos con datos privados.
  • Resultado esperado, resultado observado y pasos mínimos para reproducir.
Nunca incluyasAuthorization Bearer, refresh token, Signing Secret, contraseñas, cookies o payloads con datos personales completos.
Referencia completa

Usá la fuente adecuada para cada decisión.

Swagger define la operación, las guías explican el flujo, el changelog informa cambios y esta página concentra recuperación y diagnóstico.