法人ユーザー向けオプションAPIリファレンス

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

本ドキュメントに記載の機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナーにお問い合わせください。

共通仕様

ステータスコード

『Messaging APIリファレンス』の「ステータスコード」を参照してください。

レスポンスヘッダー

法人ユーザー向けオプションAPIのレスポンスには、以下のHTTPヘッダーが含まれます。

レスポンスヘッダー説明
x-line-request-idリクエストID。各リクエストごとに発行されるIDです。

ミッションスタンプAPI

ミッションスタンプは、ミッションの達成を条件としてユーザーに提供するスタンプです。スタンプをインセンティブに、ユーザーに「ID情報の連携」や「会員登録」、「アンケート回答」などを促すことができます。

ユーザーにミッションスタンプを提供する

ミッションを達成したユーザーに、ミッションスタンプのダウンロード権限を付与します。

リクエストの例

HTTPリクエスト

POST https://api.line.me/shop/v3/mission

リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}

リクエストボディ

to

String

必須

ダウンロード権限を付与するユーザーのユーザーID

productType

String

必須

STICKER

productId

String

必須

スタンプセットのパッケージID

sendPresentMessage

Boolean

必須

false

レスポンス

ステータスコード200と空のレスポンスボディを返します。

エラーレスポンス

エラー発生時は、エラーに応じたHTTPステータスコードと、以下のJSONデータを含むレスポンスボディが返されます。

message

String

エラー情報を含むメッセージ。詳しくは、以下の「エラーメッセージ」を参照してください。

エラーメッセージ

主なエラーのHTTPステータスコードと、JSONデータのmessageプロパティに含まれるエラーメッセージは以下のとおりです。

コードメッセージ説明
400invalid requesttoに指定した送信先のユーザーIDが無効です。
400illegal argumentproductIdに指定したスタンプセットがミッションスタンプとして設定されていません。
400not_sales_periodproductIdに指定したスタンプセットが有効期間外です。
400not sale for countrytoに指定した送信先のユーザーの国では、productIdに指定したスタンプセットが利用できません。
400not sale for devicetoに指定した送信先のユーザーが利用している端末は、productIdに指定したスタンプセットに対応していません。
400not sale for versiontoに指定した送信先のユーザーが利用しているLINEアプリのバージョンは、productIdに指定したスタンプセットに対応していません。
403not allowed to use the APIチャネルに、ミッションスタンプAPIの利用権限が付与されていません。
404not foundproductIdに指定したスタンプセットが存在しません。

既読API

ユーザーからのメッセージに既読を付ける

特定のユーザーから送信されたすべてのメッセージに「既読」を表示できます。

リクエストの例

HTTPリクエスト

POST https://api.line.me/v2/bot/message/markAsRead

レート制限

2,000リクエスト/秒

リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}

リクエストボディ

chat.userId

String

必須

対象のユーザーID。

レスポンス

ステータスコード200と空のJSONオブジェクトを返します。

レスポンスの例

エラーレスポンス

以下のHTTPステータスコードと、エラーレスポンスを返します。

コード説明
400無効なユーザーIDが指定されています。

詳しくは、『Messaging APIリファレンス』の「ステータスコード」および「エラーレスポンス」を参照してください。

エラーレスポンスの例

モジュール

モジュールチャネルの提供者の操作で連携(アタッチ)する

モジュールチャネルをLINE公式アカウントにアタッチします。アタッチするためには、LINE公式アカウントの管理者に認可を要求し、認可コードを取得する必要があります。モジュールの認可フローについて詳しくは、『モジュールドキュメント』の「モジュールチャネルを連携(アタッチ)する」を参照してください。

このAPIを利用する際には、Authorizationヘッダーもしくはリクエストボディのどちらかを使って、モジュールチャネルのチャネルIDとチャネルシークレットを指定する必要があります。

リクエストの例

HTTPリクエスト

POST https://manager.line.biz/module/auth/v1/token

リクエストヘッダー

Content-Type

必須

application/x-www-form-urlencoded

Authorization

任意

Basic {base64({Channel ID}:{Channel Secret})}

{base64({Channel ID}:{Channel Secret})}には、「モジュールチャネルのチャネルID」と「モジュールチャネルのチャネルシークレット」を:で連結し、Base64でエンコードした文字列を指定してください。モジュールチャネルのチャネルIDとチャネルシークレットは、LINE Developersコンソールで確認できます。

リクエストボディ内でclient_idおよびclient_secretを指定する代わりに、このヘッダを使ってモジュールチャネルのチャネルIDとチャネルシークレットを指定できます。

リクエストボディ

grant_type

String

必須

authorization_code

code

String

必須

LINEプラットフォームから渡された認可コードを指定します。

redirect_uri

String

必須

認証と認可のためのURLで指定したredirect_uriを指定します。

code_verifier

String

任意

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

RFC 7636に準拠しています。

client_id

String

任意

Authorizationヘッダーを使用する代わりに、このパラメータを使ってモジュールチャネルのチャネルIDを指定できます。 モジュールチャネルのチャネルIDは、LINE Developersコンソールで確認できます。

client_secret

String

任意

Authorizationヘッダーを使用する代わりに、このパラメータを使ってモジュールチャネルのチャネルシークレットを指定できます。モジュールチャネルのチャネルシークレットは、LINE Developersコンソールで確認できます。

region

String

任意

認証と認可のためのURLregionに値を指定した場合、同じ値を指定してください。

basic_search_id

String

任意

認証と認可のためのURLでbasic_search_idに値を指定した場合、同じ値を指定してください。

scope

String

任意

認証と認可のためのURLでscopeに値を指定した場合、同じ値を指定してください。

brand_type

String

任意

認証と認可のためのURLでbrand_typeに値を指定した場合、同じ値を指定してください。

レスポンス

成功時は、ステータスコード200と以下の情報を含むJSONオブジェクトを返します。

bot_id

String

LINE公式アカウントのボットのユーザーID。

ボットのユーザーIDは、Messaging APIAcquire Control APIを呼び出す際に利用します。

注意

ボットのユーザーIDは、LINE Developersコンソールで、Messaging APIチャネルの[チャネル基本設定]タブに表示される[あなたのユーザーID]ではありません。

scope

String

LINE公式アカウントの管理者によって許可された権限(スコープ)。

レスポンスの例

エラーレスポンス

以下のHTTPステータスコードを返します。

  • 400 Bad Request
  • 403 Forbidden

モジュールチャネルの管理者の操作でモジュールチャネルを連携解除(デタッチ)する

LINE公式アカウントからモジュールチャネルをデタッチします。

リクエストの例

HTTPリクエスト

POST https://api.line.me/v2/bot/channel/detach

レート制限

2,000リクエスト/秒

リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}

{channel access token}には、モジュールチャネルのチャネルアクセストークンを指定してください。

リクエストボディ

botId

String

必須

モジュールチャネルにアタッチされたLINE公式アカウントのボットのユーザーID。

ボットのユーザーIDは、「モジュールチャネルの提供者の操作で連携(アタッチ)する」のレスポンスやAttachedイベントで取得できます。

レスポンス

成功時は、ステータスコード200を返します。

エラーレスポンス

以下のHTTPステータスコードと、エラーレスポンスを返します。

コード説明
400モジュールチャネルを連携解除(デタッチ)できませんでした。次のような理由が考えられます。
  • 無効なボットのユーザーIDが指定されている。
  • 存在しないボットが指定されている。
  • モジュールチャネルが連携(アタッチ)されていない。
  • モジュールチャネルではないチャネルのチャネルアクセストークンが指定されている。

詳しくは、『Messaging APIリファレンス』の「ステータスコード」および「エラーレスポンス」を参照してください。

エラーレスポンスの例

Acquire Control API

Standby Channelが主導権(Chat Control)を取得する場合は、Acquire Control APIを呼び出します。

それまでActive Channelだったチャネルは、自動的にStandby Channelに切り替わります。

警告

現在提供しているモジュールの仕組みにおいては、本APIを呼び出す必要はありません。そのため本APIの実装は任意となります。

本APIは現状、想定外の問題等によりチャットの主導権が切り替わった際にのみ利用します。

リクエストの例

HTTPリクエスト

POST https://api.line.me/v2/bot/chat/{chatId}/control/acquire

レート制限

2,000リクエスト/秒

リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}

{channel access token}には、モジュールチャネルのチャネルアクセストークンを指定してください。

ボットのユーザーIDを指定するヘッダー

必須

モジュールチャネルにアタッチされたLINE公式アカウントのボットのユーザーID。

ボットのユーザーIDは、「モジュールチャネルの提供者の操作で連携(アタッチ)する」のレスポンスやAttachedイベントで取得できます。

ヘッダーの詳細については参画される際に別途提供いたします

本ヘッダーの名前(パラメーター名)は、実際にLINEマーケットプレイスに参画するお客様に限定して公開しています。

パスパラメータ

chatId

必須

userIdroomId、またはgroupId

リクエストボディ

expired

Boolean

任意
  • True:制限時間(ttl)を経過すると、主導権(Chat Control)がPrimary Channelに戻ります。(デフォルト)
  • False:制限時間がなく、主導権(Chat Control)は時間経過では変わりません。

ttl

Number

任意

主導権(Chat Control)がPrimary Channelに戻るまでの時間(モジュールチャネルがActive Channelでいられる時間)。秒で指定します。最大値は1年間(3600 * 24 * 365)。デフォルト値は3600(1時間)です。

expiredの値がfalseの場合は、無視されます。

レスポンス

成功時は、ステータスコード200を返します。

エラーレスポンス

以下のHTTPステータスコードと、エラーレスポンスを返します。

コード説明
400chatIdパラメータに、不正なIDが指定されています。
404主導権(Chat Control)を取得できませんでした。次のような理由が考えられます。
  • モジュールと連携しているLINE公式アカウントを友だち追加していないユーザーが指定されている。
  • モジュールと連携しているLINE公式アカウントが参加していないグループが指定されている。
  • モジュールと連携しているLINE公式アカウントが参加していない複数人トークが指定されている。
423別のチャネルが、一定期間内(数秒程度)に主導権(Chat Control)を取得していた場合。

詳しくは、『Messaging APIリファレンス』の「ステータスコード」および「エラーレスポンス」を参照してください。

エラーレスポンスの例

Release Control API

Active Channelが持っている主導権(Chat Control)を、Primary Channelに返却する場合は、Release Control APIを呼び出します。

警告

現在提供しているモジュールの仕組みにおいては、本APIを呼び出す必要はありません。そのため本APIの実装は任意となります。

本APIは現状、想定外の問題等によりチャットの主導権が切り替わった際にのみ利用します。

リクエストの例

HTTPリクエスト

POST https://api.line.me/v2/bot/chat/{chatId}/control/release

レート制限

2,000リクエスト/秒

リクエストヘッダー

Content-Type

必須

application/json

Authorization

必須

Bearer {channel access token}

{channel access token}には、モジュールチャネルのチャネルアクセストークンを指定してください。

ボットのユーザーIDを指定するヘッダー

必須

モジュールチャネルにアタッチされたLINE公式アカウントのボットのユーザーID。

ボットのユーザーIDは、「モジュールチャネルの提供者の操作で連携(アタッチ)する」のレスポンスやAttachedイベントで取得できます。

ヘッダーの詳細については参画される際に別途提供いたします

本ヘッダーの名前(パラメーター名)は、実際にLINEマーケットプレイスに参画するお客様に限定して公開しています。

パスパラメータ

chatId

必須

userIdroomId、またはgroupId

レスポンス

成功時は、ステータスコード200を返します。

エラーレスポンス

以下のHTTPステータスコードと、エラーレスポンスを返します。

コード説明
400chatIdパラメータに、不正なIDが指定されています。

詳しくは、『Messaging APIリファレンス』の「ステータスコード」および「エラーレスポンス」を参照してください。

エラーレスポンスの例

モジュールチャネル専用のWebhookイベントオブジェクト

Attachedイベント

モジュールチャネルが、LINE公式アカウントにアタッチされたことを示すイベントです。モジュールチャネルのWebhook URLサーバーに送信されます。

timestampなど

共通プロパティ」を参照してください。

ただし、modeactive固定です。

type

String

module

module.type

String

attached

module.botId

String

アタッチされたLINE公式アカウントのボットのユーザーID

module.scopes

Array of strings

LINE公式アカウントの管理者によって許可されたスコープを示す文字列の配列です。

Attachedイベントの例

Detachedイベント

モジュールチャネルが、LINE公式アカウントからデタッチされたことを示すイベントです。モジュールチャネルのWebhook URLサーバーに送信されます。

LINE公式アカウントを削除する操作をしたときにはDetachされません

LINE Official Account ManagerでLINE公式アカウントを削除する操作をしたときは、モジュールチャネルはデタッチされません。

削除する操作をしてから3か月が経過し、LINE公式アカウントの分析データを含むすべての情報が完全に削除されると、自動的にデタッチされます。

timestampなど

共通プロパティ」を参照してください。

ただし、modeactive固定です。

type

String

module

module.type

String

detached

module.botId

String

連携解除されたLINE公式アカウントのボットのユーザーID

module.reason

String

連携解除された理由

bot_deleted:LINE公式アカウントの分析データを含むすべての情報が完全に削除されました。

Detachedイベントの例

Activatedイベント

Acquire Control APIを呼び出して、モジュールチャネルがActive Channelに切り替わったことを示すイベントです。モジュールチャネルのWebhook URLサーバーに送信されます。

注意

Acquire Control APIで指定した有効期間が過ぎて、主導権(Chat Control)が切り替わった場合は、Activatedイベントは送信されません。

timestamp、sourceなど

共通プロパティ」を参照してください。

ただし、modeactive固定です。

type

String

activated

chatControl.expireAt

Number

“active”が維持される期限。

Activatedイベントの例

Deactivatedイベント

Acquire Control APIまたはRelease Control APIを呼び出して、モジュールチャネルがStandby Channelに切り替わったことを示すイベントです。モジュールチャネルのWebhook URLサーバーに送信されます。

注意

Acquire Control APIで指定した有効期間が過ぎて、主導権(Chat Control)が切り替わった場合は、Deactivatedイベントは送信されません。

timestamp、sourceなど

共通プロパティ」を参照してください。

ただし、modeactive固定です。

type

String

deactivated

Deactivatedイベントの例

botSuspendイベント

LINE公式アカウントが一時停止状態(Suspend)になったことを示すイベントです。モジュールチャネルのWebhook URLサーバーに送信されます。

このイベントを受信したときは、以下のような処理を行うことを推奨します。

  • モジュールチャネルの管理画面に「LINE公式アカウントが利用できない状態になっているため、この管理画面は利用できません」といったメッセージを表示し、管理画面の利用を停止する。
  • いったん一時停止状態になっても、一時停止状態から復帰する可能性(botResumeイベントを受信する可能性)があります。すべての情報を保持しておくことを推奨します。
注意

Primary ChannelにはbotSuspendイベントは送信されません。

botSuspendイベントを受信したあとでDetachedイベントを受信した場合は、LINE公式アカウントがモジュールチャネルの利用を停止し、契約を解除したことを示します。

timestampなど

共通プロパティ」を参照してください。

ただし、modeactive固定です。

type

String

botSuspended

botSuspendイベントの例

botResumedイベント

LINE公式アカウントが一時停止状態から復帰したことを示すイベントです。モジュールチャネルのWebhook URLサーバーに送信されます。

このイベントを受信したときは、モジュールチャネルの管理画面で「LINE公式アカウントが利用できない状態になっているため、この管理画面は利用できません」といったメッセージを非表示にし、管理画面の利用を再開することを推奨します。

注意

Primary ChannelにはbotResumedイベントは送信されません。

timestampなど

共通プロパティ」を参照してください。

ただし、modeactive固定です。

type

String

botResumed

botResumedイベントの例

モジュールをアタッチしたボットのリストを取得する

モジュールチャネルをアタッチした、複数のLINE公式アカウントのボットの基本情報をリストで取得します。

リクエストの例

HTTPリクエスト

GET https://api.line.me/v2/bot/list?limit={limit}&start={continuationToken}

レート制限

2,000リクエスト/秒

リクエストヘッダー

Authorization

必須

Bearer {channel access token}

{channel access token}には、モジュールチャネルのチャネルアクセストークンを指定してください。

クエリパラメータ

limit

任意

基本情報を取得するボットの最大個数を指定します。デフォルト値は100です。
最大値:100

start

任意

継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでボットの基本情報をすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。

レスポンス

成功時は、ステータスコード200と以下の情報を含むJSONオブジェクトを返します。

bots

Array

ボットの基本情報を表すBot list Item objectの配列。

bots[].userId

String

ボットのユーザーID

bots[].basicId

String

ボットのベーシックID

bots[].premiumId

String

含まれないことがあります

ボットのプレミアムID。プレミアムIDが未設定の場合、この値は含まれません。

bots[].displayName

String

ボットの表示名

bots[].pictureUrl

String

含まれないことがあります

プロフィール画像のURL。「https://」から始まる画像URLです。ボットにプロフィール画像を設定していない場合は、レスポンスに含まれません。

next

String

含まれないことがあります

継続トークン。ボットの基本情報の、次の配列を取得するために使用します。このプロパティは、取得しきれなかったボットの基本情報が存在する場合にのみ返されます。

継続トークンの有効期間は24時間(86,400秒間)です。

レスポンスの例

エラーレスポンス

以下のHTTPステータスコードと、エラーレスポンスを返します。

コード説明
400無効な継続トークンが指定されています。

詳しくは、『Messaging APIリファレンス』の「ステータスコード」および「エラーレスポンス」を参照してください。

エラーレスポンスの例