LINE

Con l'integrazione di LINE di Dialogflow, puoi utilizzare l'agente Dialogflow come bot LINE.

Limitazioni

Questa integrazione supporta solo la lingua predefinita dell'agente.

Come funziona

Ecco come funziona l'integrazione:

  • Crei un canale LINE.
  • Associa il tuo agente Dialogflow a quel canale, in modo che comunichino tra loro.
  • L'integrazione di Dialogflow invia messaggi all'utente finale utilizzando l'API LINE Messaging.
  • L'integrazione di Dialogflow riceve i messaggi dall'utente finale agendo come webhook LINE.

Configurazione

Per configurare l'integrazione:

  1. Segui i passaggi per creare un canale LINE: Inizia a utilizzare l'API Messaging.
  2. Recupera l'URL webhook di LINE dalla console Dialogflow:
    1. Vai alla console Dialogflow ES.
    2. Fai clic su Integrazioni nel menu della barra laterale sinistra.
    3. Fai clic su LINE.
    4. Copia il valore dell'URL webhook. Ti servirà per configurare il webhook LINE.
  3. Configura un webhook LINE:
    1. Segui i passaggi per configurare un webhook LINE per il tuo canale: LINE Receiving messages (webhooks).
    2. Fornisci la configurazione del webhook LINE con l'URL webhook copiato sopra.
    3. Copia i valori di ID canale, Secret canale e Token di accesso al canale. Questi valori ti serviranno per configurare l'integrazione di Dialogflow.
  4. Configura l'integrazione di Dialogflow:
    1. Vai alla console Dialogflow ES.
    2. Fai clic su Integrazioni nel menu della barra laterale sinistra.
    3. Fai clic su LINE.
    4. Incolla l'ID canale, il secret del canale e il token di accesso al canale nei rispettivi campi.
    5. Scegli un ambiente, se applicabile.
    6. Fai clic su START (Avvia).

Verifica della firma del webhook

Dialogflow ES convalida l'intestazione della richiesta HTTP X-Line-Signature su ogni richiesta webhook in entrata utilizzando il secret del canale LINE.

Per verificare l'autenticità della richiesta, Dialogflow ES calcola un digest HMAC-SHA256 con codifica base64 del corpo della richiesta POST HTTP non elaborata con il secret del canale e lo confronta con l'intestazione X-Line-Signature. Per maggiori dettagli su come LINE firma i payload dei webhook, consulta la documentazione sulla convalida della firma di LINE.

Se una richiesta webhook ha un'intestazione X-Line-Signature mancante, duplicata o non valida, Dialogflow ES rifiuta la richiesta con un codice di stato HTTP 400 Bad Request.

Per mantenere attiva la verifica della firma del webhook:

  • Assicurati che il secret del canale configurato nella console Dialogflow ES corrisponda al secret del canale attivo nelle impostazioni del canale dell'API LINE Messaging. Se ruoti o riemetti il secret del canale per il tuo canale LINE, aggiornalo nella console Dialogflow ES e riavvia l'integrazione.
  • Se instradi il traffico del webhook tramite un proxy, un API Gateway o un servizio middleware prima di inoltrarlo a Dialogflow ES, inoltra l'intestazione X-Line-Signature senza modificarla e invia i byte esatti del corpo della richiesta non elaborata senza serializzare nuovamente o alterare gli spazi vuoti.
  • Non inviare richieste non firmate direttamente all'URL webhook LINE di Dialogflow ES.

Test

Per testare l'agente, tocca i tre puntini orizzontali nella schermata principale dell'app LINE. Quindi tocca l'icona del codice QR e scansiona il codice QR nella pagina delle impostazioni del bot. In questo modo, il bot viene aggiunto all'elenco delle conversazioni.

Messaggi di risposta avanzati

Sono supportati i seguenti messaggi di risposta avanzata.

Risposte con immagini

Un tipo di risposta con immagine di Dialogflow viene inviato a LINE come tipo di messaggio immagine di LINE.

I formati e le dimensioni supportati sono i seguenti:

  • jpeg
  • Dimensione massima: 1 MB
  • Dimensioni massime: 240 x 240

Risposte della scheda

Un tipo di risposta della scheda Dialogflow viene inviato a LINE come tipo di messaggio del modello LINE.

Risposte rapide

Un tipo di risposta rapida di Dialogflow viene inviato a LINE come tipo di messaggio modello di LINE.

Risposte con payload personalizzato

Puoi inviare la maggior parte dei tipi di messaggi LINE con una risposta payload personalizzata.

Ad esempio, il seguente payload personalizzato fornisce un messaggio di template 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"
      }
    ]
  }
}