Ir al contenido
Facturalo

Payload de eventos

Referencia de la estructura JSON del payload enviado por los webhooks de Facturalo API. Campos evento, documento, sunat, firma.

Tu endpoint recibe un POST con Content-Type: application/json y el header de firma:

X-Facturalo-Firma: {hmac-sha256}

Estructura base

Todos los eventos comparten estos campos raíz.

El objeto principal (documento o guia) solo identifica el comprobante: id, serie, correlativo y tipo. Para el detalle completo usa GET /documentos/{id} o GET /guias/{id}.

Estructura basejson
{
  "id": "uuid-unico-del-evento",
  "evento": "documento.sunat.respuesta",
  "timestamp": "2026-06-14T10:30:00-05:00",
  "entorno": "demo",
  "documento | guia": {
    "...": "objeto principal — depende del evento"
  },
  "sunat | anulacion | correo | error": {
    "...": "datos adicionales — depende del evento"
  }
}

Verificar firma

PHPphp
$firma = hash_hmac('sha256', $rawBody, $webhookSecret);
if (!hash_equals($firma, $request->header('X-Facturalo-Firma'))) {
    abort(401, 'Firma inválida');
}
Selecciona un evento en el sidebar para ver su payload completo.