# ボットを作成する
このガイドでは、Messaging APIを使ってLINEボットを作成する方法を説明します。
# 始める前に
以下の作業が完了していることを確認します。
- ボット用のチャネルを作成する。
- ボットをホストするサーバーを用意する。
# LINE Developersコンソールでボットを設定する
ボットアプリには、APIを呼び出すためのチャネルアクセストークンと、LINEプラットフォームからWebhookペイロードを受け取るためのWebhook URLが必要です。
Messaging APIを使うときは、チャネルの[Messaging API設定]タブで[応答メッセージ]と[あいさつメッセージ]の設定が「無効」になっていることを確認してください。
# チャネルアクセストークンを発行する
チャネルアクセストークンは、Messaging APIで使用するアクセストークンです。以下のいずれかのトークンを発行できます。
# Webhook URLを設定する
Webhook URLはボットサーバーのエンドポイントで、Webhookペイロードの送信先です。
LINE Developersコンソールにログインし、Messaging APIのチャネルがあるプロバイダーをクリックします。
Messaging APIのチャネルをクリックします。
[Messaging API設定]タブをクリックします。
[Webhook URL]の[編集]をクリックし、Webhook URL(LINEプラットフォームからボットにイベントを送信する際の送信先URL)を入力して、[更新]をクリックします。
Webhook URLにはHTTPSを使用し、一般的なブラウザ等で広く信頼されているルート認証局で発行されたSSL/TLS証明書を設定する必要があります。また、自己署名証明書は利用できない点に注意してください。SSL/TLSの設定で問題が発生した場合は、SSL/TLS証明書チェーンが完全で、中間証明書がサーバーに正しくインストールされていることを確かめてください。
[検証]をクリックします。
設定したWebhook URLでWebhookイベントを受け取ると、「成功」と表示されます。
[Webhookの利用]を有効にします。
# LINE公式アカウントを友だち追加する
ボットを設定したチャネルに紐づけられたLINE公式アカウントを友だち追加します。これを行うには、LINE Developersコンソールの[Messaging API設定]タブにあるQRコードを読み取ります。
# セキュリティを設定する(任意)
LINE Developersコンソールのチャネル設定の[セキュリティ設定]タブで、LINEプラットフォームのAPIを呼び出せるサーバーを設定して、セキュリティを向上させることができます。ネットワークアドレスを登録するには、個別にIPアドレスを登録するか、サーバーが複数ある場合は、CIDR(Classless Inter-Domain Routing)記法を使用することができます。
この機能は、長期のチャネルアクセストークンを利用したAPIリクエストの場合のみ有効です。
# 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 (opens new window)はLINE公式アカウントを管理するツールです。Messaging APIで提供される機能を利用するほかにも、プロフィールをカスタマイズしてユーザーエクスペリエンスを向上したり、LINE VOOMの投稿を作成したり、さまざまな機能を利用できます。
LINE公式アカウントのすべての機能については、『LINE for Business』の「LINE Account Connect (opens new window)」ページを参照してください。
# プロフィールをカスタマイズする
プロフィールには、LINE公式アカウントに関する基本的な情報を設定します。ここで設定する情報はユーザーに表示されます。
LINE Official Account Managerにアクセスして、LINE公式アカウントの基本情報を追加します。プロフィール画像、背景画像、ボタン、パーツをカスタマイズできます。
プロフィールの設定方法について詳しくは、『LINE for Business』の「プロフィール (opens new window)」を参照してください。
# あいさつメッセージを追加する(任意)
LINE Developersコンソール内のチャネル設定の[Messaging API設定]タブに表示されている[あいさつメッセージ]の[編集]をクリックしてLINE Official Account Managerを表示すると、ユーザーがLINE公式アカウントを友だち追加したときに送信されるあいさつメッセージを設定できます。別の方法として、Webhookフォローイベントを受け取ってからユーザーへプログラム的に応答することもできます。
# 自動応答メッセージを追加する(任意)
LINE Developersコンソール内のチャネル設定の[Messaging API設定]タブに表示されている[応答メッセージ]の[編集]をクリックしてLINE Official Account Managerを表示すると、ユーザーがLINE公式アカウントにメッセージを送信したときに、LINE公式アカウントから自動送信される自動応答メッセージを設定できます。ただし、Messaging APIを使用すれば、Webhookイベントの内容に合わせた応答を返すようにボットをプログラムできるため、より多くの処理を実行できます。
# 次のステップ
ボットの設定が終われば、ユーザーからのメッセージを受信したり、LINE公式アカウントからユーザーにメッセージを送信したりできます。また、LINE公式アカウントからユーザーにメッセージを送信するだけでなく、クイックリプライ機能や、リッチメニューを使って、ユーザー個人に合わせた体験を提供できます。
Messaging APIで利用できる機能について詳しくは、『Messaging APIドキュメント』の各ページを参照してください。
なお、LINE ThingsでWebhookイベントを受信するためにボットを作成した場合は、「メッセージ(Webhook)を受信する」の説明に従ってWebhookイベントを処理してください。