Ana içeriğe atla
Webhook’lar, AgencyHandy’nin bir şey değişir değişmez verilerinizi harici sistemlere iletmesini sağlar — herhangi bir yoklama gerekmez. Yapılandırılmış bir olay tetiklendiğinde (örneğin bir sipariş güncellenir veya bir destek talebi oluşturulur), AgencyHandy belirttiğiniz uç nokta URL’sine JSON içerikli bir HTTP POST isteği gönderir. Bu, CRM’ler, faturalama sistemleri veya özel panolar gibi harici araçların AgencyHandy çalışma alanınızla gerçek zamanlı olarak senkronize tutulmasını kolaylaştırır.
Business Pro plan çalışma alanları, faturalama dönemi başına 30.000 webhook olayını destekler. Yüksek hacimli otomasyonlar kurmadan önce plan sınırlarınızı kontrol edin.

Desteklenen olaylar

Bir webhook’u aşağıdaki olayların herhangi bir kombinasyonuna abone edebilirsiniz:
KategoriOlaylar
HizmetOluşturuldu, Güncellendi, Silindi
SiparişOluşturuldu, Güncellendi, Silindi
GörevOluşturuldu, Atandı, Tamamlandı, Güncellendi
FaturaDurum değişti
Müşteri / KullanıcıYeni müşteri eklendi, Müşteri/kullanıcı silindi
TeklifGönderildi, Alındı, Kabul Edildi, Reddedildi
Destek TalebiOluşturuldu, Atandı, Durum değişti
ÖdemeAlındı, Başarısız oldu
Hizmet PaketiOluşturuldu, Güncellendi, Silindi

Webhook oluşturun

1

Webhook Yönetimi'ne gidin

Sol kenar çubuğunda Entegrasyonlar → Webhook Yönetimi bölümüne gidin.
2

Token'ınızı doğrulayın

Webhook token’ınızı doğrulamak için Yönetim düğmesine tıklayın. Bu token, giden içerikleri imzalamak için kullanılır; böylece bunların AgencyHandy’den geldiğini doğrulayabilirsiniz.
3

Yeni bir webhook oluşturun

Webhook yapılandırma formunu açmak için Yeni Webhook Oluştur’a tıklayın.
4

Uç nokta URL'sini girin

Uç Nokta URL’si alanına, webhook verilerini alması gereken harici sistemin URL’sini girin. Bu, herkese açık erişilebilir bir POST uç noktası olmalıdır.
5

İçerik türünü seçin

İçerik türü olarak JSON’ı seçin. AgencyHandy tüm webhook içeriklerini application/json olarak gönderir.
6

Webhook olaylarını seçin

Bu webhook’u tetiklemesi gereken her olayı seçin. Birden fazla kategoriden olay seçebilirsiniz — örneğin Sipariş: Oluşturuldu ve Fatura: Durum değişti aynı uç noktaya yönlendirilebilir.
7

Webhook'u etkinleştirin

Aktif radyo düğmesini etkinleştirin. Etkin olduğunda AgencyHandy, seçilen tüm olaylar için içerikleri gerçek zamanlı olarak uç noktanıza iletir.
8

Yapılandırmayı kaydedin

Ayarlarınızı gözden geçirin, ardından Kaydet’e tıklayın. Webhook listede görünür ve hemen olayları iletmeye başlar.

Webhook’u test edin

Bir webhook oluşturduktan sonra, uç noktanızın erişilebilir olduğunu ve verileri doğru şekilde işlediğini doğrulamak için bir test içeriği gönderin.
1

Webhook'u açın

Webhook Yönetimi listesinden test etmek istediğiniz webhook’a tıklayın.
2

Test Olayı'na tıklayın

Webhook ayrıntı sayfasında Test Olayı düğmesine tıklayın.
3

Bir test olayı seçin

Bu webhook’ta yapılandırılmış olaylar listesinden örnek bir olay seçin (ör. Sipariş: Oluşturuldu).
4

Test içeriğini gönderin

Gönder’e tıklayın. AgencyHandy, uç nokta URL’nize örnek bir içerik gönderir.
5

Sonucu doğrulayın

Test içeriğinin ulaştığını ve beklendiği gibi işlendiğini onaylamak için harici sisteminizi kontrol edin. AgencyHandy’de webhook’a tıklayarak geçmişini inceleyin — tam isteği, uç noktanızın döndürdüğü yanıtı görebilir ve gerekirse geçmişteki herhangi bir olayı yeniden iletebilirsiniz.
Gerçek sisteminizi kurmadan önce tam içerik yapısını incelemek için geçici bir uç nokta olarak Webhook.site veya RequestBin gibi bir araç kullanın.

Webhook içeriklerini doğrulayın

AgencyHandy’den gelen her webhook isteği, uç noktanızın içeriğin gerçek olduğunu ve üzerinde oynama yapılmadığını doğrulamak için kullanabileceği bir imza başlığı içerir.

İmza başlığı

x-ah-sig: <signature>
AgencyHandy bu başlığı her webhook isteğine ekler. Gelen isteklerden değeri çıkarın ve doğrulama uç noktasına iletin.

Webhook imzasını doğrulayın

Bir içeriğin gerçek olduğunu doğrulamak için aşağıdaki isteği gönderin:
POST https://api.agencyhandy.com/api/v1/webhooks/verify-signature
Content-Type: application/json
webhookId
string
gerekli
Olayı alan webhook’un kimliği. Bunu AgencyHandy’deki webhook ayrıntı sayfasında bulabilirsiniz.
signature
string
gerekli
Gelen webhook isteğindeki x-ah-sig başlığının değeri.
secret
string
gerekli
AgencyHandy’deki webhook ayrıntı sayfasında gösterilen webhook gizli anahtarı.
payload
object
gerekli
AgencyHandy’nin webhook isteğinden alınan ham JSON gövdesi.
const url = 'https://api.agencyhandy.com/api/v1/webhooks/verify-signature';

const postData = {
  webhookId: 'your_webhook_id',
  signature: 'your_signature',   // value of x-ah-sig header
  secret: 'your_webhook_secret',
  payload: {},                   // the parsed JSON body from AgencyHandy
};

const response = await fetch(url, {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify(postData),
});

const data = await response.json();
console.log(data); // { "verification_status": "SUCCESS" }
Yanıtlar
verification_status
string
İmza geçerliyse SUCCESS. Doğrulama başarısız olursa FAILED (HTTP 403).
Success (200)
{
  "verification_status": "SUCCESS"
}
Failure (403)
{
  "type": "PermissionError",
  "status": 403,
  "verification_status": "FAILED"
}
Webhook gizli anahtarınızı gizli tutun. Periyodik olarak yenileyin ve yenilemeden hemen sonra doğrulama mantığınızı güncelleyin. İstemci tarafı kodda veya herkese açık depolarda asla açığa çıkarmayın.

Önemli notlar

  • Uç nokta URL’niz herkese açık erişilebilir bir HTTPS POST URL’si olmalıdır.
  • Uç noktanız geçici olarak kullanılamıyorsa AgencyHandy’deki webhook geçmişi panelini kontrol edin — geçmişteki herhangi bir olayı doğrudan oradan yeniden iletebilirsiniz.
  • Başarısız iletileri veya yetkisiz erişim girişimlerini tespit etmek için webhook etkinliğini düzenli olarak izleyin.
  • Defalarca başarısız olan webhook’lar AgencyHandy tarafından duraklatılabilir — sorunları erken yakalamak için iletim günlüklerini inceleyin.