Skip to main content
Telegram botuna yazılan mesajları Flextell’de Sohbetler altında karşılamak ve bot üzerinden yanıtlamak için bir Telegram kanalı oluşturursunuz. Bot bağlantısını yalnızca API ile kurabilirsiniz: bot token’ını POST /api/v1/channels çağrısına vermeniz yeterlidir. Flextell token’ı doğrular, webhook’u kendisi kaydeder ve kanalı açar.
Yeni panelde Telegram kanalı oluşturma ekranı yalnızca kanal kaydını açar ve bot bağlantısını kurmaz. Ekranda şu uyarı görünür: “Bu işlem yalnızca kanal kaydını oluşturur. Bot bağlantısının ayrıca kurulması gerekir; bu ekranda henüz bot bağlantısı kurulamıyor.” Bağlantıyı bu sayfadaki API çağrılarıyla kurun. Panelde kanalların nasıl göründüğü için Kanallar sayfasına bakın.

Bot oluşturma

Bot token’ını Telegram’ın BotFather botundan alırsınız. Bu adım Flextell dışındadır.
1

BotFather ile bot oluşturun

Telegram’da BotFather ile yeni bir bot oluşturun. Bot kullanıcı adını (@botadi) not edin.
2

Token'ı kaydedin

BotFather’ın verdiği token’ı güvenli bir yerde saklayın. Biçimi 123456789:ABC... şeklindedir: rakamlar, iki nokta, ardından harf, rakam, _ veya - karakterleri.
3

Yetkileri kontrol edin

Çağrıyı yapan kullanıcının klinikte Create:Channel izni olmalı ve uygulamanızın token’ı channels:write scope’unu taşımalıdır.
Bot token’ı bir paroladır. Flextell onu şifreli saklar ve hiçbir yanıtta geri döndürmez. Siz de günlüklerinize, sürüm kontrolüne veya istemci tarafı koduna yazmayın.

Kanalı bot token’ı ile oluşturma

Aşağıdaki endpoint’ler Telegram kanalıyla çalışır. Hepsi Authorization ve X-Tenant başlıklarını ister; bkz. Klinikler ve X-Tenant.

İstek alanları

Örnek

Başarılı yanıt 201 döner. Yanıt kısaltılmıştır; kanal nesnesinin tamamı Kanallar sayfasındadır.
Flextell sırasıyla şunları yapar ve hepsi tek işlemdir:
  1. Token’ı Telegram’a sorarak (getMe) doğrular.
  2. Webhook’u Telegram’a kaydeder.
  3. Token’ı şifreleyerek kaydeder ve kanalı open yapar.
Adımlardan biri reddedilirse hiçbir şey oluşmaz; yarım kanal kalmaz.

Botu değiştirme

Aynı kanalın botunu değiştirmek için PUT /api/v1/channels/{id} ile yeni bot_token gönderin. bot_token, webhook_enabled ve webhook_base_url alanlarından herhangi biri botu aynı işlem içinde yeniden bağlar. Telegram isteği reddederse PUT isteğindeki hiçbir alan kaydedilmez.
  • Farklı bir bota geçerseniz eski botun webhook’u bırakılır.
  • Aynı botun token’ını yeniden ürettiyseniz webhook kaldırılmaz.
  • Webhook kaydı reddedilirse Flextell önceki webhook’u geri yüklemeyi dener.
  • Kanalda hiç token yoksa ve PUT isteği de token göndermiyorsa yeniden bağlanma CHANNEL_TELEGRAM_TOKEN_MISSING ile reddedilir.

Webhook

Telegram mesajları Flextell’e webhook ile iletir; başka bir alma yöntemi yoktur. Webhook’u siz kaydetmezsiniz: bot bağlandığında Flextell onu kendisi kurar. Bu adres Telegram’ın Flextell’i çağırması içindir. Uygulamanız bu adrese istek göndermez.
Mesaj akışını geçici olarak durdurmak için kanalı silmeyin. PUT /api/v1/channels/{id} ile "webhook_enabled": false gönderin. Webhook silinir, kanal open kalır ama mesaj almaz. Akışı yeniden başlatmak için "webhook_enabled": true gönderin.

Bağlantıyı doğrulama

Önce bağlantı durumunu API’den okuyun, ardından gerçek bir mesajla sınayın.

Bot bağlantısını okuma

Telegram dışındaki bir kanal için bu endpoint 422 CHANNEL_NOT_TELEGRAM döner.

Mesajla sınama

1

Kanal durumunu kontrol edin

GET /api/v1/channels/{id} yanıtında status değeri open, is_active değeri true olmalıdır. Panelde durum Bağlı olarak görünür.
2

Bota yazın

Telegram’dan, botla birebir sohbetten bir mesaj gönderin.
3

Sohbeti bulun

Mesaj Flextell’de yeni bir sohbet olarak açılır. Kişi, Telegram sohbet kimliğiyle (Telegram chat ID) tanınır; adı ve soyadı Telegram profilinden alınır. Kliniğin etkin bir pipeline’ı varsa kişi için bir Lead de açılır.

Hatalar

Hata yanıtlarının genel yapısı için Hata kodları sayfasına bakın.

Kısıtlar

Flextell yalnızca botla birebir yapılan sohbetleri işler. Grup, süpergrup ve kanal güncellemeleri yok sayılır. Gelen içerik olarak metin, konum, kişi, fotoğraf, video, ses ve sesli mesaj, belge, mesaj düzenleme ve tepki (reaction) işlenir.
Flextell Telegram’da kendisi sohbet başlatamaz. Hasta bota en az bir kez yazmalıdır; ondan sonra sohbet otomatik kaydedilir. Kullanıcı adıyla (@ad) mesaj gönderilemez, sayısal sohbet kimliği gerekir.
Bir mesajın metni en fazla 4096 karakter olabilir. Desteklenen medya türleri JPEG, PNG, GIF, MP4, MPEG ve MP4 ses, OGG ve PDF’dir. Kendi gönderdiğiniz mesajı en fazla 48 saat içinde düzenleyebilir veya silebilirsiniz. Telegram’da okundu bilgisi yoktur.
bot_token göndermeden type: "telegram" ile kanal oluşturursanız yalnızca bir kayıt açılır. Bu kanal closed kalır ve mesaj almaz. address bu durumda zorunludur. Botu sonradan PUT ile bot_token göndererek bağlayabilirsiniz.
Kanal oluşturulduktan sonra type değiştirilemez. PUT isteğindeki type değeri sessizce yok sayılır.
DELETE /api/v1/channels/{id} isteği gövdede kullanıcının current_password değerini ister; eksikse 422 VALIDATION_FAILED döner. Silme sırasında Telegram webhook’u da kaldırılır; bu adım en iyi çaba esaslıdır.
Telegram kanalı, Flextell’in desteklediği diğer entegrasyonlarla birlikte Entegrasyonlara genel bakış sayfasında anlatılır. Kanal nesnesinin tüm alanları ve diğer kanal endpoint’leri için Kanallar sayfasına, gereken scope’lar için Scope’lar sayfasına bakın.