Saltar a contenido

Errores, reintentos e idempotencia

Una integración fiable distingue entre una petición inválida, una falta de permiso y un fallo temporal. El código HTTP debe guiar la siguiente acción.

Códigos frecuentes

Código Significado Qué hacer
400 Petición mal formada Corrige el JSON, parámetros o cabeceras.
401 Credencial ausente o inválida Revisa, rota o vuelve a configurar la clave.
403 Scope o acceso insuficiente Solicita solo el permiso necesario.
404 Recurso o capacidad no disponible Comprueba el identificador y las capacidades.
409 Conflicto o duplicado Relee el recurso y aplica una decisión explícita.
422 Datos no válidos Muestra los campos que deben corregirse.
429 Límite temporal Espera y reintenta con backoff.
5xx Error temporal del servicio Reintenta de forma limitada y registra el request_id.

Idempotencia

En mutaciones usa una clave estable en Idempotency-Key. Si la red falla después de enviar una operación, puedes repetir la misma petición sin crear duplicados. No reutilices la clave para operaciones diferentes.

Reintentos

Reintenta solo errores temporales y respeta el límite indicado por el servicio. Un backoff exponencial con jitter evita que todos los clientes vuelvan a intentarlo a la vez. Establece un máximo de intentos y una cola de revisión manual.

Paginación y búsqueda

Las listas pueden estar paginadas. Conserva el cursor o página que devuelva la respuesta y no asumas que el primer resultado es el único. Cuando sincronices cambios, guarda el identificador y el momento de la última lectura.

Observabilidad

Registra método, recurso, código, duración, número de intento y request_id. Redacta cuerpos que contengan datos personales y nunca registres claves, firmas o contraseñas.