Listar verificaciones
Las verificaciones del negocio, de la más reciente a la más vieja, con su estado de ahora. Una llave de prueba solo ve las de prueba, y una real solo las reales. verifications.write también sirve para leer: quien verifica puede preguntar en qué quedó.
La llave del negocio, creada en el panel: Integraciones → API pública. vk_live_… es una llave real; vk_test_…, una llave de modo prueba (verificaciones simuladas, nada toca el libro real). Ver la guía «Modo de prueba».
Va en: header
Permiso: verifications.read
Parámetros de consulta
Sobre qué negocio actúa la petición. Obligatorio solo si la llave entra a varios negocios; con uno solo, se deduce.
Uno de
- "VERIFIED"
- "PENDING"
- "NOT_FOUND"
- "DUPLICATE"
- "REJECTED"
El reporter.externalId que mandaste: todas las de un mismo chat o cliente.
Desde (ISO 8601 con zona).
date-timeHasta (ISO 8601 con zona).
date-timeFilas por página.
1 <= value <= 10050Cursor: el nextCursor de la página anterior.
Cuerpo de la respuesta
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/verifications?code=AWAITING_BANK&externalId=wa_573104567890"{ "object": "list", "data": [ { "object": "verification", "id": "vrf_3f9a1c0e7b2d4e8fa61c5d90b7e24a13", "livemode": true, "status": "PENDING", "code": "AWAITING_BANK", "message": "Recibimos tu comprobante por $85.000. Estamos esperando la confirmación del banco; en unos minutos te avisamos.", "mode": "IMAGE", "companyId": "cmt7xbfrg0001q3w1itst7uwo", "createdAt": "2026-10-12T20:00:06.000Z", "updatedAt": "2026-10-12T20:00:06.000Z", "resolvedAt": null, "extracted": { "isReceipt": true, "amount": 85000, "reference": "M48213907", "bankLabel": "Nequi", "accountLabel": "Nequi ··4821", "occurredAt": "2026-10-12T19:58:00.000Z", "customerName": "Laura Restrepo", "confidence": 0.96, "note": null }, "income": { "object": "income", "id": "cmuh2k7v40031x8w1d9q2n5rt", "amount": 85000, "currency": "COP", "status": "PENDING", "origin": "API", "occurredAt": "2026-10-12T19:58:00.000Z", "createdAt": "2026-10-12T20:00:06.000Z", "verifiedAt": null, "reference": "M48213907", "customerName": "Laura Restrepo", "bankLabel": "Nequi", "accountLabel": "Nequi ··4821", "duplicateOfId": null, "branch": { "id": "cmt7xbfrj0002q3w1iq4ysatr", "name": "Principal" }, "confirmedBy": { "id": null, "name": "Laura Restrepo", "phone": "+573104567890" }, "attachments": [ { "id": "cmuh2k7xj0032x8w1h0a6s3fe", "contentType": "image/jpeg", "originalName": "comprobante.jpg", "size": 182340 } ], "bankChannels": [] }, "duplicate": null, "reporter": { "phone": "+573104567890", "name": "Laura Restrepo", "externalId": "wa_573104567890" }, "metadata": { "chatId": "wa_573104567890", "pedido": "PED-10293" }, "receipt": { "stored": true, "source": "URL", "contentType": "image/jpeg", "size": 182340, "sha256": "9c1e5f2a7b3d4c6e8f0a1b2c3d4e5f60718293a4b5c6d7e8f90a1b2c3d4e5f6a" }, "nextStep": { "type": "AWAIT_BANK", "until": "2026-10-12T20:30:06.000Z", "webhookEvents": [ "verification.verified", "verification.not_found" ] }, "warnings": [] } ], "hasMore": false, "nextCursor": null}Ver una verificación GET
Una verificación con su estado **de ahora** (y el ingreso como está hoy). Es la red de seguridad si se te perdió un webhook.
Declarar un ingreso POST
Anota un pago en el libro. Nace DECLARED: editable, borrable y sin consumir cupo de verificaciones — nadie pidió verificar nada. No confundir con POST /v1/verifications, que sí verifica y sí consume. Son dos intenciones distintas: esta es para sincronizar lo que ya sabes; aquella, para preguntar si un pago es real.