Webhooks Nedir ? Entegrasyon Büyüsü ?
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 subscribe olan diğer uygulamaları tetiklemesidir.
Bunu Observer Pattern Web’de çalışan uygulamalar için kullanımıda diyebiliriz. Genelde HTTP Rest API , OAuth2 ve JSON teknolojisi kullanılır.
Webhook’da aynı websocket’deki gibi sunucunuzun dışarıdakileri Event yayınlayarak bilgilendirme çabasıdır. Websocket’den farkı ise, websocket browser ile haberleşirken , webhook diğer bir uygulama sunucusu ile haberleşir.
Webhook’un ilk karşımı çıktığı yer Slack oldu. Slack içerisindeki Incoming Web Hook ve Outgoing Web Hook sayesinde Realtime’da Slack ile konuşabilirsiniz. Ayrıca Slack Slash / Komutları ‘da dışarıdaki uygulamalar ile konuşmak için bu Webhook altyapısını kullanıyor.
Mesela bulut’daki source control ile kendi uygulamanızı entegre etmek istiyorsunuz. buradaki linki inceleyin. Aşağıdaki eventlere subscribe olmanız durumunda buna uygun davranışlara sahip uygulamanızı geliştirebilirsiniz.
Paypal, Stripe, Shopify vb..
Ödeme sistemlerine entegre sistemler geliştirebilmeniz için webhook’ları mevcut Paypal webhook, Stripe webhook , Shopify webhook. Bunlara ait eventler genelde aşağıdaki gibidir;
Web Pages, Blog vb Static Pages
Bu tip sayfalardaki güncellemeleri genelde RSS güncellemeleri ile ediniriz. Mesela Superfeedr Webhook’undan bu feedler ile ilgili eventleri nasıl yakalayabileceğinizi görebilirsiniz.
Email uygulamalarınında Webhook ile dışarıdaki uygulamalara kendilerinde gerçekleşen eventleri duyurduğunu görebilirsiniz. SendGrid, MailChimp, Mailgun bu tip mail uygulamalarından bazıları Örneğin MailChimp webhook bakarsak aşağıdaki eventleri görebilirsiniz.