Webhooks, uyarının her tetiklenişinde belirli bir URL’ye POST isteği göndermenizi sağlar. Bir uyarı oluştururken veya düzenlerken bu özellik etkinleştirilebilir. Uygulamanız için doğru URL’yi ekleyin; uyarının tetiklendiği anda, isteğin gövdesindeki uyarı iletisiyle bir POST isteği göndeririz. Uyarı mesajı geçerli bir JSON ise, "application/json" içerik tipi başlığına sahip bir istek göndeririz. Aksi takdirde, bir içerik tipi başlığı olarak "text/plain" u göndereceğiz.
POST isteklerini göndermek için kullanacağımız IP adreslerinin bir listesi aşağıda verilmiştir:
Bağlantı noktası numarası olan bir URL’ye bir istek göndermek istiyorsanız, lütfen yalnızca 80 ve 443 numaralı port noktalarına sahip URL’leri kabul ettiğimizi unutmayın. URL’deki istek, başka bir bağlantı noktası numarasıyla reddedilir. Bir uzak sunucu bir isteği 3 saniyeden fazla bir süre boyunca işlerse, istek iptal edilir.
Pek çok uygulama ve hizmetin JSON biçimindeki web kancalarından veri almayı beklediğini unutmayın (varsayılan olarak uyarı iletisinde bulunan düz metni değil). Bir istek göndermeden önce, lütfen ilgili uygulamanın veya hizmetin belgelerini okuyun ve uyarı mesajınızı doğru şekilde biçimlendirin. Wiki'deki JSON formatı hakkında daha fazla bilgi bulabilirsiniz.
Örneğin, Slack, JSON'da biçimlendirilmiş bir iletiyi anahtar olarak “metin” ile bekliyor. Bir mesaj kutusuna yazabilirsiniz:
{"text": "BTCUSD Greater Than 9000"}
Mesaj geçerli bir JSON olduğundan, "application / json" içerik tipi başlığına sahip bir istek göndereceğiz. İsteğin cURL kullanmak gibi göründüğü gibi:
curl -H 'Content-Type: application/json; charset=utf-8' -d '{"text": "BTCUSD Greater Than 9000"}' -X POST https://hooks.slack.com/services/T00000000/B00000000/XXXXXXXXXXXXXXXXXXXXXXXX
TextTextMesajınız düz metin içeriyorsa (örneğin, varsayılan bir uyarı mesajı kullanıyorsanız), "düz/metin" içerik türü başlığına sahip bir istek göndeririz.
curl -H 'Content-Type: text/plain; charset=utf-8' -d 'BTCUSD Greater Than 9000' -X POST https://webhook.site/test
TextTexText