DOCUMENTS/CANAUX~ 12 MIN DE LECTURE

CHAPITRE 03 · CANAUX

Connectez tous les canaux
dans une seule boîte de réception.

Telegram, WhatsApp Cloud, Facebook Messenger et Instagram DM — câblés de bout en bout. Chaque étape ci-dessous est vérifiée contre les tableaux de bord Meta et l'API Bot Telegram. Quand Meta appelle quelque chose d'une manière et nous d'une autre, nous mentionnons les deux.

§ 00Ce dont vous avez besoin

Chaque canal prend 5 à 20 minutes. Vous travaillerez à deux endroits : la console développeur du canal (BotFather de Telegram, Meta Developer Dashboard) et l'écran Canaux de votre workspace EasyLiveChat à app.livechattools.com/channels.

Les quatre canaux partagent la même architecture dans EasyLiveChat — une Conversation normalisée par contact, une boîte de réception, une zone de réponse. Les différences sont dans les identifiants requis par chaque fournisseur et dans leur schéma de signature de webhook.

CONCEPTS PARTAGÉS

  • URL de Webhook. EasyLiveChat en génère une par intégration : https://api.livechattools.com/api/channels/webhook/{channel}/{integration-id}. Nom du canal en minuscules. Vous collez cette URL dans le tableau de bord du fournisseur.
  • Token de vérification. Le fournisseur effectue un handshake GET unique vers votre URL de webhook avec ce token ; nous renvoyons son challenge s'il correspond. EasyLiveChat le génère automatiquement à la création de l'intégration — ouvrez Paramètres de l'intégration.
  • App Secret (canaux Meta uniquement). Meta signe chaque POST de webhook avec x-hub-signature-256 à partir de l'App Secret de l'App Meta — pas du verify token. Vous le collez une fois à la création de l'intégration WhatsApp / Messenger / Instagram.

§ 01Telegram

Le canal le plus simple à configurer. Telegram n'a pas besoin d'app développeur ni de compte business — juste un bot. Les tokens de bot durent indéfiniment et l'intégration entière prend environ cinq minutes.

1. Créer un bot avec BotFather

Ouvrez Telegram et démarrez une discussion avec @BotFather. Envoyez /newbot, choisissez un nom d'affichage et un nom d'utilisateur se terminant par bot. . BotFather répond avec un token de la forme 1234567890:ABCdefGHI…. Copiez-le.

2. Connectez-le dans EasyLiveChat

Dans votre workspace, allez à Canaux → Bot Telegram → Connecter. Collez le token du bot. Choisissez un nom d'affichage — il n'apparaît que dans la boîte de réception. Soumettez.

Ouvrez Paramètres de l'intégration sur la nouvelle ligne pour révéler le Secret de webhook et l'URL de callback de l'intégration.

3. Pointer Telegram vers notre webhook

L'API Bot de Telegram n'a pas d'interface pour les webhooks ; vous les définissez via setWebhook. Remplacez les placeholders ci-dessous par votre token de bot, l'ID d'intégration et le secret de webhook, puis exécutez-le une fois :

bashenregistrer le webhook Telegram
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 répond {"ok":true,"description":"Webhook was set"}. . Vérifiez avec getWebhookInfo— le pending_update_count devrait tomber à 0.

4. Tester

Ouvrez t.me/yourbot_username dans Telegram, touchez Démarrer, envoyez un message quelconque. Il devrait apparaître dans votre boîte EasyLiveChat en moins d'une seconde avec le nom de l'expéditeur et le code de langue. Répondez depuis le tableau de bord — il arrivera sur le Telegram du visiteur un instant plus tard.

§ 02WhatsApp Cloud

Meta Cloud API est le bon choix pour presque tout le monde — entièrement hébergé, gratuit jusqu'à 1 000 conversations de service par mois, et le seul transport WhatsApp ne nécessitant aucune infrastructure de votre côté. La configuration est plus lourde que Telegram car Meta exige une app développeur et un business portfolio vérifié pour le trafic de production.

1. Créer une app développeur Meta

Allez à developers.facebook.com/apps → Create App. Choisissez un nom, un email, puis sur l'écran suivant sélectionnez le cas d'usage « Connect with customers through WhatsApp ». Attachez un Business Portfolio — existant ou le Test Business intégré de Meta pour évaluation.

Une fois l'app créée, ouvrez Use Cases → Connect on WhatsApp → API Setup. Vous verrez un Phone Number ID (le numéro de test gratuit fourni par Meta, ou le vôtre une fois ajouté) et un bouton Generate access token. Cliquez, approuvez, copiez le token résultant. Copiez aussi le Phone Number ID.

Durée de vie du token. Le token du bouton Generate est de courte durée (environ 24 heures). Pour la production, créez un System User dans Business Settings → Users → System Users, assignez-lui le WhatsApp Business Account, et générez un token sans expiration avec les permissions whatsapp_business_messaging et whatsapp_business_management .

2. Récupérer l'App Secret

Dans le même tableau de bord Meta, ouvrez App settings → Basic. L'App Secret est caché derrière un bouton Show — révélez et copiez. C'est la clé HMAC avec laquelle Meta signe chaque POST de webhook. Sans elle, vos messages entrants seront rejetés en tant que BAD_SIGNATURE.

3. Connecter WhatsApp dans EasyLiveChat

Canaux → WhatsApp Cloud → Connecter. Remplissez le nom d'affichage (libre), le Phone Number ID, l'Access Token et l'App Secret. Soumettez. Ouvrez les paramètres de l'intégration pour copier le secret de webhook auto-généré et l'ID d'intégration.

4. Configurer le webhook Meta

De retour dans le tableau de bord Meta, allez à Use Cases → Connect on WhatsApp → Configuration. Collez :

configconfiguration webhook WhatsApp dans Meta
Callback URL : https://api.livechattools.com/api/channels/webhook/whatsapp/${INTEGRATION_ID}
Verify token : ${WEBHOOK_SECRET}

Cliquez Verify and save. Meta envoie un handshake GET — nous renvoyons son challenge si le verify token correspond. Sur la même page, trouvez la liste Webhook fields et activez messages sur Subscribed. Sans ce toggle, Meta accepte l'URL du webhook mais ne livre jamais rien.

5. Ajouter un destinataire de test (sandbox uniquement)

Si vous utilisez le numéro de test gratuit de Meta, vous devez inclure chaque destinataire dans une liste d'autorisation avant de pouvoir lui envoyer. Dans API Setup → To, ajoutez le numéro depuis lequel vous enverrez les messages — Meta envoie un OTP à 6 chiffres par SMS pour vérification. Jusqu'à cinq destinataires de test possibles. Les vrais numéros business n'ont pas cette restriction.

§ 03Facebook Messenger

Messenger utilise la même Meta App, le même App Secret et la même tuyauterie de webhook que WhatsApp — mais parle à une Page Facebook au lieu d'un numéro de téléphone, et les access tokens sont des Page Access Tokens, pas des tokens WhatsApp Business.

1. Ajouter Messenger à votre app Meta

Dans la même app que vous avez utilisée pour WhatsApp (ou une nouvelle), ouvrez Use cases → Add use cases → filtrez Business messaging → Engage with customers on Messenger from Meta. Enregistrez. L'app a maintenant deux produits côte à côte.

2. Connecter une Page Facebook

Ouvrez Messenger from Meta → Messenger API Settings. Sous Generate access tokens, cliquez Connect à côté de No FB pages yet. Meta demande à quelles Pages donner accès — choisissez celle qui recevra les messages, acceptez les permissions, enregistrez.

La Page apparaît maintenant avec un Page Access Token en un clic et un Page ID. Copiez les deux. Le Page ID est aussi la valeur que vous collerez comme pageId dans EasyLiveChat.

3. Connecter Messenger dans EasyLiveChat

Canaux → Messenger → Connecter. Remplissez Page ID, Page Access Token et le même App Secret que pour WhatsApp. Soumettez et copiez le secret de webhook + ID de la nouvelle intégration.

4. Abonnement webhook à deux couches

Messenger a une particularité que WhatsApp n'a pas : il nécessite deux abonnements pour livrer quoi que ce soit. D'abord l'abonnement au niveau de l'app — dans Messenger API Settings → Configure webhooks, collez :

configconfig webhook au niveau de l'app Messenger
Callback URL : https://api.livechattools.com/api/channels/webhook/messenger/${INTEGRATION_ID}
Verify token : ${WEBHOOK_SECRET}

Cliquez Verify and save, puis déployez Webhook fields et activez messages. Ensuite l'abonnement au niveau de la Page, que vous ne pouvez pas faire depuis l'UI — exécutez ce curl :

bashabonner la Page à l'app
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}"

Sans l'abonnement au niveau de la Page, Meta retourne {"success":true} sur l'abonnement de l'app mais ne déclenche jamais le webhook. Vous pouvez confirmer que tout est câblé en interrogeant :

bashvérifier les deux couches d'abonnement
curl "https://graph.facebook.com/v20.0/${APP_ID}/subscriptions?access_token=${APP_ID}|${APP_SECRET}"

La réponse doit lister un objet de type page avec un tableau fields non vide incluant messages.

§ 04Instagram DM

La messagerie Instagram passe par les mêmes tuyaux Messenger Platform mais ajoute deux exigences : le compte Instagram doit être un compte Business (pas personnel ni Créateur), et doit être connecté à une Page Facebook dans le même Business Portfolio. Une fois les deux remplies, votre Page Access Token est aussi votre access token Instagram.

1. Convertir le compte IG en Business

Sur l'app mobile Instagram : Paramètres → Compte → Passer à un compte professionnel → Entreprise. N'importe quelle catégorie. La conversion est réversible.

2. Ajouter le compte IG à votre Business Portfolio

Dans Meta Business Suite Settings → Accounts → Instagram accounts → Add → connectez-vous avec les identifiants IG. Meta confirme et affiche l'Instagram Business Account ID du compte IG — un nombre de 17 chiffres commençant par 1784…. Copiez-le ; c'est votre pageId pour l'intégration EasyLiveChat.

3. Lier IG à la Page Facebook

C'est l'étape la plus oubliée. Ouvrez la boîte de réception de la Page Facebook dans Meta Business Suite — business.facebook.com/latest/inbox?asset_id={page_id}. Une bannière indique « Connect to Instagram » avec un bouton Connect. Cliquez, connectez-vous à Instagram, accordez les permissions demandées, confirmez. Après cela, la Graph API de Meta commencera à répondre aux questions sur le compte IG avec un scope au token d'accès de la Page.

4. Connecter Instagram dans EasyLiveChat

Canaux → Instagram DM → Connecter. Utilisez l'Instagram Business Account ID de l'étape 2 comme pageId, le même Page Access Token utilisé pour Messenger comme pageAccessToken, et le même App Secret qu'avant.

5. S'abonner aux deux couches

Instagram utilise object=instagram pour les webhooks au niveau de l'app (Messenger utilisait object=page. ). Ajoutez ce curl en plus de l'abonnement Messenger existant :

bashabonner l'app aux messages Instagram
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}"
Règles de livraison en mode développement. Tant que votre app Meta est non publiée, Meta ne livre les événements de webhook Instagram que depuis les expéditeurs qui sont admins, développeurs ou testeurs de l'app. Les DM aléatoires d'utilisateurs réels sont silencieusement ignorés. Pour tester avec quelqu'un hors équipe, ajoutez-le comme Testeur dans App Dashboard → Roles → Roles et faites-lui accepter l'invitation. Pour accepter n'importe quel expéditeur, vous devez publier l'app via App Review.

§ 05Dépannage

401 · BAD_SIGNATURE

La signature POST de Meta ne correspondait pas. Vous avez très probablement collé la mauvaise valeur dans le champ App Secret — il doit s'agir de l'App Secret de l'app Meta depuis App settings → Basic, pas du verify token et pas d'un Page Access Token. Ouvrez Paramètres de l'intégration dans EasyLiveChat et vérifiez que la valeur masquée d'App Secret fait 32 caractères hex.

404 · UNKNOWN_CHANNEL

Le segment de canal dans l'URL ne correspond à aucun adaptateur connu. Mettez-le en minuscules ( /whatsapp/ pas /WHATSAPP/) — bien que la route soit insensible à la casse, certains intermédiaires normalisent différemment.

le handshake passe, aucun message n'arrive

Pour les canaux Meta, lancez le check de subscriptions ci-dessus. Si l'objet pertinent (page ou instagram ou whatsapp_business_account) a un tableau fields vide, l'app est enregistrée mais abonnée à aucun événement — re-activez messages dans la liste Webhook fields.

access token expiré (Meta)

Les tokens du bouton Generate access token dans le tableau de bord Meta ou de Graph API Explorer durent environ 24 heures. Pour tout au-delà d'une démo, provisionnez un System User et générez un token sans expiration avec les bonnes permissions Page ou WhatsApp Business Account.

Telegram ne livre rien

Lancez getWebhookInfo — la réponse inclut un champ last_error_message. Valeurs courantes : « 404 Not Found » (mauvais ID d'intégration dans l'URL), « SSL handshake failed » (problème de proxy / certificat).

Cet article a-t-il été utile ?

Suggérer une modification ↗