Webhooks
Wenn im Unternehmen etwas passiert, sendet Cyzyra einen POST in JSON an die von Ihnen registrierte Adresse. Konfigurieren Sie in API-Plattform → Webhooks, Auswahl der Veranstaltungen.
Was ankommt
X-Cyzyra-Event cabeçalho
Der Ereignistyp, z.B. Zahlung.bezahlt
X-Cyzyra-Delivery cabeçalho
Die ID dieser Lieferung. Verwenden Sie diese Option, um Wiederholungen zu ignorieren.
X-Cyzyra-Signatur cabeçalho
t=<Unix-Zeit>,v1=<HMAC-SHA256>
{
"id": "evt_3f9c…",
"type": "payment.paid",
"created_at": "2026-11-08T14:02:11Z",
"data": {
"entity_type": "payment",
"entity_id": "a93e…",
"title": "Pagamento confirmado",
"object": {
"id": "a93e…",
"amount": 1500,
"currency": "BRL",
"status": "paid"
}
}
}Przykład ilustrujący.
Abonnement bestätigen
Berechnen Sie HMAC-SHA256 aus <t>.<Rohkörper> mit dem Endpunktgeheimnis und vergleichen Sie mit v1. Recuse horários muito antigos para evitar reenvio por terceiros.
import { createHmac, timingSafeEqual } from "node:crypto";
function verify(rawBody, header, secret) {
const parts = Object.fromEntries(header.split(",").map((p) => p.split("=")));
const expected = createHmac("sha256", secret).update(`${parts.t}.${rawBody}`).digest("hex");
const fresh = Math.abs(Date.now() / 1000 - Number(parts.t)) < 300;
return fresh && timingSafeEqual(Buffer.from(expected), Buffer.from(parts.v1));
}Neue Versuche
Antworten Sie innerhalb von 10 Sekunden mit einem 2xx-Status. Wenn dies fehlschlägt, versucht Cyzyra es in zunehmenden Abständen bis zu fünf Mal erneut und zeigt jeden Versuch auf dem Dashboard an.
Veranstaltungen
lead.createdlead.status_changedlead.mergeddeal.createddeal.stage_changeddeal.wondeal.lostproposal.sentproposal.acceptedproposal.rejectedcontract.sentcontract.signedpayment.createdpayment.paidpayment.failedpayment.refundedwork_order.createdmessage.received