Una validación puede terminar sin veredicto por causas ajenas a los datos enviados: Banxico no responde, o el CEP todavía no está publicado. La política de reintentos vuelve a intentarlo automáticamente, sin que el cliente tenga que reenviar la petición.
El reintento no consume cuota adicional: pertenece a la validación original.
Qué desenlaces se reintentan
| desenlace | se reintenta |
|---|---|
not_found | Sí. El CEP puede publicarse más tarde |
cep_unavailable | Sí. Banxico no respondió en el intento |
error | Sí. Fallo durante el procesamiento |
valid | No. Hay veredicto |
invalid | No. Los datos enviados no forman una consulta válida, y repetirla no lo cambia |
La distinción es si repetir la consulta puede dar un resultado distinto. Un dato mal formado no se arregla insistiendo.
Topes
| tope | valor |
|---|---|
| Reintentos por validación | 5 |
| Intervalo mínimo entre intentos | 5 minutos |
| Intervalo máximo | 24 horas |
| Antigüedad máxima de la validación | 7 días |
| Validaciones con reintento pendiente por cuenta | 50 |
| Reintentos despachados por día y cuenta | 200 |
| Reactivaciones de una misma validación | 3 |
Los topes por cuenta protegen frente a una acumulación que retrasaría los reintentos de todas las validaciones. Alcanzado el tope de pendientes, las validaciones nuevas se procesan sin reintento automático.
Configuración
La política tiene dos niveles. El valor por omisión de la cuenta se consulta y modifica en GET/PUT /v1/users/me/retry-policy, y se aplica a las validaciones nuevas. Una validación concreta se ajusta con PUT /v1/validations/{id}/retry-policy, que prevalece sobre el valor de la cuenta.
Estado en la validación
Toda validación expone retry_state, incluso cuando no tiene reintentos activos: en ese caso enabled es false y los campos de política son null. Las filas procedentes de una importación masiva llevan siempre enabled: false.
Cada transición del ciclo emite su evento de webhook —validation.retry.scheduled, validation.retry.resolved y validation.retry.exhausted—, de modo que el seguimiento no requiere sondear. La entrega de esos eventos se describe en la arquitectura de webhooks.