# ボットを作成する

このガイドでは、Messaging APIを使ってLINEボットを作成する方法を説明します。サンプルボットのデプロイから始めたい場合は、「Herokuでサンプルボットを作成する」を参照してください。

# 始める前に

以下の作業が完了していることを確認します。

  • ボット用のチャネルを作成する
  • ボットをホストするサーバーを用意する。Herokuのようなクラウドプラットフォームサービスを利用できます。

# コンソールでボットを設定する

ボットアプリには、APIを呼び出すためのチャネルアクセストークンと、LINEプラットフォームからWebhookペイロードを受け取るためのWebhook URLが必要です。

[応答メッセージ]と[あいさつメッセージ]の設定

Messaging APIを使うときは、チャネルの[Messaging API設定]タブで[応答メッセージ]と[あいさつメッセージ]の設定が「無効」になっていることを確認してください。

# チャネルアクセストークンを発行する

チャネルアクセストークンは、Messaging APIで使用するアクセストークンです。以下のいずれかのトークンを発行できます。

# Webhook URLを設定する

Webhook URLはボットサーバーのエンドポイントで、Webhookペイロードの送信先です。

  1. LINE Developersコンソールにログインし、Messaging APIのチャネルがあるプロバイダーをクリックします。

  2. Messaging APIのチャネルをクリックします。

  3. Messaging API設定]タブをクリックします。

  4. Webhook URL]の[編集]をクリックし、Webhook URL(LINEプラットフォームからボットにイベントを送信する際の送信先URL)を入力して、[更新]をクリックします。

    Webhook URLにはHTTPSを使用し、認定認証局で発行されたSSL証明書を設定する必要があります。また、自己署名証明書は利用できない点に注意してください。SSLの設定で問題が発生した場合は、SSL証明書チェーンが完全で、中間証明書がサーバーに正しくインストールされていることを確かめてください。

  5. 検証]をクリックします。

    設定したWebhook URLでWebhookイベントを受け取ると、「成功」と表示されます。

  6. Webhookの利用]を有効にします。

Messaging API設定 > Webhook設定 > Webhook URL

# LINE公式アカウントを友だち追加する

ボットを設定したチャネルに紐づけられたLINE公式アカウントを友だち追加します。これを行うには、コンソールの[Messaging API設定]タブにあるQRコードを読み取ります。

# セキュリティを設定する(任意)

コンソールのチャネル設定の[セキュリティ設定]タブで、LINEプラットフォームのAPIを呼び出せるサーバーを設定して、セキュリティを向上させることができます。ネットワークアドレスを登録するには、個別にIPアドレスを登録するか、サーバーが複数ある場合は、CIDR(Classless Inter-Domain Routing)記法を使用することができます。

[セキュリティ設定]タブ

# Webhookの動作を確認する

ユーザーがLINE公式アカウントを友だち追加したりLINE公式アカウントにメッセージを送ったりすると、[Messaging API設定]タブの[Webhook URL]に指定したボットサーバーに対して、Webhookイベントオブジェクトを含むHTTP POSTリクエストが、LINEプラットフォームから送信されます。このリクエストのヘッダーには署名が含まれます。

ここでは、Webhookイベントを正常に受信できるかどうかの確認と、Webhookイベントの署名の検証の方法について説明します。

# Webhookイベントを受信する

ボットサーバーで、Webhookイベントを受信できるかどうか確認するには、LINEでLINE公式アカウントをブロックして、ボットサーバーがLINEプラットフォームからフォロー解除イベントを受信したかどうかをログで確認します。以下はログの例です。

2017-07-21T09:18:46.755256+00:00 app[web.1]: 2017-07-21 09:18:46.737  INFO 4 --- [io-13386-exec-2] c.e.bot.spring.KitchenSinkController     : unfollowed this bot: UnfollowEvent(source=UserSource(userId=Uxxxxxxxxxx...), timestamp=2017-07-21T09:18:46.031Z)

Webhookが正常に動作することを確認した後で、再びLINE公式アカウントを友だち追加します。

# LINE Official Account Managerで設定する

LINE Official Account ManagerはLINE公式アカウントを管理するツールです。Messaging APIで提供される機能を利用するほかにも、アカウントページをカスタマイズしてユーザーエクスペリエンスを向上したり、タイムライン投稿を作成したり、さまざまな機能を利用できます。

LINE公式アカウントのすべての機能については、LINE for Businessの「LINE Account Connect」ページを参照してください。

# アカウントページをカスタマイズする

アカウントページには、LINE公式アカウントに関する基本的な情報を設定します。ここで設定する情報はユーザーに表示されます。

LINE Official Account Managerにアクセスして、LINE公式アカウントの基本情報を追加します。カバー画像、ロゴ、ボタン、提供する情報をカスタマイズできます。

LINE Official Account Managerのアカウント設定ページ

# あいさつメッセージを追加する(任意)

コンソール内のチャネル設定の[Messaging API設定]タブに表示されている[あいさつメッセージ]の[編集]をクリックしてLINE Official Account Managerを表示すると、ユーザーがLINE公式アカウントを友だち追加したときに送信されるあいさつメッセージを設定できます。別の方法として、Webhookフォローイベントを受け取ってからユーザーへプログラム的に応答することもできます。

# 自動応答メッセージを追加する(任意)

コンソール内のチャネル設定の[Messaging API設定]タブに表示されている[応答メッセージ]の[編集]をクリックしてLINE Official Account Managerを表示すると、ユーザーがLINE公式アカウントにメッセージを送信したときに、LINE公式アカウントから自動送信される自動応答メッセージを設定できます。ただし、Messaging APIを使用すれば、Webhookイベントの内容に合わせた応答を返すようにボットをプログラムできるため、より多くの処理を実行できます。

# 次のステップ

ボットの設定が終われば、ユーザーからのメッセージを受信したり、LINE公式アカウントからユーザーにメッセージを送信したりできます。また、LINE公式アカウントからユーザーにメッセージを送信するだけでなく、クイックリプライ機能や、リッチメニューを使って、ユーザー個人に合わせた体験を提供できます。

Messaging APIで利用できる機能について詳しくは、『Messaging APIドキュメント』の各ページを参照してください。

なお、LINE ThingsでWebhookイベントを受信するためにボットを作成した場合は、「メッセージ(Webhook)を受信する」の説明に従ってWebhookイベントを処理してください。