
Genel Bakış
Twenty’de Webhook’lar, CRM’nizde belirli olaylar meydana geldiğinde kendi uygulamalarınıza gerçek zamanlı bildirimler sağlayarak API’yi tamamlar. Sürekli API’yi değişiklikler için kontrol etmek yerine, belirli olaylar meydana geldiğinde Twenty’nin sisteminize veri göndermesi için webhook’lar kurabilirsiniz (örneğin, yeni bir kayıt oluşturulduğunda veya mevcut bir kayıt güncellendiğinde). Bu, dış sistemlerin Twenty ile anında ve verimli bir şekilde senkronize olmasına yardımcı olur. Webhook’lar ile, Twenty’nin belirttiğiniz URL’ye olaya dair bilgileri içeren bir HTTP POST isteği göndermesini sağlarsınız. Ardından bu verileri uygulamanızda ele alabilirsiniz (örneğin, harici veritabanınızı güncellemek, iş akışlarını tetiklemek veya uyarılar göndermek için).Webhook Kurulumu
Twenty’de bir webhook oluşturmak için, Twenty uygulamanızın API’ler & Webhook’lar ayarlarını kullanın:- Ayarlar’a Git: Twenty uygulamanızda, Ayarlar → API’ler & Webhooklar yolunu izleyin.
- Create a Webhook: Under Webhooks click on + Create webhook.
- URL Girin: Twenty’nin webhook isteklerini göndermesini istediğiniz sunucunuzdaki uç nokta URL’sini sağlayın. Bu, POST isteklerini ele alabilen herkese açık bir URL olmalıdır.
- Kaydet: Webhook’u oluşturmak için Kaydet’e tıklayın. Yeni webhook hemen etkin hale gelecektir.
Olaylar ve Yükler
Bir webhook kurulduğunda, CRM verilerinizde bir tetikleyici olay meydana geldiğinde Twenty, belirttiğiniz URL’ye bir HTTP POST isteği gönderecektir. Webhook’ları tetikleyen yaygın olaylar şunlardır:- Kayıt Oluşturuldu: Örneğin, yeni bir kişi eklendi (
person.created), yeni bir şirket oluşturuldu (company.created), bir not oluşturuldu (note.created), vb. - Kayıt Güncellendi: Örneğin, mevcut bir kişinin bilgileri güncellendi (
person.updated), bir şirket kaydı düzenlendi (company.updated), vb. - Kayıt Silindi: Örneğin, bir kişi veya şirket silindi (
person.deleted,company.deleted). - Diğer Olaylar: Uygulanabiliyorsa, diğer nesne olayları veya özel tetikleyiciler (örneğin, görevler veya diğer nesneler güncellendiğinde, benzer olay türleri kullanılabilir, örneğin
task.created,note.updated, vb.).
"event", ne olduğunu belirtir (person.created)."data", yeni kaydın ayrıntılarını içerir (başka bir deyişle, eğer API üzerinden o kişiyi talep etmiş olsaydınız alacağınız bilgiler)."timestamp", olayın ne zaman meydana geldiğini belirtir (UTC olarak).
"event" türüne bakarak ne olduğunu anlarsınız ve sonra "data"yı buna göre kullanırsınız (örneğin, sisteminizde yeni bir kişi oluşturmak veya mevcut olanı güncellemek için).
Not: Webhook uç noktanızdan başarılı teslimatı teyit etmek için 2xx HTTP durumu ile yanıt vermek önemlidir. Twenty webhook göndereninin 2xx cevabı almaması durumunda, teslimatı başarısız olarak değerlendirebilir. (Gelecekte, başarısız webhook’ları yeniden göndermeyi deneyebileceği için, her zaman veriyi işledikten sonra mümkün olduğunca çabuk bir 200 OK ile yanıt vermeye çalışın.)
Webhook Doğrulaması
Webhook uç noktalarınızın güvenliğini sağlamak için, Twenty istek başlığındaX-Twenty-Webhook-Signature imzasını içerir.
Bu imza, istek yükünün HMAC SHA256 özetidir ve webhook gizli anahtarınızı kullanarak hesaplanır.
İmzanın doğrulanması için şunları yapmanız gerekecek:
X-Twenty-Webhook-Timestampbaşlığından tarih-damgasını, bir iki nokta üst üste işareti ve yükün JSON stringini birleştirin- Webhook gizli anahtarınızı anahtar olarak kullanarak HMAC SHA256 özetini hesaplayın ()
- Çıkan hex özeti ile imza başlığını karşılaştırın