LINE

Dengan integrasi LINE Dialogflow, Anda dapat menggunakan agen Dialogflow sebagai bot LINE.

Batasan

Hanya bahasa agen default yang didukung oleh integrasi ini.

Cara kerjanya

Berikut cara kerja integrasi:

  • Anda membuat saluran LINE.
  • Anda mengaitkan agen Dialogflow dengan saluran tersebut, sehingga keduanya dapat berkomunikasi satu sama lain.
  • Integrasi Dialogflow mengirim pesan ke pengguna akhir menggunakan LINE Messaging API.
  • Integrasi Dialogflow menerima pesan dari pengguna akhir dengan bertindak sebagai Webhook LINE.

Penyiapan

Untuk menyiapkan integrasi:

  1. Ikuti langkah-langkah untuk membuat saluran LINE: Memulai Messaging API.
  2. Dapatkan URL webhook LINE dari Dialogflow Console:
    1. Buka konsol Dialogflow ES.
    2. Klik Integrations di menu sidebar kiri.
    3. Klik LINE.
    4. Salin nilai URL webhook. Anda akan memerlukan ini untuk mengonfigurasi webhook LINE Anda.
  3. Konfigurasi webhook LINE:
    1. Ikuti langkah-langkah untuk mengonfigurasi webhook LINE untuk saluran Anda: LINE Menerima pesan (webhook).
    2. Berikan konfigurasi webhook LINE dengan URL webhook yang disalin di atas.
    3. Salin nilai ID channel, Channel secret, dan token akses channel. Anda akan memerlukan nilai ini untuk mengonfigurasi integrasi Dialogflow.
  4. Konfigurasikan integrasi Dialogflow:
    1. Buka konsol Dialogflow ES.
    2. Klik Integrations di menu sidebar kiri.
    3. Klik LINE.
    4. Tempel ID Channel, Rahasia channel, dan Token akses channel ke kolom masing-masing.
    5. Pilih lingkungan, jika ada.
    6. Klik START.

Verifikasi tanda tangan webhook

Dialogflow ES memvalidasi header permintaan HTTP X-Line-Signature pada setiap permintaan webhook yang masuk menggunakan Rahasia channel LINE Anda.

Untuk memverifikasi keaslian permintaan, Dialogflow ES menghitung ringkasan HMAC-SHA256 berenkode base64 dari isi permintaan POST HTTP mentah dengan rahasia channel Anda dan membandingkannya dengan header X-Line-Signature. Untuk mengetahui detail tentang cara LINE menandatangani payload webhook, lihat dokumentasi validasi tanda tangan LINE.

Jika permintaan webhook tidak memiliki header , atau memiliki header X-Line-Signature duplikat atau tidak valid, Dialogflow ES akan menolak permintaan tersebut dengan kode status HTTP 400 Bad Request .

Agar verifikasi tanda tangan webhook tetap berfungsi:

  • Pastikan Channel secret yang dikonfigurasi di konsol Dialogflow ES cocok dengan Channel secret yang aktif di setelan channel LINE Messaging API Anda. Jika Anda merotasi atau menerbitkan ulang rahasia channel untuk channel LINE, perbarui di konsol Dialogflow ES dan mulai ulang integrasi.
  • Jika Anda merutekan traffic webhook melalui proxy, gateway API, atau layanan middleware sebelum meneruskannya ke Dialogflow ES, teruskan header X-Line-Signature tanpa diubah dan kirim byte isi permintaan mentah yang sama persis tanpa melakukan serialisasi ulang atau mengubah spasi kosong.
  • Jangan mengirim permintaan yang tidak ditandatangani langsung ke URL webhook LINE Dialogflow ES.

Pengujian

Untuk menguji agen, ketuk tiga titik horizontal di layar utama aplikasi LINE. Kemudian, ketuk ikon kode QR dan pindai kode QR di halaman setelan bot Anda. Tindakan ini akan menambahkan bot Anda ke daftar percakapan.

Pesan respons lengkap

Pesan respons lengkap berikut didukung.

Respons gambar

Jenis respons gambar Dialogflow dikirim ke LINE sebagai jenis pesan gambar LINE.

Format dan ukuran yang didukung adalah sebagai berikut:

  • jpeg
  • Ukuran maks. 1 MB
  • Dimensi maksimum 240 x 240

Respons kartu

Jenis respons kartu Dialogflow dikirim ke LINE sebagai jenis pesan template LINE.

Respons balasan cepat

Jenis respons balasan cepat Dialogflow dikirim ke LINE sebagai jenis pesan template LINE.

Respons payload kustom

Anda dapat mengirim sebagian besar jenis pesan LINE dengan respons payload kustom.

Misalnya, payload kustom berikut menyediakan pesan 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"
      }
    ]
  }
}