Webhook'ları Yapılandırın

Mesajlar, teslimat durumu güncellemeleri ve kampanya etkinlikleri için gerçek zamanlı bildirimler almak üzere webhook'ları ayarlayın.

campaign.completed - Kampanya tamamlandı

Bir olay gerçekleşir (örn. mesaj alındı)

200 alınmazsa, üstel geri çekilme ile yeniden deneriz

Olaylar: Hangi olayları alacağınızı seçin

Benzersiz olay kimlik numarasi (tekrarlama onleme icin kullanin)

Olay turu dizesi (ornegin message.received)

Olayin gerceklestigi ISO 8601 zaman damgasi

Olayi tetikleyen kaynagin kimlik numarasi

Olaya ozgu payload (olay turune gore degisir)

attachments dizisi yalnizca mesaj medya icerdiginde bulunur. Her ek benzersiz bir id, content_type, file_size ve iki indirme URL'si icerir. Desteklenen turler: gorsel, video, ses, belge, cikaritma.

url - Sabit API uc noktasi. Kimlik dogrulama gerektirir (API anahtari veya oturum token'i). Suresi dolmaz.

signed_url - Onceden imzalanmis GCS URL'si. Kimlik dogrulama gerekmez. 24 saat sonra suresi dolar.

Platform medya indirmesi basarisiz olursa, zenginlestirilmis alanlar yerine "source": "platform" isaretcisi ile ham platform verisi iletilir. Dosya olmayan turler (konum, kisiler, reaksiyonlar) etkilenmez.

Bir kisi nesnesi iceren her olay, kisigin tum tanimlayicilarini listeleyen bir contact_methods[] dizisi de icerir (birincil once). Geri uyumluluk icin ust duzeydeki phone ve email alanlari korunmaktadir.

Hizli yanitlama ve liste secimleri message_type "button" olarak gelir. Aciklama "text" alanindadir ve yapilandirilmis bir "meta.button" nesnesi id ile payload'i tasir; boylece metni ayristirmadan secimi yonlendirebilirsiniz.

Dugme tiklama ornegini goster (hizli yanitlama / liste)

Mesaj gonderilirken tanimlanan dugmenin kararli tanimlayicisi.

Kanal tarafindan dondurülen payload (hizli yanitlamalar icin id ile eslenir).

Kullanicinin gordugu ve dokundugu okunabilir aciklama.

Dosya ekleri iceren giden mesajlar, gelen mesajlarla ayni zenginlestirilmis ek semasini (id, url, signed_url, content_type, file_size) icerir.

error alani veri duzeyindedir (message.meta icinde degil). Tam conversation ve contact nesneleri de dahil edilir.

Durum guncelleme olaylari (delivered, read), bot_session_id veya last_*_at zaman damgasi alanlari olmadan daha basit bir conversation nesnesi kullanir. contact_method nesnesi dahil edilmez.

E-posta conversation nesneleri ek alanlar icerir: konu baglami icin email_integration_id ve email_thread_id.

Yeniden acilma olayi diger gorusme olaylarindan daha az gorusme alani icerir (bot_session_id, last_*_at zaman damgalari veya konu icermez).

contact.updated ve contact.deleted ayni yapiyi kullanir. Olay turu alani bunlari birbirinden ayirir.

Ham istek gövdesini alın (JSON ayrıştırmadan önce)

Webhook sırrınızı kullanarak HMAC-SHA256 hesaplayın

X-SendSeven-Signature başlığıyla karşılaştırın

Zamanlama saldırılarını önlemek için zamanlama güvenli karşılaştırma kullanın

URL'niz herkese açık erişilebilir (localhost değil)

SSL sertifikanız geçerli (kendinden imzalı değil)

SendSeven IP'lerini engelleyen bir güvenlik duvarı yok

Ham gövde yerine ayrıştırılmış JSON kullanma

Yanlış webhook sırrı (ayarlardan tekrar kopyalayın)

Kodlama sorunları (UTF-8 olduğundan emin olun)

Olay kimliğini saklayın ve işlemeden önce yinelenenleri kontrol edin

Mümkün olduğunca hızlı 200 ile yanıt verin (asenkron işleyin)

Webhook'lar, SendSeven'in uygulamaniza gercek zamanli olaylari iletmek icin kullandigi HTTP geri aramalaridir. REST API'yi sorgulamak yerine, onemli bir olay gerceklestiginde uc noktaniz aninda bildirim alir - bir mesaj gelir, bir gorusme sona erer, bir kisi olusturulur veya teslimat durumu degisir. Her webhook istegi guvenlik icin HMAC ile imzalanir ve basarisizlik durumunda ustel geri cekilme ile otomatik olarak yeniden denenir, boylece hicbir olay kaybolmaz.

En az bir bagli kanali olan bir SendSeven hesabi

HTTP POST istekleri alabilecek genel bir HTTPS uç noktasi

Gecerli bir SSL sertifikasi (Let's Encrypt gayet uygun)

REST API'ler ve JSON hakkinda temel bilgi

Uc Nokta Ekle dugmesi vurgulanmis SendSeven paneli Webhook'lar sayfasi

SendSeven'de HTTPS URL alani ve olay abonelikleri bulunan Uc Nokta Ekle diyalogu

Olaylar: Hangi olaylari almak istediginizi secin

Kopyala dugmesi ile gizli anahtari gosteren Webhook Basariyla Olusturuldu acilir penceresi

SendSeven'de uc nokta URL'si, abone olunan olaylar, teslimat gecmisi ve saglik durumu gosteren webhook detay sayfasi

Panel uzerinden webhook olusturulurken otomatik olarak

API uzerinden webhook olusturulurken otomatik olarak (POST /api/v1/webhook-endpoints)

Webhook URL'si guncellendignde otomatik olarak

Dogrulama uc noktasi uzerinden istege bagli olarak (POST /api/v1/webhook-endpoints/{id}/verify)

  1. Bir webhook uç noktası oluşturun
  2. Webhook'u SendSeven'e kaydedin
  3. Alınacak olay türlerini seçin
  4. Webhook doğrulama sorgulamasını işleyin
  5. Webhook imzasını doğrulayın
  6. Gelen olayları işleyin
  7. Örnek olaylarla test edin

FAQ

Hangi olaylara abone olabilirim?

SendSeven webhook'lari alti temel olay turunu destekler: message.received (gelen mesaj), message.sent (giden mesaj), conversation.closed (gorusme sona erdi), contact.created (yeni kisi), contact.updated (kisi guncellendi) ve delivery.status (durum degisti).

Webhook yeniden denemesi nasil calisir?

Uc noktaniz 2xx disinda bir durum kodu dondururse veya 30 saniye icinde yanit vermezse, SendSeven ustel geri cekilme ile otomatik olarak yeniden dener: hemen, 5 saniye, 30 saniye, 5 dakika, 30 dakika ve 24 saat. 6 basarisiz teslimat denemesinden sonra webhook otomatik olarak devre disi birakilir ve bir bildirim alirsiniz.

Webhook imzalarini nasil dogrularim?

Her webhook istegi bir X-SendSeven-Signature baslik bilgisi icerir. Dogrulamak icin webhook gizli anahtarinizi kullanarak ham istek govdesinin HMAC-SHA256 degerini hesaplayin, ardindan baslik degeriyle karsilastirin. Eslesirlerse istek guvenilirdir ve SendSeven'den gelmistir.

Webhook payload formati nedir?

Webhook'lar tutarli bir yapiyla JSON POST istekleri olarak gonderilir: id (benzersiz olay tanimlayicisi), type (olay turu), timestamp (Unix zaman damgasi), ilgili veri nesnesi (mesaj, gorusme veya kisi) ve kanal baglami. Payload'lar standart olaylar icin genellikle 1-5 KB boyutundadir.

Birden fazla webhook uc noktasi yapilandirabilir miyim?

Evet. Calisma alani basina en fazla 10 webhook uc noktasi ekleyebilirsiniz. Her uc noktanin farkli bir URL'si olabilir ve farkli olay turlerine abone olabilir, boylece olaylari farkli sistemlere yonlendirebilirsiniz.

Webhook uc noktami nasil test ederim?

SendSeven, webhook panelinde gercek verileri etkilemeden uc noktaniza ornek bir payload gonderen bir "Test Olayi Gonder" dugmesi saglar. Yerel testler icin webhook.site, RequestBin veya ngrok gibi webhook hata ayiklama araclarini kullanin.

Uc noktam gecici olarak kullanilamazsa ne olur?

Webhook'lar siraya alinir ve 48 saate kadar yeniden denenir. Bu sure zarfinda uc noktanizi duzeltebilirsiniz ve siradaki olaylar teslim edilir. 48 saat icinde cozulmezse olaylar kalici olarak silinir ve webhook teslimat gecmisinize kaydedilir.