Objetivo
Configura una política de reintentos por defecto a nivel de cuenta para que cada nueva validación herede automáticamente un comportamiento de reintento consistente — sin necesidad de pasar retry_policy en cada body de POST /v1/validate o POST /v1/validate-ocr.
Requisitos previos
- Una API key activa (
mxcep_…). No se requiere permiso adicional — cualquier usuario autenticado puede leer y actualizar su propia política de reintentos. - Conocer los parámetros de reintento que deseas: outcomes elegibles, máximo de reintentos e intervalo.
Pasos
1. Leer la política actual
curl 'https://api.example.com/v1/users/me/retry-policy' \
-H 'Authorization: Bearer mxcep_••••'Si no se ha guardado ninguna política todavía, la respuesta devuelve un estado cero sintético:
{
"data": {
"type": "retry_policy",
"attributes": {
"enabled": false,
"max_retries": 0,
"interval_seconds": 0,
"outcomes": []
}
}
}Si ya hay una política configurada:
{
"data": {
"type": "retry_policy",
"attributes": {
"enabled": true,
"max_retries": 3,
"interval_seconds": 600,
"outcomes": ["not_found", "cep_unavailable"]
}
}
}2. Actualizar la política
Envía el body completo de la política (no se admiten actualizaciones parciales):
curl -X PUT 'https://api.example.com/v1/users/me/retry-policy' \
-H 'Authorization: Bearer mxcep_••••' \
-H 'Content-Type: application/json' \
-d '{
"retry_policy": {
"enabled": true,
"max_retries": 3,
"interval_seconds": 600,
"outcomes": ["not_found", "cep_unavailable"]
}
}'Parámetros:
| Campo | Tipo | Notas |
|---|---|---|
enabled | boolean | Requerido. Establece false para deshabilitar los reintentos globalmente. |
max_retries | integer | Número de intentos de reintento. Debe estar dentro del cap de tu plan. |
interval_seconds | integer | Segundos entre intentos. Debe estar dentro del rango permitido por el plan. |
outcomes | string[] | Qué veredictos disparan un reintento. Se requiere al menos un valor cuando enabled=true. |
La validación es estricta — si max_retries o interval_seconds supera los caps de tu plan, el servidor devuelve 422 retry_policy_invalid. Revisa los detalles del error para los rangos permitidos.
Para deshabilitar los reintentos:
curl -X PUT 'https://api.example.com/v1/users/me/retry-policy' \
-H 'Authorization: Bearer mxcep_••••' \
-H 'Content-Type: application/json' \
-d '{
"retry_policy": { "enabled": false }
}'3. Usar Idempotency-Key para evitar escrituras duplicadas
Si tu despliegue reintenta peticiones PUT fallidas, usa Idempotency-Key para asegurarte de que la actualización de política se aplique solo una vez:
curl -X PUT 'https://api.example.com/v1/users/me/retry-policy' \
-H 'Authorization: Bearer mxcep_••••' \
-H 'Idempotency-Key: actualizacion-politica-2025-03-15-v1' \
-H 'Content-Type: application/json' \
-d '{ "retry_policy": { "enabled": true, "max_retries": 3, "interval_seconds": 600, "outcomes": ["not_found"] } }'La respuesta incluye Idempotent-Replayed: true cuando la misma clave devuelve una respuesta cacheada (TTL 24h).
Siguientes pasos
- Gestionar el estado de reintentos en registros de validación individuales: ver Consultar y gestionar validaciones.
- Validar una transferencia SPEI y tener reintentos aplicados automáticamente: ver Validar una transferencia SPEI (directa).