# モジュール
本ドキュメントに記載の機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。モジュールを利用した拡張機能の公開を希望するお客様は、担当営業までご連絡いただくか、LINEマーケットプレイス お問い合わせ (opens new window)よりお問い合わせください。
# 概要
モジュールは、LINE公式アカウントに連携(アタッチ)することで、LINE公式アカウントにMessaging APIを利用した機能を追加できる仕組みです。モジュールは、チャネルの1種(モジュールチャネル)として提供されます。LINE公式アカウントがMessaging APIチャネルを作成していなくても、モジュールチャネルからMessaging APIを呼び出し、ユーザーにメッセージを送信したり、リッチメニューを設定することができます。
# モジュールチャネルとLINE公式アカウントの関係性
通常、1つのMessaging APIチャネルは1つのLINE公式アカウントにのみ作成(開設)できます。一方、モジュールチャネルは、複数のLINE公式アカウントと連携できます。
- OA "X"、OA "Y"、OA "Z":LINE公式アカウント
- Module CH:モジュールチャネル
- System:Module CHのWebhook送信先およびボットサーバー
モジュールチャネルにおいて、LINEプラットフォームとやりとりを行うサーバーはモジュールチャネルの開発担当企業が用意する必要があります。モジュールチャネルのWebhook送信先として設定するサーバーは、Messaging APIを呼び出すサーバーと同一である必要はありません。
# モジュールの利用例
たとえば、LINE Official Account Managerのチャット機能を利用して、ユーザーとコミュニケーションを行っているLINE公式アカウントがあるとします。このLINE公式アカウントに「来店予約機能を持つモジュールチャネル」を連携した場合、LINE Official Account Manager上でユーザーとチャットを行いつつ、来店予約の手続きをモジュールにより自動化する、といったことが可能になります。
LINE公式アカウントの応答設定でWebhookの利用を無効にしていた場合、Messaging APIチャネルに対するWebhookイベントの送信は行われません。このような設定下においても、モジュールチャネルに対してはWebhookイベントが送信されます。
受信したWebhookイベントの内容に応じて、モジュールチャネルからユーザーに対してメッセージを送信するといった実装が可能です。
番号 | 説明 |
---|---|
1 | ユーザーがメッセージを送信する |
2 | LINE Official Account Managerのチャット機能を利用し、オペレーターがユーザーに対してメッセージを送信する |
3 | 来店予約機能を持ったモジュールを実行するためのリッチメニューをユーザーが押す |
4 | 来店予約機能のボットが応答し、予約手続きが始まる |
# リファレンス
モジュールで提供されるREST API等の技術的な仕様については、『法人ユーザー向けオプションAPIリファレンス』の「モジュール」を参照してください。
# 必要なシステムや仕組みの用意
現在、モジュールはLINEマーケットプレイス (opens new window)に有償の拡張機能として公開する場合のみご利用いただけます。
モジュールにおいて、LINEヤフー株式会社から提供する機能は以下のとおりです。
機能名 | 説明 |
---|---|
LINE公式アカウントにモジュールチャネルを連携する仕組み | OAuth2.0の認可の仕組み、およびREST APIを利用してLINE公式アカウントにモジュールチャネルを連携する仕組みを提供します。詳しくは、「OAuth 2.0の認可の仕組みを利用してモジュールチャネルをアタッチする」を参照してください。 |
LINE公式アカウントとモジュールチャネルとの連携を解除するAPI | LINE公式アカウントとモジュールチャネルの連携を解除するREST APIを提供します。詳しくは、『法人ユーザー向けオプションAPIリファレンス』の「モジュールチャネルの管理者の操作でモジュールチャネルを連携解除(デタッチ)する」を参照してください。 |
チャットの主導権を制御するAPI | モジュールチャネルには、チャットの主導権(Chat Control)と呼ばれる概念が存在します。ユーザー、グループ、またはトークルームに対する応答メッセージの送信は、主導権を持つチャネルから行います。 通常、LINEマーケットプレイスで提供されるモジュールチャネルでは、主導権を制御する必要はありませんが、想定外の事象によりチャットの主導権が変更された場合の対応のために、チャットの主導権を制御するREST APIを提供します。 詳しくは、「チャットの主導権を制御する(Chat Control)」を参照してください。 |
モジュールチャネルからMessaging APIを利用する仕組み | モジュールチャネルからMessaging APIを呼び出す場合、モジュール専用の特別なリクエストヘッダーを指定する必要があります。詳しくは、「モジュールチャネルからMessaging APIを利用する」を参照してください。 |
モジュールチャネル専用のWebhookイベント | モジュールチャネルでは、専用のWebhookイベントを提供しています。詳しくは、「モジュールチャネル専用のWebhookイベントを受信する」を参照してください。 |
モジュールチャネルに連携されているLINE公式アカウントの情報を取得するAPI | モジュールチャネルに連携されているLINE公式アカウントの情報を取得するREST APIを提供します。詳しくは、「モジュールチャネルからLINE公式アカウントの情報を取得する」を参照してください。 |
上記以外の、LINEマーケットプレイスで拡張機能を公開する際に必要なシステム(サーバー等)や仕組みはすべてお客様で用意(開発)いただく必要があります。例えば以下のとおりです。
- モジュールで提供される機能を利用するための仕組み
- モジュールチャネルからMessaging APIを利用する仕組み
- ユーザーが拡張機能を利用するために必要な管理画面や操作コンソールの仕組み
- モジュールの利用料金の決済と管理のための仕組み
- 利用ユーザーへのサポートの仕組み
# モジュールで提供される機能を利用するための仕組み
モジュールチャネルは、OAuth 2.0の認可コード付与のフロー (opens new window)に基づき、LINE公式アカウントに連携して利用します。OAuth 2.0の認可コード付与(認可リクエスト)を行うために必要なシステムをはじめとした、必要なシステムや仕組みの用意に記載されている機能を利用するための各種仕組みはお客様で用意いただく必要があります。
# モジュールチャネルからMessaging APIを利用する仕組み
LINE公式アカウントに連携したモジュールチャネルからMessaging APIを利用するには、モジュールチャネル専用の特別なリクエストヘッダーを指定した状態で、Messaging APIをリクエストする必要があります。Messaging APIをリクエストする仕組みや、モジュールで提供する拡張機能(チャットボット等)の仕組みについては、お客様で用意いただく必要があります。
モジュールチャネルからMessaging APIを呼び出し、ユーザーにメッセージを送信する場合、モジュールチャネルと連携したLINE公式アカウントの運営者は、Messaging APIの料金のお支払いが必要になる場合があります。これはMessaging APIチャネルからMessaging APIを用いてメッセージを送信した場合と同様になります。
# ユーザーが拡張機能を利用するために必要な管理画面や操作コンソールの仕組み
ユーザーがモジュールに実装した拡張機能を利用するために必要な、管理画面や操作コンソール等の仕組みについては、お客様で用意いただく必要があります。
# モジュールの利用料金の決済と管理のための仕組み
モジュールはLINEマーケットプレイス (opens new window)において、有償の拡張機能として公開されます。拡張機能を利用するユーザーの管理や利用料金の決済の仕組みについては、お客様で用意いただく必要があります。
# 利用ユーザーへのサポートの仕組み
モジュールの拡張機能を利用するユーザーに対するサポートの仕組みについては、お客様で準備いただく必要があります。 LINEヤフー株式会社では、LINEマーケットプレイスで公開されている拡張機能を利用するユーザーへのサポートは行っていません。 (opens new window)
# 注意事項
LINEマーケットプレイスでは、モジュールチャネルの機能を利用する場合に、以下の事項を遵守いただく必要があります。
- Messaging APIチャネルからのMessaging APIの呼び出し(併用)
- 連携できるモジュールチャネルの上限
- モジュールチャネルが利用可能なMessaging APIの種類
- Webhookイベントの受信
# Messaging APIチャネルからのMessaging APIの呼び出し(併用)
モジュールチャネルと連携しているLINE公式アカウントにおいては、Messaging APIチャネルからのMessaging APIの利用は推奨していません。これは、システムの実装によっては、モジュールで提供する拡張機能において想定しない挙動が発生する可能性があるためです。
たとえば、以下のような問題が発生することが考えられます。
- Messaging API経由でユーザーにリッチメニューを設定しているため、モジュールで提供するリッチメニューが表示されなかった
- Messaging APIチャネルから送信したメッセージに対して、ユーザーがメッセージの送信やアクションの実行をし、Webhookイベントが送信された。このWebhookイベントはモジュールのシステムにおいては想定していない内容であったため、正しく処理できなかった
# 連携できるモジュールチャネルの上限
LINEマーケットプレイスでは、1つのLINE公式アカウントに同時に連携できるモジュールチャネル(拡張機能)は1つのみです。
# モジュールチャネルが利用可能なMessaging APIの種類
モジュールチャネルが利用可能なMessaging APIの種類は、モジュールチャネルの連携時に許可した権限(スコープ)に応じます。詳しくは、「モジュールチャネルを連携(アタッチ)する」の「スコープ」を参照してください。
# Webhookイベントの受信
モジュールチャネルでは、Webhookイベントを受信するためのエンドポイントURLを1つ設定できます。
LINE公式アカウントにモジュールチャネルを連携すると、LINE公式アカウントのトークルームに送信された内容に対応するWebhookイベントが、モジュールチャネルで設定するエンドポイントにも送信されます。モジュールチャネルにおけるWebhookイベントについて詳しくは、「Webhookを受信する」を参照してください。
モジュールチャネルに対してのみ送信されるWebhookイベントが存在します。詳しくは、「モジュールチャネル専用のWebhookイベントを受信する」を参照してください。
モジュールチャネルを連携しているLINE公式アカウントがMessaging APIチャネルを利用しており、かつWebhookの利用が有効である場合、モジュールチャネルとMessaging APIチャネルに設定したエンドポイントURLの両方にWebhookイベントが送信されます。このとき、Messaging APIチャネルのエンドポイントURLに送信されるWebhookイベントは、mode
プロパティがstandby
になり、またWebhookに応答メッセージを送るための応答トークンは含まれません。