Mit der LINE-Integration von Dialogflow können Sie Ihren Dialogflow-Agenten als LINE-Bot verwenden.
Beschränkungen
Diese Integration unterstützt nur die Standardsprache des Agenten.
Funktionsweise
So funktioniert die Integration:
- Sie erstellen einen LINE-Kanal.
- Sie verknüpfen den Dialogflow-Agent mit diesem Kanal, damit diese miteinander kommunizieren.
- Die Dialogflow-Integration sendet Nachrichten mithilfe der LINE Messaging API an den Endnutzer.
- Die Dialogflow-Integration empfängt Nachrichten vom Endnutzer und fungiert so als LINE-Webhook.
Einrichtung
So richten Sie die Integration ein:
- Führen Sie die Schritte zum Erstellen eines LINE-Kanals aus: Erste Schritte mit der Messaging API.
- Rufen Sie die LINE-Webhook-URL aus der Dialogflow-Konsole ab:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Klicken Sie im linken Seitenleistenmenü auf Integrations.
- Klicken Sie auf LINE.
- Kopieren Sie den Wert unter Webhook-URL. Sie benötigen diesen, um Ihren LINE-Webhook zu konfigurieren.
- So konfigurieren Sie einen LINE-Webhook:
- Führen Sie die Schritte aus, um einen LINE-Webhook für Ihren Kanal zu konfigurieren: LINE-Nachrichten empfangen (Webhooks).
- Geben Sie die LINE-Webhook-Konfiguration mit der oben kopierten Webhook-URL an.
- Kopieren Sie die Werte für Kanal-ID, Kanal-Secret und Kanal-Zugriffstoken. Sie benötigen diese Werte, um die Dialogflow-Integration zu konfigurieren.
- So konfigurieren Sie die Dialogflow-Integration:
- Rufen Sie die Dialogflow ES-Konsole auf.
- Klicken Sie im linken Seitenleistenmenü auf Integrations.
- Klicken Sie auf LINE.
- Fügen Sie die Informationen in die Felder Kanal-ID, Kanal-Secret und Kanal-Zugriffstoken ein.
- Wählen Sie gegebenenfalls eine Umgebung aus.
- Klicken Sie auf START (Starten).
Webhook-Signaturüberprüfung
Dialogflow ES validiert den HTTP-Anfrageheader X-Line-Signature bei jeder eingehenden Webhook-Anfrage mit Ihrem LINE-Kanal-Secret.
Um die Authentizität der Anfrage zu überprüfen, berechnet Dialogflow ES einen Base64-codierten HMAC-SHA256-Digest des Roh-HTTP-POST-Anfragetexts mit Ihrem Kanal-Secret und vergleicht ihn mit dem X-Line-Signature-Header. Weitere Informationen dazu, wie LINE Webhook-Nutzlasten signiert, finden Sie in der Dokumentation zur Signaturvalidierung von LINE.
Wenn in einer Webhook-Anfrage der Header X-Line-Signature fehlt, doppelt vorhanden oder ungültig ist, lehnt Dialogflow ES die Anfrage mit dem HTTP-Statuscode 400 Bad Request ab.
So sorgen Sie dafür, dass die Webhook-Signaturprüfung weiterhin funktioniert:
- Achten Sie darauf, dass das in der Dialogflow ES-Konsole konfigurierte Channel Secret mit dem aktiven Channel Secret in den Einstellungen Ihres LINE Messaging API-Kanals übereinstimmt. Wenn Sie das Channel-Secret für Ihren LINE-Channel rotieren oder neu ausstellen, aktualisieren Sie es in der Dialogflow ES-Konsole und starten Sie die Integration neu.
- Wenn Sie Webhook-Traffic über einen Proxy, ein API-Gateway oder einen Middleware-Dienst weiterleiten, bevor Sie ihn an Dialogflow ES weiterleiten, leiten Sie den Header
X-Line-Signatureunverändert weiter und senden Sie die genauen Roh-Anfragetext-Bytes, ohne sie neu zu serialisieren oder Leerzeichen zu ändern. - Senden Sie keine unsignierten Anfragen direkt an die Dialogflow ES-Webhook-URL für LINE.
Test
Zum Testen des Agents tippen Sie auf die drei horizontalen Punkte im Hauptbildschirm der LINE-App. Tippen Sie dann auf das Symbol für den QR-Code und scannen Sie den QR-Code auf die Einstellungsseite des Bots. Mit dieser Aktion wird der Bot der Liste der Unterhaltungen hinzugefügt.
Rich-Media-Antworten
Die folgenden Rich-Media-Antworten werden unterstützt:
Bildantworten
Ein Dialogflow-Bildantworttyp wird als LINE-Bildnachrichtentyp an LINE gesendet.
Folgende Formate und Größen werden unterstützt:
- jpeg
- Maximalgröße von 1 MB
- Maximale Abmessungen: 240 x 240
Kartenantworten
Ein Dialogflow-Kartenantworttyp wird als LINE-Vorlagennachrichtentyp an LINE gesendet.
Kurzantwort-Antworten
Ein Dialogflow-Kurzantworttyp wird als LINE-Vorlagennachrichtentyp an LINE gesendet.
Benutzerdefinierte Nutzlastantworten
Sie können die meisten LINE-Nachrichtentypen mit einer benutzerdefinierten Nutzlastantwort senden.
Die folgende benutzerdefinierte Nutzlast stellt beispielsweise eine LINE-Vorlagennachricht bereit:
{ "type": "template", "altText": "this is a buttons template", "template": { "type": "buttons", "thumbnailImageUrl": "https://example.com/bot/images/image.jpg", "title": "Menu", "text": "Please select", "actions": [ { "type": "postback", "label": "Buy", "data": "action=buy&itemid=123" }, { "type": "postback", "label": "Add to cart", "data": "action=add&itemid=123" }, { "type": "uri", "label": "View detail", "uri": "http://example.com/page/123" } ] } }