Contenido de la documentación

/ Integración

Webhooks

Recibe un aviso en tu servidor cuando SUNAT acepta o rechaza un comprobante, sin consultar una y otra vez.

Configurar el webhook

PUT/empresa

Los webhooks están disponibles desde el plan Negocio. Registra la URL de tu servidor en el campo url_webhook de tu empresa: te enviaremos un POST con JSON cada vez que cambie el estado de un comprobante.

Tu endpoint debe responder rápido (esperamos hasta 15 segundos). Procesa el aviso en segundo plano y responde 200 de inmediato.

curl -X PUT "https://apifact.gavi-cloud.com/api/v1/empresa" \
  -H "X-Api-Key: TU_API_KEY" \
  -H "X-Api-Secret: TU_API_SECRET" \
  -H "Content-Type: application/json" \
  -d '{
    "url_webhook": "https://tu-sistema.com/webhooks/efact"
  }'

Eventos

EventoCuándo se envía
document.sentEnviaste el comprobante o la guía y SUNAT respondió. Revisa sunat_status.
document.rejectedSUNAT lo rechazó por un error de validación (no se reintenta solo).
document.timeout_sunatSUNAT no respondió a tiempo; puedes reenviarlo.
document.status_updatedCambió el estado de un comprobante enviado por ticket.
summary.sent / summary.rejected / summary.status_updatedResultado de un resumen diario.
voided.sent / voided.rejected / voided.status_updatedResultado de una comunicación de baja.

Contenido del aviso

El cuerpo trae el nombre del event, el resumen del document y la marca de tiempo. Para comprobantes incluye el estado SUNAT y, si hubo rechazo, el código y la descripción.

Por ahora los avisos no llevan firma. Antes de dar por pagado o rechazado un comprobante, confirma su estado con GET /facturas/{id} (o el recurso que corresponda).

Si tu servidor no responde por un error de conexión, reintentamos hasta 3 veces (a los 10, 30 y 90 segundos).

RespuestaPOST a tu URL
{
  "event": "document.sent",
  "document": {
    "id": 123,
    "tipo_documento": "01",
    "serie": "F001",
    "correlativo": "00000123",
    "numero_completo": "F001-123",
    "fecha_emision": "2026-10-02",
    "total": "5900.00",
    "sunat_status": "aceptado",
    "sunat_code": "0",
    "sunat_description": "La Factura numero F001-123 ha sido aceptada",
    "hash_cpe": "ab12cd..."
  },
  "timestamp": "2026-10-02T14:31:07-05:00"
}