Webhook'lar, belirli olaylar gerçekleştiğinde siteler ve uygulamalar arasında otomatik veri gönderilmesini sağlayan bir mekanizmadır. Veriler HTTP isteğiyle aktarılır: bir uygulama, verileri internet üzerinden diğer uygulamanın önceden belirtilmiş adresine gönderir.

Webhook'ların sunduğu olanaklar
FLOWIN'de webhook'lar yönlendirmelerle birlikte çalışır. Kaynak sohbette (kaynakta) bir mesaj oluşturulduğunda, düzenlendiğinde, silindiğinde veya sabitlendiğinde ya da mesajların yönlendirildiği sohbette (hedefte) bir düğmeye tıklandığında tetiklenebilirler.
Böylece FLOWIN'i sosyal ağlara, borsalara, elektronik tablolara ve CRM'lere (müşteri ilişkilerini yönetmeye yönelik sistemlere) bağlayabilirsiniz. Bu bağlantıya entegrasyon denir ve şunları yapmanızı sağlar:
- Telegram'daki talepleri otomatik olarak CRM'ye eklemek.
- Telegram'daki alım satım sinyallerini otomatik takip için, yani bu sinyallere göre otomatik işlem yapılması amacıyla bir borsaya aktarmak.
- Telegram'daki mesajları diğer sosyal ağlara yönlendirmek.
- Gönderileri ve mesajları Google E-Tablolar'a kopyalamak.
- Botta bir otomatik yanıtlayıcı ayarlamak.
Her senaryo için site veya uygulama tarafında verilerin alınmasını ve istenen işlemin yapılmasını yapılandırmak gerekir.
Webhook oluşturma
Webhook'u, veri almak için bir adres sağlayan ve alınan istekleri gösteren webhook.site sitesinde test edelim. Buraya Telegram'daki yeni bir mesajın metnini göndereceğiz.
Bunun için FLOWIN'de yapılandırılmış ve çalışan bir yönlendirme gerekir.
İlk test için
Ayrı bir test sohbeti ve hayalî bir talep kullanın. Test için ad, telefon numarası veya başka kişisel veriler olmadan yalnızca metni göndermek yeterlidir.
@flow_in_bot’u açın,
/startkomutunu gönderin ve “Kontrol paneli” düğmesine tıklayın.Ayrı bir sekmede webhook.site sitesini açın. “Your unique URL” alanındaki, istekleri almak için verilen adresi kopyalayın.
FLOWIN panelinde “Menü” → “Webhook'lar” bölümünü açın ve “Oluştur” düğmesine tıklayın.
Kopyaladığınız adresi üstteki alana yapıştırın. “İstek gövdesi” alanına
{"message":"<message-text>"}yazın ve “Oluştur” düğmesine tıklayın. Bu, gönderilecek verilerin şablonudur: FLOWIN,<message-text>yerine mesajın metnini yerleştirir; alıcı ise bu metnimessagealanında görür.Oluşturduğunuz webhook'ta “Uygula” düğmesine tıklayın. İstediğiniz yönlendirmeyi işaretleyin ve “Kaydet” düğmesine tıklayın.
Kaynak sohbete örneğin “Talep №1042: mobilya kataloğu istiyorum.” gibi bir test mesajı gönderin. webhook.site'a dönün: alınan ilk istek otomatik olarak açılır. “Request Content” bloğunda talebin metni
messagealanında görünür. Artık FLOWIN, her yeni mesajın metnini hedef sohbete yönlendirmeden önce belirtilen adrese otomatik olarak gönderecektir.
Webhook ayarları
Oluşturduğumuz webhook üzerinden ayarları inceleyelim: bunların nasıl değiştirildiğine ve her alanın ne anlama geldiğine bakalım.
Ayarlar nereden alınır?
Başka bir site veya uygulamayı bağlamak için onun belgelerini kullanın. Veri alma kuralları genellikle diğer programlarla etkileşimi açıklayan API bölümünde bulunur. Aşağıdaki alanları doldurmak için gereken adres, HTTP yöntemi ve veri biçimi burada belirtilir.
Webhook ayarları nasıl değiştirilir?
“Webhook'lar” listesinde istediğiniz webhook'un “Değiştir” düğmesine tıklayın.
İstediğiniz alanları değiştirin ve “Kaydet” düğmesine tıklayın.
HTTP yöntemi
HTTP yöntemi, isteğin yapacağı işlemi belirler: POST verileri işlenmek üzere gönderir, GET veri talep eder, PUT ise verileri yenileriyle değiştirir. Varsayılan olarak testimize uygun olan POST seçilidir. Başka bir site veya uygulama için onun belgelerinde belirtilen yöntemi seçin.
URL adresi
URL, internetteki adres anlamına gelir. Buraya, bağlanacak site veya uygulamadan alınan veri alma adresi yazılır. Örneğimizde bu adresi webhook.site sağladı.
İstek gövdesi
İstek gövdesi, gönderilecek verileri JSON biçiminde, “alan adı: değer” çiftleri olarak içerir. Hangi alanların bulunacağı, bağlanacak site veya uygulamanın gereksinimlerine bağlıdır.
Meta etiketleri, FLOWIN'in mesaj verileriyle değiştirdiği yer tutuculardır. Örneğin, <message-text> metinle, <author-name> ise gönderenin adıyla değiştirilir. Meta etiketlerinin listesi, alanın altındaki “meta etiketleri” bağlantısına tıklanarak da açılır.
Aşağıdaki listede kullanıcı, mesaj, sohbet ve konu numaraları, bunların Telegram'daki kimliklerini (ID) ifade eder.
Mesaj ve gönderen
- Mesaj metni:
<message-text>. - Mesaj tarihi:
<message-date>. - Mesaj saati:
<message-time>. - Gönderenin numarası:
<author-id>. - Gönderenin adı:
<author-name>. - Gönderenin profiline ait HTML bağlantısındaki adı:
<author-name-link>. - Gönderenin hashtag olarak adı:
<author-name-tag>. - Gönderenin kullanıcı adı:
<author-username>.
Kaynak
- Mesaj metni:
<src-message-text>. - Mesaj numarası:
<src-message-id>. - Mesaj bağlantısı:
<src-message-link>. - Sohbet numarası:
<src-chat-id>. - Sohbet adı:
<src-chat-name>. - Sohbetin kullanıcı adı:
<src-chat-username>. - Konu numarası:
<src-topic-id>. - Konu adı:
<src-topic-name>.
Hedef
- Mesaj metni:
<dst-message-text>. - Mesaj numarası:
<dst-message-id>. - Mesaj bağlantısı:
<dst-message-link>. - Sohbet numarası:
<dst-chat-id>. - Sohbet adı:
<dst-chat-name>. - Sohbetin kullanıcı adı:
<dst-chat-username>. - Konu numarası:
<dst-topic-id>. - Konu adı:
<dst-topic-name>.
Hedefteki mesajın numarası ve bağlantısı, yönlendirmeden sonra oluşur. Bunları aktarmak için “İstek tetikleyicisi” alanında “Gönderdikten sonra” seçeneğini seçin.
Düğme tıklaması
- Tıklayan kullanıcının numarası:
<clicker-id>. - Tıklayan kullanıcının adı:
<clicker-name>. - Düğme verileri:
<clicker-data>. - Tıklama tarihi:
<click-date>. - Tıklama saati:
<click-time>.
Metin seçimi
- Düzenli ifade, metin arama kuralını belirler. Örneğin,
<regexp>(short|sell)</regexp>ifadesi,shortveyasellile ilk eşleşen metni yerleştirir. - Rastgele metin ifadesi
<random>1|2|3|4|5</random>beş seçenekten birini yerleştirir. Etiketlerin arasına kendi seçeneklerinizi yazabilir ve bunları|simgesiyle ayırabilirsiniz.
İstek başlıkları
“İstek başlıkları”, alıcı için teknik bilgiler içerir. Örneğin, bir erişim anahtarı isteği kimin gönderdiğini doğrulamayı sağlar. Başlıklar JSON biçiminde belirtilir. Genellikle bu alanı değiştirmek gerekmez; gerekli değerler, bağlanacak site veya uygulamanın belgelerinden alınır.
İstek tetikleyicisi
“İstek tetikleyicisi”, webhook'un belirtilen adrese hangi olayda ve ne zaman istek göndereceğini belirler. Olay olarak şunlar seçilebilir:
- “Gönderme” varsayılan olarak seçilidir. Webhook, yeni bir mesaj yönlendirilirken tetiklenir.
- “Düzenleme”, kaynaktaki bir mesaj değişikliği işlenirken tetiklenir.
- “Sabitleme”, kaynaktaki bir mesajın sabitlenmesi işlenirken tetiklenir.
- “Silme”, kaynaktaki bir mesajın silinmesi işlenirken tetiklenir.
- “Düğme tıklaması”, hedef sohbetteki geri çağırma (callback) düğmeleri için tetiklenir. Böyle bir düğme, tıklandığını bota bildirir ve kendisi için belirlenmiş verileri iletir. Bağlantı içeren sıradan bir düğme bu webhook'u tetiklemez.
Gönderim zamanı, isteğin yönlendirmenin hangi aşamasında gönderileceğini belirler:
- “İşlemeden önce”: istek, mesajın çevrilmesinden ve yapay zekâ (YZ) ile işlenmesinden önce gönderilir.
- “İşledikten sonra”: istek, çeviri ve yapay zekâ ile işleme tamamlandıktan sonra gönderilir.
- “Gönderdikten sonra”: istek, mesaj hedef sohbette başarıyla gönderildikten veya düzenlendikten sonra gönderilir.
Kullanılabilir gönderim zamanları
Üç seçeneğin tamamı “Gönderme” ve “Düzenleme” olayları için kullanılabilir. “Sabitleme”, “Silme” ve “Düğme tıklaması” için “İşlemeden önce” kullanılır; başka bir zaman seçilemez.
Açıklama
“Açıklama”, size kolaylık sağlayan bir not alanıdır ve webhook'un çalışmasını etkilemez. Bu alan boş bırakılabilir.
Webhook ile yapılabilecek işlemler
Oluşturulan webhook'lar “Webhook'lar” listesinden yönetilebilir:
- “Değiştir”, webhook'un temel ayarlarını açar.
- “Diğer” menüsündeki “Çoğalt”, webhook ayarlarının bir kopyasını oluşturur.
- “Diğer” menüsündeki “Proje seç”, webhook'u bir projeye ekler.
- “Diğer” menüsündeki “Sil”, webhook'u siler.
Ayrıca her webhook'un, uygulanacağı yönlendirmeleri seçmenizi sağlayan bir “Yönlendirmeler [N]” düğmesi vardır. N, seçili yönlendirmelerin sayısını belirtir. Henüz yönlendirme seçilmediyse bunun yerine “Uygula” düğmesi gösterilir.
Sık sorulan sorular
Basit bir ifadeyle webhook nedir?
Belirli bir olay gerçekleştiğinde verileri başka bir uygulamaya otomatik olarak aktarmanın bir yoludur. Örneğin, yeni bir mesaj yönlendirilirken FLOWIN, mesajın metnini bir HTTP isteğiyle belirttiğiniz adrese gönderir. Burada isteği FLOWIN gönderir; Telegram'ın setWebhook yöntemi ise diğer yönü yapılandırır: güncellemelerin Telegram'dan botu çalıştıran programa iletilmesini sağlar.
CRM'nin adresini belirtmek yeterli mi?
Hayır. CRM'nin belgelerinde belirtilen veri alma adresi, uygun HTTP yöntemi, JSON alanları ve erişim için gerekiyorsa başlıklar da gereklidir. CRM sitesinin normal adresi bu amaç için uygun değildir. FLOWIN isteği gönderir; talebin oluşturulması veya başka bir işlemin yapılması ise CRM'nin alınan verileri nasıl işlediğine bağlıdır. Alanların değerleri “Webhook ayarları” bölümünde açıklanmıştır.
Hedefteki mesajın bağlantısı neden boş?
Yeni mesaj başarıyla gönderilene kadar FLOWIN'de mesajın hedefteki numarası ve bağlantısı bulunmaz. <dst-message-id> ve <dst-message-link> değerlerini aktarmak için “Gönderme” veya “Düzenleme” olayını ve “Gönderdikten sonra” zamanını “İstek tetikleyicisi” alanında seçin. Bağlantı, kanallar ve süper gruplar için oluşturulur. Özel sohbette veya normal bir grupta <dst-message-link> gönderimden sonra da boş kalır.
Sıradan bir URL düğmesine tıklayarak webhook tetiklenebilir mi?
Hayır. Sıradan bir URL düğmesi bağlantıyı açar. “Düğme tıklaması” olayı için hedef sohbette bir geri çağırma (callback) düğmesi gerekir: bu düğme, tıklama verilerini bota iletir. Bu fark “İstek tetikleyicisi” bölümünde açıklanmıştır.
Haricî hizmetin verileri aldığını nasıl kontrol edebilirim?
Hayalî bir mesaj gönderin ve hizmet tarafında alınan isteği kontrol edin. webhook.site örneğinde talebin metni “Request Content” bloğunda görünür. Telegram'da yönlendirmenin başarılı olması tek başına haricî hizmetin verileri aldığını veya istenen işlemi yaptığını doğrulamaz. Kontrol için ad, telefon numarası veya başka kişisel veriler olmadan yalnızca metin yeterlidir.















