§ 00İhtiyacınız olanlar
Her kanal 5–20 dakika sürer. İki yerde çalışacaksınız: kanalın kendi geliştirici konsolu (Telegram'ın BotFather'ı, Meta Developer Dashboard) ve EasyLiveChat workspace'inizdeki Kanallar ekranı — app.livechattools.com/channels.
Dört kanal da EasyLiveChat'ta aynı mimariyi paylaşır — kişi başına bir normalize edilmiş Conversation, bir gelen kutusu, bir yanıt kutusu. Farklar her sağlayıcının istediği kimlik bilgilerinde ve webhook imza şemasındadır.
ORTAK KAVRAMLAR
- Webhook URL'si. EasyLiveChat entegrasyon başına bir tane üretir:
https://api.livechattools.com/api/channels/webhook/{channel}/{integration-id}. Kanal adı küçük harfle. Bu URL'yi sağlayıcının dashboard'una yapıştırırsınız. - Verify token. Sağlayıcı, bu token ile webhook URL'nize bir kez GET handshake yapar; eşleşirse challenge'larını yansıtırız. EasyLiveChat entegrasyon oluşturulduğunda otomatik üretir — açın Entegrasyon ayarları.
- App Secret (sadece Meta kanalları). Meta, her webhook POST'unu
x-hub-signature-256ile imzalar — Meta App'in App Secret'ı ile anahtarlanır, verify token ile değil. WhatsApp / Messenger / Instagram entegrasyonunu oluştururken bir kez yapıştırırsınız.
§ 01Telegram
Kurulumu en basit kanal. Telegram developer app veya business hesap istemez — sadece bir bot. Bot token'ları sonsuza dek geçerli ve tüm entegrasyon yaklaşık beş dakika sürer.
1. BotFather ile bir bot oluşturun
Telegram'ı açın ve bir sohbet başlatın — @BotFather. Şunu gönderin: /newbot, bir görüntü adı ve şu ile biten bir kullanıcı adı seçin: bot. . BotFather şu biçimde bir token döner: 1234567890:ABCdefGHI…. Kopyalayın.
2. EasyLiveChat'a bağlayın
Workspace'inizde Kanallar → Telegram Bot → Bağla'ya gidin. Bot token'ını yapıştırın. Herhangi bir görüntü adı seçin — sadece gelen kutusunda görünür. Gönderin.
Yeni satırda Entegrasyon ayarları'nı açarak Webhook secret'ı ve entegrasyonun callback URL'sini ortaya çıkarın.
3. Telegram'ı webhook'umuza yönlendirin
Telegram Bot API'sinin webhook için UI'si yoktur; şunu kullanarak ayarlarsınız: setWebhook. Aşağıdaki placeholder'ları bot token'ınız, integration ID ve webhook secret ile değiştirin, sonra bir kez çalıştırın:
curl -X POST "https://api.telegram.org/bot${BOT_TOKEN}/setWebhook" \
-H "Content-Type: application/json" \
-d '{
"url": "https://api.livechattools.com/api/channels/webhook/telegram/${INTEGRATION_ID}",
"secret_token": "${WEBHOOK_SECRET}",
"allowed_updates": ["message", "edited_message"]
}'Telegram yanıtı: {"ok":true,"description":"Webhook was set"}. . Şununla doğrulayın: getWebhookInfo — — pending_update_count 0'a düşmeli.
4. Test edin
Telegram'da t.me/yourbot_username adresini açın, Başlat'a dokunun, herhangi bir mesaj gönderin. EasyLiveChat gelen kutunuzda 1 saniyeden kısa sürede gönderenin adı ve dil koduyla görünmeli. Dashboard'dan yanıtlayın — biraz sonra ziyaretçinin Telegram'ına ulaşır.
§ 02WhatsApp Cloud
Meta Cloud API neredeyse herkes için doğru seçim — tamamen hosted, ayda 1000 service conversation'a kadar ücretsiz, sizin tarafınızda sıfır altyapı isteyen tek WhatsApp transport'u. Kurulum Telegram'dan ağır, çünkü Meta production trafiği için bir developer app ve doğrulanmış business portfolio ister.
1. Bir Meta developer app oluşturun
Şuraya gidin: developers.facebook.com/apps → Create App. Ad, e-posta seçin, sonraki ekranda “Connect with customers through WhatsApp” use case'ini seçin. Bir Business Portfolio ekleyin — var olan biri veya değerlendirme için Meta'nın gömülü Test Business'ı.
App oluştuktan sonra Use Cases → Connect on WhatsApp → API Setup'ı açın. Bir Phone Number ID (Meta'nın ücretsiz verdiği test numarası, ya da eklediğinizde kendinizinki) ve bir Generate access token düğmesi göreceksiniz. Tıklayın, onaylayın ve çıkan token'ı kopyalayın. Phone Number ID'yi de kopyalayın.
whatsapp_business_messaging ve whatsapp_business_management izinleriyle süresiz bir token üretin.2. App Secret'ı alın
Aynı Meta dashboard'da App settings → Basic'i açın. App Secret bir Show düğmesinin arkasında saklıdır — ortaya çıkarın ve kopyalayın. Bu, Meta'nın her webhook POST'unu imzalamak için kullandığı HMAC anahtarıdır. Olmazsa gelen mesajlarınız şu hata ile reddedilir: BAD_SIGNATURE.
3. WhatsApp'ı EasyLiveChat'a bağlayın
Kanallar → WhatsApp Cloud → Bağla. Görüntü adını (serbest), Phone Number ID, Access Token ve App Secret'ı doldurun. Gönderin. Otomatik üretilen webhook secret ve integration ID'yi kopyalamak için entegrasyon ayarlarını açın.
4. Meta'nın webhook'unu yapılandırın
Meta dashboard'a dönün, Use Cases → Connect on WhatsApp → Configuration'a gidin. Yapıştırın:
Callback URL : https://api.livechattools.com/api/channels/webhook/whatsapp/${INTEGRATION_ID}
Verify token : ${WEBHOOK_SECRET}Verify and save'e tıklayın. Meta bir GET handshake gönderir — verify token eşleşirse challenge'ı yansıtırız. Aynı sayfada Webhook fields listesini bulun ve messages'ı Subscribed olarak açın. Bu toggle olmadan Meta webhook URL'sini kabul eder ama hiçbir şey teslim etmez.
5. Test alıcı ekleyin (sadece sandbox)
Meta'nın ücretsiz test numarasını kullanıyorsanız, gönderim yapabilmek için her alıcıyı önce allow-list'e eklemelisiniz. API Setup → To'da mesaj göndereceğiniz numarayı ekleyin — Meta doğrulama için 6 haneli OTP'yi SMS ile gönderir. Beş test alıcısına kadar izin verebilirsiniz. Gerçek business numaralarında bu kısıt yok.
§ 03Facebook Messenger
Messenger, WhatsApp ile aynı Meta App, App Secret ve webhook tesisatını kullanır — ama telefon numarası yerine bir Facebook Sayfası ile konuşur ve access token'lar Page Access Token'lardır, WhatsApp Business token değil.
1. Meta app'inize Messenger'ı ekleyin
WhatsApp için kullandığınız app'te (veya yenisinde) Use cases → Add use cases → Business messaging'i filtreleyin → Engage with customers on Messenger from Meta. Kaydedin. App artık iki ürünü yan yana barındırıyor.
2. Bir Facebook Sayfası bağlayın
Messenger from Meta → Messenger API Settings'i açın. Generate access tokens altında, No FB pages yet yanındaki Connect'e tıklayın. Meta hangi Sayfalara erişim verileceğini sorar — mesaj almak istediğinizi seçin, izinleri onaylayın, kaydedin.
Sayfa şimdi tek tıkla Page Access Token ve Page ID ile görünür. İkisini de kopyalayın. Page ID, EasyLiveChat'ta pageId olarak yapıştıracağınız değerdir.
3. Messenger'ı EasyLiveChat'a bağlayın
Kanallar → Messenger → Bağla. Page ID, Page Access Token ve WhatsApp için kullandığınız App Secret'ı doldurun. Gönderin ve yeni entegrasyonun webhook secret + ID'sini kopyalayın.
4. İki katmanlı webhook aboneliği
Messenger'da WhatsApp'ta olmayan bir tuhaflık var: herhangi bir şey teslim etmek için iki abonelik gerekir. Önce app seviyesinde abonelik — Messenger API Settings → Configure webhooks'a yapıştırın:
Callback URL : https://api.livechattools.com/api/channels/webhook/messenger/${INTEGRATION_ID}
Verify token : ${WEBHOOK_SECRET}Verify and save'e tıklayın, sonra Webhook fields'i açın ve messages'ı etkinleştirin. Sonra Sayfa seviyesinde abonelik — bu UI'dan yapılamaz, şu curl'ü çalıştırın:
curl -X POST "https://graph.facebook.com/v20.0/${PAGE_ID}/subscribed_apps" \
-d "subscribed_fields=messages,messaging_postbacks,message_deliveries,message_reads" \
-d "access_token=${PAGE_ACCESS_TOKEN}"Sayfa seviyesi abonelik olmadan Meta, app aboneliğinde {"success":true} döner ama webhook'u hiç ateşlemez. Her şeyin bağlı olduğunu şununla doğrulayabilirsiniz:
curl "https://graph.facebook.com/v20.0/${APP_ID}/subscriptions?access_token=${APP_ID}|${APP_SECRET}"Yanıt page tipinde bir nesne listelemeli, içeren boş olmayan fields dizisiyle — messages.
§ 04Instagram DM
Instagram mesajlaşması aynı Messenger Platform borularından geçer ama iki gereksinim ekler: Instagram hesabı bir Business hesap olmalı (kişisel veya Creator değil) ve aynı Business Portfolio'daki bir Facebook Sayfası'na bağlı olmalı. İkisi de gerçek olduğunda, Page Access Token'ınız aynı zamanda Instagram access token'ınızdır.
1. IG hesabını Business'a çevirin
Instagram mobil uygulamasında: Ayarlar → Hesap → Profesyonel hesaba geç → İşletme. Herhangi bir kategori. Çevirme geri alınabilir.
2. IG hesabını Business Portfolio'nuza ekleyin
Meta Business Suite Settings → Accounts → Instagram accounts → Add → IG bilgileriyle giriş yapın. Meta onaylar ve IG hesabının Instagram Business Account ID'sini gösterir — 17 haneli bir sayı, şununla başlar: 1784…. Kopyalayın; bu sizin pageId değerinizdir — EasyLiveChat entegrasyonu için.
3. IG'yi Facebook Sayfası'na bağlayın
Bu en çok atlanan adım. Facebook Sayfası'nın Inbox'ını Meta Business Suite'te açın — business.facebook.com/latest/inbox?asset_id={page_id}. Bir banner “Connect to Instagram” yazar ve bir Connect düğmesi sunar. Tıklayın, Instagram'a giriş yapın, istenen izinleri verin, onaylayın. Bundan sonra Meta'nın Graph API'si Sayfa'nın access token'ı kapsamında IG hesabıyla ilgili sorulara yanıt vermeye başlar.
4. Instagram'ı EasyLiveChat'a bağlayın
Kanallar → Instagram DM → Bağla. Adım 2'den Instagram Business Account ID'yi pageIdolarak, Messenger için kullandığınız aynı Page Access Token'ı pageAccessTokenolarak ve önceki App Secret'ı kullanın.
5. Her iki katmanda abone olun
Instagram, app seviyesi webhook'lar için object=instagram kullanır (Messenger object=page. kullanıyordu). Mevcut Messenger aboneliğinin üzerine bu curl'ü ekleyin:
curl -X POST "https://graph.facebook.com/v20.0/${APP_ID}/subscriptions" \
-d "object=instagram" \
-d "callback_url=https://api.livechattools.com/api/channels/webhook/instagram/${INTEGRATION_ID}" \
-d "verify_token=${WEBHOOK_SECRET}" \
-d "fields=messages,messaging_postbacks,message_reactions" \
-d "access_token=${APP_ID}|${APP_SECRET}"§ 05Sorun giderme
401 · BAD_SIGNATURE
Meta'nın POST imzası eşleşmedi. Neredeyse kesin olarak App Secret alanına yanlış değeri yapıştırdınız — bu, App settings → Basic'ten Meta App'in App Secret'ı olmalı, verify token veya Page Access Token değil. EasyLiveChat'ta Entegrasyon ayarlarını açın ve maskelenmiş App Secret değerinin 32 hex karakter olduğunu doğrulayın.
404 · UNKNOWN_CHANNEL
URL'deki kanal segmenti bilinen bir adapter ile eşleşmiyor. Küçük harfle yazın ( /whatsapp/ değil /WHATSAPP/) — route case-insensitive olsa da bazı ara katmanlar farklı normalize edebilir.
handshake geçer, mesaj gelmez
Meta kanalları için yukarıdaki subscriptions kontrolünü çalıştırın. İlgili nesnenin (page veya instagram veya whatsapp_business_account) fields dizisi boşsa, app kayıtlı ama hiçbir olaya abone değil — Webhook fields listesinde messages'ı yeniden açın.
access token süresi doldu (Meta)
Meta dashboard'daki Generate access token düğmesinden veya Graph API Explorer'dan alınan token'lar yaklaşık 24 saat yaşar. Demo'nun ötesinde herhangi bir şey için bir System User sağlayın ve doğru Page veya WhatsApp Business Account izinleriyle süresiz bir token üretin.
Telegram hiçbir şey teslim etmiyor
Şunu çalıştırın: getWebhookInfo — yanıt last_error_message alanı içerir. Yaygın değerler: “404 Not Found” (URL'de yanlış integration ID), “SSL handshake failed” (proxy / sertifika sorunu).
Bu makale faydalı oldu mu?