Yükleniyor...
Yükleniyor...
Cortex, önemli olaylar gerçekleştiğinde kayıtlı URL'lerinize HTTP POST gönderir. Event-driven mimari ile sistemlerinizi gerçek zamanlı entegre edin.
API ile webhook kuralı oluşturun. Her event type için ayrı URL tanımlayabilirsiniz.
# Webhook kuralı oluştur
curl -X POST https://duzenal.com/api/v1/webhooks/rules-engine/rules \
-H "X-API-Key: ctx_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"name": "Yeni lead bildir",
"event": "lead.created",
"url": "https://siteniz.com/api/cortex-webhook",
"secret": "wh_sec_your_signing_secret",
"conditions": {
"min_confidence": 0.8
},
"active": true
}'
# Yanıt
{
"ok": true,
"rule_id": "rule_abc123",
"event": "lead.created",
"active": true,
"created_at": "2026-05-31T10:00:00Z"
}Aşağıdaki event türleri için webhook oluşturabilirsiniz.
| Event | Açıklama | Kullanım | Öncelik |
|---|---|---|---|
| Kullanıcı ilk mesajı gönderdiğinde, yeni oturum açıldığında | Her yeni chatbot oturumu | info | |
| Chatbot müşteri adayı yakaladığında (isim, tel, e-posta doğrulandı) | CRM lead yakalama | high | |
| Chatbot aracılığıyla randevu oluşturulduğunda | Randevu sistemine entegrasyon | high | |
| Ödeme başarıyla tamamlandığında (iyzico/Stripe) | Ödeme sonrası akış | critical | |
| Ödeme başarısız olduğunda veya reddedildiğinde | Dunning, müşteri bildirimi | critical | |
| Abonelik planı değiştiğinde (yükseltme, düşürme, iptal) | Plan değişikliği bildirimi | high | |
| AI chatbot operatöre devir yaptığında | Canlı destek entegrasyonu | medium | |
| Kullanım kotasının %80'ine ulaşıldığında | Kota yönetimi | medium |
Her webhook isteği aşağıdaki JSON yapısında gönderilir.
{
"event": "lead.created",
"webhook_id": "wh_abc123",
"timestamp": "2026-05-31T10:15:00Z",
"data": {
"lead_id": "lead_xyz789",
"chatbot_id": "bot_abc123",
"session_id": "ses_def456",
"sector": "plastik-cerrahi",
"name": "Mehmet Yılmaz",
"phone": "+905551234567",
"email": "[email protected]",
"interest": "Burun estetiği",
"source": "website_widget",
"captured_at": "2026-05-31T10:14:58Z"
},
"signature": "sha256=a1b2c3d4e5f6..."
}Güvenlik: Her webhook isteğinde X-Cortex-Signature header'ı ile HMAC-SHA256 imza gönderilir. Aşağıdaki doğrulama kodunu mutlaka uygulayın.
Webhook'un gerçekten Cortex'ten geldiğini doğrulamak için HMAC-SHA256 imzayı kontrol edin. Bu adımı atlamamanızı şiddetle tavsiye ederiz.
# Node.js — HMAC imza doğrulama
const crypto = require("crypto");
function verifyWebhookSignature(payload, signature, secret) {
const expected = crypto
.createHmac("sha256", secret)
.update(JSON.stringify(payload))
.digest("hex");
const received = signature.replace("sha256=", "");
return crypto.timingSafeEqual(
Buffer.from(expected, "hex"),
Buffer.from(received, "hex")
);
}
// Express middleware örneği
app.post("/api/cortex-webhook", express.raw({ type: "application/json" }), (req, res) => {
const signature = req.headers["x-cortex-signature"];
const isValid = verifyWebhookSignature(
JSON.parse(req.body),
signature,
process.env.WEBHOOK_SECRET
);
if (!isValid) {
return res.status(401).json({ error: "Invalid signature" });
}
const event = JSON.parse(req.body);
console.log("Event:", event.event, event.data);
// İşlemi hızlı yapın ve 200 dönün
res.status(200).json({ received: true });
});Kritik: İmza doğrulamasını atlarsanız, kötü niyetli aktörler webhook endpoint'inize sahte event gönderebilir. timingSafeEqual kullanın — normal string karşılaştırması timing attack'a açıktır.
Webhook endpoint'iniz 10 saniye içinde HTTP 2xx yanıtı dönmezse Cortex exponential backoff ile yeniden dener. 4. başarısız denemeden sonra event Dead Letter Queue'ya yazılır.
| Deneme | Bekleme | Açıklama |
|---|---|---|
| 1. Deneme | Anında | İlk gönderim |
| 2. Deneme | 30 saniye | İlk başarısızlıktan sonra |
| 3. Deneme | 5 dakika | Exponential backoff — 2. retry |
| 4. Deneme | 30 dakika | Son deneme — başarısız → DLQ |
Timeout
10 saniye
Max Retry
3 kez
DLQ Retention
7 gün
DLQ Yönetimi: Başarısız event'leri Admin Panel > Webhooks > Dead Letter Queue bölümünden yeniden tetikleyebilirsiniz. Event'ler 7 gün saklanır.
Düzenal'yi ücretsiz deneyin —Demo Al
14 gün, kredi kartı yok