Web kancaları
Şirkette bir şey olduğunda Cyzyra, kaydettiğiniz adrese JSON formatında bir POST gönderir. Yapılandırma API Platformu → Web Kancaları, etkinlikleri seçiyoruz.
Ne geliyor
X-Cyzyra-Event cabeçalho
Etkinlik türü, ör. ödeme.ödenmiş
X-Cyzyra-Delivery cabeçalho
Bu teslimatın kimliği. Tekrarları yok saymak için kullanın.
X-Cyzyra-İmzası cabeçalho
t=<unix zamanı>,v1=<HMAC-SHA256>
Vücut
{
"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"
}
}
}Açıklayıcı örnek.
Aboneliği onayla
HMAC-SHA256'yı şuradan hesaplayın: <t>.<ham gövde> uç nokta sırrı ile ve karşılaştırın 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));
}Yeni denemeler
10 saniye içinde 2xx durumuyla yanıt verin. Başarısız olması durumunda Cyzyra, artan aralıklarla 5 defaya kadar tekrar dener ve her denemeyi kontrol panelinde görüntüler.
Olaylar
Lead criado
lead.createdStatus do lead mudou
lead.status_changedCadastros unificados
lead.mergedNegociação criada
deal.createdNegociação mudou de etapa
deal.stage_changedVenda ganha
deal.wonVenda perdida
deal.lostTeklif gönderildi
proposal.sentTeklif kabul edildi
proposal.acceptedProposta recusada
proposal.rejectedSözleşme gönderildi
contract.sentContrato assinado
contract.signedÖdeme oluşturuldu
payment.createdPagamento recebido
payment.paidPagamento falhou
payment.failedPagamento estornado
payment.refundedOrdem de serviço criada
work_order.createdMensagem recebida
message.received