Messaging APIを使って、ユーザー個人に合わせた体験をLINE上で提供するボットを作成できます。

作成したボットは、LINE プラットフォームのチャネルに紐付けます。チャネルを作成すると生成されるLINE公式アカウントをボットモードで運用すると、LINE公式アカウントがボットとして動作します。

注:LINE@アカウントは、2019年4月18日にLINE公式アカウントに統合されました。LINE Developersドキュメントでは、主にLINE公式アカウントで利用できる機能について説明します。LINE@アカウントのLINE公式アカウントへの移行について詳しくは、「LINE@アカウントの移行」を参照してください。

Messaging APIの仕組み

Messaging APIを使って、ボットサーバーとLINEプラットフォームの間でデータを交換できます。リクエストは、JSON形式でHTTPSを使って送信されます。

  1. ユーザーが、LINE公式アカウントにメッセージを送信します。
  2. LINEプラットフォームからボットサーバーのWebhook URLに、Webhookイベントが送信されます。
  3. Webhookイベントに応じて、ボットサーバーからユーザーにLINEプラットフォームを介して応答します。

Messaging APIのアーキテクチャ

Messaging APIでできること

応答メッセージを送る

LINE公式アカウントと対話するユーザーに対して、メッセージを返信できます。応答メッセージを利用するには、リクエストに応答トークンを入れる必要があります。詳しくは、「メッセージのカテゴリー」を参照してください。

プッシュメッセージを送る

いつでもユーザーに直接送信できるメッセージです。詳しくは、「メッセージのカテゴリー」を参照してください。

さまざまなタイプのメッセージを送る

ユーザーに送信できるメッセージのタイプは以下のとおりです。

詳しくは、「メッセージタイプ」を参照してください。

ユーザープロフィールを取得する

1対1のチャットやグループチャットでLINE公式アカウントと対話するLINEユーザーの情報を取得できます。取得できるLINEユーザー情報は、ユーザー名、プロフィール画像、ステータスメッセージの3つです。

詳しくは、『Messaging APIリファレンス』の「プロフィールを取得する」を参照してください。

グループチャットに参加する

グループチャットにメッセージを送信して、参加メンバーの情報を取得できます。詳しくは、「グループチャット」を参照してください。

リッチメニューを使う

リッチメニューはカスタマイズできるメニューで、ユーザーがどのようにLINE公式アカウントと対話できるか理解するのに役立ちます。ユーザーはいつでもトーク画面からこのメニューにアクセスできます。

詳しくは、「リッチメニューを使う」を参照してください。

ビーコンを使う

LINE Beaconを使用して、ユーザーがビーコンの範囲内に入ったときにLINE公式アカウントがユーザーとどう対話するか設定することができます。ビーコンの使用について詳しくは、「ビーコンを使う」を参照してください。

アカウント連携を使う

アカウント連携機能を使うと、プロバイダー(企業や開発者)が提供するサービスの既存のユーザーアカウントを、LINE公式アカウントと友だちになっているLINEユーザーのアカウントとセキュアに連携できます。詳しくは、「ユーザーアカウントを連携する」を参照してください。

送信メッセージ数を取得する

この操作により取得される値はMessaging APIを使って送信されるメッセージの数で、LINE Official Account Managerから送信されるメッセージの数は含まれません。

詳しくは、『Messaging APIリファレンス』の以下のセクションを参照してください。

次のステップ

ボットを作成するには、LINE DevelopersコンソールでMessaging APIのチャネルを作成します。チャネルを作成すると同時に、LINE公式アカウントが生成されます。

詳しくは、「Messaging APIを利用するには」を参照してください。

関連ページ

{{ $t("form.question.helpful") }}

{{ $t("form.question.detail") }}

{{ $t("form.question.improve") }}

{{ $t("form.info.start") }}{{ $t("form.info.link") }}{{ $t("form.info.end") }}


{{ $t("form.result.success") }}
{{ $t("form.result.error") }}
{{ $t("form.result.errorLink") }}