WebHook (Web Kancası) tetiklenmeye ihtiyaç duymayan bir API çeşididir.

WebHook, farklı uygulamaların birbirleri ile entegrasyon sağlayabilmeleri için uygulama içerisinde oluşan event’leri HTTP üzerinden JSON Payload’ları ile kendilerine abone olan diğer uygulamaları tetiklemesidir.

Web geliştirmede bir web kancası, bir web sayfasının veya web uygulamasının davranışını özel geri aramalarla artırma veya değiştirme olanağı sunmaktadır.

WebHook sağlayan servisler, bizi ilgilendiren bir olay gerçekleştiğinde bizim tanımladığımız bir URL’e HTTP isteği atarak uygulamamızı haberdar ederler. Bir nevi back-end’ler kendi aralarınde event gönderirler. Bu sayede yazılımımız gerçek zamanlı (real-time) olarak olaydan haberdar olur ve alması gereken aksiyonları alır. Belirli bir olay meydana geldiğinde bir uygulamadan diğerine gerçek zamanlı veri göndermenizi sağlayarak, uygulamalarınızın birbirine anında ve sorunsuz bir şekilde veri aktarmasına olanak tanır.

T-Soft altyapısı ile çeşitli entegrasyon işlemleri için WebHook özelliğini kullanabilirsiniz.

WebHook özelliği ek lisansa bağlı olarak çalışmaktadır.

Lisansı aktif ettirmek için destek ekibimize talep oluşturabilirsiniz. (Webhook lisansı satın alınması gereken bir lisans değildir. Aşağıda iletilen istek ücretlerini kabul ediyorsanız lisansınızın açılmasını destek ekibinden talep edebilirsiniz.)

WebHook ile işlem sağlanırken ayrı olarak gönderim süre ve isteklerinde ücret tarifesi uygulanmaktadır.

Web Kancası Oluşturma

Şimdi web kancasının temellerini anlayabildiğimize göre, kendi web kancası destekli entegrasyonumuzu oluşturma sürecine geçelim.

Bu yazıda sitemizin sipariş durumlarını bildirdiğimiz bir kanca oluşturalım.

Web kancası oluşturmak iki aşamalı bir işlemdir.

Öncelikle web kancanızın hangi olayları hangi adrese bildirmesini ayarlamanız gerekmektedir. Bundan sonra ilgili olay gerçekleştiğinde gelen veriyi kendiniz işleyecek ve yönetecek şekilde ayarlayabilirsiniz.

Web Kancasını Ayarlamak

Web kancalarını T-Soft yönetim panelinizde "https://www.siteadi.com/srv/admin/settings/webhook/index" linkinden görüntüleyebilirsiniz.

webhook1.png (33 KB)

Yeni bir web kancası eklemek için "Yeni Ekle" butonuna tıklayınız.

1. Payload URL (Yük Adresi)

WebHook POST isteklerini alacak sunucunun URL'sidir. URL webte barınan canlı bir adres olmalıdır. Geçersiz bir url girildiğinde olay bildirimi gitmez. Url geçerli fakat bir http hatası veriyorsa sonradan tekrar denenmek üzere sıraya alınır.

2. Content Type (İçerik Türü)

WebHooklar farklı İçerik tipleriyle olay bildirebilir. 

Seçenekler içerisinden size uygun olan içerik tipini seçip veriyi istediğiniz gibi işleyebilirsiniz.

- application/json

- application/x-www-form-urlencoded

3. Secret Key (Gizli Anahtar)

İstek atılan URL'ye gerçekten web kancanın verisinin geldiğini doğrulamak için bir güvenlik verisi yollayabilirsiniz.

Bu veri header'da "X-Hub-Signature" başlığıyla gönderilecektir. Bu başlığı kontrol ederek istek URL'nizin güvenliğini sağlayabilir ve doğrulayabiilirsiniz.

4. Timeout (Zaman Aşımı)

Zaman aşımı; web kancası isteklerinin süresini belirlediğiniz alandır.

WebHook üzerinden gerçekleştiren işlemlerin istek süresini belirleyebilirsiniz. Seçtiğiniz süreye göre eventlerınız içerisindeki veriler çekilecek ve işlenecektir. 

İstek sürenizi verilerin alınma veya kaydedilme süresine göre seçmelisiniz. Her isteği ortalama 7 saniye içerisinde kontrol edip kaydediyorsanız süreyi 3 seçmemelisiniz. Bu durumda kaydedilmeme sorunu oluşabilir.

Zaman aşımlarınızın süreleri sırasıyla 3, 5 ve 7 saniye olarak denenir ve fiyatlandırma zaman aşımlarının denenme süresine bağlı olarak tarafınıza yansıtılır. 

webhook2.png (49 KB)

WebHook Ücret Tarifesi

WebHook kullanımında ek ücretlendirme tarifesi uygulanmaktadır. Tarife bilgisini aşağıdaki listeden inceleyebilirsiniz.

- Site İçi

0,001 USD + KDV → Site İçi 3 sn WebHook

0,002 USD + KDV → Site İçi 5 sn WebHook

0,003 USD + KDV → Site İçi 7 sn WebHook

- Site Dışı

0,002 USD + KDV → Site Dışı 3 sn WebHook

0,003 USD + KDV → Site Dışı 5 sn WebHook

0,004 USD + KDV → Site Dışı 7 sn WebHook