DOCS/KANÄLE~ 12 MIN LESEZEIT

KAPITEL 03 · KANÄLE

Verbinde jeden Kanal
in einem Posteingang.

Telegram, WhatsApp Cloud, Facebook Messenger und Instagram DM — End-to-End verdrahtet. Jeder Schritt unten ist gegen die echten Meta-Dashboards und die Telegram Bot API verifiziert. Wo Meta etwas anders nennt als wir, sagen wir beides.

§ 00Was du brauchst

Jeder Kanal benötigt 5–20 Minuten. Du arbeitest an zwei Stellen: der Entwickler-Konsole des jeweiligen Kanals (Telegrams BotFather, Metas Developer Dashboard) und dem Kanäle-Bildschirm in deinem EasyLiveChat-Workspace unter app.livechattools.com/channels.

Alle vier Kanäle teilen die gleiche Architektur in EasyLiveChat — eine normalisierte Conversation pro Kontakt, ein Posteingang, ein Antwortfeld. Die Unterschiede liegen in den Anmeldedaten, die jeder Anbieter verlangt, und in ihrem Webhook-Signaturschema.

GEMEINSAME KONZEPTE

  • Webhook-URL. EasyLiveChat erzeugt eine pro Integration: https://api.livechattools.com/api/channels/webhook/{channel}/{integration-id}. Kanalname in Kleinbuchstaben. Du fügst diese URL ins Anbieter-Dashboard ein.
  • Verify-Token. Der Anbieter führt einen einmaligen GET-Handshake an deine Webhook-URL mit diesem Token aus; wir spiegeln den Challenge zurück, wenn er passt. EasyLiveChat generiert ihn automatisch beim Anlegen der Integration — öffne Integration-Einstellungen.
  • App Secret (nur Meta-Kanäle). Meta signiert jeden Webhook-POST mit x-hub-signature-256 geschlüsselt mit dem App Secret der Meta-App — nicht mit dem Verify-Token. Du fügst es einmal beim Anlegen der WhatsApp- / Messenger- / Instagram-Integration ein.

§ 01Telegram

Der am einfachsten einzurichtende Kanal. Telegram braucht keine Developer-App und kein Business-Konto — nur einen Bot. Bot-Tokens sind unbegrenzt gültig und die gesamte Integration dauert etwa fünf Minuten.

1. Bot mit BotFather erstellen

Öffne Telegram und starte einen Chat mit @BotFather. Sende /newbot, wähle einen Anzeigenamen und einen Benutzernamen, der auf bot. endet. BotFather antwortet mit einem Token in der Form 1234567890:ABCdefGHI…. Kopiere ihn.

2. In EasyLiveChat verbinden

Gehe in deinem Workspace zu Kanäle → Telegram Bot → Verbinden. Füge das Bot-Token ein. Wähle einen Anzeigenamen — er ist nur im Posteingang sichtbar. Absenden.

Öffne Integration-Einstellungen in der neuen Zeile, um den Webhook-Secret und die Callback-URL der Integration anzuzeigen.

3. Telegram auf unseren Webhook richten

Die Telegram Bot API hat keine UI für Webhooks; du setzt sie über setWebhook. Ersetze die Platzhalter unten durch dein Bot-Token, die Integration-ID und das Webhook-Secret, dann führe es einmal aus:

bashTelegram-Webhook registrieren
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 antwortet {"ok":true,"description":"Webhook was set"}. . Prüfe mit getWebhookInfo— der pending_update_count sollte auf 0 fallen.

4. Testen

Öffne t.me/yourbot_username in Telegram, tippe Start, sende eine beliebige Nachricht. Sie sollte in weniger als einer Sekunde mit Absendername und Sprachcode in deinem EasyLiveChat-Posteingang erscheinen. Antworte im Dashboard — sie kommt einen Moment später im Telegram des Besuchers an.

§ 02WhatsApp Cloud

Meta Cloud API ist für fast alle die richtige Wahl — vollständig gehostet, kostenlos für bis zu 1.000 Service-Konversationen pro Monat, und der einzige WhatsApp-Transport, der keine eigene Infrastruktur erfordert. Die Einrichtung ist aufwändiger als bei Telegram, weil Meta für Produktivverkehr eine Developer-App und ein verifiziertes Business-Portfolio verlangt.

1. Meta Developer App erstellen

Gehe zu developers.facebook.com/apps → Create App. Wähle einen Namen, eine E-Mail, im nächsten Bildschirm den Use Case „Connect with customers through WhatsApp“. Hänge ein Business Portfolio an — ein bestehendes oder Metas eingebautes Test Business zur Auswertung.

Nach der App-Erstellung öffnest du Use Cases → Connect on WhatsApp → API Setup. Du siehst eine Phone Number ID (die kostenlose Test-Nummer von Meta oder deine eigene, sobald hinzugefügt) und einen Generate-access-token-Button. Klick ihn, bestätige, kopiere den Token. Kopiere auch die Phone Number ID.

Token-Lebensdauer. Das Token vom Generate-Button ist kurzlebig (etwa 24 Stunden). Für Produktion lege einen System User unter Business Settings → Users → System Users an, weise ihm das WhatsApp Business Account zu und erzeuge ein nicht ablaufendes Token mit den Berechtigungen whatsapp_business_messaging und whatsapp_business_management .

2. App Secret abholen

Im selben Meta-Dashboard öffne App settings → Basic. Das App Secret ist hinter einem Show-Button versteckt — anzeigen und kopieren. Das ist der HMAC-Schlüssel, mit dem Meta jeden Webhook-POST signiert. Ohne ihn werden eingehende Nachrichten abgelehnt als BAD_SIGNATURE.

3. WhatsApp in EasyLiveChat verbinden

Kanäle → WhatsApp Cloud → Verbinden. Fülle den Anzeigenamen (frei), die Phone Number ID, das Access Token und das App Secret. Absenden. Öffne die Einstellungen der Integration, um das automatisch erzeugte Webhook-Secret und die Integration-ID zu kopieren.

4. Metas Webhook konfigurieren

Zurück im Meta-Dashboard gehe zu Use Cases → Connect on WhatsApp → Configuration. Füge ein:

configWhatsApp-Webhook-Konfiguration in Meta
Callback URL : https://api.livechattools.com/api/channels/webhook/whatsapp/${INTEGRATION_ID}
Verify token : ${WEBHOOK_SECRET}

Klicke Verify and save. Meta schickt einen GET-Handshake — wir spiegeln seinen Challenge, wenn das Verify-Token passt. Suche auf derselben Seite die Liste Webhook fields und schalte messages auf Subscribed. Ohne diesen Toggle akzeptiert Meta die Webhook-URL, liefert aber nichts.

5. Test-Empfänger hinzufügen (nur Sandbox)

Wenn du Metas kostenlose Test-Nummer nutzt, musst du jeden Empfänger vor dem Versand auf eine Allow-Liste setzen. Unter API Setup → To fügst du die Nummer hinzu, an die du senden willst — Meta schickt eine 6-stellige OTP per SMS zur Verifizierung. Bis zu fünf Test-Empfänger sind möglich. Echte Business-Nummern haben diese Einschränkung nicht.

§ 03Facebook Messenger

Messenger nutzt dieselbe Meta App, dasselbe App Secret und dieselbe Webhook-Verkabelung wie WhatsApp — kommuniziert aber mit einer Facebook-Seite statt einer Telefonnummer, und Access Tokens sind Page Access Tokens, keine WhatsApp-Business-Tokens.

1. Messenger zur Meta-App hinzufügen

In derselben App, die du für WhatsApp nutzt (oder einer neuen), öffne Use cases → Add use cases → filtere Business messaging → Engage with customers on Messenger from Meta. Speichern. Die App hat jetzt zwei Produkte nebeneinander.

2. Facebook-Seite verbinden

Öffne Messenger from Meta → Messenger API Settings. Unter Generate access tokens klicke Connect neben No FB pages yet. Meta fragt, welche Seiten Zugriff erhalten — wähle die Seite, auf der du Nachrichten empfangen willst, akzeptiere die Berechtigungen, speichere.

Die Seite erscheint jetzt mit einem Ein-Klick-Page-Access-Token und einer Page ID. Kopiere beide. Die Page ID ist auch der Wert, den du als pageId in EasyLiveChat einfügst.

3. Messenger in EasyLiveChat verbinden

Kanäle → Messenger → Verbinden. Fülle Page ID, Page Access Token und das gleiche App Secret, das du für WhatsApp benutzt hast. Absenden und das Webhook-Secret + die Integration-ID der neuen Integration kopieren.

4. Zwei-Ebenen-Webhook-Abonnement

Messenger hat eine Besonderheit, die WhatsApp nicht hat: es braucht zwei Abonnements, um irgendetwas auszuliefern. Zuerst das App-Level-Abonnement — in Messenger API Settings → Configure webhooks fügst du ein:

configMessenger-Webhook-Konfig auf App-Ebene
Callback URL : https://api.livechattools.com/api/channels/webhook/messenger/${INTEGRATION_ID}
Verify token : ${WEBHOOK_SECRET}

Klicke Verify and save, dann klappe Webhook fields aus und aktiviere messages. Dann das Page-Level-Abonnement, das du nicht über die UI machen kannst — führe dieses curl aus:

bashSeite an die App abonnieren
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}"

Ohne das Page-Level-Abo gibt Meta {"success":true} auf das App-Abo zurück, feuert den Webhook aber nie. Du kannst alles bestätigen mit:

bashbeide Abonnement-Ebenen prüfen
curl "https://graph.facebook.com/v20.0/${APP_ID}/subscriptions?access_token=${APP_ID}|${APP_SECRET}"

Die Antwort sollte ein Objekt vom Typ page mit einem nicht-leeren fields -Array auflisten, das messages.

§ 04Instagram DM

Instagram-Messaging läuft durch dieselben Messenger-Platform-Leitungen, fügt aber zwei Anforderungen hinzu: das Instagram-Konto muss ein Business-Konto sein (nicht persönlich oder Creator) und muss mit einer Facebook-Seite im gleichen Business Portfolio verbunden sein. Sobald beides erfüllt ist, ist dein Page Access Token auch dein Instagram Access Token.

1. IG-Konto in Business umwandeln

In der Instagram-Mobile-App: Einstellungen → Konto → Zu professionellem Konto wechseln → Unternehmen. Kategorie beliebig. Die Umwandlung ist umkehrbar.

2. IG-Konto zum Business Portfolio hinzufügen

In Meta Business Suite Settings → Accounts → Instagram accounts → Add → mit IG-Anmeldedaten einloggen. Meta bestätigt und zeigt die Instagram Business Account ID des IG-Kontos — eine 17-stellige Zahl, die mit 1784…. Kopiere sie; das ist deine pageId für die EasyLiveChat-Integration.

3. IG mit der Facebook-Seite verknüpfen

Das ist der am häufigsten übersehene Schritt. Öffne den Posteingang der Facebook-Seite in Meta Business Suite — business.facebook.com/latest/inbox?asset_id={page_id}. Ein Banner sagt „Connect to Instagram“ mit einem Connect-Button. Klicke ihn, logge dich in Instagram ein, gewähre die angeforderten Berechtigungen, bestätige. Danach beantwortet Metas Graph API Fragen zum IG-Konto im Scope des Page-Access-Tokens.

4. Instagram in EasyLiveChat verbinden

Kanäle → Instagram DM → Verbinden. Nutze die Instagram Business Account ID aus Schritt 2 als pageId, dasselbe Page Access Token, das du für Messenger benutzt hast, als pageAccessToken, und dasselbe App Secret wie zuvor.

5. Auf beiden Ebenen abonnieren

Instagram nutzt object=instagram für App-Level-Webhooks (Messenger nutzte object=page. ). Füge dieses curl zusätzlich zum bestehenden Messenger-Abo aus:

bashApp für Instagram-Nachrichten abonnieren
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}"
Lieferregeln im Entwicklungsmodus. Solange deine Meta-App unveröffentlicht ist, liefert Meta Instagram-Webhook-Ereignisse nur von Absendern aus, die App-Admins, Entwickler oder Tester sind. Zufällige DMs realer Nutzer werden stillschweigend verworfen. Um mit jemandem außerhalb deines Teams zu testen, füge ihn als Tester unter App Dashboard → Roles → Roles hinzu und lass ihn die Einladung annehmen. Um beliebige Absender anzunehmen, musst du die App via App Review veröffentlichen.

§ 05Fehlerbehebung

401 · BAD_SIGNATURE

Metas POST-Signatur passte nicht. Mit hoher Wahrscheinlichkeit hast du den falschen Wert ins App-Secret-Feld eingefügt — es muss das App Secret der Meta-App aus App settings → Basic sein, nicht das Verify-Token und kein Page Access Token. Öffne Integration-Einstellungen in EasyLiveChat und prüfe, dass der maskierte App-Secret-Wert 32 Hex-Zeichen lang ist.

404 · UNKNOWN_CHANNEL

Das Channel-Segment in der URL passt zu keinem bekannten Adapter. Schreibe es klein ( /whatsapp/ nicht /WHATSAPP/) — auch wenn die Route case-insensitiv ist, normalisieren einige Zwischenstationen anders.

Handshake klappt, aber keine Nachrichten kommen an

Für Meta-Kanäle führe den Subscriptions-Check von oben aus. Wenn das relevante Objekt (page oder instagram oder whatsapp_business_account) ein leeres fields-Array hat, ist die App registriert, aber für keine Events abonniert — toggle messages in der Webhook-fields-Liste erneut.

Access Token abgelaufen (Meta)

Tokens vom Generate-access-token-Button im Meta-Dashboard oder aus dem Graph API Explorer halten etwa 24 Stunden. Für alles jenseits einer Demo provisioniere einen System User und erzeuge ein nicht ablaufendes Token mit den richtigen Page- oder WhatsApp-Business-Account-Berechtigungen.

Telegram liefert nichts

Führe getWebhookInfo aus — die Antwort enthält ein last_error_message-Feld. Häufige Werte: „404 Not Found“ (falsche Integration-ID in der URL), „SSL handshake failed“ (Proxy- / Zertifikatsproblem).

War dieser Artikel nützlich?

Bearbeitung vorschlagen ↗