# Messaging APIリファレンス

# 共通仕様

# レート制限

Messaging APIでは、エンドポイントごとに以下のレート制限が適用されます。レート制限は、ご利用のプランおよびエンドポイントによって異なります。

注意

レート制限を著しく超えて、長時間送信し続けた場合は、リクエストの受け付けを停止することがあります。

# LINE公式アカウントに紐づけられたボット

エンドポイント レート制限
マルチキャストメッセージを送る 100,000リクエスト/分
1,700リクエスト/秒(※)
2,000,000受信者/分
ナローキャストメッセージを送る
ブロードキャストメッセージを送る
メッセージの送信数を取得する
友だち数を取得する
友だちの属性情報に基づく統計情報を取得する
60リクエスト/時
上記以外のエンドポイント 100,000リクエスト/分
1,700リクエスト/秒(※)

※秒単位のレート制限は、大量送信時の目安です。

# LINE@アカウントに紐づけられたボット

エンドポイント レート制限
マルチキャストメッセージを送る 10,000リクエスト/分
170リクエスト/秒(※)
200,000受信者/分
上記以外のエンドポイント 10,000リクエスト/分
170リクエスト/秒(※)

※秒単位のレート制限は、大量送信時の目安です。

# ステータスコード

Messaging APIからは以下のステータスコードが返されます。

ステータスコード 説明
200 OK リクエストが成功しました。
400 Bad Request リクエストに問題があります。
401 Unauthorized 有効なチャネルアクセストークンが指定されていません。
403 Forbidden リソースにアクセスする権限がありません。ご契約中のプランやアカウントに付与されている権限を確認してください。
429 Too Many Requests
500 Internal Server Error 内部サーバーのエラーです。

# レスポンスヘッダー

Messaging APIのレスポンスには以下のHTTPヘッダーが含まれます。

レスポンスヘッダー 説明
X-Line-Request-Id リクエストID。各リクエストに発行されるIDです。

# エラーレスポンス

エラー発生時は、以下のJSONデータを含むレスポンスボディが返されます。

message

String

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

details[].message

String

エラーの詳細。特定の状況では返されません。

details[].property

String

エラーの発生箇所。特定の状況では返されません。

エラーレスポンスの例

# エラーメッセージ

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

メッセージ 説明
The request body has X error(s) リクエストボディのJSONデータにエラーがありました。Xの部分にエラーの数が表示されます。詳細はdetails[].messageプロパティとdetails[].propertyプロパティに含まれます。
Invalid reply token 応答メッセージで使用された応答トークンが無効です。
The property, XXX, in the request body is invalid (line: XXX, column: XXX) リクエストボディに無効なプロパティが指定されていました。XXXの部分に具体的な行と列が表示されます。
The request body could not be parsed as JSON (line: XXX, column: XXX) リクエストボディのJSONデータを解析できませんでした。XXXの部分に具体的な行と列が表示されます。
The content type, XXX, is not supported APIでサポートされていないコンテンツタイプがリクエストされました。
Authentication failed due to the following reason: XXX APIが呼び出されたときに認証に失敗しました。XXXの部分に理由が表示されます。
Access to this API is not available for your account 実行権限がないAPIを呼び出しました。
Failed to send messages メッセージの送信に失敗しました。指定したユーザーIDが存在しない場合などにこのエラーが発生します。
You have reached your monthly limit. 追加メッセージ数の上限目安を超過しました。

# Webhook

# はじめに

友だち追加やメッセージの送信のようなイベントが発生すると、LINEプラットフォームからWebhook URL(ボットサーバー)にHTTPS POSTリクエストが送信されます。 Webhook URLはチャネルごとにコンソールで設定します。

イベント処理を非同期化することを推奨します

HTTP POSTリクエストの処理が後続のイベントの処理に遅延を与えないよう、イベント処理を非同期化することを推奨します。

# リクエストヘッダー

X-Line-Signature

署名の検証に使う署名

# リクエストボディ

リクエストボディは、Webhookイベントを受信すべきボットのユーザーIDとWebhookイベントオブジェクトの配列を含むJSONオブジェクトです。

destination

String

Webhookイベントを受信すべきボットのユーザーID。ユーザーIDの値は、U[0-9a-f]{32}の正規表現にマッチする文字列です。

Webhookイベントのリスト。LINEプラットフォームから疎通確認のために、空のリストが送信される場合があります。

# レスポンス

LINEプラットフォームから送信されるHTTP POSTリクエストをボットサーバーで受信したときは、ステータスコード200を返してください。

注意
  • LINEプラットフォームから送信されるHTTP POSTリクエストは、送受信に失敗しても再送されません。

  • LINEプラットフォームから疎通確認のために、Webhookイベントが含まれないHTTP POSTリクエストが送信されることがあります。 この場合も、ステータスコード200を返してください。

    Webhookイベントが含まれないHTTP POSTリクエストの例:

    {
        "destination": "xxxxxxxxxx",
        "events": []
    }
    

# 署名を検証する

リクエストがLINEプラットフォームから送られたことを確認するために、ボットサーバーでリクエストヘッダーのX-Line-Signatureに含まれる署名を検証します。

検証の手順は以下のとおりです。

  1. チャネルシークレットを秘密鍵として、HMAC-SHA256アルゴリズムを使用してリクエストボディのダイジェスト値を取得します。
  2. ダイジェスト値をBase64エンコードした値と、リクエストヘッダーのX-Line-Signatureに含まれる署名が一致することを確認します。

言語ごとの署名検証のコードサンプルについては、言語タブをクリックしてください。

署名検証の例

# Webhookイベントオブジェクト

LINEプラットフォームで生成されるイベントを含むJSONオブジェクトです。

これらのイベントオブジェクトのプロパティは、値が存在しない場合があります。値が存在しないプロパティは、生成されるイベントオブジェクトに含まれません。

Messaging APIの機能に追加または変更があったときに、イベントオブジェクトの構造が変更される場合があります。この変更には、プロパティの追加、プロパティの順序の変化、データの要素間の空白や改行の有無が含まれます。将来、従来と異なる構造のイベントオブジェクトを受信しても不具合が発生しないように、サーバーを実装してください。

Webhookイベントオブジェクトの例

# 共通プロパティ

以下のプロパティはすべてのWebhookイベントオブジェクトに含まれます。

type

String

イベントのタイプを表す識別子

mode

String

チャネルの状態。

  • active:チャネルがアクティブです。このWebhookイベントを受信したボットサーバーから、返信メッセージやプッシュメッセージなど送信できます。
  • standby(実装予定):チャネルが待機状態です。このWebhookイベントを受信したボットサーバーは、メッセージの送信を控えてください。

timestamp

Number

イベントの発生時刻(ミリ秒)

source

Object

イベントの送信元情報を含むユーザーグループ、またはトークルームオブジェクト

modeプロパティが変更されるタイミングについて

modeプロパティは、チャネルの管理者が「チャネルの多重化」(実装予定)を行うと、standbyに切り替わります。modeプロパティが自動的にstandbyになることはありません。

現在は、受信チャネルの多重化を行う機能は提供されていません。

# 送信元ユーザー

type

String

user

userId

String

送信元ユーザーのID

送信元ユーザーの例

# 送信元グループ

type

String

group

groupId

String

送信元グループのID

userId

String

送信元ユーザーのID。メッセージイベントにのみ含まれます。LINEバージョン7.4.x以前を使用しているユーザーは、userIdに含まれません。詳しくは、「ユーザーの同意」を参照してください。

送信元グループの例

# 送信元トークルーム

type

String

room

roomId

String

送信元トークルームのID

userId

String

送信元ユーザーのID。メッセージイベントにのみ含まれます。LINEバージョン7.4.x以前を使用しているユーザーは、userIdに含まれません。詳しくは、「ユーザーの同意」を参照してください。

送信元トークルームの例

# メッセージイベント

送信されたメッセージを含むWebhookイベントオブジェクトです。 メッセージのタイプに対応するメッセージオブジェクトが、messageプロパティに含まれます。メッセージイベントには応答できます。

type

String

message

replyToken

String

イベントへの応答に使用するトークン

message

Object

メッセージの内容を含むオブジェクト。メッセージには以下のタイプがあります。

# テキスト

送信元から送られたテキストを含むメッセージオブジェクトです。

id

String

メッセージID

type

String

text

text

String

メッセージのテキスト

テキストメッセージの例

# 画像

送信元から送られた画像を含むメッセージオブジェクトです。

id

String

メッセージID

type

String

image

contentProvider.type

String

画像ファイルの提供元。

  • line:LINEユーザーが画像ファイルを送信しました。バイナリの画像データはcontentエンドポイントから取得できます。
  • external:LIFFのliff.sendMessages()メソッドで画像ファイルが送信されました。詳しくは、『LIFF APIリファレンス』の「liff.sendMessages()」を参照してください。

contentProvider.originalContentUrl

String

画像ファイルのURL。contentProvider.typeがexternalの場合にのみ含まれます。

contentProvider.previewImageUrl

String

プレビュー画像のURL。contentProvider.typeがexternalの場合にのみ含まれます。

画像メッセージの例

# 動画

送信元から送られた動画を含むメッセージオブジェクトです。トーク画面に表示されている画像はプレビュー画像で、画像をタップすると動画が表示されます。

id

String

メッセージID

type

String

video

duration

Number

動画ファイルの長さ(ミリ秒)

contentProvider.type

String

動画ファイルの提供元。

  • line:LINEユーザーが動画ファイルを送信しました。バイナリの動画データはcontentエンドポイントから取得できます。
  • external:LIFFのliff.sendMessages()メソッドで動画ファイルが送信されました。詳しくは、『LIFF APIリファレンス』の「liff.sendMessages()」を参照してください。

contentProvider.originalContentUrl

String

動画ファイルのURL。contentProvider.typeがexternalの場合にのみ含まれます。

contentProvider.previewImageUrl

String

プレビュー画像のURL。contentProvider.typeがexternalの場合にのみ含まれます。

動画メッセージの例

# 音声

送信元から送られた音声を含むメッセージオブジェクトです。

id

String

メッセージID

type

String

audio

duration

Number

音声ファイルの長さ(ミリ秒)

contentProvider.type

String

音声ファイルの提供元。

  • line:LINEユーザーが音声ファイルを送信しました。バイナリの音声データはcontentエンドポイントから取得できます。
  • external:LIFFのliff.sendMessages()メソッドで音声ファイルが送信されました。詳しくは、『LIFF APIリファレンス』の「liff.sendMessages()」を参照してください。

contentProvider.originalContentUrl

String

音声ファイルのURL。contentProvider.typeがexternalの場合にのみ含まれます。

音声メッセージの例

# ファイル

送信元から送られたファイルを含むメッセージオブジェクトです。バイナリデータはcontentエンドポイントから取得できます。

id

String

メッセージID

type

String

file

fileName

String

ファイル名

fileSize

Number

ファイルサイズ(バイト)

ファイルメッセージの例

# 位置情報

送信元から送られた位置情報データを含むメッセージオブジェクトです。

id

String

メッセージID

type

String

location

title

String

タイトル

address

String

住所

latitude

Decimal

緯度

longitude

Decimal

経度

位置情報メッセージの例

# スタンプ

送信元から送られたスタンプデータを含むメッセージオブジェクトです。 LINEの基本的なスタンプとスタンプIDについては、スタンプリストを参照してください。

id

String

メッセージID

type

String

sticker

packageId

String

パッケージID

stickerId

String

スタンプID

stickerResourceType

String

スタンプのリソースタイプ。以下のいずれかの値です。

  • STATIC:静止画スタンプ
  • ANIMATION:アニメーションスタンプ
  • SOUND:サウンドスタンプ
  • ANIMATION_SOUND:アニメーション+サウンドスタンプ
  • POPUP:ポップアップスタンプ
  • POPUP_SOUND:ポップアップ+サウンドスタンプ
  • NAME_TEXT:カスタムスタンプ。スタンプのテキストを取得できるAPIはありません。
  • PER_STICKER_TEXT:メッセージスタンプ。スタンプのテキストを取得できるAPIはありません。
スタンプのリソースタイプについて

今後、新しいリソースタイプが予告なく追加される可能性があります。将来、従来と異なるリソースタイプを受信しても不具合が発生しないように、サーバーを実装してください。

スタンプメッセージの例

# フォローイベント

LINE公式アカウントが友だち追加またはブロック解除されたことを示すイベントです。フォローイベントには応答できます。

type

String

follow

replyToken

String

このイベントへの応答に使用するトークン

フォローイベントの例

# フォロー解除イベント

LINE公式アカウントがブロックされたことを示すイベントです。

type

String

unfollow

フォロー解除イベントの例

# 参加イベント

LINE公式アカウントがグループまたはトークルームに参加したことを示すイベントです。参加イベントには応答できます。

参加イベントが送信されるタイミングはグループとトークルームで異なります。

  • グループの場合:ユーザーがLINE公式アカウントを招待したときに送信されます。
  • トークルームの場合:LINE公式アカウントがトークルームに追加された後で、最初に何らかのイベントが発生したときに送信されます。例えば、ユーザーがメッセージを送ったり、ユーザーがトークルームに追加されたりしたときです。

type

String

join

replyToken

String

このイベントへの応答に使用するトークン

参加イベントの例

# 退出イベント

ユーザーがグループからLINE公式アカウントを削除したか、LINE公式アカウントがグループまたはトークルームから退出したことを示すイベントです。

type

String

leave

退出イベントの例

# メンバー参加イベント

LINE公式アカウントがメンバーになっているグループまたはトークルームにユーザーが参加したことを示すイベントです。

type

String

memberJoined

joined.members

送信元ユーザーオブジェクトの配列

参加したユーザーのID

replyToken

String

このイベントへの応答に使用するトークン

メンバー参加イベントの例

# メンバー退出イベント

LINE公式アカウントがメンバーになっているグループまたはトークルームからユーザーが退出したことを示すイベントです。

type

String

memberLeft

left.members

送信元ユーザーオブジェクトの配列

退出したユーザーのID

メンバー退出イベントの例

# ポストバックイベント

ユーザーが、ポストバックアクションを実行したことを示すイベントオブジェクトです。ポストバックイベントには応答できます。

type

String

postback

replyToken

String

このイベントへの応答に使用するトークン

postback.data

String

ポストバックデータ

日時選択アクションを介してユーザーが選択した日時を含むJSONオブジェクト。
日時選択アクションによるポストバックアクションの場合にのみ返されます。

ポストバックイベントの例

# postback.paramsオブジェクト

日時選択アクションを介してユーザーが選択した日時を含むオブジェクトです。full-datetime-hour、およびtime-minuteの形式は、RFC3339プロトコルで定義されています。

プロパティ 形式 説明
date full-date ユーザーが選択した日付。dateモードの場合にのみ含まれます。
time time-hour ":" time-minute ユーザーが選択した時刻。timeモードの場合にのみ含まれます。
datetime full-date "T" time-hour ":" time-minute ユーザーが選択した日付と時刻。datetimeモードの場合にのみ含まれます。

postback.paramsオブジェクトの例

# ビーコンイベント

ビーコンの電波の受信圏にユーザーが入ったことを示すイベントオブジェクトです。ビーコンイベントには応答できます。

type

String

beacon

replyToken

String

このイベントへの応答に使用するトークン

beacon.hwid

String

検出されたビーコンのハードウェアID

beacon.type

String

ビーコンイベントのタイプ。「ビーコンイベントのタイプ」を参照してください。

beacon.dm

String

検出されたビーコンのデバイスメッセージ。このメッセージは、ボットサーバーへの通知を目的としてビーコンにより生成されるデータです。Device messageプロパティをサポートするデバイスからのWebhookイベントにのみ含まれます。
詳しくは、LINE Simple Beaconの仕様を参照してください。

ビーコンイベントの例

# ビーコンイベントのタイプ

beacon.type 説明
enter ユーザーがビーコンの電波の受信圏に入りました。
leave 【廃止予定】ユーザーがビーコンの受信圏から出ました。
banner ユーザーがビーコンバナーをタップしました。
stay ユーザーがビーコンの電波の受信圏に滞在しています。
このイベントは、最短10秒間隔で繰り返し送信されます。

bannerおよびstayイベントの利用をご希望の場合は、LINE for Businessウェブサイトからお問い合わせください。

ユーザーがLINEアカウントとプロバイダーが提供するサービスのアカウントを連携したことを示すイベントオブジェクトです。アカウント連携イベントには応答できます。

連携トークンの期限が切れている、または使用済みの場合は、Webhookイベント自体が送信されず、ユーザーにエラーが表示されます。

type

String

accountLink

replyToken

String

このイベントへの応答に使用するトークン。連携に失敗した場合はこの値は含まれません。

link

Object

linkオブジェクト。アカウント連携が成功したかどうかと、プロバイダーのサービスのユーザーIDから生成したノンスが含まれます。

アカウント連携イベントの例

result

String

連携が成功したかどうかを示す値。以下のどちらかになります。

  • ok:連携が成功したことを示します。
  • failed:ユーザーのすり替えなどが原因で、連携が失敗したことを示します。

nonce

String

linkオブジェクトの例

ユーザーの操作により、デバイスとLINEが連携されたことを示すイベントです。

type

String

things

replyToken

String

このイベントへの応答に使用するトークン

things.deviceId

String

LINEと連携されたデバイスのデバイスIDです。

things.type

String

link

LINE Things用のREST APIを使うと、Webhookイベントで取得したデバイスIDから、ユーザーが連携または連携解除したデバイスを特定できます。APIについて詳しくは、『LINE Things APIリファレンス』の「デバイスIDを指定して、プロダクトIDとPSDIを取得する」を参照してください。

デバイス連携イベントの例

ユーザーの操作により、デバイスとLINEの連携が解除されたことを示すイベントです。

type

String

things

replyToken

String

このイベントへの応答に使用するトークン

things.deviceId

String

LINEと連携解除されたデバイスのデバイスIDです。

things.type

String

unlink

LINE Things用のREST APIを使うと、Webhookイベントで取得したデバイスIDから、ユーザーが連携または連携解除したデバイスを特定できます。APIについて詳しくは、『LINE Things APIリファレンス』の「デバイスIDを指定して、プロダクトIDとPSDIを取得する」を参照してください。

デバイス連携解除イベントの例

# LINE Thingsシナリオ実行イベント

自動通信のシナリオが実行されたことを示すイベントです。

シナリオセットごとにまとめて実行結果が返されるのではなく、シナリオごとに実行結果が返されます。

注:実行結果が返される順序は、シナリオの順序とは無関係です。

type

String

things

replyToken

String

このイベントへの応答に使用するトークン

things.deviceId

String

シナリオを実行したデバイスのデバイスID

things.type

String

scenarioResult

things.result.scenarioId

String

実行されたシナリオID

things.result.revision

Number

実行したシナリオを含むシナリオセットのリビジョン

things.result.startTime

Number

シナリオのアクションの実行が開始された時刻(ミリ秒。LINEアプリの時刻)

things.result.endTime

Number

シナリオの実行が完了した時刻(ミリ秒。LINEアプリの時刻)

things.result.resultCode

String

シナリオの実行完了ステータス
詳しくは、「things.result.resultCodeの定義」を参照してください。

things.result.actionResults

Array

アクション (Action)」に含まれる、個々のアクションコマンドの実行結果
なお、シナリオに記述したアクション (Action)」については、以下の性質があります

  • シナリオに記述したアクションコマンドは、先頭から順にひとつずつ実行されます。
  • 個々のアクションコマンドは、実行されると、何らかの結果が生成されます。
    SLEEPのようにデータを生成しないアクションの場合も、void型の実行結果が返されます。
  • リストの要素数が0の場合もあります。

したがって、things.result.actionResultsは以下のような性質をもちます

  • リストの要素数と、シナリオで定義されたアクション数は同じです。
  • シナリオ内で、実行されたアクションの順に、実行結果が格納されます。つまり、GATT_READを3回実行するシナリオの場合、GATT_READした順にデータが格納されます。
  • リストの要素数が0の場合は、things.result.actionResultsの要素数が0になります。

things.result.actionResults[].type

String

voidbinary

  • 実行されたアクションのtypeに依存します。
  • things.result.actionResultsが空でない場合は必ず含まれます。

things.result.actionResults[].data

String

Base64形式でエンコードされたバイナリデータ
things.result.actionResults[].typebinaryの場合は、必ず含まれます。

things.result.bleNotificationPayload

String

Notificationで受け取ったデータ
Base64形式でエンコードされたバイナリデータです。なお、trigger.type = BLE_NOTIFICATIONのシナリオの場合のみ、必ず含まれます。

things.result.errorReason

String

エラー理由

LINE Thingsシナリオ実行イベントの例

# things.result.resultCodeの定義

resultCode 説明
success 実行が正常に完了したことを示す
gatt_error GATTオペレーションの実行が失敗したことを示す
  • GATT Service UUIDが間違っている
  • GATT Characteristic UUIDが間違っている
  • 書き込めないCharacteristicに書き込もうとした
runtime_error 予想外のエラーが発生したことを示す
  • そのほか、予期しないエラーが発生した場合

# OAuth

# チャネルアクセストークンv2.1を発行する

チャネルアクセストークンを発行します。このメソッドでは、認証にJWTアサーションを使用できます。

トークンは最大30個まで発行できます。上限に達した場合、追加発行のリクエストは拒否されます。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/oauth2/v2.1/token

# リクエストヘッダー

Content-Type

application/x-www-form-urlencoded

# リクエストボディー

grant_type

String

client_credentials

client_assertion_type

String

urn:ietf:params:oauth:client-assertion-type:jwt-bearer

client_assertion

String

JSON Web Tokenを指定します。JSON Web Tokenはクライアントが作成したうえで、アサーション署名キーを発行する際に作成された秘密鍵で署名しておく必要があります。

JWTの有効期限

JSON Web Tokenの有効期限は、作成されてから30分後です。

JWTの生成について詳しくは、「アサーション署名キーからJSON Web Token(JWT)を生成する」を参照してください。

# レスポンス

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

access_token

String

チャネルアクセストークン

expires_in

Number

チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数

token_type

String

Bearer

レスポンスの例

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

error

String

エラーの概要

error_description

String

エラーの詳細。特定の状況では返されません。

エラーレスポンスの例

# 発行したチャネルアクセストークンv2.1を取得する

発行したすべてのチャネルアクセストークンを取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/oauth2/v2.1/tokens

# リクエストボディ

client_assertion_type

String

urn:ietf:params:oauth:client-assertion-type:jwt-bearer

client_assertion

String

クライアントが作成し、秘密鍵で署名する必要があるJSON Web Token (JWT)です。

# レスポンス

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

access_token

String

チャネルアクセストークン

レスポンスの例

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

error

String

エラーの概要

error_description

String

エラーの詳細。特定の状況では返されません。

エラーレスポンスの例

# チャネルアクセストークンv2.1を取り消す

チャネルアクセストークンを取り消します。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/oauth2/v2.1/revoke

# リクエストボディ

client_id

String

チャネルID

client_secret

String

チャネルシークレット

access_token

String

チャネルアクセストークン

# レスポンス

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

注意

無効なチャネルアクセストークンを指定した場合も、エラーレスポンスは発生しません。

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

error

String

エラーの概要

error_description

String

エラーの詳細。特定の状況では返されません。

エラーレスポンスの例

# チャネルアクセストークンを発行する

注意

この方法では、30日間有効な短期のチャネルアクセストークンが発行されます。長期のチャネルアクセストークンを発行するには、コンソールにある[再発行]ボタンを使います。

短期のチャネルアクセストークンを発行するAPIです。

最大で30件のトークンを発行できます。上限を超過した場合は、発行順に既存のチャネルアクセストークンが取り消されます。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Content-Type

application/x-www-form-urlencoded

# リクエストボディ

grant_type

String

必須

client_credentials

client_id

String

必須

チャネルID。コンソールで確認できます。

client_secret

String

必須

チャネルシークレット。コンソールで確認できます。

# レスポンス

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

access_token

String

短期のチャネルアクセストークン。有効期間は30日です。
注:チャネルアクセストークンは更新できません。

expires_in

Number

チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数

token_type

String

Bearer

レスポンスの例

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

error

String

エラーの概要

error_description

String

エラーの内容。特定の状況では返されません。

エラーレスポンスの例

# チャネルアクセストークンを取り消す

チャネルアクセストークンを取り消すAPIです。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Content-Type

application/x-www-form-urlencoded

# リクエストボディ

access_token

String

必須

チャネルアクセストークン

# レスポンス

ステータスコード200と空のレスポンスボディを返します。無効なチャネルアクセストークンを指定した場合はエラーが返りません。

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

error

String

エラーの概要

error_description

String

エラーの内容。特定の状況では返されません。

エラーレスポンスの例

# メッセージ

# 応答メッセージを送る

ユーザー、グループ、またはトークルームからのイベントに対して応答メッセージを送信するAPIです。

応答メッセージを送るには、Webhookイベントオブジェクトに含まれる応答トークンが必要です。

イベントが発生するとWebhookを使って通知されます。応答できるイベントには応答トークンが発行されます。

応答トークンは一定の期間が経過すると無効になるため、メッセージを受信したらすぐに応答を返す必要があります。応答トークンは1回のみ使用できます。

リクエストの例

# HTTPリクエスト

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

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# リクエストボディ

replyToken

String

必須

Webhookで受信する応答トークン

messages

送信するメッセージ
最大件数:5

notificationDisabled

Boolean

任意
  • true:メッセージ送信時に、ユーザーに通知されない。
  • false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。

デフォルト値はfalseです。

# レスポンス

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

レスポンスの例

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

ユーザー、グループ、またはトークルームに、任意のタイミングでプッシュメッセージを送信するAPIです。

注:フリープランまたはベーシックプランのLINE@アカウントでは使用できません。

リクエストの例

# HTTPリクエスト

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

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# リクエストボディ

to

String

必須

送信先のID。Webhookイベントオブジェクトで返される、userIdgroupId、またはroomIdの値を使用します。LINEに表示されるLINE IDは使用しないでください。

messages

送信するメッセージ
最大件数:5

notificationDisabled

Boolean

任意
  • true:メッセージ送信時に、ユーザーに通知されない。
  • false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。

デフォルト値はfalseです。

# レスポンス

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

レスポンスの例

# マルチキャストメッセージを送る

複数のユーザーに、任意のタイミングでプッシュメッセージを送信するAPIです。グループまたはトークルームにメッセージを送ることはできません。

注:フリープランまたはベーシックプランのLINE@アカウントでは使用できません。

リクエストの例

# HTTPリクエスト

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

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# リクエストボディ

to

文字列の配列

必須

ユーザーIDの配列。Webhookイベントオブジェクトで返されるuserIdの値を使用します。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:150

messages

送信するメッセージ
最大件数:5

notificationDisabled

Boolean

任意
  • true:メッセージ送信時に、ユーザーに通知されない。
  • false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。

デフォルト値はfalseです。

# レスポンス

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

レスポンスの例

# ナローキャストメッセージを送る

複数のユーザーに、任意のタイミングでプッシュメッセージを送信します。送信対象は、属性情報(性別や年齢、OSの種類、地域など)やリターゲティング(オーディエンス)を利用して指定できます。グループまたはトークルームにメッセージを送ることはできません。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

リクエストの例

# HTTPリクエスト

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

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

messages

送信するメッセージ
最大件数:5

recipient

Object

任意

レシピエントオブジェクト。合計10件までのオーディエンスを使用して、送信対象を指定します。
省略すると、LINE公式アカウントを友だち追加したすべてのユーザーが送信対象になります。

filter.demographic

Object

任意

デモグラフィックフィルターオブジェクト。友だちの属性情報を使用して、送信対象をフィルタリングできます。
省略すると、属性が「不明」になっているユーザーを含めた全員に配信されます。

limit.max

Number

任意

ナローキャストメッセージの最大送信数。このナローキャストメッセージによる送信数を制限する場合に指定します。なお、選択される送信対象は、無作為に抽出されます。

最低送信対象数について

送信対象のユーザーの属性を推測できないようにするために、送信対象が「最低送信対象数」よりも少ない場合はナローキャストメッセージは送信できません。「最低送信対象数」は、LINEプラットフォームで定義されており、数値は非公開です。

配信可能なメッセージの上限数について

ナローキャストメッセージを送信するときは、recipientプロパティおよびfilter.demographicプロパティの設定にかかわらず、一時的にすべての友だちにメッセージを配信する前提で、配信予定メッセージ数が計算されます。配信予定メッセージ数が、当月分の上限目安を超えた場合は、ナローキャストメッセージを送信できません。

ただし、limit.maxプロパティで設定した最大送信数が、当月分の上限目安を超えなければ、ナローキャストメッセージを送信できます。

# レシピエントオブジェクト

レシピエントオブジェクトは、オーディエンスを表すオブジェクトです。演算子オブジェクトを利用すると、条件を組み合わせて送信対象を指定できます。1回のリクエストごとに、レシピエントオブジェクトは、合計10件まで指定できます。

  • オーディエンスオブジェクト

    type

    String

    必須

    audience

    audienceGroupId

    Number

    必須

    オーディエンスID。オーディエンスを作成するには、「オーディエンス管理」のAPIを使用します。

  • 演算子オブジェクト

    積集合(AND)、和集合(OR)、差集合(NOT)を使用して、複数のレシピエントオブジェクトから、新たなレシピエントオブジェクトを作成できます。

    type

    String

    必須

    operator

    and

    レシピエントオブジェクトの配列

    配列で指定したレシピエントオブジェクトの積集合(AND)を、新たなレシピエントオブジェクトとします。※

    or

    レシピエントオブジェクトの配列

    配列で指定したレシピエントオブジェクトの和集合(OR)を、新たなレシピエントオブジェクトとします。※

    not

    レシピエントオブジェクト

    指定したレシピエントオブジェクトを配信対象外にした、新たなレシピエントオブジェクトとします。※

    andプロパティ、orプロパティ、notプロパティのいずれか1つだけ、必ず指定してください。また、空配列は指定できません。

オーディエンスを表すレシピエントオブジェクトの例

# デモグラフィックフィルターオブジェクト

デモグラフィックフィルターオブジェクトは、送信対象をフィルタリングする条件(性別、年齢、OSの種類、地域、友だち期間)を表すオブジェクトです。演算子オブジェクトを利用すると、条件を組み合わせて送信対象をフィルタリングできます。

属性情報の利用について
  • 属性情報は3日前の属性情報を元に絞込みます。
  • 属性を指定しない場合は、属性が「不明」になっているユーザーを含めた全員に配信されます。
  • 属性情報を利用するには、100人以上のターゲットリーチが必要です。
  • 性別

    type

    String

    必須

    gender

    oneOf

    Stringの配列

    必須

    指定した性別を送信対象とします。以下のいずれかの値を指定します。

    • male
    • female
  • 年齢

    年齢の範囲を指定してフィルタリングします。

    type

    String

    必須

    age

    gte

    String

    指定した年齢以上を送信対象とします。※
    以下のいずれかの値を指定します。

    • age_15
    • age_20
    • age_25
    • age_30
    • age_35
    • age_40
    • age_45
    • age_50

    lt

    String

    指定した年齢未満を送信対象とします。※
    gteプロパティと同じ値を指定できます。

    gteプロパティまたはltプロパティの両方またはいずれか一方を、必ず指定してください。

  • OSの種類

    type

    String

    必須

    appType

    oneOf

    Stringの配列

    必須

    指定したOSを送信対象とします。以下のいずれかの値を指定します。

    • ios
    • android
  • 地域

    type

    String

    必須

    area

    oneOf

    Stringの配列

    必須

    指定した地域を送信対象とします。以下のいずれかの値を指定します。
    日本 // JP (country code=392)

    • jp_01:北海道 // Hokkaido
    • jp_02:青森県 // Aomori
    • jp_03:岩手県 // Iwate
    • jp_04:宮城県 // Miyagi
    • jp_05:秋田県 // Akita
    • jp_06:山形県 // Yamagata
    • jp_07:福島県 // Fukushima
    • jp_08:茨城県 // Ibaraki
    • jp_09:栃木県 // Tochigi
    • jp_10:群馬県 // Gunma
    • jp_11:埼玉県 // Saitama
    • jp_12:千葉県 // Chiba
    • jp_13:東京都 // Tokyo
    • jp_14:神奈川県 // Kanagawa
    • jp_15:新潟県 // Niigata
    • jp_16:富山県 // Toyama
    • jp_17:石川県 // Ishikawa
    • jp_18:福井県 // Fukui
    • jp_19:山梨県 // Yamanashi
    • jp_20:長野県 // Nagano
    • jp_21:岐阜県 // Gifu
    • jp_22:静岡県 // Shizuoka
    • jp_23:愛知県 // Aichi
    • jp_24:三重県 // Mie
    • jp_25:滋賀県 // Shiga
    • jp_26:京都府 // Kyoto
    • jp_27:大阪府 // Osaka
    • jp_28:兵庫県 // Hyougo
    • jp_29:奈良県 // Nara
    • jp_30:和歌山県 // Wakayama
    • jp_31:鳥取県 // Tottori
    • jp_32:島根県 // Shimane
    • jp_33:岡山県 // Okayama
    • jp_34:広島県 // Hiroshima
    • jp_35:山口県 // Yamaguchi
    • jp_36:徳島県 // Tokushima
    • jp_37:香川県 // Kagawa
    • jp_38:愛媛県 // Ehime
    • jp_39:高知県 // Kouchi
    • jp_40:福岡県 // Fukuoka
    • jp_41:佐賀県 // Saga
    • jp_42:長崎県 // Nagasaki
    • jp_43:熊本県 // Kumamoto
    • jp_44:大分県 // Oita
    • jp_45:宮崎県 // Miyazaki
    • jp_46:鹿児島県 // Kagoshima
    • jp_47:沖縄県 // Okinawa

    台湾 // TW (country code=158)

    • tw_01:台北市 // Taipei City
    • tw_02:新北市 // New Taipei City
    • tw_03:桃園市 // Taoyuan City
    • tw_04:台中市 // Taichung City
    • tw_05:台南市 // Tainan City
    • tw_06:高雄市 // Kaohsiung City
    • tw_07:基隆市 // Keelung City
    • tw_08:新竹市 // Hsinchu City
    • tw_09:嘉義市 // Chiayi City
    • tw_10:新竹県 // Hsinchu County
    • tw_11:苗栗県 // Miaoli County
    • tw_12:彰化県 // Changhua County
    • tw_13:南投県 // Nantou County
    • tw_14:雲林県 // Yunlin County
    • tw_15:嘉義県 // Chiayi County
    • tw_16:屏東県 // Pingtung County
    • tw_17:宜蘭県 // Yilan County
    • tw_18:花蓮県 // Hualien County
    • tw_19:台東県 // Taitung County
    • tw_20:澎湖県 // Penghu County
    • tw_21:金門県 // Kinmen County
    • tw_22:連江県 // Lienchiang County

    タイ // TH (country code=764)

    • th_01:バンコク // Bangkok
    • th_02:パタヤ // Pattaya
    • th_03:北部 // Northern
    • th_04:中央部 // Central
    • th_05:南部 // Southern
    • th_06:東部 // Eastern
    • th_07:東北部 // NorthEastern
    • th_08:西部 // Western

    インドネシア // ID (country code=360)

    • id_01:バリ // Bali
    • id_02:バンドン // Bandung
    • id_03:バンジャルマシン // Banjarmasin
    • id_04:ジャボデタベック(ジャカルタ首都圏) // Jabodetabek
    • id_06:マカッサル // Makassar
    • id_07:メダン // Medan
    • id_08:パレンバン // Palembang
    • id_09:サマリンダ // Samarinda
    • id_10:スマラン // Semarang
    • id_11:スラバヤ // Surabaya
    • id_12:ジョグジャカルタ // Yogyakarta
    • id_05:その他のエリア // Lainnya
  • 友だち期間

    友だち期間の範囲を指定してフィルタリングします。

    type

    String

    必須

    subscriptionPeriod

    gte

    String

    指定した日数以上を送信対象とします。※
    以下のいずれかの値を指定します。

    • day_7
    • day_30
    • day_90
    • day_180
    • day_365

    lt

    String

    指定した日数未満を送信対象とします。※
    gteプロパティと同じ値を指定できます。

    gteプロパティまたはltプロパティの両方またはいずれか一方を、必ず指定してください。

  • 演算子オブジェクト

    積集合(AND)、和集合(OR)、差集合(NOT)を使用して、複数のデモグラフィックフィルターオブジェクトから、新たなデモグラフィックフィルターオブジェクトを作成できます。1回のリクエストごとに、デモグラフィックフィルターオブジェクトは、合計10件まで指定できます。

    type

    String

    必須

    operator

    and

    デモグラフィックフィルターオブジェクトの配列

    配列で指定したデモグラフィックフィルターオブジェクトの積集合(AND)を、新たなデモグラフィックフィルターオブジェクトとします。※

    or

    デモグラフィックフィルターオブジェクトの配列

    配列で指定したデモグラフィックフィルターオブジェクトの和集合(OR)を、新たなデモグラフィックフィルターオブジェクトとします。※

    not

    デモグラフィックフィルターオブジェクト

    指定したデモグラフィックフィルターオブジェクトを配信対象外にした、新たなデモグラフィックフィルターオブジェクトとします。※

    andプロパティ、orプロパティ、notプロパティのいずれか1つだけ、必ず指定してください。また、空配列は指定できません。

性別を使用してフィルタリングするデモグラフィックフィルターオブジェクトの例

# レスポンス

HTTPステータスコード202を返します。

ナローキャストメッセージの送信状況を確認する方法について詳しくは、「ナローキャストメッセージの進行状況を取得する」を参照してください。

# ナローキャストメッセージの進行状況を取得する

ナローキャストメッセージの進行状況を取得します。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

最低送信対象数について

送信対象のユーザーの属性を推測できないようにするために、送信対象が「最低送信対象数」よりも少ない場合はナローキャストメッセージは送信できません。「最低送信対象数」は、LINEプラットフォームで定義されており、数値は非公開です。

進行状況を取得できる期間

ナローキャストメッセージの送信をリクエストしてから7日以上経過すると、進行状況は取得できません。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/message/progress/narrowcast

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

requestId

必須

ナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。

# レスポンス

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

phase

String

進行状況。以下のいずれかの値です。

  • waiting:送信準備ができていません。フィルタリングなどを行っています。
  • sending:送信中です。
  • succeeded:送信が成功しました。
  • failed:送信が失敗しました。failedDescriptionプロパティで失敗した理由を確認できます。

successCount

Number

メッセージの受信に成功したユーザー数(※)

failureCount

Number

メッセージの受信に失敗したユーザー数(※)

targetCount

Number

メッセージが配信される予定のユーザー数(※)

failedDescription

String

送信が失敗した理由。phaseプロパティがfailedの場合にのみ含まれます。

errorCode

Number

エラーの概要。以下のいずれかの値です。

  • 1:内部エラーが発生しました。
  • 2:送信対象が少なすぎたためエラーになりました。

phaseプロパティがwaitingの場合は取得できません。

# エラーレスポンス

ナローキャストメッセージ以外のリクエストIDを指定した場合や、無効なリクエストIDを指定した場合は、HTTPステータスコード404を返します。

# ブロードキャストメッセージを送る

LINE公式アカウントと友だちになっているすべてのユーザーに、任意のタイミングでプッシュメッセージを送信します。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

リクエストの例

# HTTPリクエスト

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

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# リクエストボディ

messages

送信するメッセージ
最大件数:5

notificationDisabled

Boolean

任意
  • true:メッセージ送信時に、ユーザーに通知されない。
  • false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。

デフォルト値はfalseです。

# レスポンス

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

レスポンスの例

# コンテンツを取得する

ユーザーが送信した画像、動画、音声、およびファイルを取得するAPIです。

テキストは取得できません

ユーザーが送信したテキストを取得するAPIはありません。

リクエストの例

# HTTPリクエスト

GET https://api-data.line.me/v2/bot/message/{messageId}/content

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

messageId

メッセージID

# レスポンス

ステータスコード200とコンテンツのバイナリデータを返します。

メッセージが送信されてから一定期間後に、コンテンツは自動的に削除されます。コンテンツの保存期間は保証されません。

# 追加メッセージ数の上限目安を取得する

当月分の上限目安を取得します。

この操作により取得されるメッセージ数には、LINE Official Account Managerから送信するメッセージの数も含まれます。

上限目安は、LINE Official Account Managerで設定します。手順については、LINE Official Account Managerのマニュアルを参照してください。

注:LINE@アカウントでは使用できません。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

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

type

String

上限目安が設定されているかどうかを示す値。以下のどちらかになります。

  • none。上限目安が未設定であることを示します。
  • limited。上限目安が設定されていることを示します。

value

Number

当月分の追加メッセージの上限目安。typeプロパティがlimitedの場合にのみ返されます。

レスポンスの例

# 当月のメッセージ利用状況を取得する

当月に送信されたメッセージの数を取得します。

この操作により取得されるメッセージ数には、LINE Official Account Managerから送信するメッセージの数も含まれます。

この操作により取得されるメッセージ数は概算です。正確なメッセージ送信数を取得するには、LINE Official Account Managerを使用するか、送信済みのメッセージ数を取得するAPI操作を実行してください。

注:LINE@アカウントでは使用できません。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

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

totalUsage

Number

当月に送信されたメッセージの数

レスポンスの例

# 送信済みの応答メッセージの数を取得する

/bot/message/replyエンドポイントを使って送信されたメッセージの数を取得します。

この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

date

必須

メッセージが送信された日付

  • フォーマット:yyyyMMdd(例:20191231
  • タイムゾーン:UTC+9

# レスポンス

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

status

String

集計処理の状態。以下のいずれかの値です。

  • ready:メッセージ数を取得できます。
  • unreadydateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。
  • out_of_servicedateに指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。

success

Number

dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。

レスポンスの例

# 送信済みのプッシュメッセージの数を取得する

/bot/message/pushエンドポイントを使って送信されたメッセージの数を取得します。

この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。

注:フリープランまたはベーシックプランのLINE@アカウントでは使用できません。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

date

必須

メッセージが送信された日付

  • フォーマット:yyyyMMdd(例:20191231
  • タイムゾーン:UTC+9

# レスポンス

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

status

String

集計処理の状態。以下のいずれかの値です。

  • ready:メッセージ数を取得できます。
  • unreadydateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。
  • out_of_servicedateに指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。

success

Number

dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。

レスポンスの例

# 送信済みのマルチキャストメッセージの数を取得する

/bot/message/multicastエンドポイントを使って送信されたメッセージの数を取得します。

この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。

注:フリープランまたはベーシックプランのLINE@アカウントでは使用できません。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

date

必須

メッセージが送信された日付

  • フォーマット:yyyyMMdd(例:20191231
  • タイムゾーン:UTC+9

# レスポンス

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

status

String

集計処理の状態。以下のいずれかの値です。

  • ready:メッセージ数を取得できます。
  • unreadydateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。
  • out_of_servicedateに指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。

success

Number

dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。

レスポンスの例

# 送信済みのブロードキャストメッセージの数を取得する

/bot/message/broadcastエンドポイントを使って送信されたメッセージの数を取得します。

この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/message/delivery/broadcast

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

date

必須

メッセージが送信された日付

  • フォーマット:yyyyMMdd(例:20191231
  • タイムゾーン:UTC+9

# レスポンス

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

status

String

集計処理の状態。以下のいずれかの値です。

  • ready:メッセージ数を取得できます。
  • unreadydateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。
  • out_of_servicedateに指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。

success

Number

dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。

レスポンスの例

# オーディエンス管理

オーディエンスを作成して、メッセージを配信できます。

なお、オーディエンスには、以下の3種類があります。

注意

日本(JP)、タイ(TH)、台湾(TW)のユーザーが作成したLINE公式アカウントの場合のみ、オーディエンスを利用できます。

# ユーザーIDアップロード用のオーディエンスを作成する

ユーザーIDアップロード用のオーディエンスを作成します。オーディエンスは、合計1,000件まで作成できます。

ユーザーIDは、以下の方法で取得できます。

送信対象アカウントをIFA(Identifier For Advertisers)で指定するには手続きが必要です

送信対象アカウントをIFAで指定することもできますが、この機能をご利用いただくためには、所定の申請等が必要です。詳しくは、担当営業までご連絡いただくか、LINE for Businessウェブサイトからお問い合わせください。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/audienceGroup/upload

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

description

String

必須

オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCEaudienceは同じ名前と判定されます。
最大文字数:120

isIfaAudience

Boolean

必須

送信対象アカウントをユーザーIDで指定する場合は、falseを指定します(標準)。送信対象アカウントをIFAで指定する場合は、trueを指定します。

uploadDescription

String

任意

ジョブ(jobs[].description)に登録する説明

audiences

Array

必須

ユーザーIDまたはIFAの配列
最大件数:10,000

audiences[].id

String

必須

ユーザーIDまたはIFA

# レスポンス

HTTPステータスコード202とオーディエンスを返します。

audienceGroupId

Number

オーディエンスID

type

String

UPLOAD

description

String

オーディエンスの名前

created

Number

オーディエンスが作成された時刻のUNIXタイム

レスポンスの例

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_COUNT_MAX_OVER:作成できるオーディエンス数の上限(合計1,000件)に達しています。
  • AUDIENCE_GROUP_NAME_SIZE_OVER:オーディエンスの名前が長すぎます。
  • AUDIENCE_GROUP_NAME_DUPLICATE:既存のオーディエンスと同じ名前を指定しました。
  • AUDIENCE_GROUP_NAME_WRONG:オーディエンスの名前に、無効な文字(例:\nなどの制御コード)を指定しました。
  • AUDIENCE_GROUP_MISSING_AUDIENCESaudiencesプロパティが見つかりません。または、audiences[].idにユーザーIDまたはIFAが指定されていません。
  • AUDIENCE_GROUP_MISSING_IS_IFA_AUDIENCEisIfaAudienceプロパティが見つかりません。
  • UPLOAD_AUDIENCE_GROUP_INVALID_AUDIENCE_ID_FORMATaudiences[].idプロパティに無効なユーザーIDまたはIFAが指定されています。
  • UPLOAD_AUDIENCE_GROUP_TOO_MANY_AUDIENCE_IDS:ユーザーIDまたはIFAの登録上限に達しています。

# ユーザーIDアップロード用のオーディエンスにユーザーIDまたはIFAを追加する

ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加します。

リクエストタイムアウト値について

リクエストタイムアウトを30秒以上に設定することを強く推奨します。

ユーザーIDまたはIFAの種類は変更できません

ユーザーIDアップロード用のオーディエンスを作成したときと同じ種類(ユーザーIDまたはIFA)のデータを追加してください。たとえば、初めにIFAを指定して作成したオーディエンスに、ユーザーIDを指定することはできません。

オーディエンスを作成したときに指定した送信対象アカウントの種類(ユーザーIDまたはIFA)は、オーディエンスのisIfaAudienceプロパティで確認できます。詳しくは、「オーディエンスの情報を取得する」を参照してください。

ユーザーIDまたはIFAは削除できません

一度追加したユーザーIDまたはIFAを削除することはできません。

リクエストの例

# HTTPリクエスト

PUT https://api.line.me/v2/bot/audienceGroup/upload

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

audienceGroupId

Number

必須

オーディエンスID

description

String

任意

オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCEaudienceは同じ名前と判定されます。
最大文字数:120

uploadDescription

String

任意

ジョブ(jobs[].description)に登録する説明

audiences

Array

必須

ユーザーIDまたはIFAの配列
最大件数:10,000

audiences[].id

String

必須

ユーザーIDまたはIFA

# レスポンス

HTTPステータスコード202を返します。

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_NAME_SIZE_OVER:オーディエンスの名前が長すぎます。
  • AUDIENCE_GROUP_NAME_DUPLICATE:既存のオーディエンスと同じ名前を指定しました。
  • AUDIENCE_GROUP_NAME_WRONG:オーディエンスの名前に、無効な文字(例:\nなどの制御コード)を指定しました。
  • UPLOAD_AUDIENCE_GROUP_INVALID_AUDIENCE_ID_FORMATaudiences[].idプロパティに無効なユーザーIDまたはIFAが指定されています。
  • UPLOAD_AUDIENCE_GROUP_TOO_MANY_AUDIENCE_IDS:ユーザーIDまたはIFAの登録上限に達しています。
  • UPLOAD_AUDIENCE_GROUP_NO_VALID_AUDIENCE_IDS:有効なユーザーIDまたはIFAが指定されていません。
  • AUDIENCE_GROUP_CAN_NOT_UPLOAD_STATUS_EXPIRED:オーディエンス作成後、180日以上が経過しました。このオーディエンスは使用できません。

# クリックリターゲティング用のオーディエンスを作成する

クリックリターゲティング用のオーディエンスを作成します。オーディエンスは、合計1,000件まで作成できます。

クリックリターゲティング用のオーディエンスは、ブロードキャストメッセージまたはナローキャストメッセージに設定されたURLをクリックしたユーザーを集めたオーディエンスです。

メッセージは、リクエストIDで指定します。少なくとも1つのリンクをクリックしたユーザーが送信対象になります。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/audienceGroup/click

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

description

String

必須

オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCEaudienceは同じ名前と判定されます。
最大文字数:120

requestId

String

必須

配信から60日以内のブロードキャストメッセージまたはナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。

clickUrl

String

任意

ユーザーがクリックしたURL。省略した場合は、メッセージ内の任意のURLをクリックしたユーザーが送信対象になります。
最大文字数:2,000

# レスポンス

HTTPステータスコード202とオーディエンスを返します。

audienceGroupId

Number

オーディエンスID

type

String

CLICK

description

String

オーディエンスの名前

created

Number

オーディエンスが作成された時刻のUNIXタイム

requestId

String

オーディエンスを作成したときに指定したリクエストID

clickUrl

String

オーディエンスを作成したときに指定したURL

レスポンスの例

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_COUNT_MAX_OVER:作成できるオーディエンス数の上限(合計1,000件)に達しています。
  • AUDIENCE_GROUP_NAME_SIZE_OVER:オーディエンスの名前が長すぎます。
  • AUDIENCE_GROUP_NAME_DUPLICATE:既存のオーディエンスと同じ名前を指定しました。
  • AUDIENCE_GROUP_NAME_WRONG:オーディエンスの名前に、無効な文字(例:\nなどの制御コード)を指定しました。
  • AUDIENCE_GROUP_REQUESTID_DUPLICATE:既存のオーディエンスに指定したリクエストIDと同じ値を指定しました。
  • WRONG_BOT_ID:指定されたリクエストIDに含まれるボットIDが、チャネルに関連付けられたボットと異なります。
  • TOO_OLD_MESSAGES:メッセージを配信してから60日を超えた場合、そのメッセージ(リクエストID)に対するオーディエンスは作成できません。

# インプレッションリターゲティング用のオーディエンスを作成する

インプレッションリターゲティング用のオーディエンスを作成します。オーディエンスは、合計1,000件まで作成できます。

インプレッションリターゲティング用のオーディエンスは、ブロードキャストメッセージまたはナローキャストメッセージを表示したユーザーを集めたオーディエンスです。

メッセージは、リクエストIDで指定します。少なくとも1つの吹き出しを表示したユーザーが送信対象になります。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/audienceGroup/imp

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

description

String

必須

オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCEaudienceは同じ名前と判定されます。
最大文字数:120

requestId

String

必須

配信から60日以内のブロードキャストメッセージまたはナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。

# レスポンス

HTTPステータスコード202とオーディエンスを返します。

audienceGroupId

Number

オーディエンスID

type

String

IMP

description

String

オーディエンスの名前

created

Number

オーディエンスが作成された時刻のUNIXタイム

requestId

String

オーディエンスを作成したときに指定したリクエストID

レスポンスの例

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_COUNT_MAX_OVER:作成できるオーディエンス数の上限(合計1,000件)に達しています。
  • AUDIENCE_GROUP_NAME_SIZE_OVER:オーディエンスの名前が長すぎます。
  • AUDIENCE_GROUP_NAME_DUPLICATE:既存のオーディエンスと同じ名前を指定しました。
  • AUDIENCE_GROUP_NAME_WRONG:オーディエンスの名前に、無効な文字(例:\nなどの制御コード)を指定しました。
  • AUDIENCE_GROUP_REQUESTID_DUPLICATE:既存のオーディエンスに指定したリクエストIDと同じ値を指定しました。
  • WRONG_BOT_ID:指定されたリクエストIDに含まれるボットIDが、チャネルに関連付けられたボットと異なります。
  • TOO_OLD_MESSAGES:メッセージを配信してから60日を超えた場合、そのメッセージ(リクエストID)に対するオーディエンスは作成できません。

# オーディエンスの名前を更新する

既存のオーディエンスの名前を変更します。

リクエストの例

# HTTPリクエスト

PUT https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}/updateDescription

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# パスパラメータ

audienceGroupId

オーディエンスID

# リクエストボディ

description

String

必須

オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCEaudienceは同じ名前と判定されます。
最大文字数:120

# レスポンス

HTTPステータスコード200を返します。

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_NAME_SIZE_OVER:オーディエンスの名前が長すぎます。
  • AUDIENCE_GROUP_NAME_DUPLICATE:既存のオーディエンスと同じ名前を指定しました。
  • AUDIENCE_GROUP_NAME_WRONG:オーディエンスの名前に、無効な文字(例:\nなどの制御コード)を指定しました。

# オーディエンスを削除する

オーディエンスを削除します。

削除したオーディエンスは元に戻せません

削除する前に、オーディエンスが使用されていないことを確認してください。

リクエストの例

# HTTPリクエスト

DELETE https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

audienceGroupId

オーディエンスID

# レスポンス

HTTPステータスコード202を返します。

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_NOT_FOUND:オーディエンスが見つかりません。

# オーディエンスの情報を取得する

オーディエンスの情報を取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

audienceGroupId

オーディエンスID

# レスポンス

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

audienceGroupId

Number

オーディエンスID

type

String

オーディエンスのタイプ。以下のいずれかの値です。

  • UPLOAD:ユーザーIDアップロード用のオーディエンス
  • CLICK:クリックリターゲティング用のオーディエンス
  • IMP:インプレッションリターゲティング用のオーディエンス

description

String

オーディエンスの名前

status

String

オーディエンスのステータス。以下のいずれかの値です。

  • IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。
  • READY:配信に利用可能
  • FAILED:作成時にエラーが発生
  • EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。

failedType

String

失敗した原因。statusがFAILEDの場合にのみ含まれます。以下のいずれかの値です。

  • AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれる送信対象アカウントの数(最低100件)が不足しています。
  • INTERNAL_ERROR:内部サーバーのエラーです。

audienceCount

Number

有効な送信対象アカウントの数

created

Number

オーディエンスが作成された時刻のUNIXタイム

requestId

String

オーディエンスを作成したときに指定したリクエストID。typeがCLICKまたはIMPの場合にのみ含まれます。

clickUrl

String

オーディエンスを作成したときに指定したURL。typeがCLICKの場合にのみ含まれます。

isIfaAudience

Boolean

ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。

  • true:IFAで指定する
  • false:ユーザーIDで指定する(標準)

permission

String

オーディエンスの更新パーミッション。同じチャネルに関連付けられたオーディエンスは、READ_WRITEになります。

  • READ:利用のみ可能
  • READ_WRITE:利用と更新が可能

createRoute

String

オーディエンスの作成方法。省略した場合は、すべてのオーディエンスを取得します。

jobs

Array

ジョブの配列。ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加した履歴を管理する配列です。それ以外のオーディエンスの場合はnullが返ります。

jobs[].audienceGroupJobId

Number

ジョブID

jobs[].audienceGroupId

Number

オーディエンスID

jobs[].description

String

ジョブの説明

jobs[].type

String

ジョブの種類。以下のいずれかの値です。

  • DIFF_ADD:Messaging APIでユーザーIDまたはIFAを追加したことを示します。

jobs[].jobStatus

String

ジョブのステータス。以下のいずれかの値です。

  • QUEUED:待機中
  • WORKING:実行中
  • FINISHED:成功
  • FAILED:失敗

jobs[].failedType

String

失敗した原因。jobs[].jobStatusがFAILEDの場合にのみ含まれます。以下のいずれかの値です。

  • INTERNAL_ERROR:内部サーバーのエラーです。

jobs[].audienceCount

Number

追加または削除された送信対象アカウントの数

jobs[].created

Number

ジョブが作成された時刻のUNIXタイム

# エラーレスポンス

HTTPステータスコード400と以下の情報を含むJSONオブジェクトを返します。

message

String

エラーの概要

details

String

エラーの内容。以下のいずれかの値です。

  • AUDIENCE_GROUP_NOT_FOUND:オーディエンスが見つかりません。

# 複数のオーディエンスの情報を取得する

複数のオーディエンスの情報を取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/audienceGroup/list

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

page

必須

取得するページ番号。1以上を指定してください。

description

任意

取得するオーディエンスの名前。部分一致で検索できます。なお、大文字と小文字は区別されないため、AUDIENCEaudienceは同じ名前と判定されます。

status

任意

取得するオーディエンスのステータス。以下のいずれかの値です。

  • IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。
  • READY:配信に利用可能
  • FAILED:作成時にエラーが発生
  • EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。

size

任意

1ページごとのオーディエンス数。デフォルト値は20です。
最大値:40

includesExternalPublicGroups

任意
  • true:同じボットに関連付けられた、すべてのチャネルで作成された公開オーディエンスを取得
  • false:同じチャネルに作成されたオーディエンスのみを取得

createRoute

任意

オーディエンスの作成方法。省略した場合は、すべてのオーディエンスを取得します。

  • OA_MANAGERLINE Official Account Managerで作成したオーディエンスのみを取得
  • MESSAGING_API:Messaging APIで作成したオーディエンスのみを取得

# レスポンス

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

audienceGroups

Array

オーディエンスの情報の配列

audienceGroups[].audienceGroupId

Number

オーディエンスID

audienceGroups[].type

String

オーディエンスのタイプ。以下のいずれかの値です。

  • UPLOAD:ユーザーIDアップロード用のオーディエンス
  • CLICK:クリックリターゲティング用のオーディエンス
  • IMP:インプレッションリターゲティング用のオーディエンス

audienceGroups[].description

String

オーディエンスの名前

audienceGroups[].status

String

オーディエンスのステータス。以下のいずれかの値です。

  • IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。
  • READY:配信に利用可能
  • FAILED:作成時にエラーが発生
  • EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。

audienceGroups[].failedType

String

失敗した原因。audienceGroups[].statusがFAILEDまたはEXPIREDの場合にのみ含まれます。以下のいずれかの値です。

  • AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれる送信対象アカウントの数(最低100件)が不足しています。
  • INTERNAL_ERROR:内部サーバーのエラーです。

audienceGroups[].audienceCount

Number

有効な送信対象アカウントの数

audienceGroups[].created

Number

オーディエンスが作成された時刻のUNIXタイム

audienceGroups[].requestId

String

オーディエンスを作成したときに指定したリクエストID。audienceGroups[].typeがCLICKまたはIMPの場合にのみ含まれます。

audienceGroups[].clickUrl

String

オーディエンスを作成したときに指定したURL。audienceGroups[].typeがCLICKの場合にのみ含まれます。

audienceGroups[].isIfaAudience

Boolean

ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。

  • true:IFAで指定する
  • false:ユーザーIDで指定する(標準)

audienceGroups[].permission

String

オーディエンスの更新パーミッション。同じチャネルに関連付けられたオーディエンスは、READ_WRITEになります。

  • READ:利用のみ可能
  • READ_WRITE:利用と更新が可能

audienceGroups[].createRoute

String

オーディエンスの作成方法。省略した場合は、すべてのオーディエンスを含める。

hasNextPage

Boolean

次のページが存在する場合は、true

totalCount

Int

指定した条件で取得できるオーディエンスの総数

readWriteAudienceGroupTotalCount

Int

指定した条件で取得できるオーディエンスのうち、更新パーミッションがREAD_WRITEに設定されているオーディエンスの数

page

Int

現在のページ番号

size

Int

現在のページに含まれるオーディエンス数

# オーディエンスの権限レベルを取得する

オーディエンスの権限レベルを取得します。

注意

権限レベルはチャネルごとに設定されます。オーディエンスごとに異なる権限レベルを設定することはできません。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/audienceGroup/authorityLevel

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

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

authorityLevel

String

チャネルに関連付けられた、すべてのオーディエンスの権限レベル

  • PUBLIC:デフォルトの権限レベルです。この権限レベルのオーディエンスは、オーディエンスを作成したチャネル以外でも使用できます。たとえば、LINE Official Account ManagerLINE Ad Manager、同じボットに関連付けられているすべてのチャネルで利用できます。
  • PRIVATE:この権限レベルのオーディエンスは、オーディエンスを作成したチャネルでのみ使用できます。

# オーディエンスの権限レベルを変更する

同じチャネルで作成された、すべてのオーディエンスの権限レベルを変更します。

  • PUBLICに設定したオーディエンスは、オーディエンスを作成したチャネル以外でも使用できます。たとえば、LINE Official Account ManagerLINE Ad Manager、同じボットに関連付けられているすべてのチャネルで利用できます。
  • PRIVATEに設定したオーディエンスは、オーディエンスを作成したチャネルでのみ使用できます。
注意

権限レベルはチャネルごとに設定されます。オーディエンスごとに異なる権限レベルを設定することはできません。

リクエストの例

# HTTPリクエスト

PUT https://api.line.me/v2/bot/audienceGroup/authorityLevel

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

authorityLevel

String

必須

チャネルに関連付けられた、すべてのオーディエンスの権限レベル

  • PUBLIC:デフォルトの権限レベルです。この権限レベルのオーディエンスは、オーディエンスを作成したチャネル以外でも使用できます。たとえば、LINE Official Account ManagerLINE Ad Manager、同じボットに関連付けられているすべてのチャネルで利用できます。
  • PRIVATE:この権限レベルのオーディエンスは、オーディエンスを作成したチャネルでのみ使用できます。

# レスポンス

HTTPステータスコード200を返します。

# 分析

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

LINE公式アカウントから送信したメッセージの数を確認できます。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/insight/message/delivery?date={date}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

date

必須

メッセージの送信数を確認する日付

  • フォーマット:yyyyMMdd(例:20191231
  • タイムゾーン:UTC+9

# レスポンス

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

status

String

集計処理の状態。以下のいずれかの値です。

  • ready:メッセージ数を取得できます。
  • unreadydateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。
  • out_of_servicedateに指定した日付が、集計システムの稼働開始日(2017年03月01日)より前です。

broadcast

Number

LINE公式アカウントと友だちになっているすべてのユーザーに送信されたプッシュメッセージ(ブロードキャストメッセージ)の数。

targeting

Number

LINE公式アカウントと友だちになっているユーザーの中から属性で絞り込んで送信されたプッシュメッセージ(ターゲティングメッセージ、セグメントメッセージ)の数。

autoResponse

Number

送信された応答メッセージの数。

welcomeResponse

Number

送信されたあいさつメッセージの数。

chat

Number

LINE Official Account Managerの「チャット基本画面」から送信されたメッセージの数。

apiBroadcast

Number

ブロードキャストメッセージを送る」で送信されたメッセージの数。

apiPush

Number

プッシュメッセージを送る」で送信されたメッセージの数。

apiMulticast

Number

マルチキャストメッセージを送る」で送信されたメッセージの数。

apiNarrowcast

Number

ナローキャストメッセージを送る」で送信されたメッセージの数。

apiReply

Number

応答メッセージを送る」で送信されたメッセージの数。

broadcast以降のプロパティは、dateに指定した日付に送信されたメッセージの数です。なお、statusの値がreadyの場合にのみレスポンスに含まれます。

レスポンスの例

# 友だち数を取得する

LINE公式アカウントの友だち数を確認できます。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/insight/followers?date={date}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

date

必須

友だち数を確認する日付

  • フォーマット:yyyyMMdd(例:20191231
  • タイムゾーン:UTC+9

# レスポンス

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

status

String

集計処理の状態。以下のいずれかの値です。

  • ready:数値を取得できます。
  • unreadydateに指定した日付の友だち数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。
  • out_of_servicedateに指定した日付が、集計システムの稼働開始日(2016年11月01日)より前です。

followers

Number

dateに指定した日付までに、アカウントが友だち追加された回数。アカウントがブロックされたり、あなたを友だち追加したユーザーがLINEアカウントを削除したりしても、この値は減少しません。

targetedReaches

Number

dateに指定した日付時点の、性別や年齢、地域で絞り込んだターゲティングメッセージの配信先となりうる友だちの総数。LINEおよびその他のLINEサービスの利用頻度が高く、属性の高精度な推定が可能な友だちが含まれます。

blocks

Number

dateに指定した日付時点で、アカウントをブロックしているユーザーの数。ブロックが解除されると、この値は減少します。

followers以降のプロパティは、statusの値がreadyの場合にのみレスポンスに含まれます。

レスポンスの例

# 友だちの属性情報に基づく統計情報を取得する

LINE公式アカウントの友だちの属性情報に基づく統計情報を確認できます。なお、日本(JP)、タイ(TH)、台湾(TW)のユーザーが作成したLINE公式アカウントの場合のみ、統計情報を確認できます。

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

リアルタイムデータではありません

友だちの統計情報が反映されるまで最大3日ほどかかります。 そのため、取得できる情報は3日前の数値です。また、統計情報を表示するには20人以上のターゲットリーチが必要です。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/insight/demographic

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

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

available

Boolean

友だちの属性情報に基づく統計情報が利用できる場合は、true

genders

Array

性別ごとの割合

genders[].gender

String

ユーザーの性別に基づいて、以下の値が返されます。

  • male
  • female
  • unknown

genders[].percentage

Number

割合

ages

Array

年齢ごとの割合

ages[].age

String

ユーザーの年齢に基づいて、以下の値が返されます。

  • from0to14
  • from15to19
  • from20to24
  • from25to29
  • from30to34
  • from35to39
  • from40to44
  • from45to49
  • from50
  • unknown

ages[].percentage

Number

割合

areas

Array

地域ごとの割合

areas[].area

String

ユーザーの国や地域に基づいて、以下の値が返されます。
JP

  • 北海道
  • 青森
  • 岩手
  • 宮城
  • 秋田
  • 山形
  • 福島
  • 茨城
  • 栃木
  • 群馬
  • 埼玉
  • 千葉
  • 東京
  • 神奈川
  • 新潟
  • 富山
  • 石川
  • 福井
  • 山梨
  • 長野
  • 岐阜
  • 静岡
  • 愛知
  • 三重
  • 滋賀
  • 京都
  • 大阪
  • 兵庫
  • 奈良
  • 和歌山
  • 鳥取
  • 島根
  • 岡山
  • 広島
  • 山口
  • 徳島
  • 香川
  • 愛媛
  • 高知
  • 福岡
  • 佐賀
  • 長崎
  • 熊本
  • 大分
  • 宮崎
  • 鹿児島
  • 沖縄
  • unknown

TW

  • 台北市
  • 新北市
  • 桃園市
  • 台中市
  • 台南市
  • 高雄市
  • 基隆市
  • 新竹市
  • 嘉義市
  • 新竹縣
  • 苗栗縣
  • 彰化縣
  • 南投縣
  • 雲林縣
  • 嘉義縣
  • 屏東縣
  • 宜蘭縣
  • 花蓮縣
  • 台東縣
  • 澎湖縣
  • 金門縣
  • 連江縣
  • unknown

TH

  • Bangkok
  • Pattaya
  • Northern
  • Central
  • Southern
  • Eastern
  • NorthEastern
  • Western
  • unknown

areas[].percentage

Number

割合

appTypes

Array

OSごとの割合

appTypes[].appType

String

ユーザーが使用するOSに基づいて、以下の値が返されます。

  • ios
  • android
  • others

appTypes[].percentage

Number

割合

subscriptionPeriods

Array

友だち期間ごとの割合

subscriptionPeriods[].subscriptionPeriod

String

ユーザーとの友だち期間に基づいて、以下の値が返されます。

  • within7days
  • within30days
  • within90days
  • within180days
  • within365days
  • over365days
  • unknown

subscriptionPeriods[].percentage

Number

割合

各Arrayの要素は、availableの値がtrueの場合にのみレスポンスに含まれます。

レスポンスの例

# ユーザーの操作に基づく統計情報を取得する

LINE公式アカウントから送信したナローキャストメッセージまたはブロードキャストメッセージに対して、ユーザーがどのように操作したかを示す統計情報を確認できます。

1メッセージ(message)単位、および1吹き出し(bubble)単位で統計情報を取得できます。

message and bubbles

注意

サービス統合前のLINE公式アカウントおよびLINE@アカウントでは、このAPIは使用できません。サービス統合後のLINE公式アカウントに移行してください。詳しくは、「LINE@アカウントの移行」を参照してください。

記録される統計情報について

統計情報は、メッセージを送信した日から14日分のみ記録されます。送信した日から15日以上が経過しても、統計情報は更新されません。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/insight/message/event?requestId={requestId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# クエリパラメータ

requestId

必須

ナローキャストメッセージまたはブロードキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。

# レスポンス

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

注意

プライバシーを保護するために、個人の操作に関するプロパティの値はnullまたは-1になる場合があります。

  • nulloverview.uniqueImpressionが20未満
  • -1overview.uniqueImpressionが20以上だが、当該プロパティの値が20未満

overview

Object

メッセージに関する統計情報。

overview.requestId

String

リクエストID。

overview.timestamp

Number

メッセージが配信された時刻のUNIXタイム。

overview.delivered

Number

メッセージの送信数。この値は、20未満の数値も表示されます。ただし、メッセージの送信がすべて完了していない場合はnullになります。

overview.uniqueImpression

Number

メッセージを開封した人数。少なくとも1つの吹き出しを表示した人数です。

overview.uniqueClick

Number

メッセージ内のいずれかのURLをタップした人数。

overview.uniqueMediaPlayed

Number

メッセージ内のいずれかの動画または音声の再生を開始した人数。

overview.uniqueMediaPlayed100Percent

Number

メッセージ内のいずれかの動画または音声を最後まで視聴した人数。

messages

Array

吹き出しに関する情報を表す配列。

messages[].seq

Number

吹き出しの通し番号。

messages[].impression

Number

吹き出しが表示された回数。

messages[].mediaPlayed

Number

吹き出し内の動画または音声が再生開始された回数。

messages[].mediaPlayed25Percent

Number

吹き出し内の動画または音声が再生開始され、25%再生された回数。

messages[].mediaPlayed50Percent

Number

吹き出し内の動画または音声が再生開始され、50%再生された回数。

messages[].mediaPlayed75Percent

Number

吹き出し内の動画または音声が再生開始され、75%再生された回数。

messages[].mediaPlayed100Percent

Number

吹き出し内の動画または音声が再生開始され、100%再生された回数。

messages[].uniqueMediaPlayed

Number

吹き出し内の動画または音声を再生開始した人数。

messages[].uniqueMediaPlayed25Percent

Number

吹き出し内の動画または音声を再生開始し、25%再生した人数。

messages[].uniqueMediaPlayed50Percent

Number

吹き出し内の動画または音声を再生開始し、50%再生した人数。

messages[].uniqueMediaPlayed75Percent

Number

吹き出し内の動画または音声を再生開始し、75%再生した人数。

messages[].uniqueMediaPlayed100Percent

Number

吹き出し内の動画または音声を再生開始し、100%再生した人数。

clicks

Array

タップしたURLに関する情報を表す配列。

clicks[].seq

Number

URLが含まれていた吹き出しの通し番号。

clicks[].url

String

URL。

clicks[].click

Number

吹き出し内のURLをタップした回数。

clicks[].uniqueClick

Number

吹き出し内のURLをタップした人数。

clicks[].uniqueClickOfRequest

Number

メッセージ内のURLのうちurlと同じURLをタップした人数。ほかの吹き出しに同じURLが設定されている場合に、1人のユーザーが各URLをタップした場合でも、1回だけカウントされます。

レスポンスの例

# プロフィール

# プロフィールを取得する

ユーザープロフィール情報を取得するAPIです。

リクエストの例

# HTTPリクエスト

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

userId

Webhookイベントオブジェクトで返されるユーザーID。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

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

displayName

String

ユーザーの表示名

userId

String

ユーザーID

pictureUrl

String

プロフィール画像のURL。スキームはhttpsです。ユーザーがプロフィール画像を設定していない場合はレスポンスに含まれません。

statusMessage

String

ユーザーのステータスメッセージ。ユーザーがステータスメッセージを設定していない場合はレスポンスに含まれません。

レスポンスの例

# グループ

# グループメンバーのユーザーIDを取得する

注意

この機能は認証済みアカウントまたはプレミアムアカウントのみでご利用いただけます。アカウント種別について詳しくは、LINE for Businessウェブサイトの「LINE Account Connect」ページからダウンロードできる「媒体資料」をご覧ください。

LINE公式アカウントが参加しているグループのメンバーの、ユーザーIDを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのユーザーIDも取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/group/{groupId}/members/ids

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

groupId

必須

グループID。Webhookイベントオブジェクトsourceオブジェクトで返されます。

# クエリパラメータ

start

任意

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

# レスポンス

ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。

memberIds

文字列の配列

グループメンバーのユーザーIDのリスト。LINEバージョン7.4.x以前を使用しているユーザーは、memberIdsに含まれません。詳しくは、「ユーザーの同意」を参照してください。
最大ユーザー数:100

next

String

継続トークン。グループメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。

レスポンスの例

# グループメンバーのプロフィールを取得する

LINE公式アカウントが参加しているグループのメンバーのユーザーIDが既知である場合に、そのメンバーのユーザープロフィールを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのプロフィールも取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/group/{groupId}/member/{userId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

groupId

グループID。Webhookイベントオブジェクトsourceオブジェクトで返されます。

userId

ユーザーID。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

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

displayName

String

表示名

userId

String

ユーザーID

pictureUrl

String

プロフィール画像のURL

レスポンスの例

# グループから退出する

グループから退出するAPIです。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/group/{groupId}/leave

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

groupId

グループID。Webhookイベントオブジェクトsourceオブジェクトで返されます。

# レスポンス

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

レスポンスの例

# トークルーム

# トークルームメンバーのユーザーIDを取得する

注意

この機能は認証済みアカウントまたはプレミアムアカウントのみでご利用いただけます。アカウント種別について詳しくは、LINE for Businessウェブサイトの「LINE Account Connect」ページからダウンロードできる「媒体資料」をご覧ください。

LINE公式アカウントが参加しているトークルームのメンバーの、ユーザーIDを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのユーザーIDも取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/room/{roomId}/members/ids

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

roomId

必須

トークルームID。Webhookイベントオブジェクトsourceオブジェクトで返されます。

# クエリパラメータ

start

任意

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

# レスポンス

ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。

memberIds

文字列の配列

トークルームメンバーのユーザーIDのリスト。LINEバージョン7.4.x以前を使用しているユーザーは、memberIdsに含まれません。詳しくは、「ユーザーの同意」を参照してください。
最大ユーザー数:100

next

String

継続トークン。トークルームメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。

レスポンスの例

# トークルームメンバーのプロフィールを取得する

LINE公式アカウントが参加しているトークルームのメンバーのユーザーIDが既知である場合に、そのメンバーのユーザープロフィールを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのプロフィールも取得します。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/room/{roomId}/member/{userId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

roomId

トークルームID。Webhookイベントオブジェクトsourceオブジェクトで返されます。

userId

ユーザーID。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

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

displayName

String

表示名

userId

String

ユーザーID

pictureUrl

String

プロフィール画像のURL

レスポンスの例

# トークルームから退出する

トークルームから退出するAPIです。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/room/{roomId}/leave

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

roomId

トークルームID。Webhookイベントオブジェクトsourceオブジェクトで返されます。

# レスポンス

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

レスポンスの例

# リッチメニュー

Note

Messaging APIで作成したリッチメニューは、Android版とiOS版のLINE 7.14.0以降でサポートされます。

LINE公式アカウントのトーク画面に表示される、カスタマイズ可能なメニューです。詳しくは、「リッチメニューを使う」を参照してください。

# リッチメニューを作成する

リッチメニューを作成するAPIです。

リッチメニューを表示するには、リッチメニューの画像をアップロードし、さらにデフォルトのリッチメニューを設定するかリッチメニューをユーザーとリンクする必要があります。1つのLINE公式アカウントに対して、Messaging APIを使って最大で1000件のリッチメニューを作成できます。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/richmenu

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

application/json

# リクエストボディ

リッチメニューオブジェクトとして表されるリッチメニューを指定します。

# レスポンス

ステータスコード200とリッチメニューIDを表すJSONオブジェクトを返します。

レスポンスの例

# リッチメニューの画像をアップロードする

画像をアップロードしてリッチメニューに付加するAPIです。

リッチメニューの画像は以下の要件を満たす必要があります。

  • 画像フォーマット:JPEGまたはPNG
  • 画像サイズ(ピクセル):2500x1686、2500x843、1200x810、1200x405、800x540、800x270
  • 最大ファイルサイズ:1MB

注:リッチメニューに付加された画像を置き換えることはできません。リッチメニューの画像を更新するには、新しいリッチメニューオブジェクトを作成して、新しい画像をアップロードします。

リクエストの例

# HTTPリクエスト

POST https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content

# リクエストヘッダー

Authorization

Bearer {channel access token}

Content-Type

image/jpegまたはimage/png

Content-Length

リクエストボディのオクテット(8ビットバイト)での長さ。正の値である必要があります。

# パスパラメータ

richMenuId

必須

画像を付加するリッチメニューのID

# レスポンス

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

レスポンスの例

# リッチメニューの画像をダウンロードする

リッチメニューの画像をダウンロードするAPIです。

リクエストの例

# HTTPリクエスト

GET https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

richMenuId

必須

画像をダウンロードするリッチメニューのID

# レスポンス

ステータスコード200とリッチメニュー画像のバイナリデータを返します。リクエストの例に示すように、画像をダウンロードできます。

# リッチメニューの配列を取得する

リッチメニューを作成する」で作成したすべてのリッチメニューのリッチメニューレスポンスオブジェクトを取得します。

注意

LINE Official Account Managerで作成したリッチメニューは取得できません。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/richmenu/list

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

ステータスコード200リッチメニューレスポンスオブジェクトの配列を返します。

レスポンスの例

# リッチメニューを取得する

IDを指定してリッチメニューを取得するAPIです。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/richmenu/{richMenuId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

richMenuId

必須

リッチメニューのID

# レスポンス

ステータスコード200と、リッチメニューレスポンスオブジェクトを含むJSONレスポンスが返されます。

レスポンスの例

# リッチメニューを削除する

リッチメニューを削除します。

リッチメニュー数の上限について

Messaging APIで作成できるリッチメニューの数の上限は、LINE公式アカウントあたり1,000件です。この上限を超過した場合は、新しいリッチメニューを作成する前に既存のリッチメニューを削除する必要があります。

リクエストの例

# HTTPリクエスト

DELETE https://api.line.me/v2/bot/richmenu/{richMenuId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

richMenuId

必須

リッチメニューのID

# レスポンス

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

レスポンスの例

# デフォルトのリッチメニューを設定する

デフォルトのリッチメニューを設定するAPIです。デフォルトのリッチメニューは、LINE公式アカウントと友だちになっているユーザーのうち、個別にリッチメニューをリンクされていないすべてのユーザーに表示されます。すでにデフォルトのリッチメニューが設定されていた場合は、新しく指定したリッチメニューに置き換えられます。

リッチメニューの表示優先順位は高い順に以下のとおりです。

  1. Messaging APIで設定するユーザー単位のリッチメニュー
  2. Messaging APIで設定するデフォルトのリッチメニュー
  3. LINE Official Account Managerで設定するデフォルトのリッチメニュー

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/user/all/richmenu/{richMenuId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

richMenuId

必須

リッチメニューのID

# レスポンス

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

レスポンスの例

# デフォルトのリッチメニューのIDを取得する

Messaging APIで設定したデフォルトのリッチメニューのIDを取得するAPIです。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/user/all/richmenu

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

ステータスコード200とリッチメニューIDを表すJSONオブジェクトを返します。

レスポンスの例

# デフォルトのリッチメニューを解除する

Messaging APIで設定したデフォルトのリッチメニューを解除するAPIです。

リクエストの例

# HTTPリクエスト

DELETE https://api.line.me/v2/bot/user/all/richmenu

# リクエストヘッダー

Authorization

Bearer {channel access token}

# レスポンス

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

レスポンスの例

リッチメニューとユーザーをリンクするAPIです。複数のリッチメニューを1人のユーザーに同時にリンクすることはできません。ユーザーにすでにリッチメニューがリンクされていた場合は、新しく指定したリッチメニューに置き換えられます。

リッチメニューの表示優先順位は高い順に以下のとおりです。

  1. Messaging APIで設定するユーザー単位のリッチメニュー
  2. Messaging APIで設定するデフォルトのリッチメニュー
  3. LINE Official Account Managerで設定するデフォルトのリッチメニュー

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/user/{userId}/richmenu/{richMenuId}

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

richMenuId

必須

リッチメニューのID

userId

必須

ユーザーID。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

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

レスポンスの例

リッチメニューと複数のユーザーをリンクします。

リッチメニューの表示優先順位は高い順に以下のとおりです。

  1. Messaging APIで設定するユーザー単位のリッチメニュー
  2. Messaging APIで設定するデフォルトのリッチメニュー
  3. LINE Official Accountで設定するデフォルトのリッチメニュー

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/richmenu/bulk/link

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# リクエストボディ

richMenuId

String

必須

リッチメニューのID

userIds

Stringの配列

必須

ユーザーIDの配列。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:150

# レスポンス

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

リッチメニューと1人のユーザーをリンクする場合と異なり、このリクエストはバックグラウンドで非同期に処理されます。通常、処理は数秒で完了します。

リクエストの処理が成功したかどうかを検証するには、ユーザーのリッチメニューのIDを取得して、リッチメニューがユーザーにリンクされていることを確認します。

レスポンスの例

# ユーザーのリッチメニューのIDを取得する

ユーザーにリンクされたリッチメニューのIDを取得するAPIです。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/user/{userId}/richmenu

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

userId

必須

ユーザーID。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

ステータスコード200とリッチメニューIDを表すJSONオブジェクトを返します。

レスポンスの例

リッチメニューとユーザーのリンクを解除するAPIです。

リクエストの例

# HTTPリクエスト

DELETE https://api.line.me/v2/bot/user/{userId}/richmenu

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

userId

必須

ユーザーID。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

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

レスポンスの例

複数のユーザーのリッチメニューのリンクを解除します。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/richmenu/bulk/unlink

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# リクエストボディ

userIds

Stringの配列

必須

ユーザーIDの配列。Webhookイベントオブジェクトsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:150

# レスポンス

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

リッチメニューと1人のユーザーのリンクを解除する場合と異なり、このリクエストはバックグラウンドで非同期に処理されます。通常、処理は数秒で完了します。

リクエストの処理が成功したかどうかを検証するには、ユーザーのリッチメニューのIDを取得して、リンクを解除したはずのリッチメニューがユーザーにリンクされていないことを確認します。

レスポンスの例

# フォロワーのIDを取得する

注意

この機能は認証済みアカウントまたはプレミアムアカウントのみでご利用いただけます。アカウント種別について詳しくは、LINE for Businessウェブサイトの「LINE Account Connect」ページからダウンロードできる「媒体資料」をご覧ください。

LINE公式アカウントを友だち追加したユーザー(フォロワー)のIDを取得するAPIです。

リクエストの例

# HTTPリクエスト

GET https://api.line.me/v2/bot/followers/ids

# リクエストヘッダー

Content-Type

application/json

Authorization

Bearer {channel access token}

# クエリパラメータ

start

任意

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

# レスポンス

ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。

userIds

文字列の配列

LINE公式アカウントを友だち追加したユーザーのユーザーIDのリスト。LINEバージョン7.4.x以前を使用しているユーザーは、userIdsに含まれません。詳しくは、「ユーザーの同意」を参照してください。
最大ユーザー数:300

next

String

継続トークン。ユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのuserIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。userIdsに含まれるユーザーIDの数は、nextプロパティが返される場合でも必ず300件になるとは限りません。

レスポンスの例

# アカウント連携

アカウント連携で使用する連携トークンを発行するAPIです。

リクエストの例

# HTTPリクエスト

POST https://api.line.me/v2/bot/user/{userId}/linkToken

# リクエストヘッダー

Authorization

Bearer {channel access token}

# パスパラメータ

userId

必須

連携対象のLINEアカウントのユーザーID。アカウント連携イベントオブジェクトのsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。

# レスポンス

ステータスコード200と連携トークンを返します。連携トークンの有効期間は10分で、1回のみ使用できます。

注:有効期間は予告なく変わる可能性があります。

レスポンスの例

# メッセージオブジェクト

送信するメッセージの内容を表すJSONオブジェクトです。

# メッセージ共通プロパティ

以下のプロパティはすべてのメッセージオブジェクトに指定できます。

# クイックリプライ

クイックリプライ機能で使用するプロパティです。Android版とiOS版のLINE 8.11.0以降でサポートされます。詳しくは、「クイックリプライを使う」を参照してください。

quickReply

Object

任意

複数のメッセージオブジェクトを受信したユーザーには、最後のメッセージオブジェクトのquickReplyプロパティが表示されます。

# itemsオブジェクト

クイックリプライボタンのコンテナです。

items

Objectの配列

必須

クイックリプライボタンオブジェクト。最大オブジェクト数:13

itemsオブジェクトの例

# クイックリプライボタンオブジェクト

ボタン形式で表示される、クイックリプライの選択肢です。

type

String

必須

action

imageUrl

String

任意

ボタンの先頭に表示するアイコンのURL

  • 最大文字数:1000
  • URLスキーム:https
  • 画像フォーマット:PNG
  • アスペクト比:1:1
  • 最大データサイズ:1MB

画像サイズに制限はありません。
actionプロパティに指定するアクションがカメラアクションカメラロールアクション、または位置情報アクションで、imageUrlプロパティが未指定の場合、デフォルトのアイコンが表示されます。

action

Object

必須

タップされたときのアクション。アクションオブジェクトを指定します。指定できるアクションの種類は以下のとおりです。

クイックリプライボタンが設定されたメッセージを未対応のLINEで受信すると、メッセージ本体のみが表示されます。

# アイコンおよび表示名の変更

LINE公式アカウントからメッセージを送る際に、メッセージオブジェクトに、sender.nameプロパティとsender.iconUrlプロパティを指定できます。

sender.name

String

任意

表示名。LINEなど弊社のサービスと誤認される可能性があるワードは使用できません。
最大文字数:20

sender.iconUrl

String

任意

メッセージ送信時にアイコンとして表示する画像のURL

  • 最大文字数:1000
  • URLスキーム:https

アイコンおよび表示名を変更するテキストメッセージの例

# テキストメッセージ

type

String

必須

text

text

String

必須

メッセージのテキスト。以下の絵文字を含めることができます。

最大文字数:2000

テキストメッセージの例

絵文字を含むテキストメッセージの例

{
    "type": "text",
    "text": "\uDBC0\uDC84 LINE emoji"
}

# スタンプメッセージ

type

String

必須

sticker

packageId

String

必須

スタンプセットのパッケージID。パッケージIDについては、スタンプリストを参照してください。

stickerId

String

必須

スタンプID。Messaging APIで送信できるスタンプのスタンプIDについては、スタンプリストを参照してください。

スタンプメッセージの例

# 画像メッセージ

type

String

必須

image

originalContentUrl

String

必須

画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEG
最大画像サイズ:4096×4096
最大ファイルサイズ:1MB

previewImageUrl

String

必須

プレビュー画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEG
最大画像サイズ:240×240
最大ファイルサイズ:1MB

画像メッセージの例

# 動画メッセージ

type

String

必須

video

originalContentUrl

String

必須

動画ファイルのURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
mp4
最大長:1分
最大ファイルサイズ:10MB

一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。

previewImageUrl

String

必須

プレビュー画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEG
最大画像サイズ:240×240
最大ファイルサイズ:1MB

動画メッセージの例

# 音声メッセージ

type

String

必須

audio

originalContentUrl

String

必須

音声ファイルのURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
m4a
最大長:1分
最大ファイルサイズ:10MB

duration

Number

必須

音声ファイルの長さ(ミリ秒)

音声メッセージの例

# 位置情報メッセージ

type

String

必須

location

title

String

必須

タイトル
最大文字数:100

address

String

必須

住所
最大文字数:100

latitude

Decimal

必須

緯度

longitude

Decimal

必須

経度

位置情報メッセージの例

# イメージマップメッセージ

イメージマップメッセージは、複数のタップ領域を設定した画像を送信できるメッセージです。画像全体に1つのタップ領域を割り当てることも、画像を区切って複数のタップ領域を設定することもできます。

また、画像の上で動画を再生したり、動画再生後にリンク先を設定したラベルを表示したりできます。

type

String

必須

imagemap

baseUrl

String

必須

画像のベースURL
最大文字数:1000
HTTPS(TLS 1.2以降)
イメージマップメッセージで使える画像について詳しくは、「画像の設定方法」を参照してください。

altText

String

必須

代替テキスト
最大文字数:400

baseSize.width

Number

必須

基本画像の幅(px単位)。1040を指定します。

baseSize.height

Number

必須

基本画像の幅を1040pxとした場合の高さ

video.originalContentUrl

String

動画ファイルのURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
mp4
最大長:1分
最大ファイルサイズ:10MB

注:一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。

video.previewImageUrl

String

プレビュー画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEG
最大画像サイズ:240×240
最大ファイルサイズ:1MB

video.area.x

Number

イメージマップ領域の左端を基準とした動画領域の位置(横方向の相対位置)。0以上の値を設定してください。

video.area.y

Number

イメージマップ領域の上端を基準とした動画領域の位置(縦方向の相対位置)。0以上の値を設定してください。

video.area.width

Number

動画領域の幅

video.area.height

Number

動画領域の高さ

video.externalLink.linkUri

String

ウェブページのURL。動画再生後に表示されるラベルをタップしたときに呼び出されます。
最大文字数:1000
使用できるスキームは、httphttpsline、およびtelです。 LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。

video.externalLink.label

String

ラベル。動画の再生が終了した後に表示されます。
最大文字数:30

画像がタップされたときのアクション
最大件数:50

※1 イメージマップで動画を再生する場合は必須です。
※2 イメージマップで動画を再生し、動画再生後にラベルを表示する場合は必須です。

2つのタップ領域を持つイメージマップメッセージの例

# 画像の設定方法

イメージマップメッセージで使用する画像は、以下の要件を満たす必要があります。

  • 画像フォーマット:JPEGまたはPNG
  • 画像の幅:240px、300px、460px、700px、および1040px
  • 最大ファイルサイズ:1MB

baseUrl/{image width}」というURL形式で、5つの異なるサイズの画像にアクセスできるようにしてください。LINEはユーザーのデバイスに応じて、適切な解像度の画像を取得します。

たとえば、画像のベースURLが「https://example.com/images/cats」だった場合、幅が700pxの画像のURLは「https://example.com/images/cats/700」になります。すべての画像のURLにアクセスして、画像が表示されることを確認してください。

画像の幅 URLの例
240px https://example.com/bot/images/rm001/240
300px https://example.com/bot/images/rm001/300
460px https://example.com/bot/images/rm001/460
700px https://example.com/bot/images/rm001/700
1040px https://example.com/bot/images/rm001/1040
注意

画像のURLには拡張子を含めないでください。「https://example.com/bot/images/rm001/700.png」のように、URLに拡張子が含まれている場合、イメージマップメッセージでは画像が表示されません。

# イメージマップアクションオブジェクト

イメージマップに設定するアクションとタップ領域を表すオブジェクトです。

領域がタップされると、uriの場合は指定するURIにユーザーがリダイレクトされ、messageの場合は指定するメッセージが送信されます。

# イメージマップURIアクションオブジェクト

type

String

必須

uri

label

String

任意

アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:50
iOS版LINE 8.2.0以降でサポートされます。

linkUri

String

必須

ウェブページのURL
最大文字数:1000
使用できるスキームは、httphttpsline、およびtelです。 LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。

タップ領域の定義

イメージマップURIアクションオブジェクトの例

# イメージマップメッセージアクションオブジェクト

type

String

必須

message

label

String

任意

アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:50
iOS版LINE 8.2.0以降でサポートされます。

text

String

必須

送信するメッセージ
最大文字数:400
iOS版とAndroid版のLINEでのみサポートされます。

タップ領域の定義

イメージマップメッセージアクションオブジェクトの例

# イメージマップ領域オブジェクト

タップ領域のサイズを表すオブジェクトです。画像の左上が座標の原点です。baseSize.widthプロパティとbaseSize.heightプロパティに基づいて指定します。

x

Number

必須

領域の左端を基準としたタップ領域の位置(横方向の相対位置)。0以上の値を設定してください。

y

Number

必須

領域の上端を基準としたタップ領域の位置(縦方向の相対位置)。0以上の値を設定してください。

width

Number

必須

タップ領域の幅

height

Number

必須

タップ領域の高さ

イメージマップ領域オブジェクトの例

# テンプレートメッセージ

注意

テンプレートメッセージはiOS版とAndroid版のLINE 6.7.0以降で対応しています。

テンプレートメッセージは、あらかじめレイアウトが定義されたテンプレートをカスタマイズして構築するメッセージです。詳しくは、「テンプレートメッセージ」を参照してください。

以下のタイプのテンプレートを利用できます。

# テンプレートメッセージオブジェクトの共通プロパティ

以下のプロパティは、すべてのテンプレートメッセージオブジェクトで共通です。

type

String

必須

template

altText

String

必須

代替テキスト
最大文字数:400

template

Object

必須

ボタン確認カルーセル、または画像カルーセルオブジェクト

# ボタンテンプレート

画像、タイトル、テキストに加えて、複数のアクションボタンが含まれたテンプレートです。

type

String

必須

buttons

thumbnailImageUrl

String

任意

画像URL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
最大横幅サイズ:1024px
最大ファイルサイズ:1MB

imageAspectRatio

String

任意

画像のアスペクト比。以下のいずれかの値を指定します。

  • rectangle:1.51:1
  • square:1:1

デフォルト値はrectangleです。

imageSize

String

任意

画像の表示形式。以下のいずれかの値を指定します。

  • cover:画像領域全体に画像を表示します。画像領域に収まらない部分は切り詰められます。
  • contain:画像領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。

デフォルト値はcoverです。

imageBackgroundColor

String

任意

画像の背景色。RGB値で設定します。デフォルト値は#FFFFFF(白)です。

title

String

任意

タイトル
最大文字数:40

text

String

必須

メッセージテキスト
画像もタイトルも指定しない場合の最大文字数:160
画像またはタイトルを指定する場合の最大文字数:60

defaultAction

画像、タイトル、テキストの領域全体に対して設定できる、タップされたときのアクション

actions

タップされたときのアクション
最大件数:4

ボタンテンプレートメッセージの例

# 確認テンプレート

2つのアクションボタンを表示するテンプレートです。

type

String

必須

confirm

text

String

必須

メッセージのテキスト
最大文字数:240

actions

タップされたときのアクション
2つのボタンに1つずつアクションを設定します。

確認テンプレートメッセージの例

複数のカラムを表示するテンプレートです。カラムは横にスクロールして順番に表示できます。

type

String

必須

carousel

columns

カラムの配列
最大カラム数:10

imageAspectRatio

String

任意

画像のアスペクト比。以下のいずれかの値を指定します。

  • rectangle:1.51:1
  • square:1:1

すべてのカラムに適用されます。デフォルト値はrectangleです。

imageSize

String

任意

画像の表示形式。以下のいずれかの値を指定します。

  • cover:画像領域全体に画像を表示します。画像領域に収まらない部分は切り詰められます。
  • contain:画像領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。

すべてのカラムに適用されます。デフォルト値はcoverです。

カルーセルテンプレートメッセージの例

thumbnailImageUrl

String

任意

画像URL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
縦横比:1:1.51
最大横幅サイズ:1024px
最大ファイルサイズ:1MB

imageBackgroundColor

String

任意

画像の背景色。RGB値で設定します。デフォルト値は#FFFFFF(白)です。

title

String

任意

タイトル
最大文字数:40

text

String

必須

メッセージテキスト
画像もタイトルも指定しない場合の最大文字数:120
画像またはタイトルを指定する場合の最大文字数:60

defaultAction

画像、タイトル、テキストの領域全体に対して設定できる、タップされたときのアクション

actions

タップされたときのアクション
最大件数:3

複数の画像を表示するテンプレートです。画像は横にスクロールして順番に表示できます。

type

String

必須

image_carousel

columns

カラムの配列
最大カラム数:10

画像カルーセルテンプレートメッセージの例

imageUrl

String

必須

画像URL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
縦横比:1:1
最大横幅サイズ:1024px
最大ファイルサイズ:1MB

画像がタップされたときのアクション

# Flex Message

Flex Messageは、CSS Flexible Box(CSS Flexbox)の基礎知識を使って、レイアウトを自由にカスタマイズできるメッセージです。Flex Messageの概要については、『Messaging APIドキュメント』の「Flex Messageを送信する」を参照してください。

type

String

必須

flex

altText

String

必須

代替テキスト
最大文字数:400

contents

Object

必須

Flex Messageのコンテナ

Flex Messageの例

# コンテナ

コンテナは、Flex Messageの最上位の構造です。以下のタイプのコンテナを利用できます。

コンテナのJSONデータのサンプルや用途については、『Messaging APIドキュメント』の「Flex Messageの要素」を参照してください。

# バブル

1つのメッセージバブルを構成するコンテナです。ヘッダー、ヒーロー、ボディ、およびフッターの4つのブロックを含めることができます。各ブロックの用途について詳しくは、『Messaging APIドキュメント』の「ブロック」を参照してください。

バブルを定義するJSONデータの最大サイズは、10KBです。

type

String

必須

bubble

size

String

任意

バブルの大きさ。nanomicrokilomegagigaのいずれかの値を指定できます。デフォルト値はmegaです。

direction

String

任意

テキストの書字方向と、水平ボックス内でコンポーネントを配置する向き。以下のいずれかの値を指定します。

  • ltr:テキストは左横書き、コンポーネントは左から右に配置
  • rtl:テキストは右横書き、コンポーネントは右から左に配置

デフォルト値はltrです。

header

Object

任意

ヘッダー。ボックスを指定します。

hero

Object

任意

ヒーロー。ボックスまたは画像を指定します。

body

Object

任意

ボディ。ボックスを指定します。

footer

Object

任意

フッター。ボックスを指定します。

styles

Object

任意

各ブロックのスタイル。バブルスタイルを指定します。

action

Object

任意

バブルがタップされたときのアクション。アクションオブジェクトを指定します。このプロパティをサポートするLINEのバージョンは以下のとおりです。

  • iOS版とAndroid版のLINE 8.11.0以降

バブルの例

# ブロックのスタイルを定義するオブジェクト

バブル内のブロックのスタイルは、以下の2つのオブジェクトを使って定義します。

バブルスタイルとブロックスタイルの例

# バブルスタイル

header

Object

任意

ヘッダーのスタイル。ブロックスタイルを指定します。

hero

Object

任意

ヒーローのスタイル。ブロックスタイルを指定します。

body

Object

任意

ボディのスタイル。ブロックスタイルを指定します。

footer

Object

任意

フッターのスタイル。ブロックスタイルを指定します。

# ブロックスタイル

backgroundColor

String

任意

ブロックの背景色。16進数カラーコードで設定します。

separator

Boolean

任意

ブロックの上にセパレータを配置する場合はtrueを指定します。デフォルト値はfalseです。

separatorColor

String

任意

セパレータの色。16進数カラーコードで設定します。

注意

先頭のブロックの上にはセパレータを配置できません。

カルーセルは、子要素として1つ以上のバブルを持つコンテナです。カルーセル内のバブルは、横にスクロールして閲覧できます。

カルーセルを定義するJSONデータの最大サイズは、50KBです。

type

String

必須

carousel

contents

Objectの配列

必須

このカルーセル内のバブル。最大バブル数:10

バブルの幅

1つのカルーセルに、異なる幅(sizeプロパティ)のバブルを含めることはできません。バブルの幅は、カルーセルごとに揃えてください。

バブルの高さ

カルーセルの中で最大の高さのバブルと一致するように、各バブルのボディが伸長します。ただし、ボディがないバブルの大きさは変わりません。

カルーセルの例

# コンポーネント

コンポーネントは、ブロックを構成する要素です。以下のタイプのコンポーネントを利用できます。

各コンポーネントのJSONデータのサンプルや用途については、『Messaging APIドキュメント』の「Flex Messageの要素」と「Flex Messageのレイアウト」を参照してください。

# ボックス

子要素のレイアウトを定義するコンポーネントです。ボックスにボックスを含めることもできます。

type

String

必須

box

layout

String

必須

このボックス内のコンポーネントを配置する向き。詳しくは、『Messaging APIドキュメント』の「コンポーネントを配置する向き」を参照してください。

contents

Objectの配列

必須

このボックス内のコンポーネント。以下のコンポーネントを指定できます。

なお、配列に指定した順に描画されます。

backgroundColor

String

任意

ボックスの背景色。RGBカラーに加えて、アルファチャネル(透明度)も設定できます。16進数カラーコードで設定します。(例:#RRGGBBAA)デフォルト値は#00000000です。

borderColor

String

任意

ボックスの境界線の色。16進数カラーコードで設定します。

borderWidth

String

任意

ボックスの境界線の太さ。ピクセルまたはnonelightnormalmediumsemi-boldboldのいずれかの値を指定できます。noneでは、境界線は描画されず、それ以外は列挙した順に太くなります。

cornerRadius

String

任意

ボックスの境界線の角を丸くするときの半径。ピクセル、またはnonexssmmdlgxlxxlのいずれかの値を指定できます。noneでは、角は丸くならず、それ以外は列挙した順に半径が大きくなります。デフォルト値はnoneです。

width

String

任意

ボックスの幅。詳しくは、『Messaging APIドキュメント』の「ボックスの幅」を参照してください。

height

String

任意

ボックスの高さ。詳しくは、『Messaging APIドキュメント』の「ボックスの高さ」を参照してください。

flex

Number

任意

親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。

spacing

String

任意

このボックス内のコンポーネント間の最小スペース。デフォルト値はnoneです。詳しくは、『Messaging APIドキュメント』の「ボックスのspacingプロパティ」を参照してください。

margin

String

任意

親要素内での、このコンポーネントと前のコンポーネントの間の最小スペース。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。

paddingAll

String

任意

このボックスの境界線と、子要素の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。

paddingTop

String

任意

このボックスの上端の境界線と、子要素の上端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。

paddingBottom

String

任意

このボックスの下端の境界線と、子要素の下端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。

paddingStart

String

任意

このボックスの左端の境界線と、子要素の左端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。

paddingEnd

String

任意

このボックスの右端の境界線と、子要素の右端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。

position

String

任意

このボックスを配置する際の基準位置。以下のいずれかの値を指定します。

  • relative:直前のボックスを基準にします。
  • absolute:親要素の左上を基準にします。

デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetTop

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetBottom

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetStart

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetEnd

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

action

Object

任意

タップされたときのアクション。アクションオブジェクトを指定します。このプロパティをサポートするLINEのバージョンは以下のとおりです。

  • iOS版とAndroid版のLINE 8.11.0以降

ボックスの例

# ボタン

ボタンを描画するコンポーネントです。ユーザーがタップすると、指定したアクションが実行されます。

type

String

必須

button

action

Object

必須

タップされたときのアクション。アクションオブジェクトを指定します。

flex

Number

任意

親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。

margin

String

任意

親要素内での、このコンポーネントと前のコンポーネントの間の最小スペース。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。

position

String

任意

offsetTopoffsetBottomoffsetStartoffsetEndの基準。以下のいずれかの値を指定します。

  • relative:直前のボックスを基準にします。
  • absolute:親要素の左上を基準にします。

デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetTop

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetBottom

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetStart

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetEnd

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

height

String

任意

ボタンの高さ。smまたはmdのいずれかの値を指定できます。デフォルト値はmdです。

style

String

任意

ボタンの表示形式。以下のいずれかの値を指定します。

  • primary:濃色のボタン向けのスタイル
  • secondary:淡色のボタン向けのスタイル
  • link:HTMLのリンクのスタイル

デフォルト値はlinkです。

color

String

任意

styleプロパティがlinkの場合は文字の色。styleプロパティがprimaryまたはsecondaryの場合は背景色です。16進数カラーコードで設定します。

gravity

String

任意

垂直方向の位置合わせ方式。詳しくは、『Messaging APIドキュメント』の「垂直方向の位置合わせ」を参照してください。

ボタンの例

# 画像

画像を描画するコンポーネントです。

type

String

必須

image

url

String

必須

画像のURL
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024×1024px
最大データサイズ:1MB

flex

Number

任意

親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。

margin

String

任意

親要素内での、このコンポーネントと前のコンポーネントの間の最小スペース。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。

position

String

任意

offsetTopoffsetBottomoffsetStartoffsetEndの基準。以下のいずれかの値を指定します。

  • relative:直前のボックスを基準にします。
  • absolute:親要素の左上を基準にします。

デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetTop

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetBottom

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetStart

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetEnd

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

align

String

任意

水平方向の位置合わせ方式。詳しくは、『Messaging APIドキュメント』の「水平方向の位置合わせ」を参照してください。

gravity

String

任意

垂直方向の位置合わせ方式。詳しくは、『Messaging APIドキュメント』の「垂直方向の位置合わせ」を参照してください。

size

String

任意

画像の幅の最大サイズ。xxsxssmmdlgxlxxl3xl4xl5xlfullのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。

aspectRatio

String

任意

画像のアスペクト比。{width}:{height}の形式で指定します。{width}{height}は、それぞれ1~100000の値で入力します。ただし、{height}には{width}の3倍を超える値は指定できません。デフォルト値は1:1です。

aspectMode

String

任意

画像のアスペクト比とaspectRatioプロパティで指定されるアスペクト比が一致しない場合の、画像の表示方式。詳しくは、「描画領域について」を参照してください。

backgroundColor

String

任意

画像の背景色。16進数カラーコードで設定します。

action

Object

任意

タップされたときのアクション。アクションオブジェクトを指定します。

画像の例

# 描画領域について

sizeプロパティで画像の最大の幅を指定し、aspectRatioプロパティで画像のアスペクト比(横:縦の比率)を指定します。sizeプロパティとaspectRatioプロパティで決定される矩形の領域を、描画領域と呼びます。この描画領域に画像が表示されます。

  • flexプロパティによって算出されたコンポーネントの幅が、sizeプロパティで指定された画像の幅よりも小さい場合、描画領域の幅はコンポーネントの幅に縮小されます。
  • 画像のアスペクト比とaspectRatioプロパティで指定されるアスペクト比が一致しない場合、aspectModeプロパティに基づいて画像が表示されます。デフォルト値はfitです。
    • aspectModecoverの場合:描画領域全体に画像を表示します。描画領域に収まらない部分は切り詰められます。
    • aspectModefitの場合:描画領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に背景が表示されます。
# アイコン

隣接するテキストを装飾するために、アイコンを描画するコンポーネントです。

ベースラインボックス内でのみ使用できます。

type

String

必須

icon

url

String

必須

画像のURL
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024×1024px
最大データサイズ:1MB

margin

String

任意

親要素内での、このコンポーネントと前のコンポーネントの間の最小スペース。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。

position

String

任意

offsetTopoffsetBottomoffsetStartoffsetEndの基準。以下のいずれかの値を指定します。

  • relative:直前のボックスを基準にします。
  • absolute:親要素の左上を基準にします。

デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetTop

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetBottom

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetStart

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetEnd

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

size

String

任意

アイコンの幅の最大サイズ。xxsxssmmdlgxlxxl3xl4xl5xlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。

aspectRatio

String

任意

アイコンのアスペクト比。{width}:{height}の形式で指定します。{width}{height}は、それぞれ1~100000の値で入力します。ただし、{height}には{width}の3倍を超える値は指定できません。デフォルト値は1:1です。

アイコンのflexプロパティの値は、0に固定されます。

アイコンの例

# テキスト

1行の文字列を描画するコンポーネントです。色、サイズ、および太さを指定できます。

type

String

必須

text

text

String

任意

テキスト。textプロパティまたはcontentsプロパティのいずれかを必ず設定してください。contentsプロパティを設定すると、textは無視されます。

contents

Objectの配列

任意

スパンの配列。textプロパティまたはcontentsプロパティのいずれかを必ず設定してください。contentsプロパティを設定すると、textは無視されます。

flex

Number

任意

親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。

margin

String

任意

親要素内での、このコンポーネントと前のコンポーネントの間の最小スペース。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。

position

String

任意

offsetTopoffsetBottomoffsetStartoffsetEndの基準。以下のいずれかの値を指定します。

  • relative:直前のボックスを基準にします。
  • absolute:親要素の左上を基準にします。

デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetTop

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetBottom

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetStart

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

offsetEnd

String

任意

オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。

size

String

任意

フォントサイズ。xxsxssmmdlgxlxxl3xl4xl5xlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。

align

String

任意

水平方向の位置合わせ方式。詳しくは、『Messaging APIドキュメント』の「水平方向の位置合わせ」を参照してください。

gravity

String

任意

垂直方向の位置合わせ方式。デフォルト値はtopです。詳しくは、『Messaging APIドキュメント』の「垂直方向の位置合わせ」を参照してください。

wrap

Boolean

任意

trueを指定すると文字列を折り返します。デフォルト値はfalseです。trueに設定した場合、改行文字(\n)を使って改行できます。詳しくは、『Messaging APIドキュメント』の「テキストを折り返す」を参照してください。

maxLines

Number

任意

最大行数。テキストがこの行数に収まらない場合は、最終行の末尾に省略記号(…)が表示されます。0ではすべてのテキストが表示されます。デフォルト値は0です。このプロパティをサポートするLINEのバージョンは以下のとおりです。

  • iOS版とAndroid版のLINE 8.11.0以降

weight

String

任意

フォントの太さ。regularboldのいずれかの値を指定できます。boldを指定すると太字になります。デフォルト値はregularです。

color

String

任意

フォントの色。16進数カラーコードで設定します。

action

Object

任意

タップされたときのアクション。アクションオブジェクトを指定します。

style

String

任意

テキストのスタイル。以下のいずれかの値を指定します。

  • normal:標準
  • italic:斜体

デフォルト値はnormalです。

decoration

String

任意

テキストの装飾。以下のいずれかの値を指定します。

  • none:装飾なし
  • underline:下線
  • line-through:取り消し線

デフォルト値はnoneです。

テキストの例

# スパン

1行に、デザインが異なる複数の文字列を描画するコンポーネントです。色、サイズ、太さ、および装飾を指定できます。スパンは、テキストcontentsプロパティに設定します。

type

String

必須

span

text

String

任意

テキスト。親のテキストのwrapプロパティをtrueに設定した場合は、改行文字(\n)を使って改行できます。

color

String

任意

フォントの色。16進数カラーコードで設定します。

size

String

任意

フォントサイズ。xxsxssmmdlgxlxxl3xl4xl5xlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。

weight

String

任意

フォントの太さ。regularboldのいずれかの値を指定できます。boldを指定すると太字になります。デフォルト値はregularです。

style

String

任意

テキストのスタイル。以下のいずれかの値を指定します。

  • normal:標準
  • italic:斜体

デフォルト値はnormalです。

decoration

String

任意

テキストの装飾。以下のいずれかの値を指定します。

  • none:装飾なし
  • underline:下線
  • line-through:取り消し線

デフォルト値はnoneです。
注:テキストdecorationプロパティで設定した装飾は、スパンのdecorationプロパティで上書きできません。

スパンの例

# セパレータ

ボックス内に分割線を描画するコンポーネントです。水平ボックスでは垂直線、垂直ボックスでは水平線が描画されます。

type

String

必須

separator

margin

String

任意

親要素内での、このコンポーネントと前のコンポーネントの間の最小スペース。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。

color

String

任意

セパレータの色。16進数カラーコードで設定します。

セパレータの例

# フィラー

スペースを作るためのコンポーネントです。ボックス内の任意の位置に挿入することで、コンポーネントの間にスペースを作ったり、他のコンポーネントを一方向に寄せたりできます。

type

String

必須

filler

flex

Number

任意

親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。

フィラーでは親要素のspacingプロパティが無視されます。

フィラーの例

# スペーサー(非推奨)
注意

スペーサーは、将来のアップデートで削除される予定です。スペーサーを使わずに、ボックスのパディングを指定してください。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。

ボックス内の先頭または末尾に固定サイズのスペースを配置する不可視のコンポーネントです。

type

String

必須

spacer

size

String

任意

スペースのサイズ。xssmmdlgxlxxlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。

スペーサーでは親要素のspacingプロパティが無視されます。

スペーサーの例

# アクションオブジェクト

ユーザーがメッセージ内のボタンまたは画像をタップしたときに、ボットが実行できるアクションのタイプです。

# ポストバックアクション

このアクションが関連づけられたコントロールがタップされると、dataプロパティに指定された文字列を含むポストバックイベントが、Webhookを介して返されます。

type

String

必須

postback

label

String

アクションのラベル

  • 画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
  • 画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
  • リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。iOS版LINE 8.2.0以降でサポートされます。
  • クイックリプライボタンでは必須です。最大文字数:20。Android版とiOS版のLINE 8.11.0以降でサポートされます。
  • Flex Messageでは、ボタンで必須です。ボックス、画像、およびテキストでは、指定しても表示されません。最大文字数:20

data

String

必須

Webhookを介して、ポストバックイベントpostback.dataプロパティで返される文字列
最大文字数:300

displayText

String

アクションの実行時に、ユーザーのメッセージとしてLINEのトーク画面に表示されるテキスト。クイックリプライボタンでは必須です。それ以外のメッセージタイプでは省略可能です。
最大文字数:300
displayTextプロパティとtextプロパティは、同時に設定できません。

text

String

任意

【廃止予定】アクションの実行時に、ユーザーのメッセージとしてLINEのトーク画面に表示されるテキスト。Webhookを介してサーバーに返されます。クイックリプライボタンでは使用しないでください。
最大文字数:300
displayTextプロパティとtextプロパティは、同時に設定できません。

ポストバックアクションオブジェクトの例

# メッセージアクション

このアクションが関連づけられたコントロールがタップされると、textプロパティの文字列がユーザーからのメッセージとして送信されます。

type

String

必須

message

label

String

アクションのラベル

  • 画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
  • 画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
  • リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。iOS版LINE 8.2.0以降でサポートされます。
  • クイックリプライボタンでは必須です。最大文字数:20。Android版とiOS版のLINE 8.11.0以降でサポートされます。
  • Flex Messageでは、ボタンで必須です。ボックス、画像、およびテキストでは、指定しても表示されません。最大文字数:20

text

String

必須

アクションの実行時に送信されるテキスト
最大文字数:300

メッセージアクションオブジェクトの例

# URIアクション

このアクションが関連づけられたコントロールがタップされると、uriプロパティのURIが開きます。

type

String

必須

uri

label

String

アクションのラベル

  • 画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
  • 画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
  • リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。iOS版LINE 8.2.0以降でサポートされます。
  • Flex Messageでは、ボタンで必須です。ボックス、画像、およびテキストでは、指定しても表示されません。最大文字数:20

uri

String

必須

アクションの実行時に開かれるURI(最大文字数:1000)
使用できるスキームは、httphttpsline、およびtelです。LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。

altUri.desktop

String

任意

macOS版とWindows版のLINEでアクションを実行したときに開かれるURI(最大文字数:1000)
altUri.desktopを指定した場合は、macOS版とWindows版のLINEではuriが無視されます。
使用できるスキームは、httphttpsline、およびtelです。LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。このプロパティを使用できるLINEのバージョンは以下のとおりです。

  • macOS版とWindows版のLINE:5.12.0以降

注:altUri.desktopは、Flex MessageにURIアクションを関連付けた場合にのみ有効です。

URIアクションオブジェクトの例

# 日時選択アクション

注意

日時選択アクションは、iOS版LINE 7.9.0以降とAndroid版LINE 7.12.0以降で利用できます。

このアクションが関連づけられたコントロールがタップされると、日時選択ダイアログでユーザーが選択した日時を含むポストバックイベントが、Webhookを介して返されます。日時選択アクションはタイムゾーンの違いに対応していません。

type

String

必須

datetimepicker

label

String

アクションのラベル

  • 画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
  • 画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
  • リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。iOS版LINE 8.2.0以降でサポートされます。
  • クイックリプライボタンでは必須です。最大文字数:20。Android版とiOS版のLINE 8.11.0以降でサポートされます。
  • Flex Messageでは、ボタンで必須です。ボックス、画像、およびテキストでは、指定しても表示されません。最大文字数:20

data

String

必須

Webhookを介して、ポストバックイベントpostback.dataプロパティで返される文字列
最大文字数:300

mode

String

必須

アクションモード
date:日付を選択します。
time:時刻を選択します。
datetime:日付と日時を選択します。

initial

String

任意

日付または時刻の初期値

max

String

任意

選択可能な日付または時刻の最大値。minの値より大きい必要があります。

min

String

任意

選択可能な日付または時刻の最小値。maxの値より小さい必要があります。

日時選択アクションオブジェクトの例

# 日付と日時の形式

initialmax、およびminの値の日付と日時の形式は以下のとおりです。full-datetime-hour、およびtime-minuteの形式は、RFC3339プロトコルで定義されています。

モード 形式
date full-date
最大値:2100-12-31
最小値:1900-01-01
2017-06-18
time time-hour:time-minute
最大値:23:59
最小値:00:00
00:00
06:15
23:59
datetime full-dateTtime-hour:time-minuteまたはfull-datettime-hour:time-minute
最大値:2100-12-31T23:59
最小値:1900-01-01T00:00
2017-06-18T06:15
2017-06-18t06:15

# カメラアクション

クイックリプライボタンにのみ設定できるアクションです。このアクションが関連づけられたボタンがタップされると、LINE内のカメラが起動します。

type

String

必須

camera

label

String

必須

アクションのラベル
最大文字数:20

カメラアクションオブジェクトの例

# カメラロールアクション

クイックリプライボタンにのみ設定できるアクションです。このアクションが関連づけられたボタンがタップされると、LINEのカメラロール画面が開きます。

type

String

必須

cameraRoll

label

String

必須

アクションのラベル
最大文字数:20

カメラロールアクションオブジェクトの例

# 位置情報アクション

クイックリプライボタンにのみ設定できるアクションです。このアクションが関連づけられたボタンがタップされると、LINEの位置情報画面が開きます。

type

String

必須

location

label

String

必須

アクションのラベル
最大文字数:20

位置情報アクションオブジェクトの例

# リッチメニューの構造

リッチメニューは以下のどちらかのオブジェクトで表されます。

これらのオブジェクトは領域オブジェクトアクションオブジェクトから構成されます。

# リッチメニューオブジェクト

size

Object

必須

sizeオブジェクト。トークルームに表示されるリッチメニューの幅と高さを表します。使用できるリッチメニューの画像サイズ(ピクセル)は、2500x1686、2500x843、1200x810、1200x405、800x540、800x270です。

selected

Boolean

必須

デフォルトでリッチメニューを表示する場合はtrueです。それ以外はfalseです。

name

String

必須

リッチメニューの名前。リッチメニューの管理に役立ちます。ユーザーには表示されません。
最大文字数:300

chatBarText

String

必須

トークルームメニューに表示されるテキストです。
最大文字数:14

areas

Array

必須

タップ領域の座標とサイズを定義する、領域オブジェクトの配列。
最大領域オブジェクト数:20

リッチメニューオブジェクトの例

# リッチメニューレスポンスオブジェクト

richMenuId

String

リッチメニューのID

size

Object

sizeオブジェクト。トークルームに表示されるリッチメニューの幅と高さを表します。使用できるリッチメニューの画像サイズ(ピクセル)は、2500x1686、2500x843、1200x810、1200x405、800x540、800x270です。

selected

Boolean

デフォルトでリッチメニューを表示する場合はtrueです。それ以外はfalseです。

name

String

リッチメニューの名前。リッチメニューの管理に役立ちます。ユーザーには表示されません。
最大文字数:300

chatBarText

String

トークルームメニューに表示されるテキストです。
最大文字数:14

areas

Array

タップ領域の座標とサイズを定義する、領域オブジェクトの配列。
最大領域オブジェクト数:20

リッチメニューレスポンスオブジェクトの例

# sizeオブジェクト

width

Number

必須

リッチメニューの幅。2500を指定します。

height

Number

必須

リッチメニューの高さ。1686または843を指定します。

sizeオブジェクトの例

# 領域オブジェクト

bounds

Object

必須

領域の境界をピクセルで表すオブジェクト。「boundsオブジェクト」を参照してください。

action

Object

必須

領域がタップされたときに実行されるアクション。「アクションオブジェクト」を参照してください。

領域オブジェクトの例

# boundsオブジェクト

x

Number

必須

画像の左端を基準としたタップ領域の位置(横方向の相対位置)。0以上の値を設定してください。

y

Number

必須

画像の上端を基準としたタップ領域の位置(縦方向の相対位置)。0以上の値を設定してください。

width

Number

必須

タップ領域の幅

height

Number

必須

タップ領域の高さ

boundsオブジェクトの例