Eventos de webhooks
Los tipos de evento que enviamos y la forma de cada entrega.
Cada evento es <object>.<estado>, para los seis comprobantes:
| Evento | Cuándo |
|---|---|
invoice.authorized | El SRI autorizó la factura |
invoice.returned | El SRI la devolvió al recibirla |
invoice.not_authorized | El SRI la rechazó |
invoice.annulled | Registraste que la anulaste en SRI en línea |
Lo mismo con credit_note, debit_note, withholding, delivery_note y purchase_settlement.
Una importación de historial avisa una sola vez, al terminar: import.completed cuando cada comprobante tiene su resultado, o import.failed si los archivos no se pudieron usar. Los comprobantes importados no envían eventos propios: el SRI los autorizó hace tiempo.
La entrega
La entrega trae lo necesario para identificar el comprobante: su id, de qué object es, su estado, el ambiente, el país (country, en minúsculas) y el negocio que lo emitió (entity_id).
{
"id": "3c1a7e52-…",
"type": "invoice.returned",
"timestamp": "2026-09-29T14:03:52.118Z",
"data": {
"id": "0f6c8f4e-6c6e-4a31-9c1e-3b1f2a9d7c10",
"object": "invoice",
"status": "returned",
"environment": "live",
"country": "ec",
"entity_id": "01926c10-…",
"number": "001-002-000004813"
}
}Para el detalle (los sri_messages, los archivos) consulta el comprobante con data.id. Así siempre lees su estado actual, aunque las entregas te lleguen en otro orden. Cómo verificar la firma y qué hacer con los reintentos está en la guía de webhooks.