Webhooks modülü

Diyaloglardan olay alma Hotline olarak POST-formatındaki talepler JSON daha ileri işleme için harici bir betiğe.
Kurulum botunda @hotlinetg_bot bağlantı parametresi aracılığıyla @WEBHOOKS@ Giden postaları işlemek için bir veya daha fazla adres ayarlayabilirsiniz POST-dışarıdan gelen talepler Hotline diyaloglardaki olaylar hakkında.
Not: Bu sayfada otomatik çeviriye sahip parçalar bulunmaktadır. Bu bilgileri anlamakta zorluk çekiyorsanız, dili İngilizce veya Rusça'ya çevirip güvendiğiniz web sitesi çeviri sistemini kullanmayı deneyebilirsiniz.
Yan taraftan gelen giden istekler Hotline belirtilen olay türlerine sahip belirtilen adreslere, sonraki işleme için ilgili konu ve/veya kullanıcı hakkında tüm temel bilgileri ve alanı içerir api_key Gönderici doğrulaması için ilgili bağlantı. Gerekirse, proxy sunucumuzun IP adresini kullanarak tarafınızda ek gönderici doğrulaması yapılandırabilirsiniz.
Örnek JSON parametreyi yapılandırmak için @WEBHOOKS@:
{
  "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"
  ]
}
Hotline’dan iki tür talep alabilirsiniz:

Sistem olayları – diyalogların açılması, kapatılması veya yeniden açılması, operatörler tarafından veya paralel oturumlardan gelen veya giden mesajların alınması veya gönderilmesi hakkında. Bu olaylar, analitik sistemler veya veritabanınızda ek mesaj depolaması (yapay zeka asistanları dahil) için kullanışlıdır.

Özel komutlar – sembolüyle başlayan operatörler tarafından belirtilen komutların kullanımıyla ilgili raporlar / (eğik çizgi). Standart sistem komutları olarak izlenebilir (örneğin /mark veya /close), ve ayrıca herhangi bir özel komut, örneğin /invoice (fatura oluştur), /client (müşteri hakkında bilgi almak için user_id в Telegram). İkinci türdeki olaylar, ilgili iletişim kutusuyla birlikte konu başlığında görüntülenecek bir yanıt döndürebilir. Bu olaylar, Yardım Hattı'nın işlevselliğini önemli ölçüde artırabilecek veya operatörlerin işini hızlandırabilecek özel komutları uygulamak için kullanışlıdır.
Webhook'lar yalnızca sistemin ücretli kullanıcılarına açıktır.
Ücretli bir abonelik satın almak veya işlevi test etmek için birkaç günlük denemeye bağlanmak için lütfen şu kişiyle iletişime geçin: @hotlinetg_support
Tür 1: Sistem Olayları
Sistem olayları, sabit bir değer kümesinden tanımlanır. Sistem olayları, ilgili iletişim kutusu konusuna herhangi bir sonuç döndürmeden gönderilir.
Şu anda aşağıdaki etkinlik türleri mevcuttur: dialog_created, dialog_reopened, iletişim kutusu kapalı, message_kabul edilmiş, message_gönderilmiş, message_kesildi.
Sistem olaylarının iletişim kutularında kullanımına ilişkin örnekler:
  • bir diyaloğun başlamasından sonra (örneğin, zaman aşımından sonra) kullanıcıya ek mesajlar gönderme
  • Operatörler tarafından yapılan ihlaller için anahtar kelimelere veya mesajların anlamına göre gelen ve giden mesajların ek izlenmesi
  • gelen isteklere operatör yanıt sürelerinin kontrolü
  • harici bir sistemdeki diyaloglar ve/veya operatörler hakkında analitik amaçlı veri toplama
  • AI modülünü eğitmek için harici bir sisteme mesaj kaydetme
Bir iletişim kutusunu yeniden açmak için giden bir isteğin örneği:
{
    "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"
}
Gönderilen bir mesaj için giden istek örneği:
{
    "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 message",
        "content_type": "messageText",
        "department": "default",
        "backend_reply_message_id": 0
    },
    "api_key": "pQTngMZLh0NmAh"
}
Tür 2: Özel komutlar
Sembolle başlayan herhangi bir komut / (slash) hakkında olayları ve ilgili diyalog hakkında bilgileri almak için bir değer olarak belirtilebilir.
Mevcut standart sistem komutlarını (/info, /mark, /close vb.) ve ayrıca komut dosyanızın sorumlu olacağı eylemlerin mantığı için özel olanları ve gerekirse sonucu konuya formda döndürün JSON veya bir kısa mesaj (formatta işaretlemeye izin verilir) Markdown v2).
Özel komutlarla webhook kullanımına ilişkin örnekler:
  • standart komutun uzantısı /info kullanıcı hakkında ek bilgiler
  • Operatörler tarafından bir komut aracılığıyla iletişim kutusu durumlarındaki değişikliklerin kaydedilmesi /mark
  • komut tarafından kapatma isteklerinin olaylarının kaydedilmesi /close
  • örneğin kendi komutlarınızı ekleyerek /invoice, /client veya konuşmanın gerçekleştiği konu hakkında bilgi ve kullanıcı veya sohbet verileri gerektiren herhangi bir şey.
Bir komut çağrısı isteğinin örneği /mark deal anlaşma operatörü:
{
    "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"
}
Bir konudaki bir komutun sonucunu görüntülemek için sunucunuzun yanıtının düz metin veya şu biçimde olması gerekir: JSON, adında bir düğümü olan message veya error (diğer düğümler göz ardı edilecektir).
Sunucunuzdan gelen başarılı bir yanıtın biçimine bir örnek: JSON Konu başlığında diyalogla gösterilecek bir mesajla:
{
    "message": "Deal created: http://internal.domain.com/crm/deals/76238",
    "status": "ok"
}
Sunucunuzun hata metni biçimindeki yanıtının bir örneği JSON, konu başlığında diyalog kutusu ile gösterilecektir:
{
    "error": "User 12345678 not found in our database"
}
Webhook'larla ilgili sorularınız varsa veya ücretli bir aboneliği ya da denemeyi etkinleştirmek istiyorsanız lütfen destek ekibiyle iletişime geçin. @hotlinetg_support.