# モジュールチャネルを連携(アタッチ)する

オプション機能を利用するには手続きが必要です

本ドキュメントに記載の機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。モジュールを利用した拡張機能の公開を希望するお客様は、担当営業までご連絡いただくか、LINEマーケットプレイス お問い合わせ (opens new window)よりお問い合わせください。

モジュールチャネルの機能を利用するには、以下の手順に従って、LINE公式アカウントの管理者からの認可と、モジュールチャネルの連携(アタッチ)が必要です。

# OAuth 2.0の認可の仕組みを利用してモジュールチャネルをアタッチする

OAuth 2.0の認可の仕組みのフローに従って、LINE公式アカウントの管理者から認可を得ることで、モジュールチャネルをアタッチできます。

# モジュールをアタッチするためのフロー

1つ目の画面と5つ目の画面は、モジュールチャネルの開発担当企業が準備してください。

OAuth 2.0の認可の仕組みを使ったモジュールチャネルのアタッチするフロー

LINE公式アカウントに複数のモジュールチャネルをアタッチする際の制限

「Default Active」の機能が付与されたモジュールチャネルは、1つのLINE公式アカウントに複数アタッチすることはできません。

  1. LINE公式アカウントの管理者に認可を要求する
  2. 連携画面について
  3. 認可コードまたはエラーコードを受け取る
  4. モジュールチャネルの提供者の操作で連携(アタッチ)する

# 1. LINE公式アカウントの管理者に認可を要求する

LINE公式アカウントの管理者に、認証と認可のためのURL(認可URLhttps://manager.line.biz/module/auth/v1/authorizeにクエリパラメータを付けたもの)にアクセスしてもらうことで、LINE公式アカウントへモジュールチャネルをアタッチするプロセスが開始されます。

認証と認可のためのURLの例

https://manager.line.biz/module/auth/v1/authorize?response_type=code&client_id=1234567890&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=message%3Asend%20message%3Areceive&state={CSRF token}&region=JP&basic_search_id={LINE Official Account basic ID}&brand_type=premium

一般的には、モジュールチャネルの連携を開始するためのページに、このURLにアクセスするリンクを設置し、LINE公式アカウントの管理者にリンクをクリックしてもらいます。上記の例で提示されているフローでは、「【貴社サービス内】連携開始ページ」で、[Attach Module]ボタンをクリックしたときに、このURLにアクセスするように設定しています。

# クエリパラメータ

response_type

String

必須

code

redirect_uri

String

必須

リダイレクトURL。モジュールチャネルの開発担当企業が、認可コードを受け取るためのURLです。認証と認可(連携画面での操作)の後に、LINE公式アカウントの管理者がこのURLにリダイレクトされます。

このURLは、モジュールチャネルの開発担当企業が用意してください。なお、このURLはあらかじめLINE Developersコンソールでモジュールチャネルに登録したリダイレクトURLと一致させてください。

redirect_uriにはURLエンコードした値を指定してください

クエリパラメータのURLエンコードを忘れると、2つ目以降のクエリパラメータが認証URLに対するクエリパラメータとして認識され、リダイレクト先に渡されません。

例えば、redirect_urihttps://example.com/auth?param1=value1&param2=value2を指定する場合、認証と認可のためのURLはhttps://manager.line.biz/module/auth/v1/authorize?response_type=code&client_id=1234567890&redirect_uri=https%3A%2F%2Fexample.com%2Fauth%3Fparam1%3Dvalue1%26param2%3Dvalue2&scope=message%3Asend%20message%3Areceive&state={CSRF token}&region=JP&basic_search_id={LINE Official Account basic id}&brand_type=premiumとします。

client_id

String

必須

モジュールチャネルのチャネルID。LINEプラットフォームが発行した、チャネル固有の識別子です。

scope

String

必須

LINE公式アカウントの管理者に許可を求める権限(スコープ)を指定します。複数のスコープを指定する場合は、URLエンコードされた空白文字(%20)で区切って指定してください。詳しくは、「スコープ」を参照してください。

state

String

必須

クロスサイトリクエストフォージェリ(CSRF) (opens new window)防止用の固有な英数字の文字列。モジュールチャネルの開発担当企業のシステムでランダムにユニークな値を生成する必要があります。URLエンコードされた文字列は使用できません。

region

String

任意

モジュールチャネルをアタッチするLINE公式アカウントの地域。JPTWを指定します。

basic_search_id

String

任意

LINE公式アカウントのベーシックID (opens new window)。特定のLINE公式アカウントにのみモジュールチャネルへのアタッチを許可する場合に指定します。

brand_type

String

任意

アタッチ可能なLINE公式アカウントのアカウント種別 (opens new window)を制限する場合に指定します。

  • プレミアムアカウント: premium
  • 認証済アカウント: verified
  • 未認証アカウント: unverified

複数のアカウント種別を指定する場合には、URLエンコードされた空白文字(%20)で連結します。例えば、プレミアムアカウントおよび認証済アカウントのみアタッチ可能なように制限する場合はbrand_type=premium%20verifiedとします。

code_challenge

String

任意

認可コード横取り攻撃への対策としてOAuth 2.0の拡張仕様で定義されるPKCE(Proof Key for Code Exchange)を利用する場合に指定します。RFC 7636 (opens new window)に準拠しています。

code_challenge_method

String

任意

S256

認可コード横取り攻撃への対策としてOAuth 2.0の拡張仕様で定義されるPKCE(Proof Key for Code Exchange)を利用する場合に指定します。RFC 7636 (opens new window)に準拠しています。

# スコープ

scopeパラメータに指定できるスコープは以下のとおりです。複数のスコープを指定するには、URLエンコードされた空白文字(%20)で区切って指定します。

スコープ モジュールチャネルで利用できるAPI
指定不要(デフォルト) スコープ不要で利用できます。
message%3Asend
(message:send)
message%3Areceive
(message:receive)
account%3Amanage
(account:manage)
message%3Amark_as_read
(message:mark_as_read)
profile%3Aread
(profile:read)
crm%3Amanage
(crm:manage)
このスコープはChat Plugin機能(※)を利用するモジュールチャネルでのみ指定が可能です。それ以外の場合は指定しないでください。
Chat Plugin機能を利用する場合は必須となります。Chat Plugin機能を利用するモジュールチャネルにおいて、このスコープを指定していなかった場合、今後Chat Pluginで提供される機能を利用することができない場合があります。

(※)Chat Plugin機能は、現在一部の法人ユーザーにのみ公開しています。

# 2. 連携画面について

LINE公式アカウントの管理者が、認証と認可のためのURLにアクセスすると、LINE Official Account Managerの連携画面が表示されます。連携画面には、モジュールチャネル作成時に申請した内容が表示されます。設定内容は、LINE Developersコンソールで確認できます。

連携画面

# 3. 認可コードまたはエラーコードを受け取る

LINE公式アカウントの管理者が認証と認可を終了すると、認証と認可のためのURLで指定したリダイレクトURL(redirect_uri)に、以下のクエリパラメータを通じて認可コードやエラーコードが渡されます。上記の例で提示されているフローでは、「【OAM】確認および連携」で[連携]ボタンをクリックしたときに認可コードやエラーコードが渡されます。

# 認可コードを受け取る

LINE公式アカウントの管理者による認証と認可が完了すると、以下のクエリパラメータが付与されたリダイレクトURL(redirect_uri)にリダイレクトされます。

# クエリパラメータ

code

String

LINE公式アカウントに連携(アタッチ)するときに必要な認可コードです。認可コードには有効期限があります。また、認可コードは1回のみ使用できます。

state

String

CSRF対策用の文字列です。認証と認可のためのURLのstateクエリパラメータで指定した文字列と同じものであることを確認してください。

# エラーコードを受け取る

LINE公式アカウントの管理者が認可を拒否した場合、以下のクエリパラメータが付与されたリダイレクトURL(redirect_uri)にリダイレクトされます。

# クエリパラメータ

error

String

エラーコードです。

error_description

String

エラーの詳細です。

state

String

CSRF対策用の文字列です。認証と認可のためのURLのstateクエリパラメータで指定した文字列と同じものであることを確認してください。

認可コードを取得し、stateクエリパラメータで渡された文字列に問題がないことが確認できたら、モジュールチャネルをLINE公式アカウントにアタッチします。

詳しくは、『法人ユーザー向けオプションAPIリファレンス』の「モジュールチャネルの提供者の操作で連携(アタッチ)する」を参照してください。