Objetivo
Consulta, audita y gestiona los registros de validación producidos por POST /v1/validate y POST /v1/validate-ocr. Este how-to cubre el flujo completo post-validación: encontrar registros, inspeccionar sus detalles, descargar artefactos, exportar para conciliación y controlar el comportamiento de reintentos por registro.
Requisitos previos
- Una API key activa (
mxcep_…) con el permisovalidations:read. - Para eliminar registros:
validations:delete. - Para exportar:
validations:read(mismo permiso — no se requiere permiso de exportación separado).
Pasos
1. Listar validaciones
GET /v1/validations devuelve una lista paginada de todas tus validaciones. Filtra por status, type (direct u ocr), rango de fechas o búsqueda libre search (coincide con clave de rastreo, referencia numérica, emisor y receptor).
# Últimas 20 validaciones directas válidas
curl 'https://api.example.com/v1/validations?status=valid&type=direct&per_page=20' \
-H 'Authorization: Bearer mxcep_••••'Respuesta (abreviada):
{
"data": [
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"type": "validation",
"attributes": {
"status": "valid",
"validation_type": "direct",
"created_at": "2025-03-15T14:22:10Z"
}
}
],
"meta": { "total": 314, "page": 1, "per_page": 20 }
}Para incluir registros con soft-delete, añade with_deleted=1.
2. Consultar estadísticas agregadas
Antes de exportar o profundizar, verifica el desglose de estados con GET /v1/validations/stats. Soporta los mismos filtros que el endpoint de listado.
curl 'https://api.example.com/v1/validations/stats?date_from=2025-01-01&date_to=2025-03-31' \
-H 'Authorization: Bearer mxcep_••••'{
"data": {
"type": "validation_stats",
"attributes": {
"total": 1240,
"valid": 987,
"not_found": 201,
"deleted": 15,
"other": 52
}
}
}3. Inspeccionar un registro individual
Obtén los detalles completos — incluyendo ocr_result, retry_state y request_data — con GET /v1/validations/{id}. Usa ETag / If-None-Match para recibir respuestas 304 al sondear completaciones asíncronas.
curl 'https://api.example.com/v1/validations/f47ac10b-58cc-4372-a567-0e02b2c3d479' \
-H 'Authorization: Bearer mxcep_••••'Cuando la validación sigue en queued o processing, la respuesta incluye Retry-After y meta.next_poll_after_seconds para guiar tu intervalo de sondeo.
4. Descargar un certificado CEP
Cuando status es valid y has_cep es true:
# XML (formato canónico Banxico)
curl 'https://api.example.com/v1/validations/f47ac10b-.../cep?format=xml' \
-H 'Authorization: Bearer mxcep_••••' --output cep.xml
# PDF (legible por humanos)
curl 'https://api.example.com/v1/validations/f47ac10b-.../cep?format=pdf' \
-H 'Authorization: Bearer mxcep_••••' --output cep.pdf5. Descargar la imagen del comprobante
Las validaciones OCR almacenan la imagen saneada del comprobante en la plataforma:
curl 'https://api.example.com/v1/validations/c3d4e5f6-.../image' \
-H 'Authorization: Bearer mxcep_••••' --output comprobante.png6. Exportar resultados a CSV o XLSX
Usa GET /v1/validations/export para descargar todas las validaciones que coincidan con los filtros en un archivo. Soporta los mismos filtros que el endpoint de listado:
curl 'https://api.example.com/v1/validations/export?format=xlsx&status=valid&date_from=2025-01-01' \
-H 'Authorization: Bearer mxcep_••••' \
--output validaciones-q1.xlsxUsa format=csv para el formato por defecto o format=xlsx para hoja de cálculo.
7. Gestionar el estado de reintentos por registro
Si una validación está en un ciclo de reintentos (por ejemplo, Banxico no estaba disponible), puedes:
Ver el historial de reintentos:
curl 'https://api.example.com/v1/validations/f47ac10b-.../retry-attempts' \
-H 'Authorization: Bearer mxcep_••••'Reconfigurar la política de reintentos solo para este registro:
curl -X PUT 'https://api.example.com/v1/validations/f47ac10b-.../retry-policy' \
-H 'Authorization: Bearer mxcep_••••' \
-H 'Content-Type: application/json' \
-d '{
"enabled": true,
"max_retries": 5,
"interval_seconds": 300,
"outcomes": ["not_found", "cep_unavailable"]
}'Cancelar reintentos en curso:
curl -X POST 'https://api.example.com/v1/validations/f47ac10b-.../cancel-retries' \
-H 'Authorization: Bearer mxcep_••••'Devuelve 200 con el timestamp retry_state.cancelled_at actualizado.
8. Eliminar un registro
Realiza un soft-delete de una validación para quitarla de tu vista de lista por defecto:
curl -X DELETE 'https://api.example.com/v1/validations/f47ac10b-...' \
-H 'Authorization: Bearer mxcep_••••'Devuelve 204. Los registros con soft-delete siguen siendo recuperables vía GET /v1/validations?with_deleted=1.
Siguientes pasos
- Validar desde una imagen de comprobante: ver Validar via OCR.
- Establecer una política de reintentos por defecto a nivel de cuenta: ver Configurar política de reintentos.
- Analizar tendencias en tus validaciones: ver Analizar insights.