Grâce à l'intégration de LINE à Dialogflow, vous pouvez utiliser votre agent Dialogflow en tant que bot LINE.
Limites
Seule la langue par défaut de l'agent est compatible avec cette intégration.
Fonctionnement
Voici comment fonctionne l'intégration :
- Vous créez un canal LINE.
- Vous associez votre agent Dialogflow à ce canal afin qu'ils communiquent entre eux.
- L'intégration Dialogflow envoie des messages à l'utilisateur final à l'aide de l'API LINE Messaging.
- L'intégration Dialogflow reçoit les messages de l'utilisateur final en jouant le rôle de webhook LINE.
Prérequis
Pour configurer l'intégration, procédez comme suit :
- Suivez la procédure permettant de créer un canal LINE : Premiers pas avec l'API Messaging.
- Obtenez l'URL du webhook LINE à partir de la console Dialogflow :
- Accédez à la console Dialogflow ES.
- Cliquez sur Integrations (Intégrations) dans le menu de la barre latérale gauche.
- Cliquez sur LINE.
- Copiez la valeur de l'URL du webhook. Vous en aurez besoin pour configurer le webhook LINE.
- Configurez un webhook LINE :
- Suivez les étapes pour configurer un webhook LINE pour votre canal : LINE Recevoir des messages (webhooks).
- Fournissez la configuration du webhook LINE en utilisant l'URL de webhook que vous avez copiée plus haut.
- Copiez les valeurs ID du canal, Code secret du canal et Jeton d'accès au canal. Vous aurez besoin de ces valeurs pour configurer votre intégration Dialogflow.
- Configurez l'intégration Dialogflow :
- Accédez à la console Dialogflow ES.
- Cliquez sur Integrations (Intégrations) dans le menu de la barre latérale gauche.
- Cliquez sur LINE.
- Collez l'ID du canal, le code secret du canal et le jeton d'accès au canal dans les champs correspondants.
- Sélectionnez un environnement, le cas échéant.
- Cliquez sur DÉMARRER.
Validation de la signature du webhook
Dialogflow ES valide l'en-tête de requête HTTP X-Line-Signature sur chaque requête de webhook entrante à l'aide du code secret du canal LINE.
Pour vérifier l'authenticité de la requête, Dialogflow ES calcule un condensé HMAC-SHA256 encodé en base64 du corps de la requête HTTP POST brute avec votre secret de canal et le compare à l'en-tête X-Line-Signature. Pour en savoir plus sur la façon dont LINE signe les charges utiles de webhook, consultez la documentation sur la validation des signatures LINE.
Si une requête de webhook comporte un en-tête X-Line-Signature manquant, en double ou non valide, Dialogflow ES la rejette avec un code d'état HTTP 400 Bad Request.
Pour que la validation de la signature du webhook continue de fonctionner :
- Assurez-vous que le code secret du canal configuré dans la console Dialogflow ES correspond au code secret du canal actif dans les paramètres de votre canal d'API LINE Messaging. Si vous effectuez une rotation ou réémettez le code secret de votre canal LINE, mettez-le à jour dans la console Dialogflow ES et redémarrez l'intégration.
- Si vous acheminez le trafic du webhook via un proxy, une passerelle d'API ou un service de middleware avant de le transférer vers Dialogflow ES, transférez l'en-tête
X-Line-Signaturesans le modifier et envoyez les octets exacts du corps de la requête brute sans resérialiser ni modifier les espaces. - N'envoyez pas de requêtes non signées directement à l'URL de webhook LINE Dialogflow ES.
Tests
Pour tester votre agent, appuyez sur les trois points horizontaux de l'écran principal de l'application LINE. Appuyez ensuite sur l'icône de QR code et scannez le QR code sur la page des paramètres de votre bot. Votre bot est alors ajouté à la liste des conversations.
Messages de réponses enrichies
Les messages de réponses enrichies suivants sont acceptés.
Réponses sous forme d'images
Une réponse de type "image" Dialogflow est envoyée à LINE en tant que message de type "image" LINE.
Les formats et tailles acceptés sont les suivants :
- jpeg
- Taille maximale de 1 Mo
- Dimensions maximales de 240 x 240
Réponses sous forme de fiches
Une réponse de type "fiche" Dialogflow est envoyée à LINE en tant que message de type "fiche" LINE.
Réponses rapides
Une réponse rapide Dialogflow est envoyée à LINE en tant que message de type "modèle" LINE.
Réponses de charge utile personnalisée
Vous pouvez envoyer la plupart des types de messages LINE avec une réponse de charge utile personnalisée.
Par exemple, la charge utile personnalisée suivante fournit un message de type "modèle" LINE :
{ "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" } ] } }