Payload de eventos
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.
Estructura basejson
{
"id": "uuid-unico-del-evento",
"evento": "documento.sunat.respuesta",
"timestamp": "2026-06-14T10:30:00-05:00",
"entorno": "demo",
"documento": {
"...": "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.