Docs

Webhooks: cuerpos y firma

Formato del evento, cabeceras y verificación de la firma.

Cuerpo

{
  "id": "evt_…",
  "type": "consent.granted",
  "createdAt": "2026-09-08T12:00:00.000Z",
  "environment": "LIVE",
  "data": { "subjectId": "…", "purpose": "marketing_email", "state": "GRANTED",
            "purposeVersion": 3, "recordId": "…", "receiptId": "rcpt_…" }
}

Cabeceras

  • x-tripticonsent-event: el tipo de evento
  • x-tripticonsent-delivery: id de la entrega (para idempotencia en tu lado)
  • x-tripticonsent-signature: t=<unix>,v1=<hex hmac-sha256>

Verificar

  1. Extrae t y v1 de la cabecera de firma.
  2. Recházala si |now - t| supera tu tolerancia (por ejemplo, 300 s).
  3. Calcula HMAC-SHA256(secret, "<t>.<rawBody>") y compáralo en tiempo constante con v1.