Consultar, descargar y gestionar validaciones
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 (
veriko_…) 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 manuales válidas
curl 'https://api.veriko.mx/v1/validations?status=valid&type=direct&per_page=20' \
-H 'Authorization: Bearer veriko_••••'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": { "pagination": { "page": 1, "per_page": 20, "total": 314, "total_pages": 16 } }
}Por defecto el listado incluye los registros con soft-delete; with_deleted=0 deja solo los activos y with_deleted=1 solo los retirados.
Si enviaste client_ref al validar, client_ref=<valor> devuelve solo las validaciones con esa referencia exacta. El valor se devuelve tal cual en attributes.client_ref.
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, salvo status.
curl 'https://api.veriko.mx/v1/validations/stats?from=2025-01-01&to=2025-03-31' \
-H 'Authorization: Bearer veriko_••••'{
"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.veriko.mx/v1/validations/f47ac10b-58cc-4372-a567-0e02b2c3d479' \
-H 'Authorization: Bearer veriko_••••'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, la respuesta trae links.cep_pdf y links.cep_xml:
# XML (formato canónico Banxico)
curl 'https://api.veriko.mx/v1/validations/f47ac10b-.../cep?format=xml' \
-H 'Authorization: Bearer veriko_••••' --output cep.xml
# PDF (legible por humanos)
curl 'https://api.veriko.mx/v1/validations/f47ac10b-.../cep?format=pdf' \
-H 'Authorization: Bearer veriko_••••' --output cep.pdf5. Descargar la imagen del comprobante
Las validaciones OCR almacenan la imagen saneada del comprobante en la plataforma:
curl 'https://api.veriko.mx/v1/validations/c3d4e5f6-.../image' \
-H 'Authorization: Bearer veriko_••••' --output comprobante.pngSi la validación se envió con retain_image=false, responde 410 image_not_retained y el recurso trae image_retained en false. Si se purgó, responde 410 validation_purged.
6. 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.veriko.mx/v1/validations/export?format=xlsx&status=valid&from=2025-01-01' \
-H 'Authorization: Bearer veriko_••••' \
--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.veriko.mx/v1/validations/f47ac10b-.../retry-attempts' \
-H 'Authorization: Bearer veriko_••••'Reconfigurar la política de reintentos solo para este registro:
curl -X PUT 'https://api.veriko.mx/v1/validations/f47ac10b-.../retry-policy' \
-H 'Authorization: Bearer veriko_••••' \
-H 'Content-Type: application/json' \
-d '{
"retry_policy": {
"enabled": true,
"max_retries": 5,
"interval_seconds": 300,
"outcomes": ["not_found", "cep_unavailable"]
}
}'Cancelar reintentos en curso:
curl -X POST 'https://api.veriko.mx/v1/validations/f47ac10b-.../cancel-retries' \
-H 'Authorization: Bearer veriko_••••'Devuelve 200 con el timestamp retry_state.cancelled_at actualizado.
8. Eliminar un registro
Realiza un soft-delete de una validación para retirarla del historial activo:
curl -X DELETE 'https://api.veriko.mx/v1/validations/f47ac10b-...' \
-H 'Authorization: Bearer veriko_••••'Devuelve 204. Los registros con soft-delete siguen en el listado por defecto y se aíslan con ?with_deleted=1.
El soft-delete no borra el contenido: el CEP, los datos extraídos y el comprobante siguen existiendo. Para borrarlos de forma definitiva, en dos pasos, ver Borrar una validación de forma definitiva. Una validación purgada sigue en el historial como una lápida, con purged_at, su veredicto, sus fechas y su monto.
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.
- Borrar una validación de forma definitiva: ver Borrar una validación de forma definitiva.