Webhook ve olaylar

Calleague çağrı yaşam döngüsü olaylarına abone olun ve gerçek zamanlı tepki verin — bir webhook kaydedin, olaylar tablosunu okuyun, yükü ele alın ve yeniden denemeler ile doğrulamayla baş edin.

Calleague, çağrılar ilerlerken neler olduğunu kendi sistemlerinize bildirebilir. REST API'ye sürekli "bitti mi?" diye sormak yerine çağrı yaşam döngüsü olaylarına abone olur ve bir çağrı başladığı, bağlandığı, bittiği ya da bir kayıt veya döküm hazır olduğu anda bir mesaj alırsınız. Bu sayfa bir webhook'u nasıl kaydedeceğinizi, alabileceğiniz olayları, yük yapısını, doğrulamayı ve yeniden denemeleri kapsar.

Bir bakışta

KonuÖzet
TeslimCalleague, sizin barındırdığınız bir web adresine JSON POST gönderir.
TaşımaYalnızca güvenli bağlantı; uç noktanız hızlıca 2xx yanıtlamalı.
Kimlik doğrulamaHer teslim, anahtarınızı Bearer token olarak taşır.
SeçimHangi olayları istediğinizi siz seçersiniz.
GüvenilirlikBaşarısız bir teslim, artan bir bekleyişle yeniden denenir.
SıraOlayları sırasız kabul edin; callId + olay adı üzerinden eşleştirin.

Nasıl çalışır

Bir webhook, hizmetinizin barındırdığı bir web adresidir. Bu adresi Calleague'e kaydeder ve önemsediğiniz olayları seçersiniz; ardından Calleague, eşleşen bir olay her tetiklendiğinde oraya bir JSON POST gönderir.

Bir uç nokta oluşturun

Kendi uygulamanızda, güvenli bir bağlantı üzerinden JSON gövdeli bir POST kabul eden bir yol kurun. Hemen 2xx yanıtlayın, ağır işleri sonra yapın.

Adres kaydedildikten sonra Calleague'in teslimlerinin buraya geldiğini göreceksiniz.

Kaydedin

Adresi ve istediğiniz olayları kaydedin — uygulamanın entegrasyonlar alanından ya da tek bir istekle. Gövde, çağrılacak url'yi ve gönderilecek events'i listeler.

curl -s -X POST https://app.calleague.ai/api/core/webhook \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
        "url": "https://your-app.example.com/hooks/calleague",
        "events": ["call.started", "call.completed", "recording.ready"]
      }'

Karşılığında sonradan güncelleyebileceğiniz veya kaldırabileceğiniz bir webhook kaydı alırsınız.

Her teslimi doğrulayın

Gövdeye güvenmeden önce gelen Authorization: Bearer token'ının anahtarınızla eşleştiğini doğrulayın, sonra 2xx yanıtlayın.

2xx ile onayladığınızda yeniden denemelerin durduğunu göreceksiniz.

Her teslim API anahtarınızı taşır; böylece gerçekten Calleague'den geldiğini doğrulayabilirsiniz:

Authorization: Bearer $TOKEN

Alabileceğiniz olaylar

OlayNe zaman tetiklenirAnahtar alanlar
call.startedBir çağrı başlatılır veya alınır.callId, agentId, direction
call.connectedÇağrı bağlanır ve ses başlar.callId, connectedAt
call.completedÇağrı normal şekilde biter.callId, durationSec, endedReason
call.failedÇağrı bağlanamadı veya hata verdi.callId, endedReason
recording.readyBir kayıt işlendi ve hazır.callId, recordingId
transcript.readyBir döküm işlendi ve hazır.callId, transcriptId

Buradaki olay adları ve alanları, entegrasyonun yapısını tanımlar, donmuş bir liste değil. Hesabınızın gerçekten gönderdiği olaylara göre yazın ve tanımadığınız alanları yok sayın; böylece yenileri güvenle eklenebilir.

Örnek yük

Abone olduğunuz bir olay tetiklendiğinde Calleague uç noktanıza JSON gönderir:

{
  "event": "call.completed",
  "deliveryId": "dl_4c19",
  "occurredAt": "2026-01-01T12:01:24.000Z",
  "data": {
    "callId": "cl_8f2a",
    "agentId": "ag_123",
    "direction": "inbound",
    "durationSec": 84,
    "endedReason": "completed",
    "language": "tr",
    "metadata": { "orderId": "A-1042" }
  }
}

Çağrıyı başlatırken geçtiğiniz metadata burada geri yansıtılır; böylece olayı kendi kaydınızla ikinci bir aramaya gerek kalmadan eşleştirirsiniz.

Hızlı yanıtlayın — uç noktanız ağır işlere başlamadan önce onaylamalıdır:

HTTP/1.1 200 OK

Doğrulama

AdımNeden
Authorization: Bearer token'ını kontrol edinTeslimin bir taklitçiden değil, Calleague'den geldiğini doğrular.
Uç noktanızda güvenli bağlantı şart koşunYolda yükü ve token'ı korur.
event'i abone olduğunuz listeyle karşılaştırınİstemediğiniz olay türlerini yok sayın.
deliveryId (veya callId + olay) üzerinde tekilleştirinAynı teslim birden çok kez gelebilir.

Doğrulayamadığınız bir webhook'a göre hareket etmeyin. Bearer token anahtarınızla eşleşmiyorsa yeniden denemeleri durdurmak için 2xx yanıtlayın ama gövdeyi atın — ve sızdığını düşünüyorsanız anahtarınızı değiştirin.

Yeniden denemeler ve güvenilirlik

Uç noktanız 2xx yanıtlamazsa (hata verir, zaman aşımına uğrar veya erişilemezse), Calleague teslimi sınırlı bir pencere boyunca artan bir bekleyişle yeniden dener. Yeniden denemeler altında doğru kalmak için:

  • Tekrarlanabilir olun. İşlemenizi deliveryId (veya callId + olay) üzerine kurun ve tekrarı bir işlem yapmama olarak ele alın.
  • Önce onaylayın, sonra çalışın. Hemen 2xx yanıtlayın, sonra ağır işi kuyruğa alın.
  • Engellemeyin. Yavaş bir işleyici zaman aşımına yol açar, bu da daha çok yeniden denemeyi tetikler.
  • Sırasız teslime tolerans gösterin. Önceki bir olayın yeniden denemesi, sonraki birinden sonra gelebilir.

Bir şey farklı görünüyorsa

BelirtiOlası nedenÇözüm
Hiç teslim gelmiyorAdres kayıtlı değil veya eşleşen olay yokKayıtlı url ve events listesini yeniden kontrol edin
Aynı olay iki kez işleniyorİşleyici tekrarlanabilir değildeliveryId üzerinde tekilleştirin
Teslimler sürekli yeniden deneniyorUç nokta 2xx dışı dönüyor veya zaman aşımıHızlıca 2xx yanıtlayın; ağır işi kuyruğa taşıyın
Yük güvenilmez diye reddedildiBearer token uyuşmazlığıEtkin anahtarınızla karşılaştırın; sızdıysa değiştirin
Beklediğiniz bir alan eksikBu olayda isteğe bağlı/yeni alan yokÖnce var olup olmadığını kontrol edin; isteğe bağlı alanları zorunlu kılmayın
Olaylar sırasız geliyorYeniden denemelerde normalGelme zamanına değil occurredAt'a göre sıralayın

Webhook ile REST karşılaştırması

Şunu istiyorsanız…Kullanın
Bir çağrı olayı olduğu anda tepki vermekBir webhook aboneliği
Geçmiş çağrıları veya asistanları istek üzerine okumakREST API
Kesintiden sonra arayı kapatmakKaçırdığınız pencere için REST API'yi okuyun

Sık sorulan sorular

Sırada ne var

Son güncelleme