Webhook'lar¶
Sisteminizle entegrasyon için Hotline diyaloglarından gelen olayları JSON formatında POST istekleri olarak alın.
Ücretli özellik
Webhooks ve REST API kullanımı yalnızca Hotline premium kullanıcıları için mevcuttur. Sistemin ücretli sürümünü satın almak için destek servisimize başvurun.
Yetenekler¶
Webhooks modülü şunları sağlar:
- Sistem olaylarını izleme — diyalog oluşturma, kapatma ve yeniden açma, mesaj alma ve gönderme.
- Özel komutları işleme — hem standart
/mark,/infohem de kendi/invoice,/userve diğer komutlarınız. - Konulara yanıt döndürme — komut yürütme sonuçları doğrudan müşteri konularında gösterilebilir.
Yapılandırma¶
Webhook'lar @hotlinetg_bot kurulum botu aracılığıyla WEBHOOKS bağlantı parametresinde yapılandırılır.
Yapılandırma formatı: Anahtarların script'lerinizin URL'leri ve değerlerin izlenecek olay dizileri olduğu JSON objesi:
Örnek JSON Yapılandırması¶
{
"https://someapiserver.com/webhooks/test-hook1": [
"dialog_created",
"dialog_reopened",
"dialog_closed",
"message_received",
"message_sent",
"message_intercepted"
],
"https://someapiserver.com/webhooks/test-hook2": [
"/mark", "/info",
"/invoice", "/client"
]
}
Çoklu adresler
Farklı olay setleri için birden fazla URL belirleyebilirsiniz — örneğin, biri mesajlar ve diyaloglar hakkında olay almak için, diğeri komutlarınızı işlemek için.
Sistem Olayları¶
Diyalog olayları hakkında otomatik bildirimler. Sunucunuzdan yanıt beklemeden gönderilir.
Mevcut Diyalog Olayları¶
| Olay | Açıklama |
|---|---|
dialog_created |
Sistemde yeni diyalog oluşturma. Genellikle yeni diyalogları saymak, karşılama göndermek, ek müşteri bilgisi almak veya müşteri veritabanında kayıt oluşturmak için kullanılır. |
dialog_reopened |
Kapandıktan sonra diyaloğu yeniden açma. Tekrar iletişimleri izlemek için kullanışlıdır. |
dialog_closed |
Operatör tarafından veya otomatik olarak diyalog kapatma. Biletleri sonlandırmak, anketler göndermek veya kapanış metriklerini hesaplamak için kullanılır. |
Mevcut Mesaj Olayları¶
| Olay | Açıklama |
|---|---|
message_received |
Müşteriden gelen herhangi bir mesajı alma. Kayıt ve içerik analizi için kullanılır, örneğin yapay zeka modellerini eğitmek için. |
message_sent |
Müşteriye mesaj gönderme. Yanıt kalite kontrolü ve operatör tepki süresini hesaplamak için kullanışlıdır. |
message_intercepted |
Paralel oturumdan müşteriye giden mesaj (örneğin, başka bir hesap oturumundan). Sistemler arası veri senkronizasyonu için kullanılır. |
Kullanım Senaryoları¶
- Diyalog başlangıcından sonra zaman aşımıyla otomatik mesaj gönderme
- İsteklere operatör yanıt süresini izleme
- Şirket politikasına uygunluk için mesajları kontrol etme
- Harici analitik için veri toplama
- Yapay zeka model eğitimi için diyalogları kaydetme
- Mesajları kurumsal veritabanına yedekleme
Örnek İstek: Diyalog Yeniden Açma¶
{
"event_type": "dialog_reopened",
"timestamp": "2025-10-09 00:24:55",
"instance_id": "13209946874612345",
"data": {
"chat_id": -1002146012345,
"thread_id": 5602541568,
"topic_id": 5343,
"topic_link": "https://t.me/c/2146012345/5343",
"user_id": 5339212345,
"frontend_chat_id": 5339212345,
"frontend_topic_id": null,
"frontend_topic_link": null,
"frontend_user_id": 6406751371,
"chat_type": "private",
"title": "Some User Name",
"department": "default"
},
"api_key": "pQTngMZLh0NmAh"
}
Örnek İstek: Gönderilen Mesaj¶
{
"event_type": "message_sent",
"timestamp": "2025-10-09 00:21:57",
"instance_id": "132099468746812345",
"data": {
"backend_chat_id": -1002146012345,
"backend_thread_id": 5602541568,
"backend_message_id": 6171918336,
"sender_user_id": 5339212345,
"frontend_user_id": 640675123,
"frontend_message_id": 3260022784,
"text": "test mesajı",
"content_type": "messageText",
"department": "default",
"backend_reply_message_id": 0
},
"api_key": "pQTngMZLh0NmAh"
}
Özel Komutlar¶
Operatör komut çağrıları hakkında olaylar. Sunucunuz ilgili olayı kaydedebilir ve diyalog konusunda gösterilecek yanıt döndürebilir.
- JSON yapılandırmasında standart sistem komutlarını belirtin:
/info,/mark,/close - Kendi komutlarınızı ayarlayın:
/invoice,/client,/order - Gerekirse yürütme sonucunu metin veya JSON olarak döndürün
Kullanım Senaryoları¶
- Başka bir CRM'den ek müşteri bilgisiyle
/info'yu genişletme - Analitik için
/markile durum değişikliklerini kaydetme - Link dönüşü ile
/invoicekomutuyla fatura oluşturma /userile veritabanından müşteri verisi alma- Komut tetikleyici ile iş süreci otomasyonu
Örnek İstek: /mark Komutu¶
{
"event_type": "/mark",
"timestamp": "2025-10-08 20:41:20",
"instance_id": "132099468746812345",
"data": {
"command_data": "deal",
"chat_id": -1002146012345,
"topic_id": 5,
"topic_link": "https://t.me/c/2146012345/5",
"message_id": 5850,
"reply_message_id": null,
"sender_user_id": 123456,
"user_id": 7890123,
"frontend_chat_id": 7890123,
"frontend_thread_id": null
},
"api_key": "pQTngMZLh0NmAh"
}
Yanıt Formatı¶
Sunucunuz sonucu düz metin veya message veya error düğümleri ile JSON olarak döndürebilir.
Başarılı yürütme:
{
"message": "Anlaşma oluşturuldu: http://internal.domain.com/crm/deals/76238",
"status": "ok"
}
Yürütme hatası:
{
"error": "Kullanıcı 12345678 veritabanımızda bulunamadı"
}
Metin yanıtı:
Markdown v2 desteğiyle sadece metin döndürebilirsiniz:
✅ Fatura №12345 oluşturuldu
Toplam: 1500
Link: https://intranet.example.com/invoice/12345
Diğer JSON düğümleri yok sayılır
JSON yanıt durumunda, Hotline yalnızca message ve error düğümlerini işler.
Güvenlik¶
Hotline'dan gelen tüm istekler gönderen doğrulaması için ilgili bağlantının api_key alanını içerir.
api_key'i kendi tarafınızda doğrulayın- Hotline proxy sunucusu IP'sine göre filtreleme yapılandırın
- Webhooks URL'si için HTTPS kullanın
Pratik Senaryolar¶
-
CRM Entegrasyonu
Diyalog başlangıcında otomatik olarak potansiyel müşteriler oluşturun,
/markile anlaşma durumlarını güncelleyin,/userile tam müşteri bilgisini yükleyin -
Gelişmiş Analitik
Operatör çalışması ve hizmet kalitesinin detaylı analizi için tüm mesajları ve olayları analitik sisteminizde toplayın
-
Yapay Zeka Asistanları
Yapay zeka eğitimi için diyalogları veritabanında kaydedin, bağlama dayalı yanıt üretmek için
/hintgibi komutlar oluşturun -
Belge Otomasyonu
Otomatik müşteri veri doldurma ile komut üzerine fatura, sözleşme, ticari teklif üretin
-
Kalite Kontrol
Operatör yanıt süresini izleyin, yasaklı kelimeler için mesajları kontrol edin, uzun yanıtsızlık süreleri için uyarılar alın
-
Yedekleme
Arşivleme veya diğer sistemlere geçiş için tüm diyalogları kendi veritabanınıza kaydedin
Hata Ayıklama İpuçları¶
- Webhook'ları test etmek için servisler kullanın: postman.com, requestbin.com
- Sunucunuzdaki tüm gelen istekleri kaydedin
- Doğru HTTP yanıt durumu döndürün (
200 OKolmalıdır) - Zaman aşımını izleyin — yanıt hızlıca gelmeli (3 saniyeye kadar önerilir)
- Hataları zarif bir şekilde işleyin ve anlaşılır mesajlar döndürün
Test bağlantıları kullanın
Hata ayıklama için, gelen olay akışını kontrol etmeyi ve farklı özelliklere sahip olayları hata ayıklamayı kolaylaştırmak için test bağlantısı oluşturun.
Sınırlamalar¶
- Komut yanıt zaman aşımı — önerilen 3 saniyeden fazla olmamalı
- Yanıt boyutu — 4096 karaktere kadar (Telegram sınırlaması)
- Yeniden deneme girişimleri — sunucunuz kullanılamıyorsa, istek yeniden denenebilir
- Hız sınırları — büyük olay akışı ile sunucu kapasitelerinizi düşünün
Destek¶
Webhook kurulumu, ücretli abonelik bağlantısı hakkında sorularınız için destek servisine @hotlinetg_support başvurun