WhatsApp bağlantısını kurmak (QR okutma, instance oluşturma) API ile yapılmaz — panel üzerinden yapılır. API istemcileri yalnızca kurulmuş kanallar üzerinde mesajlaşma işlemleri yapar.
Flextell’in WhatsApp entegrasyonu, açık kaynaklı Evolution API üzerine inşa edilmiştir. Resmi WhatsApp Business API (WABA) değil, WhatsApp Web tabanlı bir bağlantı kurulur. Bu mimari sayesinde 24 saat penceresi ve önceden onaylı şablon mesajı gibi WABA kısıtlamaları Flextell’de geçerli değildir — hastaya istediğiniz zaman serbest metin gönderebilirsiniz. Karşılığında, bağlantı QR ile telefonunuza bağlı olduğundan telefonun çevrimdışı olması veya WhatsApp tarafından numaranın kısıtlanması durumunda kanal kopabilir (bkz. Kanal durumu).
Önemli noktalar
- WhatsApp kanalı,
type: "whatsapp"olarakGET /v1/channelsyanıtında görünür. addressalanı, kanalın bağlı olduğu telefon numarasıdır (E.164 formatında, ör.+905551234567).- Bir hasta WhatsApp’tan mesaj attığında Flextell, hastayı telefon numarasına göre bulur veya otomatik oluşturur.
- Yanıtlar tek bir kanaldan (aynı numaradan) döner — hastanın göreceği gönderen numarası, kanalın
address’idir.
Görüşme oluşturma
Bir hastaya ilk mesajı siz atacaksanız önce bir görüşme açmanız gerekir:Metin mesajı gönderme
status alanı mesajın teslim durumunu yansıtır: queued → sent → delivered → read. Güncellemeler ChatLogCreated event’i ile gelmez — bu event yalnızca yeni chat_log için tetiklenir. Durum güncellemeleri için mesajı REST üzerinden tekrar sorgulayabilirsiniz.
Medya gönderme
WhatsApp’ta medya göndermek için multipart endpoint’i kullanın:Desteklenen medya türleri
| Kategori | MIME örnekleri | Maksimum boyut |
|---|---|---|
| Görsel | image/jpeg, image/png, image/webp | 5 MB |
| Ses | audio/ogg, audio/mpeg, audio/mp4 | 16 MB |
| Video | video/mp4 | 16 MB |
| Belge | application/pdf, Office formatları | 50 MB (Flextell tarafı); WhatsApp tarafında 100 MB |
Sınırlar WhatsApp’ın kendi kısıtlamalarıdır. Flextell’in genel
/v1/files yüklemesi 50 MB’a kadar destekler ama WhatsApp’a iletilebilecek dosya boyutu daha küçük olabilir.Ses kayıtları (voice note)
Ses dosyaları OGG Opus formatında ve 16 MB altında gönderildiğinde WhatsApp tarafında “sesli mesaj” olarak görünür. MP3 veya MP4 gönderirseniz “ses belgesi” olarak listelenir.Gelen mesajları okuma
Flextell, hastanın attığı her mesajı otomatik olarak görüşmeye düşer veChatLogCreated event’i yayar. API tarafında:
media_type alanı image, audio, video, document gibi bir değer alır ve download_url (kısa ömürlü) ile indirilebilir.
Okundu olarak işaretleme
unread_count değerini düşürür; ConversationRead event’ini tetikleyerek açık olan diğer istemcileri de senkronlar. Çağrının kendisi WhatsApp’a “okundu” sinyali göndermez.
Hastanın WhatsApp ekranında mavi tik görüp görmemesi bu endpoint’ten bağımsızdır. AI asistan açıkken gelen mesajlar, asistan yanıt üretmeden önce Flextell tarafından otomatik olarak WhatsApp’ta okundu (mavi tik) olarak işaretlenir. Asistan kapalıyken ve sadece insan kullanıcı sohbeti yönettiğinde mesajlar hastanın ekranında gri tik olarak kalır.
Kanal durumu
Zaman zaman WhatsApp bağlantısı kopabilir (telefon internetten düşer, session geçersiz olur). Bu durumda:GET /v1/channelsyanıtında ilgili kanalınstatusdeğeridisconnectedolur.- Yeni mesaj gönderme çağrılarınız 422 ile sonuçlanabilir.
- Bağlantıyı geri almak için panel üzerinden QR kod yeniden okutulmalıdır.
Sık kullanılan örnekler
Randevu hatırlatma
Hastaya mesaj gönderme + medya iliştirme örneği.
Realtime takip
Hastanın anında yanıt vermesini dinleyin.
Sınırlamalar özet
- Telefon bağlı olmalıdır. Bağlantı WhatsApp Web üzerinden kurulur; telefon internete bağlı değilse mesaj gönderilemez.
- Sesli aramalar desteklenmez (yalnızca mesajlaşma).
- Grup sohbetleri desteklenmez.
- Yayın listesi (broadcast) / toplu gönderim — WhatsApp tarafında numaranın kısıtlanmaması için aşırı sayıda mesajdan kaçının. Agresif toplu gönderim WhatsApp’ın numarayı banlamasına yol açabilir.