Messaging APIリファレンス
共通仕様
Messaging APIにおけるエンドポイントのドメイン名、リクエストが成功・失敗した際のレスポンス、レート制限などの共通仕様です。
ドメイン名
Messaging APIでは、エンドポイントによってドメイン名が異なります。利用時は注意してください。
| ドメイン名 | エンドポイント |
|---|---|
api-data.line.me | |
api.line.me | 上記以外のエンドポイント |
レート制限
Messaging APIでは、チャネル単位かつAPI機能(エンドポイント)ごとに以下のレート制限が適用されます。レート制限が適用される範囲について詳しくは、「レート制限の範囲」を参照してください。
レート制限を超えて送信を行った場合、429 Too Many Requestsが返却され、エラーとなります。Messaging APIを使ったLINEボットを開発する際は、レート制限を含め、Messaging API開発ガイドラインに従ってください。
| エンドポイント | レート制限 |
|---|---|
| 60リクエスト/時 | |
| 60リクエスト/分 |
| 1,000リクエスト/分 | |
| 100リクエスト/時 ※ | |
| 3リクエスト/時 | |
| 200リクエスト/秒 | |
| 100リクエスト/秒 | |
| 370リクエスト/秒 | |
| 上記以外のエンドポイント | 2,000リクエスト/秒 |
※ LINE Official Account Managerを使ってリッチメニューを作成・削除する場合は制限の対象外です。
レート制限の範囲
Messaging APIでは、レート制限をチャネル単位かつAPI機能(エンドポイント)ごとに適用します。レート制限の範囲について、以下の点に注意してください。
- エンドポイントのURLが同じであっても、HTTPメソッドが異なれば別のエンドポイントとみなします。
- レート制限は、URL中のパラメータの内容や、リクエストボディの内容を区別せずに適用されます。
- レート制限は、エンドポイントの呼び出し元のIPアドレスの違いを区別せずに適用されます。
- 同じLINE公式アカウントに対するエンドポイントの呼び出しであっても、チャネルが異なる場合はチャネルごとに独立してレート制限が適用されます。
同時処理数の制限
ユーザーIDアップロード用のオーディエンス作成およびオーディエンスへのユーザーID追加のエンドポイントでは、オーディエンスID(audienceGroupId)単位での同時処理数の制限があります。
下記のエンドポイントで同時に処理されているリクエストの合計が、同時処理数としてカウントされます。
| エンドポイント | 同時処理数の上限 |
|---|---|
| 10 |
同時処理数の上限を超えるリクエストに対しては、ステータスコード429 Too Many Requestsのエラーが返ります。エラーを受け取った場合は、しばらく時間をおいてから再度リクエストをしてください。
処理中のリクエストの数は、以下のエンドポイントのレスポンスに含まれるjobsプロパティで確認できます。ジョブのステータス(jobs[].jobStatusプロパティ)が待機中(QUEUED)、もしくは実行中(WORKING)の場合に、同時処理数として計上されます。
ステータスコード
APIコールの後で、以下のHTTPステータスコードが返されます。ステータスコードの説明は、特に断りがない限り、HTTP status code specificationに準拠しています。
| ステータスコード | 説明 |
|---|---|
| 200 OK | リクエストが成功しました。 |
| 400 Bad Request | リクエストに問題があります。 |
| 401 Unauthorized | 有効なチャネルアクセストークンが指定されていません。 |
| 403 Forbidden | リソースにアクセスする権限がありません。ご契約中のプランやアカウントに付与されている権限を確認してください。 |
| 404 Not Found | プロフィール情報を取得できませんでした。次のような理由が考えられます。
|
| 409 Conflict | 同じリトライキーを持つAPIリクエストがすでに受理されています。詳しくは、「失敗したAPIリクエストを再試行する」を参照してください。 |
| 410 Gone | 利用できなくなったリソースにアクセスしています。 |
| 413 Payload Too Large | リクエストのサイズが上限の2MBを超えています。リクエストのサイズを2MB以下にしてリクエストしなおしてください。 |
| 415 Unsupported Media Type | アップロードしようとしたファイルのメディア形式はサポートされていません。 |
| 429 Too Many Requests | 無料メッセージ通数や、追加メッセージ数の上限目安について詳しくは、『Messaging APIドキュメント』の「Messaging APIの料金」を参照してください。 当月に配信できるメッセージ数がまだ残っていても、 |
| 500 Internal Server Error | 内部サーバーのエラーです。 |
レスポンスヘッダー
Messaging APIのレスポンスには以下のHTTPヘッダーが含まれます。
| レスポンスヘッダー | 説明 |
|---|---|
| X-Line-Request-Id | リクエストID。各リクエストごとに発行されるIDです。 |
| X-Line-Accepted-Request-Id 含まれないことがあります | 同じリトライキーを使ってすでにリクエストが受理されている場合、そのリクエストのx-line-request-idを示します。詳しくは、「APIリクエストを再試行する」を参照してください。 |
エラーレスポンス
エラー発生時は、以下のJSONデータを含むレスポンスボディが返されます。
message
String
エラー情報を含むメッセージ。詳しくは、「エラーメッセージ」を参照してください。
details
Array
エラー詳細の配列。配列が空の場合は、レスポンスに含まれません。
details[].message
String
エラーの詳細。特定の状況ではレスポンスに含まれません。
「オーディエンス管理」のエンドポイントに関するエラーの詳細については、「オーディエンス管理に関するエラーの詳細」を参照してください。
details[].property
String
エラーの発生箇所。リクエストのJSONのフィールド名やクエリパラメータ名が返ります。特定の状況ではレスポンスに含まれません。
エラーレスポンスの例
エラーメッセージ
エラーのJSONレスポンスのmessageプロパティに含まれる、主なエラーメッセージは以下のとおりです。
| メッセージ | 説明 |
|---|---|
| The request body has X error(s) | リクエストボディのJSONデータにエラーがありました。Xの部分にエラーの数が表示されます。詳細はdetails[].messageプロパティとdetails[].propertyプロパティに含まれます。 |
| Invalid reply token | 応答メッセージを送る際にreplyTokenで指定した応答トークンが無効です。次のような理由が考えられます。
|
| 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. |
無料メッセージ通数や、追加メッセージ数の上限目安について詳しくは、『Messaging APIドキュメント』の「Messaging APIの料金」を参照してください。 当月に配信できるメッセージ数がまだ残っていても、 |
| The API rate limit has been exceeded. Try again later. | APIコールのレート制限を超過しました。 |
| Not found | プロフィール情報を取得できませんでした。次のような理由が考えられます。
|
その他の共通仕様
リクエストボディのプロパティに指定するURLのエンコードについて
プロパティにURLを指定する場合は、ドメイン名、パス、クエリパラメータ、フラグメントはUTF-8を用いてパーセントエンコードしてください。
たとえば、以下の構成要素を持つURIを指定する場合は、 https://example.com/path?q=%E3%81%8A%E3%81%AF%E3%82%88%E3%81%86#%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AFとします。
| スキーム | ドメイン名 | パス | クエリパラメータ | フラグメント |
|---|---|---|---|---|
| https | example.com | /path | q=おはよう | こんにちは |
Webhook
友だち追加やユーザーからのメッセージ送信のようなイベントが発生すると、LINEプラットフォームからWebhook URL(ボットサーバー)にHTTPS POSTリクエストが送信されます。
Webhook URLはチャネルごとにLINE Developersコンソールで設定します。
HTTP POSTリクエストの処理が後続のイベントの処理に遅延を与えないよう、イベント処理を非同期化することを推奨します。
Webhookリクエスト送信元のLINEプラットフォームのIPアドレスは開示していません。セキュリティの担保はIPアドレスによるアクセス制御ではなく、署名の検証で実施してください。
リクエストヘッダー
x-line-signature
署名の検証に使う署名
リクエストヘッダーのフィールド名は、大文字・小文字の表記が予告なく変更される可能性があります。Webhookを受け取るボットサーバー側では、ヘッダーフィールド名の大文字小文字を区別せずに扱ってください。*1
| 変更前 | 変更後 | |
|---|---|---|
| ヘッダーフィールド名の例 | X-Line-Signature | x-line-signature |
*1 https://datatracker.ietf.org/doc/html/rfc7230#section-3.2
リクエストボディ
リクエストボディは、Webhookイベントを受信すべきボットのユーザーIDとWebhookイベントオブジェクトの配列を含むJSONオブジェクトです。
destination
String
Webhookイベントを受信すべきボットのユーザーID。ユーザーIDの値は、U[0-9a-f]{32}の正規表現にマッチする文字列です。
events
Array
Webhookイベントオブジェクトの配列。LINEプラットフォームからの疎通確認のために、Webhookイベントオブジェクトを含まない空配列が送信される場合があります。
レスポンス
LINEプラットフォームから送信されるHTTP POSTリクエストをボットサーバーで受信したときは、ステータスコード200を返してください。
- LINEプラットフォームから送信されるHTTP POSTリクエストの受信に失敗した場合でも、このリクエストを再度受け取ることができます。詳しくは、「受け取りに失敗したWebhookを再送する」を参照してください。
- LINEプラットフォームから疎通確認のために、Webhookイベントが含まれないHTTP POSTリクエストが送信されることがあります。この場合も、ステータスコード
200を返してください。
Webhookイベントが含まれないHTTP POSTリクエストの例:json{ "destination": "xxxxxxxxxx", "events": [] }
署名を検証する
ボットサーバーにWebhookのリクエストが届いたら、Webhookイベントオブジェクトを処理する前に、リクエストヘッダーに含まれる署名を検証してください。署名の検証は、開発者のボットサーバーに届いたリクエストが「LINEプラットフォームから送信されたWebhookか」および「通信経路で改ざんされていないか」などを確認するための重要な手順です。
詳しくは、『Messaging APIドキュメント』の「Webhookの署名を検証する」を参照してください。
署名検証の例
Webhookイベントオブジェクト
LINEプラットフォームで生成されるイベントを含むJSONオブジェクトです。
これらのイベントオブジェクトのプロパティは、値が存在しない場合があります。値が存在しないプロパティは、生成されるイベントオブジェクトに含まれません。
Webhookイベントオブジェクトの例
共通プロパティ
以下のプロパティはWebhookイベントオブジェクトの共通プロパティです。
type
String
イベントのタイプを表す識別子
mode
String
チャネルの状態。
active:チャネルがアクティブです。このWebhookイベントを受信したボットサーバーから、応答メッセージやプッシュメッセージなどを送信できます。standby:チャネルが待機状態です。チャネルの状態がstandbyのときは、Webhookに応答メッセージを送るための応答トークンは含まれません。チャネルの状態がstandbyになるタイミングについて詳しくは、『モジュールドキュメント』の「Webhookイベントの受信」を参照してください。
チャネルの状態がstandbyのときは、受信したWebhookイベントに対してモジュールがメッセージなどで応答している可能性があります。ユーザーとモジュールがやりとりをしている最中に、ボットからもメッセージが送信されるとユーザーの混乱を招きます。そのため、modeプロパティがstandbyのWebhookイベントを受信したボットサーバーはメッセージの送信を控えてください。
timestamp
Number
イベントの発生時刻。UNIX時間(ミリ秒)で返されます。再送されたWebhookの場合でも、再送された時刻ではなく、イベントの発生時刻を表します。
Webhookの再送が有効である場合、Webhookイベントの発生順序と、ボットサーバーに到達する順序が大きく崩れる可能性があります。これが問題になる場合は、timestampを確認することによって、前後関係を確認してください。
source
Object
イベントの送信元情報を含むユーザー、グループトーク、または複数人トークオブジェクト。
このプロパティは、アカウントの連携に失敗した場合、アカウント連携イベントには含まれません。
webhookEventId
String
WebhookイベントID。Webhookイベントを一意に識別するためのID。ULID形式の文字列になります。
deliveryContext.isRedelivery
Boolean
Webhookイベントが再送されたものかどうか。詳しくは、「再送されるWebhook」を参照してください。
true:再送されたWebhookイベントです。false:初めて送られたWebhookイベントです。
送信元ユーザー
type
String
user
userId
String
送信元ユーザーのID
送信元ユーザーの例
送信元グループトーク
type
String
group
groupId
String
送信元グループトークのグループID
userId
String
送信元ユーザーのID。メッセージイベントにのみ含まれます。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみuserIdに含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
送信元グループトークの例
送信元複数人トーク
type
String
room
roomId
String
送信元複数人トークのトークルームID
userId
String
送信元ユーザーのID。メッセージイベントにのみ含まれます。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみuserIdに含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
送信元複数人トークの例
メッセージイベント
ユーザーから送信されたメッセージを含むWebhookイベントオブジェクトです。メッセージのタイプに対応するメッセージオブジェクトが、messageプロパティに含まれます。メッセージイベントには応答できます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
message
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
テキスト
送信元から送られたテキストを含むメッセージオブジェクトです。
id
String
メッセージID
type
String
text
quoteToken
String
メッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
text
String
メッセージのテキスト
- エンドユーザーがLINE絵文字を送信した場合は、
(hello)や(love)のように、LINE絵文字が文字列で含まれます。LINE絵文字の詳細は、emojisプロパティで確認できます。 - エンドユーザーがメンションした場合は、
@exampleのように、送信相手のLINEアカウントの表示名が文字列で含まれます。メンションの詳細は、mentionプロパティで確認できます。
emojis
Array
1個以上のLINE絵文字オブジェクトの配列。textプロパティにLINE絵文字が含まれる場合のみ、メッセージイベントに含まれます。
- Android版LINEから送信されたデフォルトのLINE絵文字は、含まれません。
- Unicodeで定義された絵文字や古いバージョンのLINE絵文字は、含まれないことがあります。
emojis[].index
Number
テキストの先頭を0とした、textプロパティ内の絵文字の開始位置。
emojis[].length
Number
LINE絵文字の文字列の長さ。LINE絵文字(hello)であれば、7が長さになります。
emojis[].productId
String
LINE絵文字の集合を示すプロダクトID。プロダクトIDの例として、「LINE絵文字」を参照してください。
emojis[].emojiId
String
プロダクトID内のLINE絵文字のID。LINE絵文字のIDの例として、「LINE絵文字」を参照してください。
mention
Object
メンションの情報を含むオブジェクト。textプロパティにメンションが含まれる場合のみ、メッセージイベントに含まれます。
mention.mentionees
Array of objects
1個以上のメンションオブジェクトの配列。
最大メンション数:20
mention.mentionees.index
Number
テキストの先頭を0とした、textプロパティ内のメンションの開始位置。
mention.mentionees.length
Number
メンションの長さ。@exampleであれば、8が長さになります。
mention.mentionees.type
String
メンションの対象。
user:ユーザーまたはボットall:グループ全体
mention.mentionees.userId
String
メンションされたユーザーまたはボットのユーザーID。mention.mentionees[].typeがuserの場合にのみ含まれます。メンションされたのがユーザーの場合は、LINE公式アカウントがプロフィール情報を取得することに、ユーザーが同意しているときにのみ含まれます。
mention.mentionees.isSelf
Boolean
Webhookイベントを受信したボット(destination)に対するメンションかどうか。mention.mentionees[].typeプロパティの値がuserのときのみ含まれます。
true:Webhookイベントを受信したボットに対するメンションである。false:他のユーザーに対するメンションである。
詳しくは、『Messaging APIドキュメント』の「ボットへのメンションを含むメッセージが送信されたときのWebhook」を参照してください。
quotedMessageId
String
引用されたメッセージのメッセージID。過去のメッセージを引用している場合にのみ含まれます。
テキストメッセージの例
画像
送信元から送られた画像を含むメッセージオブジェクトです。
id
String
メッセージID
type
String
image
quoteToken
String
メッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
contentProvider.type
String
画像ファイルの提供元。
line:LINEユーザーが画像ファイルを送信しました。画像ファイルのバイナリデータは、メッセージIDを指定してコンテンツを取得するエンドポイントを使用することで取得できます。external:画像ファイルのURLはcontentProvider.originalContentUrlプロパティに含まれます。なお、画像ファイルの提供元がexternalの場合、画像ファイルのバイナリデータはコンテンツを取得するエンドポイントで取得できません。
contentProvider.originalContentUrl
String
画像ファイルのURL。contentProvider.typeがexternalの場合にのみ含まれます。画像ファイルが置かれているサーバーは、LINEヤフー株式会社が提供しているものではありません。
contentProvider.previewImageUrl
String
プレビュー画像のURL。contentProvider.typeがexternalの場合にのみ含まれます。プレビュー画像が置かれているサーバーは、LINEヤフー株式会社が提供しているものではありません。
imageSet.id
String
画像セットID。複数の画像を同時に送信した場合のみ含まれます。
imageSet.index
Number
同時に送信した画像セットの中で、何番目の画像かを示す1から始まるインデックス。複数の画像を同時に送信した場合のみ含まれます。ただし送信元がAndroid版LINE 11.15以前の場合は含まれません。
ユーザーが複数の画像を同時に送信すると、LINEプラットフォームからボットサーバーにWebhookイベントが複数送られてきます。このときWebhookの順序は不定ですので、imageSet.indexの値の順序で届くとは限りません。
imageSet.total
Number
同時に送信した画像の総数。同時に2つの画像を送信した場合は2です。複数の画像を同時に送信した場合のみ含まれます。ただし送信元がAndroid版LINE 11.15以前の場合は含まれません。
画像メッセージの例
動画
送信元から送られた動画を含むメッセージオブジェクトです。トーク画面に表示されている画像はプレビュー画像で、画像をタップすると動画が表示されます。
id
String
メッセージID
type
String
video
quoteToken
String
メッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
duration
Number
動画ファイルの長さ(ミリ秒)
contentProvider.type
String
動画ファイルの提供元。
line:LINEユーザーが動画ファイルを送信しました。動画ファイルのバイナリデータは、メッセージIDを指定してコンテンツを取得するエンドポイントを使用することで取得できます。external:動画ファイルのURLはcontentProvider.originalContentUrlプロパティに含まれます。なお、動画ファイルの提供元がexternalの場合、動画ファイルのバイナリデータはコンテンツを取得するエンドポイントで取得できません。
contentProvider.originalContentUrl
String
動画ファイルのURL。contentProvider.typeがexternalの場合にのみ含まれます。動画ファイルが置かれているサーバーは、LINEヤフー株式会社が提供しているものではありません。
contentProvider.previewImageUrl
String
プレビュー画像のURL。contentProvider.typeがexternalの場合にのみ含まれます。プレビュー画像が置かれているサーバーは、LINEヤフー株式会社が提供しているものではありません。
動画メッセージの例
音声
送信元から送られた音声を含むメッセージオブジェクトです。
id
String
メッセージID
type
String
audio
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
duration
Number
音声ファイルの長さ(ミリ秒)
contentProvider.type
String
音声ファイルの提供元
line:LINEユーザーが音声ファイルを送信しました。音声ファイルのバイナリデータは、メッセージIDを指定してコンテンツを取得するエンドポイントを使用することで取得できます。external:音声ファイルのURLはcontentProvider.originalContentUrlプロパティに含まれます。なお、音声ファイルの提供元がexternalの場合、音声ファイルのバイナリデータはコンテンツを取得するエンドポイントで取得できません。
contentProvider.originalContentUrl
String
音声ファイルのURL。contentProvider.typeがexternalの場合にのみ含まれます。音声ファイルが置かれているサーバーは、LINEヤフー株式会社が提供しているものではありません。
音声メッセージの例
ファイル
送信元から送られたファイルを含むメッセージオブジェクトです。ファイルのバイナリデータは、メッセージIDを指定してAPIを呼び出すことで取得できます。詳しくは、「コンテンツを取得する」を参照してください。
id
String
メッセージID
type
String
file
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
fileName
String
ファイル名
fileSize
Number
ファイルサイズ(バイト)
ファイルメッセージの例
位置情報
送信元から送られた位置情報データを含むメッセージオブジェクトです。
id
String
メッセージID
type
String
location
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
title
String
タイトル
address
String
住所
latitude
Decimal
緯度
longitude
Decimal
経度
位置情報メッセージの例
スタンプ
送信元から送られたスタンプデータを含むメッセージオブジェクトです。LINEの基本的なスタンプとスタンプIDについては、スタンプを参照してください。
ユーザーが送信したスタンプのパッケージIDやスタンプIDなどはWebhookで取得できますが、スタンプ画像そのものを取得することはできません。
Messaging APIは、現時点ではスタンプアレンジ機能に対応していないため、どんなスタンプを組み合わせたかという情報は取得できません。ユーザーがスタンプアレンジ機能を用いてスタンプメッセージを送った場合、Webhookでは一律で以下のスタンプ情報が届きます。
- パッケージID:
30563 - スタンプID:
651698630 - スタンプのリソースタイプ:
STATIC
id
String
メッセージID
type
String
sticker
quoteToken
String
メッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
markAsReadToken
String
既読トークン。このトークンを使用することで、メッセージに既読をつけることができます。有効期限はありません。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
packageId
String
パッケージID
stickerId
String
スタンプID
stickerResourceType
String
スタンプのリソースタイプ。以下のいずれかの値です。
STATIC:静止画スタンプANIMATION:アニメーションスタンプSOUND:サウンドスタンプANIMATION_SOUND:アニメーション+サウンドスタンプPOPUP:ポップアップスタンプまたはエフェクトスタンプPOPUP_SOUND:ポップアップ+サウンドスタンプまたはエフェクト+サウンドスタンプCUSTOM:カスタムスタンプ。ユーザーが入力した任意のテキストは取得できません。MESSAGE:メッセージスタンプNAME_TEXT:カスタムスタンプ(廃止)PER_STICKER_TEXT:メッセージスタンプ(廃止)
今後、新しいリソースタイプが予告なく追加される可能性があります。将来、従来と異なるリソースタイプを受信しても不具合が発生しないように、サーバーを実装してください。
keywords
Array of strings
スタンプを表すキーワード。最大15個の文字列が含まれる配列です。16個以上のキーワードを持つスタンプの場合は、その中からランダムに15個のキーワードを返します。そのため同じスタンプでも、異なるキーワードが返ることがあります。
keywordsプロパティは、現在試験的に提供しています。そのため、今後予告なく仕様が変更されたり、提供を終了する可能性があります。
text
String
ユーザーが入力した任意のテキスト。このプロパティは、メッセージスタンプの場合のみ含まれます。
最大文字数:100
カスタムスタンプの場合は、ユーザーが入力した任意のテキストは取得できません。
quotedMessageId
String
引用されたメッセージのメッセージID。過去のメッセージを引用している場合にのみ含まれます。
スタンプメッセージの例
送信取消イベント
ユーザーがメッセージの送信を取り消したことを示すイベントです。
ユーザーがメッセージの送信を取り消すと、ボットサーバーに送信取消イベントが届きます。送信取消イベントを受け取った場合、サービス提供者はユーザーがメッセージの送信を取り消した意図を尊重し、以降は対象のメッセージを見たり利用したりできないよう、最大限の配慮を持って対象のメッセージを適切に扱うことを推奨します。詳しくは、『Messaging APIドキュメント』の「送信取消イベント受信時の処理」を参照してください。
送信取消イベントの例
フォローイベント
LINE公式アカウントが友だち追加またはブロック解除されたことを示すイベントです。フォローイベントには応答できます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
follow
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
follow.isUnblocked
Boolean
true:ユーザーがLINE公式アカウントをブロック解除しました。false:ユーザーがLINE公式アカウントを友だち追加しました。
follow.isUnblockedプロパティは、「友だち追加」および「ブロック解除」の完全な正確性を保証するものではありません。
フォローイベントの例
フォロー解除イベント
LINE公式アカウントがブロックされたことを示すイベントです。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
unfollow
フォロー解除イベントの例
参加イベント
メンバー参加イベント
LINE公式アカウントがメンバーになっているグループトークまたは複数人トークにユーザーが参加したことを示すイベントです。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
memberJoined
joined.members
Array
参加したユーザー。送信元ユーザーオブジェクトの配列です。
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
メンバー参加イベントの例
ポストバックイベント
ユーザーが、ポストバックアクションを実行したことを示すイベントオブジェクトです。ポストバックイベントには応答できます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
postback
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
postback.data
String
ポストバックデータ
Object
以下のいずれかのJSONオブジェクト
- 日時選択アクションの
postback.paramsオブジェクト。 - リッチメニュー切替アクションの
postback.paramsオブジェクト。- リッチメニュー切替アクションを介してユーザーが選択したリッチメニューエイリアスIDを含むJSONオブジェクト。
- リッチメニュー切替アクションによるポストバックアクションの場合にのみ返されます。
ポストバックイベントの例
日時選択アクションのpostback.paramsオブジェクト
日時選択アクションを介してユーザーが選択した日時を含むオブジェクトです。full-date、time-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オブジェクトの例
リッチメニュー切替アクションのpostback.paramsオブジェクト
リッチメニュー切替アクションを介してユーザーが選択したリッチメニューエイリアスIDを含むオブジェクトです。
| プロパティ | 形式 | 説明 |
|---|---|---|
| newRichMenuAliasId 含まれないことがあります | String | 切替先のリッチメニューエイリアスID。リッチメニューの切替に失敗した場合は含まれません。 |
| status | String | SUCCESS:リッチメニューが正常に変更されました。RICHMENU_ALIAS_ID_NOTFOUND:指定されたリッチメニューエイリアスIDが見つかりませんでした。RICHMENU_NOTFOUND:指定されたリッチメニューエイリアスIDに紐づくリッチメニューIDが見つかりませんでした。FAILED:リッチメニューの切替に失敗しました。 |
リッチメニュー切替アクションのpostback.paramsオブジェクトの例
動画視聴完了イベント
LINE公式アカウントから送信されたtrackingIdが指定された動画の視聴を、ユーザーが少なくとも一回最後まで視聴したことを示すイベントです。
動画視聴完了イベントは、ユーザーの動画視聴回数を示すものではありません。
トークルーム上で複数回動画を視聴しても、重複してイベントが発生することはありません。ただし、一度トークルームを閉じた後で再度開き動画を視聴すると、再びイベントが発生する場合があります。
イメージマップメッセージおよびFlex Messageの動画にtrackingIdを指定することはできません。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
videoPlayComplete
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
videoPlayComplete.trackingId
String
動画を識別するためのID。動画メッセージに付与したtrackingIdと同じ値を返します。
動画視聴完了イベントの例
ビーコンイベント
ビーコンの電波の受信圏にユーザーが入ったことを示すイベントオブジェクトです。ビーコンイベントには応答できます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
beacon
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
beacon.hwid
String
検出されたビーコンのハードウェアID
beacon.type
String
ビーコンイベントのタイプ。「ビーコンイベントのタイプ」を参照してください。
beacon.dm
String
検出されたビーコンのデバイスメッセージ。このメッセージは、ボットサーバーへの通知を目的としてビーコンにより生成されるデータです。Device messageプロパティをサポートするデバイスからのWebhookイベントにのみ含まれます。
詳しくは、LINE Simple Beaconの仕様を参照してください。
ビーコンイベントの例
ビーコンイベントのタイプ
| beacon.type | 説明 |
|---|---|
enter | ユーザーがビーコンの電波の受信圏に入りました。 |
banner | ユーザーがビーコンバナーをタップしました。 |
stay | ユーザーがビーコンの電波の受信圏に滞在しています。 このイベントは、最短10秒間隔で繰り返し送信されます。 |
2021年1月現在、日本ではbannerおよびstayイベントの新規利用受付は停止していますが、それ以外の地域では継続しています。
アカウント連携イベント
ユーザーがLINEアカウントとプロバイダーが提供するサービスのアカウントを連携したことを示すイベントオブジェクトです。アカウント連携イベントには応答できます。
連携トークンの期限が切れている、または使用済みの場合は、Webhookイベント自体が送信されず、ユーザーにエラーが表示されます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
アカウントの連携に失敗した場合、sourceプロパティはアカウント連携イベントに含まれません。
type
String
accountLink
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン。アカウントの連携に失敗した場合、このプロパティは含まれません。
link.result
String
アカウントの連携が成功したかどうかを示す値。以下のどちらかになります。
ok:アカウントの連携が成功したことを示します。failed:ユーザーのすり替えなどが原因で、アカウントの連携が失敗したことを示します。
link.nonce
String
ユーザーIDの検証時に指定したnonce(number used once)。詳しくは、『Messaging APIドキュメント』の「nonceを生成してユーザーをLINEプラットフォームにリダイレクトする」を参照してください。
アカウント連携イベントの例
メンバーシップイベント
ユーザーがLINE公式アカウントのメンバーシップに加入や継続課金、またはメンバーシップを退会したことを示すイベントです。
LINE公式アカウントがメンバーシップで複数のプランを提供している場合において、あるプランに加入中のユーザーが当月中に別のプランに変更したときは、退会と加入に関するWebhookイベントが送信されます。なお、ユーザーがプロフィール情報の取得に同意していない場合は、Webhookイベントは送信されません。詳しくは、『Messaging APIドキュメント』の「ユーザーのプロフィール情報取得の同意」を参照してください。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
membership
replyToken
String
このイベントに対して応答メッセージを送る際に使用する応答トークン
membership.type
String
メンバーシップイベントのタイプ。以下のいずれかの値です。
joined:ユーザーがメンバーシップに加入した。left:ユーザーがメンバーシップを退会した。renewed:ユーザーがメンバーシップに継続課金した。
membership.membershipId
Number
ユーザーが加入、退会または継続課金したメンバーシップのID
メンバーシップイベントの例
Webhook設定
チャネルのWebhookエンドポイントを設定、検証、取得します。
WebhookエンドポイントのURLを設定する
PUThttps://api.line.me/v2/bot/channel/webhook/endpoint
WebhookエンドポイントのURLを設定します。キャッシュデータの影響により、URLの更新に1分ほどかかる場合があります。
以下のWebhook URLの検証ルールをすべて満たしていることを確認してください。
- 有効なHTTPS URLである。
- URLの長さが500文字以内である。
リクエスト例
レート制限
1,000リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
endpoint
String
有効なWebhook URL
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンス例
エラーレスポンス
Webhookエンドポイントの情報を取得する
GEThttps://api.line.me/v2/bot/channel/webhook/endpoint
Webhookエンドポイントの情報を取得します。
リクエスト例
レート制限
1,000リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
endpoint
String
Webhook URL
active
Boolean
Webhookの利用ステータス。有効の場合のみ、LINEプラットフォームからWebhook URLにWebhookイベントを送信します。
true:Webhookの利用が有効です。false:Webhookの利用が無効です。
レスポンス例
エラーレスポンス
Webhookエンドポイントを検証する
POSThttps://api.line.me/v2/bot/channel/webhook/test
設定したWebhookエンドポイントがWebhookの検証イベントを受信できるかを確認します。
以下のWebhook URLの検証ルールをすべて満たしていることを確認してください。
- 有効なHTTPS URLである。
- URLの長さが500文字以内である。
リクエスト例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
endpoint
String
検証したいWebhook URL
このエンドポイントは、Request bodyにendpointパラメータが含まれるかどうかで動作が変わります。
endpointパラメータがある場合
endpointパラメータに指定したエンドポイントURLが有効か検証し、有効であれば指定されたエンドポイントURLにWebhook検証イベントを送信します。
endpointパラメータがない場合
チャネルに設定されているWebhookエンドポイントに、Webhook検証イベントを送信します。チャネルにWebhookエンドポイントが設定されていない場合は 404が返ります。
レスポンス
ステータスコード200とおよび以下の情報を含むJSONオブジェクトを返す。
- 疎通確認の際は、LINEプラットフォームからWebhook URL(ボットサーバー)へ、Webhookイベントが含まれないHTTP POSTリクエストが送信されます。ステータスコード
200を返すようにボットサーバーを設計してください。
Webhookイベントが含まれないHTTP POSTリクエストの例:json{ "destination": "xxxxxxxxxx", "events": [] }
success
Boolean
LINEプラットフォームからWebhook URLへの疎通結果
true:成功false:失敗
falseの場合は、『Messaging APIドキュメント』の「エラーが発生した原因を確認する」を参照してください。
timestamp
String
「共通プロパティ」を参照してください。
statusCode
Number
HTTPステータスコード。Webhookのレスポンスを受信しなかった場合、ステータスコードは0か負の数になります。
reason
String
レスポンスの原因を表します。詳細は下表を参照してください。
detail
String
レスポンスの詳細を表します。詳細は下表を参照してください。
reason(原因) | detail(詳細) | 内容 |
|---|---|---|
| OK | HTTPステータスコード(例:200) | Webhookの送信に成功しました。 |
| COULD_NOT_CONNECT | 接続失敗 | Webhookエンドポイントに接続できませんでした。詳しくは、『Messaging APIドキュメント』の「原因が「could_not_connect」の場合」を参照してください。 |
| REQUEST_TIMEOUT | Request timeout | リクエストがタイムアウトしました。詳しくは、『Messaging APIドキュメント』の「原因が「request_timeout」の場合」を参照してください。 |
| ERROR_STATUS_CODE | HTTPステータスコード(例:400) | エラーレスポンスのステータスコードが返ります。詳しくは、『Messaging APIドキュメント』の「原因が「error_status_code」の場合」を参照してください。 |
| UNCLASSIFIED | N/A | 不明なエラーです。詳しくは、『Messaging APIドキュメント』の「原因が「unclassified」の場合」を参照してください。 |
レスポンスの例(Webhookの送信に成功した場合)
レスポンスの例(ボットサーバーのSSL/TLS設定が原因でWebhook URLへの疎通に失敗した場合)
エラーレスポンス
コンテンツを取得する
GEThttps://api-data.line.me/v2/bot/message/{messageId}/content
このエンドポイントは、Messaging APIにおけるLINEプラットフォームへの大容量データ送受信用のドメイン名(api-data.line.me)です。他のエンドポイントのドメイン名(api.line.me)とは異なるため、利用時は注意してください。
Webhookで受信したメッセージIDを使って、ユーザーが送信した画像、動画、音声、およびファイルを取得するエンドポイントです。
このエンドポイントは、WebhookイベントオブジェクトのcontentProvider.typeプロパティがlineの場合にのみ利用できます。
ユーザーからデータサイズが大きい動画または音声が送られた場合に、コンテンツのバイナリデータを取得できるようになるまで時間がかかるときがあります。バイナリデータの準備中にコンテンツを取得しようとすると、ステータスコード202が返されバイナリデータは取得できません。バイナリデータが取得できるかどうかは、動画または音声の取得準備の状況を確認するエンドポイントで確認できます。
なお、ユーザーが送信したコンテンツは、縮小などの変換が内部的に行われる場合があります。
ユーザーが送信したテキストは、Webhookのテキストメッセージオブジェクトで受信できます。Webhookを受信した後で、あらためてテキストを取得するためのAPIはありません。
リクエストの例
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
messageId
メッセージID
レスポンス
ステータスコード200とコンテンツのバイナリデータを返します。バイナリデータのファイル形式は、レスポンスのContent-Typeヘッダーで示されます。
メッセージが送信されてから一定期間後に、コンテンツは自動的に削除されます。コンテンツの保存期間は保証されません。
エラーレスポンス
動画または音声の取得準備の状況を確認する
GEThttps://api-data.line.me/v2/bot/message/{messageId}/content/transcoding
このエンドポイントは、Messaging APIにおけるLINEプラットフォームへの大容量データ送受信用のドメイン名(api-data.line.me)です。他のエンドポイントのドメイン名(api.line.me)とは異なるため、利用時は注意してください。
Webhookで受信したメッセージIDを使って、ユーザーが送信した動画、音声の取得準備の状況を取得するエンドポイントです。
このエンドポイントは、WebhookイベントオブジェクトのcontentProvider.typeプロパティがlineの場合にのみ利用できます。
リクエストの例
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
取得準備の状況。以下のいずれかの値です。
processing:コンテンツの取得準備中です。succeeded:コンテンツを取得する準備が完了しました。ユーザーが送信したコンテンツを取得できます。failed:コンテンツの取得準備に失敗しました。
エラーレスポンス
画像または動画のプレビュー画像を取得する
GEThttps://api-data.line.me/v2/bot/message/{messageId}/content/preview
このエンドポイントは、Messaging APIにおけるLINEプラットフォームへの大容量データ送受信用のドメイン名(api-data.line.me)です。他のエンドポイントのドメイン名(api.line.me)とは異なるため、利用時は注意してください。
Webhookで受信したメッセージIDを使って、ユーザーが送信した画像、動画のプレビュー画像を取得するエンドポイントです。プレビュー画像は、実際のコンテンツよりも軽量なデータサイズに変換した画像データです。
このエンドポイントは、WebhookイベントオブジェクトのcontentProvider.typeプロパティがlineの場合にのみ利用できます。
リクエストの例
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
レスポンス
ステータスコード200とプレビュー画像のバイナリデータを返します。
メッセージが送信されてから一定期間後に、プレビュー画像は自動的に削除されます。プレビュー画像の保存期間は保証されません。
エラーレスポンス
チャネルアクセストークン
アプリからMessaging APIを呼び出す際に必要となるチャネルアクセストークンを発行、取得、取り消しします。詳しくは、『LINEプラットフォームの基礎知識』の「チャネルアクセストークン」を参照してください。
チャネルアクセストークンv2.1を発行する
POSThttps://api.line.me/oauth2/v2.1/token
任意の有効期間を指定できるチャネルアクセストークンを発行します。このメソッドでは、認証にJWTアサーションを使用できます。
チャネルアクセストークンv2.1は、チャネルごとに30件まで発行できます。上限に達した場合は、追加発行のリクエストは拒否されます。なお、有効期限が切れたチャネルアクセストークンは、発行数としてカウントされません。
リクエストの例
リクエストヘッダー
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をURLエンコードした値
client_assertion
String
JSON Web Tokenアサーションを指定します。JWTアサーションは、クライアント側で生成した上で、アサーション署名キーの秘密鍵で署名する必要があります。
JWTアサーションは、生成されてから30分以内に失効するように設定する必要があります。JWTアサーションの生成について詳しくは、「JWTを生成する」を参照してください。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
access_token
String
チャネルアクセストークン
expires_in
Number
チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数
token_type
String
Bearer
key_id
String
チャネルアクセストークンを識別するための一意のキーID
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
404 | JWTアサーションと紐づく署名キーがチャネルに登録されていません。 |
エラーレスポンスの例
チャネルアクセストークンv2.1の有効性を検証する
GEThttps://api.line.me/oauth2/v2.1/verify
任意の有効期間を指定できるチャネルアクセストークン(チャネルアクセストークンv2.1)の有効性を検証できます。
リクエストの例
クエリパラメータ
access_token
任意の有効期間を指定できるチャネルアクセストークン(チャネルアクセストークンv2.1)。
レスポンス
チャネルアクセストークンが有効な場合は、ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
client_id
String
チャネルアクセストークンが発行されたチャネルID。
expires_in
Number
チャネルアクセストークンの有効期限が切れるまでの秒数。
scope
String
チャネルアクセストークンに付与されている権限。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
エラーレスポンスの例
すべての有効なチャネルアクセストークンv2.1のキーIDを取得する
GEThttps://api.line.me/oauth2/v2.1/tokens/kid
すべての有効なチャネルアクセストークンのキーIDを取得します。
リクエストの例
クエリパラメータ
client_assertion_type
String
urn:ietf:params:oauth:client-assertion-type:jwt-bearerをURLエンコードした値
client_assertion
String
クライアントが作成し、秘密鍵で署名する必要があるJSON Web Token (JWT)です。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
kids
Array of strings
チャネルアクセストークンのキーIDの配列
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
404 | JWTアサーションと紐づく署名キーがチャネルに登録されていません。 |
エラーレスポンスの例
チャネルアクセストークンv2.1を取り消す
POSThttps://api.line.me/oauth2/v2.1/revoke
チャネルアクセストークンv2.1を取り消します。
以下のような場合に、チャネルアクセストークンを取り消します。
- チャネルアクセストークンを再発行することで古いチャネルアクセストークンが不要になったとき
- チャネルアクセストークンの漏洩が疑われたとき
なお、すでに有効期限が切れているチャネルアクセストークンを取り消す必要はありません。
リクエストの例
リクエストボディ
client_id
String
チャネルID
client_secret
String
チャネルシークレット
access_token
String
チャネルアクセストークン
レスポンス
ステータスコード200と空のレスポンスボディを返します。
無効なチャネルアクセストークンを指定した場合も、エラーレスポンスは発生しません。
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
エラーレスポンスの例
ステートレスチャネルアクセストークンを発行する
POSThttps://api.line.me/oauth2/v3/token
15分間だけ有効なチャネルアクセストークンを発行します。発行できる数に制限はありません。ステートレスチャネルアクセストークンを発行すると、取り消すことはできません。
チャネルIDとチャネルシークレットから発行するリクエストの例
JWTアサーションから発行するリクエストの例
リクエストヘッダー
Content-Type
application/x-www-form-urlencoded
リクエストボディ
ステートレスチャネルアクセストークンを発行する方法には、次の2つがあります。どちらの方法で発行しても、レスポンスボディの形式は同じになります。
チャネルIDとチャネルシークレットから発行する
grant_type
String
client_credentials
client_id
String
チャネルID。LINE Developersコンソールで確認できます。
client_secret
String
チャネルシークレット。LINE Developersコンソールで確認できます。
JWTアサーションから発行する
grant_type
String
client_credentials
client_assertion_type
String
urn:ietf:params:oauth:client-assertion-type:jwt-bearerをURLエンコードした値
client_assertion
String
JSON Web Tokenアサーションを指定します。JWTアサーションは、クライアント側で生成した上で、アサーション署名キーの秘密鍵で署名する必要があります。
JWTアサーションは、生成されてから30分以内に失効するように設定する必要があります。JWTアサーションの生成について詳しくは、「JWTを生成する」を参照してください。
レスポンス
ステータスコード200と、以下の情報を含むJSONオブジェクトを返します。
token_type
String
Bearer
access_token
String
チャネルアクセストークン
expires_in
Number
チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
404 | JWTアサーションと紐づく署名キーがチャネルに登録されていません。 |
エラーレスポンスの例
短期のチャネルアクセストークンを発行する
POSThttps://api.line.me/v2/oauth/accessToken
30日間有効な短期のチャネルアクセストークンを発行します。
短期のチャネルアクセストークンは、チャネルごとに30件まで発行できます。上限を超過した場合は、最も古いチャネルアクセストークンが取り消されます。なお、有効期限が切れたチャネルアクセストークンは、発行数としてカウントされません。
- Messaging APIのチャネルの場合は、長期のチャネルアクセストークンや任意の有効期間を指定できるチャネルアクセストークンv2.1、ステートレスチャネルアクセストークンを発行できます。詳しくは、『LINEプラットフォームの基礎知識』の「チャネルアクセストークン」を参照してください。
- LINEログインのチャネルのチャネルアクセストークンも、このAPIで発行できます。LINEログインのチャネルのチャネルアクセストークンは、LIFFのサーバーAPIで利用します。
リクエストの例
APIプレイグラウンド
レート制限
370リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/x-www-form-urlencoded
リクエストボディ
grant_type
String
client_credentials
client_id
String
チャネルID。LINE Developersコンソールで確認できます。
client_secret
String
チャネルシークレット。LINE Developersコンソールで確認できます。
レスポンス
HTTPステータスコード200と以下の情報を含むJSONオブジェクトを返します。
access_token
String
短期のチャネルアクセストークン。有効期間は30日です。
チャネルアクセストークンは更新できません。
expires_in
Number
チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数
token_type
String
Bearer
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
429 | レート制限を超過しました。 |
エラーレスポンスの例
短期または長期のチャネルアクセストークンの有効性を検証する
POSThttps://api.line.me/v2/oauth/verify
短期のチャネルアクセストークンまたは長期のチャネルアクセストークンの有効性を検証できます。
リクエストの例
リクエストヘッダー
Content-Type
application/x-www-form-urlencoded
リクエストボディ
access_token
String
短期または長期のチャネルアクセストークン。
レスポンス
チャネルアクセストークンが有効な場合は、ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
client_id
String
チャネルアクセストークンが発行されたチャネルID。
expires_in
Number
チャネルアクセストークンの有効期限が切れるまでの秒数。
scope
String
チャネルアクセストークンに付与されている権限。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
エラーレスポンスの例
短期または長期のチャネルアクセストークンを取り消す
POSThttps://api.line.me/v2/oauth/revoke
短期または長期のチャネルアクセストークンを取り消すAPIです。
以下のような場合に、チャネルアクセストークンを取り消します。
- チャネルアクセストークンを再発行することで古いチャネルアクセストークンが不要になったとき
- チャネルアクセストークンの漏洩が疑われたとき
なお、すでに有効期限が切れているチャネルアクセストークンを取り消す必要はありません。
リクエストの例
APIプレイグラウンド
リクエストヘッダー
Content-Type
application/x-www-form-urlencoded
リクエストボディ
access_token
String
チャネルアクセストークン
レスポンス
ステータスコード200と空のレスポンスボディを返します。無効なチャネルアクセストークンを指定した場合はエラーが返りません。
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | 無効なフォーマットのチャネルアクセストークンが指定されています。 |
エラーレスポンスの例
メッセージ
メッセージを送ったり、送信済みメッセージについての情報を取得したりできます。
POST/v2/bot/message/reply
POST/v2/bot/message/push
POST/v2/bot/message/multicast
POST/v2/bot/message/narrowcast
GET/v2/bot/message/progress/narrowcast
POST/v2/bot/message/broadcast
POST/v2/bot/chat/markAsRead
POST/v2/bot/chat/loading/start
GET/v2/bot/message/quota
GET/v2/bot/message/quota/consumption
GET/v2/bot/message/delivery/reply
GET/v2/bot/message/delivery/push
GET/v2/bot/message/delivery/multicast
GET/v2/bot/message/delivery/broadcast
POST/v2/bot/message/validate/reply
POST/v2/bot/message/validate/push
POST/v2/bot/message/validate/multicast
POST/v2/bot/message/validate/narrowcast
POST/v2/bot/message/validate/broadcast
応答メッセージを送る
POSThttps://api.line.me/v2/bot/message/reply
ユーザー、グループトーク、または複数人トークからのイベントに対して、応答メッセージを送信するAPIです。応答メッセージを送るには、Webhookイベントオブジェクトに含まれる応答トークンが必要です。
イベントが発生すると、Webhookにより通知されます。応答できるイベントの場合は、応答トークンが発行されます。
LINE公式アカウントがユーザーからのメッセージを受信したあと、メッセージの準備や予約の処理などで返答に少し時間がかかることがあります。そのような場合に、ユーザーにそのまま待機しておいて欲しいことをローディングのアニメーションで視覚的に伝えることができます。詳しくは、『Messaging APIドキュメント』の「ローディングのアニメーションを表示する」を参照してください。
応答トークン
応答トークンを使用する際は、以下の点を確認してください。
- 応答トークンは一度のみ使用できます。
- 応答トークンは、Webhookを受信してから1分以内に使用する必要があります。1分を超える場合の使用については、動作は保証されません。
- 再送されたWebhookに含まれる応答トークンも、再送されたWebhookを受信してから1分以内であれば使用できます。ただし、以下の場合は応答トークンを使用できません。
- 元のWebhookに含まれる応答トークンをすでに使用している場合。
- イベントの発生から20分が経過している場合。
応答トークンの時間制限は、予告なく変更される可能性があります。また、ネットワークの遅延などにより、実際に使用できる期間は変動します。
このため、時間制限に依存した実装をしないようにしてください。また、応答トークンは可能な限り早く使用してください。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/json
Authorization
Bearer {channel access token}
リクエストボディ
replyToken
String
Webhookで受信する応答トークン
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
応答メッセージのメッセージオブジェクトを検証するエンドポイントを使用すると、メッセージオブジェクトが有効かを検証できます。
notificationDisabled
Boolean
true:メッセージ送信時に、ユーザーに通知されない。false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。
デフォルト値はfalseです。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
sentMessages
Array
送信したメッセージの配列。
最大件数:5
sentMessages.id
Number
送信したメッセージのID。
sentMessages.quoteToken
String
メッセージの引用トークン。引用対象として指定可能なメッセージオブジェクトを送信した場合のみ、レスポンスに含まれます。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
レスポンスの例
エラーレスポンス
プッシュメッセージを送る
POSThttps://api.line.me/v2/bot/message/push
ユーザー、グループトーク、または複数人トークに、任意のタイミングでメッセージを送信するAPIです。
プッシュメッセージを送信できる条件
プッシュメッセージは、以下のいずれかの条件に当てはまる場合に送信できます。
- LINE公式アカウントを友だち追加しているユーザー
- LINE公式アカウントが参加しているグループトーク、または複数人トーク
- 1対1のトークで、7日以内にLINE公式アカウントへメッセージを送ったユーザー(※)
なお、以下のユーザーに対してプッシュメッセージの送信処理を行った場合、ステータスコード200が返されますが、実際にはユーザーに送信されません。
- LINEアカウントを削除したユーザー
- プッシュメッセージを送信したLINE公式アカウントをブロックしているユーザー
- プッシュメッセージを送信したLINE公式アカウントを友だち追加していないユーザー(※)
※ユーザーは、友だち追加していないLINE公式アカウントに対しても、メッセージを送ることができます。LINE公式アカウントは、友だちでないユーザーから1対1のトークでメッセージを受け取った場合、メッセージを受け取ってから7日以内であれば、そのユーザーに対してメッセージを送信できます。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/json
Authorization
Bearer {channel access token}
X-Line-Retry-Key
リトライキー。任意の方法で生成した16進表記のUUID(例:123e4567-e89b-12d3-a456-426614174000)を指定します。リトライキーはLINEから提供されません。開発者自身が一意のリトライキーを生成する必要があります。詳しくは、『Messaging APIドキュメント』の「失敗したAPIリクエストを再試行する」を参照してください。
リクエストボディ
to
String
送信先のID。Webhookイベントオブジェクトで返される、userId、groupId、またはroomIdの値を使用します。
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
プッシュメッセージのメッセージオブジェクトを検証するエンドポイントを使用すると、メッセージオブジェクトが有効かを検証できます。
notificationDisabled
Boolean
true:メッセージ送信時に、ユーザーに通知されない。false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。
デフォルト値はfalseです。
customAggregationUnits
Array of strings
任意の集計単位のユニット名。大文字と小文字は区別されます。たとえばpromotion_aとpromotion_Aは別のユニットとして扱われます。
最大ユニット数:1
最大文字数:30
使用可能文字種:半角英数字(a〜z、A~Z、0~9)、アンダースコア(_)
ユニット名の付与について詳しくは、『Messaging APIドキュメント』の「ユニット名を付与する」を参照してください。
ユニット名は、当月中(その月の1日~末日)に最大で1,000種類まで付与できます。1,001種類目以降のユニット名を付与してメッセージを送ろうとした場合、メッセージは送信されますがユニット名はメッセージに付与されません。
ユニット名の種類が多い場合は、以下のいずれかの方法でユニット名が付与できる、あるいは付与できたことを確認してください。
- 当月のユニット名がまだ1,000種類に達していないことを、メッセージの送信前に「当月中に付与したユニット名の種類数を取得する」エンドポイントで確認する
- メッセージの送信後に「当月中に付与したユニット名のリストを取得する」エンドポイントで、付与したユニット名が存在することを確認する
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
sentMessages
Array
送信したメッセージの配列。
最大件数:5
sentMessages.id
Number
送信したメッセージのID。
sentMessages.quoteToken
String
メッセージの引用トークン。引用対象として指定可能なメッセージオブジェクトを送信した場合のみ、レスポンスに含まれます。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | メッセージを送信できませんでした。次のような理由が考えられます。
|
409 | 同じリトライキーを含むリクエストがすでに受理されています。詳しくは、「APIリクエストを再試行する」の「すでにリクエストが受理されていた場合のレスポンス」を参照してください。 |
429 | リクエスト数が上限を超過しました。次のような理由が考えられます。
|
詳しくは、共通仕様の「ステータスコード」および「エラーレスポンス」を参照してください。
エラーが返された場合、メッセージは送信されません。
エラーレスポンスの例
マルチキャストメッセージを送る
POSThttps://api.line.me/v2/bot/message/multicast
複数のユーザーに対して同じメッセージを効率よく送信するAPIです。グループトークおよび複数人トークにメッセージを送ることはできません。
なお、1人のユーザーに対してもマルチキャストメッセージでメッセージを送信できますが、送信対象が1人の場合にはプッシュメッセージの利用を推奨します。プッシュメッセージは、低遅延用途でのメッセージの送信に適しています。
マルチキャストメッセージを送信できる条件
マルチキャストメッセージは、LINE公式アカウントを友だち追加しているユーザーに対して送信できます。
なお、以下のユーザーに対してマルチキャストメッセージの送信処理を行った場合、ステータスコード200が返されますが、実際にはユーザーに送信されません。
- LINEアカウントを削除したユーザー
- マルチキャストメッセージを送信したLINE公式アカウントをブロックしているユーザー
- マルチキャストメッセージを送信したLINE公式アカウントを友だち追加していないユーザー
- 他のプロバイダー配下のチャネルで取得したユーザーIDなど、チャネルにユーザーIDが存在しないユーザー
リクエストの例
レート制限
200リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/json
Authorization
Bearer {channel access token}
X-Line-Retry-Key
リトライキー。任意の方法で生成した16進表記のUUID(例:123e4567-e89b-12d3-a456-426614174000)を指定します。リトライキーはLINEから提供されません。開発者自身が一意のリトライキーを生成する必要があります。詳しくは、『Messaging APIドキュメント』の「失敗したAPIリクエストを再試行する」を参照してください。
リクエストボディ
to
Array of strings
ユーザーIDの配列。Webhookイベントオブジェクトで返されるuserIdの値を使用します。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:500
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
マルチキャストメッセージのメッセージオブジェクトを検証するエンドポイントを使用すると、メッセージオブジェクトが有効かを検証できます。
notificationDisabled
Boolean
true:メッセージ送信時に、ユーザーに通知されない。false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。
デフォルト値はfalseです。
customAggregationUnits
Array of strings
任意の集計単位のユニット名。大文字と小文字は区別されます。たとえばpromotion_aとpromotion_Aは別のユニットとして扱われます。
最大ユニット数:1
最大文字数:30
使用可能文字種:半角英数字(a〜z、A~Z、0~9)、アンダースコア(_)
ユニット名の付与について詳しくは、『Messaging APIドキュメント』の「ユニット名を付与する」を参照してください。
ユニット名は、当月中(その月の1日~末日)に最大で1,000種類まで付与できます。1,001種類目以降のユニット名を付与してメッセージを送ろうとした場合、メッセージは送信されますがユニット名はメッセージに付与されません。
ユニット名の種類が多い場合は、以下のいずれかの方法でユニット名が付与できる、あるいは付与できたことを確認してください。
- 当月のユニット名がまだ1,000種類に達していないことを、メッセージの送信前に「当月中に付与したユニット名の種類数を取得する」エンドポイントで確認する
- メッセージの送信後に「当月中に付与したユニット名のリストを取得する」エンドポイントで、付与したユニット名が存在することを確認する
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | メッセージを送信できませんでした。次のような理由が考えられます。
|
409 | 同じリトライキーを含むリクエストがすでに受理されています。詳しくは、「APIリクエストを再試行する」の「すでにリクエストが受理されていた場合のレスポンス」を参照してください。 |
429 | リクエスト数が上限を超過しました。次のような理由が考えられます。
|
詳しくは、共通仕様の「ステータスコード」および「エラーレスポンス」を参照してください。
エラーが返された場合、どのユーザーに対してもメッセージは送信されません。
エラーレスポンスの例
ナローキャストメッセージを送る
POSThttps://api.line.me/v2/bot/message/narrowcast
複数のユーザーに、任意のタイミングでメッセージを送信します。送信対象は、属性情報(性別や年齢、OSの種類、地域など)やリターゲティング(オーディエンス)を利用して指定できます。グループトークまたは複数人トークにメッセージを送ることはできません。
ナローキャストメッセージは、LINEプラットフォームがリクエストを受信した後にバックグラウンドで非同期に送信されます。そのため、ナローキャストメッセージを送信するリクエストが成功していたとしても、送信開始後に失敗している可能性があります。メッセージの送信が成功したかどうかは、ナローキャストメッセージの進行状況を取得することで確認できます。
送信対象を特定の条件で絞り込む場合に、タイの20歳未満のユーザーは、メッセージの送信対象から除外されます。
ナローキャストメッセージを送信できる条件
ナローキャストメッセージは、LINE公式アカウントを友だち追加しているユーザーに対して送信できます。
なお、以下のユーザーを送信対象に含めた場合、ステータスコード202が返されますが、送信対象からは除外されます。
- LINEアカウントを削除したユーザー
- LINE公式アカウントをブロックしているユーザー
- LINE公式アカウントを友だち追加していないユーザー
- 他のプロバイダー配下のチャネルで取得したユーザーIDなど、チャネルにユーザーIDが存在しないユーザー
属性情報やオーディエンスを利用したメッセージ送信の制限事項
属性情報やオーディエンスを利用した場合、メッセージの送信条件に応じて、ユーザーのプライバシーを保護するための制限が適用されることがあります。制限に該当した場合、リクエスト送信時もしくはメッセージの送信開始時にエラーになります。
- 送信条件に属性情報を指定するには、LINE公式アカウントのターゲットリーチが100人以上である必要があります。ターゲットリーチが100人未満の場合はステータスコード
403が返されます。 - 送信条件に属性情報またはオーディエンス(※)を指定した場合、最終的な送信対象が50人以上である必要があります。最終的な送信対象が50人未満の場合にもステータスコード
202が返されますが、メッセージの送信開始時にエラーとなります。 - 送信条件に1件以上のオーディエンスを指定した場合、各オーディエンス(※)の送信対象がそれぞれ50人以上である必要があります。送信対象が50人未満のオーディエンスが含まれていた場合にもステータスコード
202が返されますが、メッセージの送信開始時にエラーとなります。
※以下のオーディエンスには、送信対象の人数に関する制限はありません。ただし、他のLINE公式アカウントの下で作成されたオーディエンスについては、以下のオーディエンスであっても制限が適用されます。
- LINE Official Account ManagerやMessaging APIから、ユーザーIDアップロードにより作成されたオーディエンス
- チャットタグオーディエンス
当月に配信できるメッセージの残数に関する注意事項
LINE Official Account ManagerおよびMessaging APIでは、メッセージの送信開始から、実際に送信される件数が確定するまでの間、当月に配信できるメッセージの残数に対して送信予定のメッセージ数が予約された状態になります。メッセージの送信開始時点で送信予定のメッセージ数が予約ができない場合は、メッセージの送信に失敗します。
ナローキャストメッセージの場合、実際の送信対象となるユーザー数に関わらず、LINE公式アカウントのターゲットリーチ分の予約が必要となります。そのため、ナローキャストメッセージの送信時には、以下の点に注意してください。
- 当月に配信できるメッセージの残数が、LINE公式アカウントのターゲットリーチに満たない場合、ナローキャストメッセージの送信開始時にエラーとなります。
- 実際の送信対象となるユーザー数が十分に少ないにも関わらず、当月分のメッセージの残数が一時的に枯渇することがあります。この場合、ナローキャストメッセージの配信中に別のメッセージを送信すると、
429 Too Many RequestsおよびエラーメッセージYou have reached your monthly limit.が返され、メッセージの送信に失敗します。
これらはナローキャストメッセージの送信時に、メッセージの送信数を制限することによって回避できる場合があります。詳しくは、リクエストボディのリミットオブジェクトを参照してください。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
X-Line-Retry-Key
リトライキー。任意の方法で生成した16進表記のUUID(例:123e4567-e89b-12d3-a456-426614174000)を指定します。リトライキーはLINEから提供されません。開発者自身が一意のリトライキーを生成する必要があります。詳しくは、『Messaging APIドキュメント』の「失敗したAPIリクエストを再試行する」を参照してください。
リクエストボディ
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
ナローキャストメッセージのメッセージオブジェクトを検証するエンドポイントを使用すると、メッセージオブジェクトが有効かを検証できます。
recipient
Object
レシピエントオブジェクト。オーディエンスや、過去に配信したナローキャストメッセージのリクエストIDを合計10件まで使用して、送信対象を指定します。指定できる演算子オブジェクトの数に上限はありません。
省略すると、LINE公式アカウントを友だち追加したすべてのユーザーが送信対象になります。
filter.demographic
Object
デモグラフィックフィルターオブジェクト。友だちの属性情報を使用して、送信対象をフィルタリングできます。
省略すると、属性が「不明」になっているユーザーを含めた全員に配信されます。
limit
Object
リミットオブジェクト。ナローキャストメッセージの最大送信数を制限する場合に設定します。
notificationDisabled
Boolean
true:メッセージ送信時に、ユーザーに通知されない。false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。
デフォルト値はfalseです。
レシピエントオブジェクト
レシピエントオブジェクトは、オーディエンスオブジェクトまたは再配信オブジェクトを表すオブジェクトです。演算子オブジェクトを利用すると、条件を組み合わせて送信対象を指定できます。1回のリクエストごとに、オーディエンスオブジェクトと再配信オブジェクトを合計10件まで指定できます。演算子オブジェクトの数に上限はありません。
オーディエンスオブジェクト
type
String
audience
audienceGroupId
Number
オーディエンスID。オーディエンスを作成するには、「オーディエンス管理」のAPIを使用します。
再配信オブジェクト
type
String
redelivery
requestId
String
過去に配信したナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
以下の条件をすべて満たすリクエストIDを、requestIdプロパティで指定してください。条件を満たしていないリクエストIDが指定された場合はステータスコード400が返されます。
- ナローキャストメッセージの配信によって発行されたリクエストIDであること
- 「ナローキャストメッセージの進行状況を取得する」エンドポイントで取得する
acceptedTimeプロパティの値(タイムスタンプ)から14日間(336時間)未満の配信であること - 送信処理が完了していること(「ナローキャストメッセージの進行状況を取得する」で、レスポンスの
phaseプロパティの値がsucceededであること)
演算子オブジェクト
積集合(AND)、和集合(OR)、差集合(NOT)を使用して、複数のレシピエントオブジェクトから、新たなレシピエントオブジェクトを作成できます。
type
String
operator
and
レシピエントオブジェクトの配列
配列で指定したレシピエントオブジェクトの積集合(AND)を、新たなレシピエントオブジェクトとします。

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

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

※andプロパティ、orプロパティ、notプロパティのいずれか1つだけ、必ず指定してください。また、空配列は指定できません。
レシピエントオブジェクトの例
デモグラフィックフィルターオブジェクト
デモグラフィックフィルターオブジェクトは、送信対象をフィルタリングする条件(性別、年齢、OSの種類、地域、友だち期間)を表すオブジェクトです。演算子オブジェクトを利用すると、条件を組み合わせて送信対象をフィルタリングできます。
- 属性情報は約3日前(前後する可能性があります)の属性情報を元に絞り込みます。
- 属性を指定しない場合は、属性が「不明」になっているユーザーを含めた全員に配信されます。
- 属性情報を利用するには、100人以上のターゲットリーチが必要です。
- ターゲットリーチが100人未満の場合はステータスコード
403が返されます。
- ターゲットリーチが100人未満の場合はステータスコード
性別
type
String
gender
oneOf
Array of strings
指定した性別を送信対象とします。以下のいずれかの値を指定します。
malefemale
年齢
年齢の範囲を指定してフィルタリングします。
type
String
age
gte
String
指定した年齢以上を送信対象とします。
以下のいずれかの値を指定します。ただし、ltプロパティで指定した値より小さい値を指定してください。
age_15age_20age_25age_30age_35age_40age_45age_50age_55age_60age_65age_70
lt
String
指定した年齢未満を送信対象とします。
以下のいずれかの値を指定します。ただし、gteプロパティで指定した値より大きい値を指定してください。
age_15age_20age_25age_30age_35age_40age_45age_50age_55age_60age_65age_70
※gteプロパティまたはltプロパティの両方またはいずれか一方を、必ず指定してください。
OSの種類
type
String
appType
oneOf
Array of strings
指定したOSを送信対象とします。以下のいずれかの値を指定します。
iosandroid
地域
type
String
area
oneOf
Array of strings
指定した地域を送信対象とします。以下のいずれかの値を指定します。
日本 // JP (country code=392)
jp_01:北海道 // Hokkaidojp_02:青森県 // Aomorijp_03:岩手県 // Iwatejp_04:宮城県 // Miyagijp_05:秋田県 // Akitajp_06:山形県 // Yamagatajp_07:福島県 // Fukushimajp_08:茨城県 // Ibarakijp_09:栃木県 // Tochigijp_10:群馬県 // Gunmajp_11:埼玉県 // Saitamajp_12:千葉県 // Chibajp_13:東京都 // Tokyojp_14:神奈川県 // Kanagawajp_15:新潟県 // Niigatajp_16:富山県 // Toyamajp_17:石川県 // Ishikawajp_18:福井県 // Fukuijp_19:山梨県 // Yamanashijp_20:長野県 // Naganojp_21:岐阜県 // Gifujp_22:静岡県 // Shizuokajp_23:愛知県 // Aichijp_24:三重県 // Miejp_25:滋賀県 // Shigajp_26:京都府 // Kyotojp_27:大阪府 // Osakajp_28:兵庫県 // Hyougojp_29:奈良県 // Narajp_30:和歌山県 // Wakayamajp_31:鳥取県 // Tottorijp_32:島根県 // Shimanejp_33:岡山県 // Okayamajp_34:広島県 // Hiroshimajp_35:山口県 // Yamaguchijp_36:徳島県 // Tokushimajp_37:香川県 // Kagawajp_38:愛媛県 // Ehimejp_39:高知県 // Kouchijp_40:福岡県 // Fukuokajp_41:佐賀県 // Sagajp_42:長崎県 // Nagasakijp_43:熊本県 // Kumamotojp_44:大分県 // Oitajp_45:宮崎県 // Miyazakijp_46:鹿児島県 // Kagoshimajp_47:沖縄県 // Okinawa
台湾 // TW (country code=158)
tw_01:台北市 // Taipei Citytw_02:新北市 // New Taipei Citytw_03:桃園市 // Taoyuan Citytw_04:台中市 // Taichung Citytw_05:台南市 // Tainan Citytw_06:高雄市 // Kaohsiung Citytw_07:基隆市 // Keelung Citytw_08:新竹市 // Hsinchu Citytw_09:嘉義市 // Chiayi Citytw_10:新竹県 // Hsinchu Countytw_11:苗栗県 // Miaoli Countytw_12:彰化県 // Changhua Countytw_13:南投県 // Nantou Countytw_14:雲林県 // Yunlin Countytw_15:嘉義県 // Chiayi Countytw_16:屏東県 // Pingtung Countytw_17:宜蘭県 // Yilan Countytw_18:花蓮県 // Hualien Countytw_19:台東県 // Taitung Countytw_20:澎湖県 // Penghu Countytw_21:金門県 // Kinmen Countytw_22:連江県 // Lienchiang County
タイ // TH (country code=764)
th_01:バンコク // Bangkokth_02:パタヤ // Pattayath_03:北部 // Northernth_04:中央部 // Centralth_05:南部 // Southernth_06:東部 // Easternth_07:東北部 // NorthEasternth_08:西部 // Western
友だち期間
友だち期間の範囲を指定してフィルタリングします。
type
String
subscriptionPeriod
gte
String
指定した日数以上を送信対象とします。
以下のいずれかの値を指定します。ただし、ltプロパティで指定した値より小さい値を指定してください。
day_7day_30day_90day_180day_365
lt
String
指定した日数未満を送信対象とします。
以下のいずれかの値を指定します。ただし、gteプロパティで指定した値より大きい値を指定してください。
day_7day_30day_90day_180day_365
※gteプロパティまたはltプロパティの両方またはいずれか一方を、必ず指定してください。
演算子オブジェクト
積集合(AND)、和集合(OR)、差集合(NOT)を使用して、複数のデモグラフィックフィルターオブジェクトから、新たなデモグラフィックフィルターオブジェクトを作成できます。1回のリクエストごとに、デモグラフィックフィルターオブジェクトは、合計10件まで指定できます。
type
String
operator
and
デモグラフィックフィルターオブジェクトの配列
配列で指定したデモグラフィックフィルターオブジェクトの積集合(AND)を、新たなデモグラフィックフィルターオブジェクトとします。
or
デモグラフィックフィルターオブジェクトの配列
配列で指定したデモグラフィックフィルターオブジェクトの和集合(OR)を、新たなデモグラフィックフィルターオブジェクトとします。
not
デモグラフィックフィルターオブジェクト
指定したデモグラフィックフィルターオブジェクトを配信対象外にした、新たなデモグラフィックフィルターオブジェクトとします。
※andプロパティ、orプロパティ、notプロパティのいずれか1つだけ、必ず指定してください。また、空配列は指定できません。
性別を使用してフィルタリングするデモグラフィックフィルターオブジェクトの例
リミットオブジェクト
リミットオブジェクトは、ナローキャストメッセージの最大送信数を制限する場合に設定します。
各プロパティの設定による最大送信数の制御について詳しくは、『Messaging APIドキュメント』の「リミットオブジェクトによる最大送信数の制御」を参照してください。
max
Number
ナローキャストメッセージの最大送信数。このナローキャストメッセージによる送信数を制限する場合に指定します。なお送信対象は、無作為に抽出されます。
upToRemainingQuota
Boolean
trueを指定すると、配信可能な上限数の範囲内でメッセージを送信します。デフォルト値はfalseです。なお送信対象は、無作為に抽出されます。
forbidPartialDelivery
Boolean
送信対象の一部にのみメッセージが配信されることを防ぐためのオプションです。upToRemainingQuotaプロパティにtrueを指定し、forbidPartialDeliveryプロパティにもtrueを指定すると、送信対象の人数がメッセージの最大送信数を超えていた場合、メッセージの配信を行いません。
メッセージの配信が中止されたかどうかは、ナローキャストメッセージの進行状況を取得することで確認できます。配信が中止された場合、進行状況を取得した際のレスポンスでphaseプロパティがfailedとなり、errorCodeプロパティで5が返されます。
forbidPartialDeliveryプロパティはupToRemainingQuotaプロパティがtrueの場合にのみ、指定できます。
リミットオブジェクトの例
maxプロパティおよびupToRemainingQuotaプロパティの設定値と、メッセージの予約数および最大送信数の関係は以下のとおりです。
maxプロパティ | upToRemainingQuotaプロパティ | 予約数および最大送信数 |
|---|---|---|
| 未指定 | false | ターゲットリーチの数 |
| 任意の数値 | false | ターゲットリーチの数と、maxプロパティのうちの最小値 |
| 未指定 | true | ターゲットリーチの数と、当月分の上限目安のうちの最小値 |
| 任意の数値 | true | ターゲットリーチの数、当月分の上限目安、maxプロパティのうちの最小値 |
レスポンス
HTTPステータスコード202と空のJSONオブジェクトを返します。
ナローキャストメッセージの送信は非同期に行われます。ナローキャストメッセージの送信状況を確認する方法について詳しくは、「ナローキャストメッセージの進行状況を取得する」を参照してください。
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | メッセージを送信できませんでした。次のような理由が考えられます。
|
403 | 送信対象が不足しています。詳しくは、「属性情報やオーディエンスを利用したメッセージ送信の制限事項」を参照してください。 |
409 | 同じリトライキーを含むリクエストがすでに受理されています。詳しくは、「APIリクエストを再試行する」の「すでにリクエストが受理されていた場合のレスポンス」を参照してください。 |
429 | リクエスト数が上限を超過しました。次のような理由が考えられます。
|
詳しくは、共通仕様の「ステータスコード」および「エラーレスポンス」を参照してください。
エラーが返された場合、どのユーザーに対してもメッセージは送信されません。
エラーレスポンスの例
ナローキャストメッセージの進行状況を取得する
GEThttps://api.line.me/v2/bot/message/progress/narrowcast
ナローキャストメッセージの進行状況を取得します。
送信対象のユーザーの属性を推測できないようにするために、送信対象が一定数よりも少ない場合はナローキャストメッセージを送信できません。詳しくは、「属性情報やオーディエンスを利用したメッセージ送信の制限事項」を参照してください。
acceptedTimeプロパティの値(タイムスタンプ)から14日(336時間)以上経過すると、進行状況は取得できません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
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
メッセージの受信に失敗したユーザー数(※)。phaseがsucceededの場合でも、failureCountが0でない限りは、ナローキャストメッセージを受信できていないユーザーがいます。たとえば、ナローキャストメッセージを送信中に、ユーザーがLINE公式アカウントをブロックした場合はfailureCountに加算されます。
targetCount
Number
メッセージが配信される予定のユーザー数(※)
failedDescription
String
送信が失敗した理由。phaseプロパティがfailedの場合にのみ含まれます。
errorCode
Number
エラーの概要。phaseプロパティがfailedの場合にのみ含まれます。
以下のいずれかの値が返されます。
1:内部エラーが発生しました。2:送信対象が少なすぎたためエラーになりました。3:すでに受理されたリクエストを再試行したため、競合エラーが発生しました。4:送信対象が50人未満のオーディエンスが、送信条件に含まれています。5:送信対象の一部のみにメッセージが配信されることを防ぐために、メッセージの配信を中止しました。このエラーは、limit.forbidPartialDeliveryにtrueを指定してメッセージを送信し、送信対象の人数がメッセージの最大送信数を超えていた場合に発生します。
acceptedTime
String
ナローキャストメッセージ送信のリクエストを受け付けた時間をミリ秒で表します。
- フォーマット:ISO 8601(例:
2020-12-03T10:15:30.121Z) - タイムゾーン:UTC
completedTime
String
ナローキャストメッセージの送信を完了した時間をミリ秒で表します。phaseプロパティがsucceededまたはfailedの場合にのみ返されます。
- フォーマット:ISO 8601(例:
2020-12-03T10:15:30.121Z) - タイムゾーン:UTC
※phaseプロパティがwaitingの場合は取得できません。
エラーレスポンス
ブロードキャストメッセージを送る
POSThttps://api.line.me/v2/bot/message/broadcast
LINE公式アカウントと友だちになっているすべてのユーザーに、任意のタイミングでメッセージを送信します。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/json
Authorization
Bearer {channel access token}
X-Line-Retry-Key
リトライキー。任意の方法で生成した16進表記のUUID(例:123e4567-e89b-12d3-a456-426614174000)を指定します。リトライキーはLINEから提供されません。開発者自身が一意のリトライキーを生成する必要があります。詳しくは、『Messaging APIドキュメント』の「失敗したAPIリクエストを再試行する」を参照してください。
リクエストボディ
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
ブロードキャストメッセージのメッセージオブジェクトを検証するエンドポイントを使用すると、メッセージオブジェクトが有効かを検証できます。
notificationDisabled
Boolean
true:メッセージ送信時に、ユーザーに通知されない。false:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。
デフォルト値はfalseです。
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | 無効なメッセージオブジェクトが指定されています。 |
409 | 同じリトライキーを含むリクエストがすでに受理されています。詳しくは、「APIリクエストを再試行する」の「すでにリクエストが受理されていた場合のレスポンス」を参照してください。 |
429 | リクエスト数が上限を超過しました。次のような理由が考えられます。
|
詳しくは、共通仕様の「ステータスコード」および「エラーレスポンス」を参照してください。
エラーが返された場合、メッセージは送信されません。
エラーレスポンスの例
メッセージに既読をつける
POSThttps://api.line.me/v2/bot/chat/markAsRead
指定したメッセージと、それ以前に送られたすべてのメッセージに既読をつけます。詳しくは、『Messaging APIドキュメント』の「メッセージに既読をつける」を参照してください。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/json
Authorization
Bearer {channel access token}
リクエストボディ
markAsReadToken
String
既読トークン。WebhookのメッセージイベントオブジェクトのmarkAsReadTokenプロパティに含まれます。
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
ローディングのアニメーションを表示する
POSThttps://api.line.me/v2/bot/chat/loading/start
ユーザーとLINE公式アカウントの1対1のトークにおいて、ローディングのアニメーションを表示します。
ローディングのアニメーションは指定した秒数(5秒〜60秒)が経過するか、表示中にLINE公式アカウントからメッセージが届くと自動的に消えます。
ローディングのアニメーションは、ユーザーが対象のLINE公式アカウントとのトーク画面を表示しているときのみ表示されます。ユーザーがトーク画面を表示していないときに、ローディングのアニメーションを表示するリクエストを行っても、通知は行われません。また、その後にユーザーがトーク画面を開いてもアニメーションは表示されません。
ローディングのアニメーションが表示されている間に再び表示のリクエストを行うと、アニメーションはそのまま表示され続け、表示が消えるまでの時間は2回目のリクエストで指定した秒数に上書きされます。
ローディングのアニメーションが表示されるLINEのバージョンは以下のとおりです。
- iOS版またはAndroid版のLINE:13.16.0以降
詳しくは、『Messaging APIドキュメント』の「ローディングのアニメーションを表示する」を参照してください。
リクエストの例
レート制限
100リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Content-Type
application/json
Authorization
Bearer {channel access token}
リクエストボディ
chatId
String
ローディングのアニメーションを表示する対象ユーザーのユーザーID。
ユーザーIDの取得方法については、『Messaging APIドキュメント』の「ユーザーIDを取得する」を参照してください。
loadingSeconds
Number
ローディングのアニメーションを表示する秒数。5、10、15、20、25、30、35、40、45、50、55、60のいずれかの値を指定できます。
デフォルト値は20です。
レスポンス
ステータスコード202と空のJSONオブジェクトを返します。
なお、以下のユーザーを表示先に指定してリクエストを行った場合、ステータスコード202が返りますが、実際にはローディングのアニメーションは表示されません。
- LINE公式アカウントとのトーク画面を開いていないユーザー
- LINE公式アカウントを友だち追加していないユーザー
- LINE公式アカウントをブロックしているユーザー
- LINEアカウントを削除したユーザー
レスポンスの例
エラーレスポンス
当月に送信できるメッセージ数の上限目安を取得する
GEThttps://api.line.me/v2/bot/message/quota
当月に送信できるメッセージ数の上限目安を取得します。無料メッセージ数と追加メッセージ数を合わせた値が返されます。
このエンドポイントで取得できるメッセージ数には、LINE Official Account Managerから送信するメッセージの数も含まれます。
追加メッセージの上限は、LINE Official Account Managerで設定します。設定方法について詳しくは、『LINEヤフー for Business』の「利用と請求(プラン変更やお支払い関連の管理)」を参照してください。
リクエストの例
APIプレイグラウンド
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
type
String
上限目安が設定されているかどうかを示す値。以下のどちらかになります。
none:上限目安が未設定であることを示します。limited:上限目安が設定されていることを示します。
value
Number
当月に送信できるメッセージ数の上限目安。typeプロパティがlimitedの場合にのみ返されます。
レスポンスの例
エラーレスポンス
当月のメッセージ利用状況を取得する
GEThttps://api.line.me/v2/bot/message/quota/consumption
当月に送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数には、LINE Official Account Managerから送信するメッセージの数も含まれます。
この操作により取得されるメッセージ数は概算です。正確なメッセージ送信数を取得するには、LINE Official Account Managerを使用するか、送信済みのメッセージ数を取得するAPI操作を実行してください。
リクエストの例
APIプレイグラウンド
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
totalUsage
Number
当月に送信されたメッセージの数
レスポンスの例
エラーレスポンス
送信済みの応答メッセージの数を取得する
GEThttps://api.line.me/v2/bot/message/delivery/reply
/bot/message/replyエンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
APIプレイグラウンド
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
date
メッセージが送信された日付
- フォーマット:
yyyyMMdd(例:20191231) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready:メッセージ数を取得できます。unready:dateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service:dateに指定した日付が、集計システムの稼働開始日(2018年3月31日)より前です。
success
Number
dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。
レスポンスの例
エラーレスポンス
送信済みのプッシュメッセージの数を取得する
GEThttps://api.line.me/v2/bot/message/delivery/push
/bot/message/pushエンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
APIプレイグラウンド
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
date
メッセージが送信された日付
- フォーマット:
yyyyMMdd(例:20191231) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready:メッセージ数を取得できます。unready:dateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service:dateに指定した日付が、集計システムの稼働開始日(2018年3月31日)より前です。
success
Number
dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。
レスポンスの例
エラーレスポンス
送信済みのマルチキャストメッセージの数を取得する
GEThttps://api.line.me/v2/bot/message/delivery/multicast
/bot/message/multicastエンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
APIプレイグラウンド
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
date
メッセージが送信された日付
- フォーマット:
yyyyMMdd(例:20191231) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready:メッセージ数を取得できます。unready:dateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service:dateに指定した日付が、集計システムの稼働開始日(2018年3月31日)より前です。
success
Number
dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。
レスポンスの例
エラーレスポンス
送信済みのブロードキャストメッセージの数を取得する
GEThttps://api.line.me/v2/bot/message/delivery/broadcast
/bot/message/broadcastエンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
date
メッセージが送信された日付
- フォーマット:
yyyyMMdd(例:20191231) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready:メッセージ数を取得できます。unready:dateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service:dateに指定した日付が、集計システムの稼働開始日(2018年3月31日)より前です。
success
Number
dateに指定した日付に、Messaging APIを使って送信されたメッセージの数。statusの値がreadyの場合にのみ、レスポンスに含まれます。
レスポンスの例
エラーレスポンス
応答メッセージのメッセージオブジェクトを検証する
POSThttps://api.line.me/v2/bot/message/validate/reply
メッセージオブジェクトの配列が、応答メッセージを送るエンドポイントのリクエストボディのmessagesプロパティの値として有効かを検証します。messagesプロパティ以外のプロパティの値が有効かは検証しません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
messages
Array of objects
検証したいメッセージオブジェクトの配列
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
プッシュメッセージのメッセージオブジェクトを検証する
POSThttps://api.line.me/v2/bot/message/validate/push
メッセージオブジェクトの配列が、プッシュメッセージを送るエンドポイントのリクエストボディのmessagesプロパティの値として有効かを検証します。messagesプロパティ以外のプロパティの値が有効かは検証しません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
messages
Array of objects
検証したいメッセージオブジェクトの配列
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
マルチキャストメッセージのメッセージオブジェクトを検証する
POSThttps://api.line.me/v2/bot/message/validate/multicast
メッセージオブジェクトの配列が、マルチキャストメッセージを送るエンドポイントのリクエストボディのmessagesプロパティの値として有効かを検証します。messagesプロパティ以外のプロパティの値が有効かは検証しません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
messages
Array of objects
検証したいメッセージオブジェクトの配列
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
ナローキャストメッセージのメッセージオブジェクトを検証する
POSThttps://api.line.me/v2/bot/message/validate/narrowcast
メッセージオブジェクトの配列が、ナローキャストメッセージを送るエンドポイントのリクエストボディのmessagesプロパティの値として有効かを検証します。messagesプロパティ以外のプロパティの値が有効かは検証しません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
messages
Array of objects
検証したいメッセージオブジェクトの配列
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
ブロードキャストメッセージのメッセージオブジェクトを検証する
POSThttps://api.line.me/v2/bot/message/validate/broadcast
メッセージオブジェクトの配列が、ブロードキャストメッセージを送るエンドポイントのリクエストボディのmessagesプロパティの値として有効かを検証します。messagesプロパティ以外のプロパティの値が有効かは検証しません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
messages
Array of objects
検証したいメッセージオブジェクトの配列
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
APIリクエストを再試行する
プッシュメッセージ、マルチキャストメッセージ、ナローキャストメッセージ、ブロードキャストメッセージに、リトライキー(X-Line-Retry-Key)をHTTPヘッダーに含めることで、同じAPIリクエストを重複して処理しないように再試行できます。
LINEプラットフォーム側のリトライキーの管理期間は24時間です。同じリトライキーを24時間を超えて使用すると、新しいAPIリクエストとして扱われます。
APIリクエストの再試行について詳しくは、『Messaging APIドキュメント』の「失敗したAPIリクエストを再試行する」を参照してください。
同じリトライキーを24時間を超えて使用すると、同じリトライキーを含むAPIリクエストがすでに成功していても、新しいAPIリクエストとして成功します。その結果、重複したメッセージが送信されてしまいます。
リクエストの例
リクエストヘッダー
X-Line-Retry-Key
任意の方法で生成した16進表記のUUID(例:123e4567-e89b-12d3-a456-426614174000)
※ APIリクエストを再試行する場合は必須です。
すでにリクエストが受理されていた場合のレスポンス
同じリトライキーを含むリクエストがすでに受理されていた場合は、ステータスコード409と、すでに受理されたリクエストのリクエストIDを示すx-line-accepted-request-idヘッダー、および以下の情報を含むJSONオブジェクトを返します。
message
String
すでにリクエストが受理されていることを知らせるメッセージ
sentMessages
Array
送信したメッセージの配列。プッシュメッセージを送信した場合のみ、レスポンスに含まれます。
最大件数:5
sentMessages.id
Number
送信したメッセージのID。プッシュメッセージを送信した場合のみ、レスポンスに含まれます。
sentMessages.quoteToken
String
メッセージの引用トークン。プッシュメッセージで、引用対象として指定可能なメッセージオブジェクトを送信した場合のみ、レスポンスに含まれます。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
レスポンスの例
オーディエンス管理
オーディエンスを作成、更新、有効化、削除できます。オーディエンスは、ナローキャストメッセージを配信する際に指定します。
POST/v2/bot/audienceGroup/upload
POST/v2/bot/audienceGroup/upload/byFile
PUT/v2/bot/audienceGroup/upload
PUT/v2/bot/audienceGroup/upload/byFile
POST/v2/bot/audienceGroup/click
POST/v2/bot/audienceGroup/imp
PUT/v2/bot/audienceGroup/{audienceGroupId}/updateDescription
DELETE/v2/bot/audienceGroup/{audienceGroupId}
GET/v2/bot/audienceGroup/{audienceGroupId}
GET/v2/bot/audienceGroup/list
GET/v2/bot/audienceGroup/shared/{audienceGroupId}
GET/v2/bot/audienceGroup/shared/list
なお、オーディエンスは、LINE Official Account Managerでも作成できます。詳しくは、『LINEヤフー for Business』の「オーディエンス」を参照してください。
| オーディエンス | 作成方法 |
|---|---|
| ユーザーIDアップロード用のオーディエンス | |
| メッセージクリックオーディエンス | |
| メッセージインプレッションオーディエンス | |
| チャットタグオーディエンス | LINE Official Account Manager |
| 追加経路オーディエンス | LINE Official Account Manager |
| 予約オーディエンス | LINE Official Account Manager |
| リッチメニューインプレッションオーディエンス | LINE Official Account Manager |
| リッチメニュークリックオーディエンス | LINE Official Account Manager |
| ウェブトラフィックオーディエンス(LINE Tag) | |
| ウェブトラフィックオーディエンス(計測タグ) | LINE Official Account Manager |
| アプリイベントオーディエンス | LINE広告 |
| 動画視聴オーディエンス | LINE広告 |
| 画像クリックオーディエンス | LINE広告 |
| LINE Beacon Networkインプレッションオーディエンス * | LINE広告 |
* LINE Beacon Networkインプレッションオーディエンスは、台湾のユーザーが作成したLINE公式アカウントの場合のみ利用できます。
- 日本(JP)、タイ(TH)、台湾(TW)のユーザーが作成したLINE公式アカウントの場合のみ、オーディエンスを利用できます。
- Messaging APIでは、次のタイプのオーディエンスは作成できません。
- チャットタグオーディエンス
- 追加経路オーディエンス
- 予約オーディエンス
- リッチメニューインプレッションオーディエンス
- リッチメニュークリックオーディエンス
- ウェブトラフィックオーディエンス(LINE Tag)
- ウェブトラフィックオーディエンス(計測タグ)
- アプリイベントオーディエンス
- 動画視聴オーディエンス
- 画像クリックオーディエンス
- LINE Beacon Networkインプレッションオーディエンス
オーディエンス管理に関するエラーの詳細
オーディエンス管理のエンドポイントでエラーが発生した際の詳細は、JSONレスポンスのdetails[].messageプロパティに含まれます。主なエラーの詳細は以下のとおりです。
| メッセージ | 説明 |
|---|---|
AUDIENCE_GROUP_CAN_NOT_UPLOAD_STATUS_EXPIRED | オーディエンスを作成してから180日(15,552,000秒)を超えたため、このオーディエンスは使用できません。 |
AUDIENCE_GROUP_COUNT_MAX_OVER | 作成できるオーディエンス数の上限(合計1,000件)に達しています。 |
AUDIENCE_GROUP_NAME_SIZE_OVER | オーディエンスの名前が長すぎます。 |
AUDIENCE_GROUP_NAME_WRONG | オーディエンスの名前に、無効な文字(例:\nなどの制御コード)を指定しました。 |
AUDIENCE_GROUP_NAME_EMPTY | オーディエンスの名前が空であるか、空白文字のみを指定しました。 |
AUDIENCE_GROUP_NOT_FOUND | オーディエンスが見つかりません。 |
AUDIENCE_GROUP_REQUESTID_DUPLICATE | 既存のオーディエンスに指定したリクエストIDと同じ値を指定しました。 |
AUDIENCE_GROUP_UPLOAD_DESCRIPTION_SIZE_OVER | オーディエンスの説明が長すぎます。 |
REQUEST_NOT_FOUND | 指定したリクエストIDが誤っているか、指定したリクエストIDでオーディエンスを作成する準備ができていません。 |
TOO_OLD_MESSAGES | メッセージを配信してから60日(5,184,000秒)を超えた場合、そのメッセージ(リクエストID)に対するオーディエンスは作成できません。 |
UPLOAD_AUDIENCE_GROUP_INVALID_AUDIENCE_ID_FORMAT |
|
UPLOAD_AUDIENCE_GROUP_NO_VALID_AUDIENCE_IDS |
|
UPLOAD_AUDIENCE_GROUP_TOO_MANY_AUDIENCE_IDS | ユーザーIDまたはIFAの登録上限に達しています。 |
WRONG_BOT_ID | 指定したリクエストIDに含まれるボットIDが、アクセストークンを発行したチャネルに関連付けられたボットと異なります。 |
ALREADY_ACTIVE | オーディエンスグループは、すでに有効です。 |
対処方法
UPLOAD_AUDIENCE_GROUP_INVALID_AUDIENCE_ID_FORMATが返る場合は、プロフィール情報を取得するエンドポイントを使って、JSONに指定しているすべてのユーザーIDのプロフィール情報を取得してください。ステータスコード200以外を返すユーザーIDをJSONから除外したうえで、失敗したエンドポイントを再実行してください。
ユーザーIDアップロード用のオーディエンスを作成する(JSON指定)
POSThttps://api.line.me/v2/bot/audienceGroup/upload
ユーザーIDアップロード用のオーディエンスを作成します。
このエンドポイントでは、送信対象アカウントをJSONで指定します。送信対象アカウントをテキストファイルで指定するエンドポイントも利用できます。
ユーザーIDの取得方法については、『Messaging APIドキュメント』の「ユーザーIDを取得する」を参照してください。
オーディエンスに追加できるユーザーの条件
ユーザーIDアップロード用のオーディエンスには、LINE公式アカウントと友だちになっているユーザーを追加できます。ただし、以下のユーザーをオーディエンスに追加した場合も、ステータスコード202が返され、オーディエンスに追加されます。
- LINEアカウントを削除したユーザー
- オーディエンスを作成したLINE公式アカウントをブロックしているユーザー
- オーディエンスを作成したLINE公式アカウントを友だち追加していないユーザー
なお、作成したオーディエンスを使ってメッセージを送信した場合、上記のユーザーにはメッセージは送信されません。
ユーザーIDアップロード用のオーディエンス作成およびオーディエンスへのユーザーID追加のエンドポイントでは、オーディエンスID(audienceGroupId)単位での同時処理数の制限があります。詳しくは、「同時処理数の制限」を参照してください。
送信対象アカウントをIFAで指定することもできますが、この機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナーにお問い合わせください。
オーディエンスの仕様は以下のとおりです。
| 項目 | 条件 |
|---|---|
| チャネルあたりのオーディエンス数 | 最大1,000件 |
| オーディエンスの保存期間 | 最大180日間(15,552,000秒間) |
| オーディエンスに、1リクエストでアップロードできるユーザーIDまたはIFAの数 | JSONを使用する場合:最大10,000件 ファイルを使用する場合:最大1,500,000件 |
| オーディエンスあたりのユーザー数 | ユーザーIDアップロード用のオーディエンス:制限なし |
ナローキャストメッセージの使用制限については、「属性情報やオーディエンスを利用したメッセージ送信の制限事項」を参照してください。
JSONのaudiencesプロパティで無効なユーザーIDが指定されていた場合、エラーレスポンス(details[].message: UPLOAD_AUDIENCE_GROUP_INVALID_AUDIENCE_ID_FORMAT)が返り、オーディエンスの作成に失敗します。このエンドポイントを実行する前に、audiencesプロパティに含まれるすべてのユーザーIDが有効であることを確認してください。
ユーザーIDが有効か確認するには、プロフィール情報を取得するエンドポイントを使用してください。ユーザーIDが有効な場合は、HTTPステータスコード200が返ります。200以外が返ってきた場合、そのユーザーIDは無効のため、audiencesプロパティには含めないようにしてください。
オーディエンス作成時にJSONのaudiencesプロパティが省略された、または空配列が指定された場合、ユーザーを含まない空のオーディエンスが作成されます。
空のオーディエンスは、オーディエンスに含まれるユーザーの数(audienceGroup.audienceCount)が0であり、配信に利用できません。そのため、レスポンスのaudienceGroup.statusはIN_PROGRESSのまま、READYにはなりません。
ユーザーIDアップロード用のオーディエンスにユーザーIDを追加する際に、プライバシーポリシー(2022年3月改定)に同意していないユーザーのユーザーIDが含まれている場合、未同意のユーザーは無視され同意済みのユーザーのみが追加されます。
そのため、指定したユーザーIDの数よりもオーディエンスの有効な送信対象アカウントの数が少なくなることがあります。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
description
String
オーディエンスの名前。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。
最大文字数:120
isIfaAudience
Boolean
- 送信対象アカウントをIFAで指定する場合は、
trueを指定します。 - 送信対象アカウントをユーザーIDで指定する場合は、
falseを指定するか、isIfaAudienceプロパティを省略します。
uploadDescription
String
ジョブ(jobs[].description)に登録する説明
最大文字数:300
audiences
Array
ユーザーIDまたはIFAの配列。
省略すると、空のオーディエンスが作成されます。
最大件数:10,000
audiences[].id
String
ユーザーIDまたはIFA。空配列も指定できます。
空配列の場合、空のオーディエンスが作成されます。
レスポンス
ステータスコード202と以下の情報を含むJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
createRoute
String
オーディエンスの作成方法。
MESSAGING_API:Messaging APIで作成したオーディエンス
type
String
オーディエンスのタイプ。
UPLOAD:ユーザーIDアップロード用のオーディエンス
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
permission
String
作成したオーディエンスに対する更新権限。
READ_WRITE:オーディエンスを利用、更新できます。
expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。
isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
429 | 同時処理数の上限を超えています。詳しくは、「同時処理数の制限」を参照してください。 |
エラーレスポンスの例
ユーザーIDアップロード用のオーディエンスを作成する(ファイル指定)
POSThttps://api-data.line.me/v2/bot/audienceGroup/upload/byFile
このエンドポイントは、Messaging APIにおけるLINEプラットフォームへの大容量データ送受信用のドメイン名(api-data.line.me)です。他のエンドポイントのドメイン名(api.line.me)とは異なるため、利用時は注意してください。
ユーザーIDアップロード用のオーディエンスを作成します。
このエンドポイントでは、送信対象アカウントをテキストファイルで指定します。送信対象アカウントをJSONで指定するエンドポイントも利用できます。
ユーザーIDの取得方法については、『Messaging APIドキュメント』の「ユーザーIDを取得する」を参照してください。
オーディエンスに追加できるユーザーの条件
ユーザーIDアップロード用のオーディエンスには、LINE公式アカウントと友だちになっているユーザーを追加できます。ただし、以下のユーザーをオーディエンスに追加した場合も、ステータスコード202が返され、オーディエンスに追加されます。
- LINEアカウントを削除したユーザー
- オーディエンスを作成したLINE公式アカウントをブロックしているユーザー
- オーディエンスを作成したLINE公式アカウントを友だち追加していないユーザー
なお、作成したオーディエンスを使ってメッセージを送信した場合、上記のユーザーにはメッセージは送信されません。
ユーザーIDアップロード用のオーディエンス作成およびオーディエンスへのユーザーID追加のエンドポイントでは、オーディエンスID(audienceGroupId)単位での同時処理数の制限があります。詳しくは、「同時処理数の制限」を参照してください。
送信対象アカウントをIFAで指定することもできますが、この機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナーにお問い合わせください。
オーディエンスの仕様は以下のとおりです。
| 項目 | 条件 |
|---|---|
| チャネルあたりのオーディエンス数 | 最大1,000件 |
| オーディエンスの保存期間 | 最大180日間(15,552,000秒間) |
| オーディエンスに、1リクエストでアップロードできるユーザーIDまたはIFAの数 | JSONを使用する場合:最大10,000件 ファイルを使用する場合:最大1,500,000件 |
| オーディエンスあたりのユーザー数 | ユーザーIDアップロード用のオーディエンス:制限なし |
ナローキャストメッセージの使用制限については、「属性情報やオーディエンスを利用したメッセージ送信の制限事項」を参照してください。
ユーザーIDアップロード用のオーディエンスにユーザーIDを追加する際に、プライバシーポリシー(2022年3月改定)に同意していないユーザーのユーザーIDが含まれている場合、未同意のユーザーは無視され同意済みのユーザーのみが追加されます。
そのため、指定したユーザーIDの数よりもオーディエンスの有効な送信対象アカウントの数が少なくなることがあります。
リクエストの例
テキストファイルの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
multipart/form-data
リクエストボディ
description
String
オーディエンスの名前。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。
最大文字数:120
isIfaAudience
Boolean
- 送信対象アカウントをIFAで指定する場合は、
trueを指定します。 - 送信対象アカウントをユーザーIDで指定する場合は、
falseを指定するか、isIfaAudienceプロパティを省略します。
uploadDescription
String
ジョブ(jobs[].description)に登録する説明
最大文字数:300
file
File
ユーザーIDまたはIFAを、1行に1件入力したテキストファイル。Content-Typeは、text/plainを指定してください。
最大ファイル数:1
最大行数:1,500,000
レスポンス
ステータスコード202と以下の情報を含むJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
createRoute
String
オーディエンスの作成方法。
MESSAGING_API:Messaging APIで作成したオーディエンス
type
String
オーディエンスのタイプ。
UPLOAD:ユーザーIDアップロード用のオーディエンス
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
permission
String
作成したオーディエンスに対する更新権限。
READ_WRITE:オーディエンスを利用、更新できます。
expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。
isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
415 | fileプロパティに、サポートされていないメディア形式のファイルが指定されている。 |
429 | 同時処理数の上限を超えています。詳しくは、「同時処理数の制限」を参照してください。 |
エラーレスポンスの例
ユーザーIDアップロード用のオーディエンスにユーザーIDまたはIFAを追加する(JSON指定)
PUThttps://api.line.me/v2/bot/audienceGroup/upload
ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加します。
このエンドポイントでは、送信対象アカウントをJSONで指定します。送信対象アカウントをテキストファイルで指定するエンドポイントも利用できます。
オーディエンスに追加できるユーザーの条件
ユーザーIDアップロード用のオーディエンスには、LINE公式アカウントと友だちになっているユーザーを追加できます。ただし、以下のユーザーをオーディエンスに追加した場合も、ステータスコード202が返され、オーディエンスに追加されます。
- LINEアカウントを削除したユーザー
- オーディエンスを作成したLINE公式アカウントをブロックしているユーザー
- オーディエンスを作成したLINE公式アカウントを友だち追加していないユーザー
なお、作成したオーディエンスを使ってメッセージを送信した場合、上記のユーザーにはメッセージは送信されません。
ユーザーIDアップロード用のオーディエンス作成およびオーディエンスへのユーザーID追加のエンドポイントでは、オーディエンスID(audienceGroupId)単位での同時処理数の制限があります。詳しくは、「同時処理数の制限」を参照してください。
リクエストタイムアウトを30秒以上に設定することを強く推奨します。
JSONのaudiencesプロパティで無効なユーザーIDが指定されていた場合、エラーレスポンス(details[].message: UPLOAD_AUDIENCE_GROUP_INVALID_AUDIENCE_ID_FORMAT)が返り、ユーザーIDの追加に失敗します。このエンドポイントを実行する前に、audiencesプロパティに含まれるすべてのユーザーIDが有効であることを確認してください。
ユーザーIDが有効か確認するには、プロフィール情報を取得するエンドポイントを使用してください。ユーザーIDが有効な場合は、HTTPステータスコード200が返ります。200以外が返ってきた場合、そのユーザーIDは無効のため、audiencesプロパティには含めないようにしてください。
ユーザーIDアップロード用のオーディエンスを作成したときと同じ種類(ユーザーIDまたはIFA)のデータを追加してください。たとえば、初めにIFAを指定して作成したオーディエンスに、ユーザーIDを指定することはできません。
オーディエンスを作成したときに指定した送信対象アカウントの種類(ユーザーIDまたはIFA)は、オーディエンスのisIfaAudienceプロパティで確認できます。詳しくは、「オーディエンスの情報を取得する」を参照してください。
一度追加したユーザーIDまたはIFAを削除することはできません。
ユーザーIDアップロード用のオーディエンスにユーザーIDを追加する際に、プライバシーポリシー(2022年3月改定)に同意していないユーザーのユーザーIDが含まれている場合、未同意のユーザーは無視され同意済みのユーザーのみが追加されます。
そのため、指定したユーザーIDの数よりもオーディエンスの有効な送信対象アカウントの数が少なくなることがあります。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
audienceGroupId
Number
オーディエンスID
uploadDescription
String
ジョブ(jobs[].description)に登録する説明
最大文字数:300
audiences
Array
ユーザーIDまたはIFAの配列
最大件数:10,000
audiences[].id
String
ユーザーIDまたはIFA
レスポンス
HTTPステータスコード202と空のJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
429 | 同時処理数の上限を超えています。詳しくは、「同時処理数の制限」を参照してください。 |
エラーレスポンスの例
ユーザーIDアップロード用のオーディエンスにユーザーIDまたはIFAを追加する(ファイル指定)
PUThttps://api-data.line.me/v2/bot/audienceGroup/upload/byFile
このエンドポイントは、Messaging APIにおけるLINEプラットフォームへの大容量データ送受信用のドメイン名(api-data.line.me)です。他のエンドポイントのドメイン名(api.line.me)とは異なるため、利用時は注意してください。
ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加します。
このエンドポイントでは、送信対象アカウントをテキストファイルで指定します。送信対象アカウントをJSONで指定するエンドポイントも利用できます。
オーディエンスに追加できるユーザーの条件
ユーザーIDアップロード用のオーディエンスには、LINE公式アカウントと友だちになっているユーザーを追加できます。ただし、以下のユーザーをオーディエンスに追加した場合も、ステータスコード202が返され、オーディエンスに追加されます。
- LINEアカウントを削除したユーザー
- オーディエンスを作成したLINE公式アカウントをブロックしているユーザー
- オーディエンスを作成したLINE公式アカウントを友だち追加していないユーザー
なお、作成したオーディエンスを使ってメッセージを送信した場合、上記のユーザーにはメッセージは送信されません。
ユーザーIDアップロード用のオーディエンス作成およびオーディエンスへのユーザーID追加のエンドポイントでは、オーディエンスID(audienceGroupId)単位での同時処理数の制限があります。詳しくは、「同時処理数の制限」を参照してください。
リクエストタイムアウトを30秒以上に設定することを強く推奨します。
ユーザーIDアップロード用のオーディエンスを作成したときと同じ種類(ユーザーIDまたはIFA)のデータを追加してください。たとえば、初めにIFAを指定して作成したオーディエンスに、ユーザーIDを指定することはできません。
オーディエンスを作成したときに指定した送信対象アカウントの種類(ユーザーIDまたはIFA)は、オーディエンスのisIfaAudienceプロパティで確認できます。詳しくは、「オーディエンスの情報を取得する」を参照してください。
一度追加したユーザーIDまたはIFAを削除することはできません。
ユーザーIDアップロード用のオーディエンスにユーザーIDを追加する際に、プライバシーポリシー(2022年3月改定)に同意していないユーザーのユーザーIDが含まれている場合、未同意のユーザーは無視され同意済みのユーザーのみが追加されます。
そのため、指定したユーザーIDの数よりもオーディエンスの有効な送信対象アカウントの数が少なくなることがあります。
リクエストの例
テキストファイルの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
multipart/form-data
リクエストボディ
audienceGroupId
Number
オーディエンスID
uploadDescription
String
ジョブ(jobs[].description)に登録する説明
最大文字数:300
file
File
ユーザーIDまたはIFAを、1行に1件入力したテキストファイル。Content-Typeは、text/plainを指定してください。
最大ファイル数:1
最大行数:1,500,000
レスポンス
HTTPステータスコード202と空のJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
415 | fileプロパティに、サポートされていないメディア形式のファイルが指定されている。 |
429 | 同時処理数の上限を超えています。詳しくは、「同時処理数の制限」を参照してください。 |
エラーレスポンスの例
メッセージクリックオーディエンスを作成する
POSThttps://api.line.me/v2/bot/audienceGroup/click
メッセージクリックオーディエンスを作成します。
メッセージクリックオーディエンスは、ブロードキャストメッセージまたはナローキャストメッセージに記載されたURLをクリックしたユーザーを集めたオーディエンスです。少なくとも1つのリンクをクリックしたユーザーが送信対象になります。
対象のメッセージは、リクエストIDで指定します。
オーディエンスの仕様は以下のとおりです。
| 項目 | 条件 |
|---|---|
| チャネルあたりのオーディエンス数 | 最大1,000件 |
| オーディエンスの保存期間 | 最大180日間(15,552,000秒間) |
| オーディエンスあたりのユーザー数 | メッセージクリックオーディエンス:最小50件 |
| メッセージを配信してからリターゲティング用オーディエンス(※)を作成できる期間 | 最大60日間(5,184,000秒間) |
※メッセージクリックオーディエンスおよびメッセージインプレッションオーディエンスを指します。
ナローキャストメッセージの使用制限については、「属性情報やオーディエンスを利用したメッセージ送信の制限事項」を参照してください。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
description
String
オーディエンスの名前。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。
最大文字数:120
requestId
String
配信から60日以内のブロードキャストメッセージまたはナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
応答メッセージ、プッシュメッセージ、およびマルチキャストメッセージのリクエストIDは、利用できません。
clickUrl
String
ユーザーがクリックしたURL。省略した場合は、メッセージ内の任意のURLをクリックしたユーザーが送信対象になります。
最大文字数:2,000
レスポンス
ステータスコード202と以下の情報を含むJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
createRoute
String
オーディエンスの作成方法。
MESSAGING_API:Messaging APIで作成したオーディエンス
type
String
オーディエンスのタイプ。
CLICK:メッセージクリックオーディエンス
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
permission
String
作成したオーディエンスに対する更新権限。
READ_WRITE:オーディエンスを利用、更新できます。
expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。
isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
requestId
String
オーディエンスを作成したときに指定したリクエストID
clickUrl
String
オーディエンスを作成したときに指定したURL。リクエスト時にclickUrlプロパティに値を指定した場合にのみ含まれます。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
エラーレスポンスの例
メッセージインプレッションオーディエンスを作成する
POSThttps://api.line.me/v2/bot/audienceGroup/imp
メッセージインプレッションオーディエンスを作成します。
メッセージインプレッションオーディエンスは、ブロードキャストメッセージまたはナローキャストメッセージを表示したユーザーを集めたオーディエンスです。少なくとも1つの吹き出しを表示したユーザーが送信対象になります。
対象のメッセージは、リクエストIDで指定します。
オーディエンスの仕様は以下のとおりです。
| 項目 | 条件 |
|---|---|
| チャネルあたりのオーディエンス数 | 最大1,000件 |
| オーディエンスの保存期間 | 最大180日間(15,552,000秒) |
| オーディエンスあたりのユーザー数 | メッセージインプレッションオーディエンス:最小50件 |
| メッセージを配信してからリターゲティング用オーディエンス(※)を作成できる期間 | 最大60日間(5,184,000秒間) |
※メッセージクリックオーディエンスおよびメッセージインプレッションオーディエンスを指します。
ナローキャストメッセージの使用制限については、「属性情報やオーディエンスを利用したメッセージ送信の制限事項」を参照してください。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
description
String
オーディエンスの名前。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。
最大文字数:120
requestId
String
配信から60日以内のブロードキャストメッセージまたはナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
レスポンス
ステータスコード202と以下の情報を含むJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
createRoute
String
オーディエンスの作成方法。
MESSAGING_API:Messaging APIで作成したオーディエンス
type
String
オーディエンスのタイプ。
IMP:メッセージインプレッションオーディエンス
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
permission
String
作成したオーディエンスに対する更新権限。
READ_WRITE:オーディエンスを利用、更新できます。
expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。
isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
requestId
String
オーディエンスを作成したときに指定したリクエストID
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
エラーレスポンスの例
オーディエンスの名前を更新する
PUThttps://api.line.me/v2/bot/audienceGroup/{audienceGroupId}/updateDescription
既存のオーディエンスの名前を変更します。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
パスパラメータ
audienceGroupId
オーディエンスID
リクエストボディ
description
String
オーディエンスの名前。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。
最大文字数:120
レスポンス
HTTPステータスコード200と空のJSONオブジェクトを返します。
エラーレスポンス
オーディエンスを削除する
DELETEhttps://api.line.me/v2/bot/audienceGroup/{audienceGroupId}
オーディエンスを削除します。
削除する前に、オーディエンスが使用されていないことを確認してください。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
audienceGroupId
オーディエンスID
レスポンス
HTTPステータスコード202と空のJSONオブジェクトを返します。
エラーレスポンス
オーディエンスの情報を取得する
GEThttps://api.line.me/v2/bot/audienceGroup/{audienceGroupId}
オーディエンスの情報を取得します。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
audienceGroupId
オーディエンスID
レスポンス
HTTPステータスコード200と以下の情報を含むJSONオブジェクトを返します。
audienceGroup
Object
オーディエンスグループオブジェクト
audienceGroup.audienceGroupId
Number
オーディエンスID
audienceGroup.createRoute
String
オーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスMESSAGING_API:Messaging APIで作成したオーディエンスPOINT_AD:LINEポイントADで作成したオーディエンスAD_MANAGER:LINE広告で作成したオーディエンス
audienceGroup.type
String
オーディエンスのタイプ。以下のいずれかの値です。
UPLOAD:ユーザーIDアップロード用のオーディエンスCLICK:メッセージクリックオーディエンスIMP:メッセージインプレッションオーディエンスCHAT_TAG:チャットタグオーディエンスFRIEND_PATH:追加経路オーディエンスRESERVATION:予約オーディエンスRICHMENU_IMP:リッチメニューインプレッションオーディエンスRICHMENU_CLICK:リッチメニュークリックオーディエンスAPP_EVENT:アプリイベントオーディエンスVIDEO_VIEW:動画視聴オーディエンスWEBTRAFFIC:ウェブトラフィックオーディエンス(LINE Tag)TRACKINGTAG_WEBTRAFFIC:ウェブトラフィックオーディエンス(計測タグ)IMAGE_CLICK:画像クリックオーディエンスPOP_AD_IMP:LINE Beacon Networkインプレッションオーディエンス
詳しくは、『LINEヤフー for Business』の「オーディエンス」を参照してください。
audienceGroup.description
String
オーディエンスの名前
audienceGroup.status
String
オーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。ユーザー数の規定があるオーディエンスにおいて、オーディエンスに含まれるユーザーの数(最低50件)が不足している場合、ステータスはIN_PROGRESSのまま更新されません。READY:配信に利用可能。FAILED:作成時にエラーが発生。EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE:オーディエンスが無効です。ACTIVATING:オーディエンスを有効化しています。
audienceGroup.audienceCount
Number
オーディエンスに含まれるユーザーの数。ユーザーのプライバシーを保護するため、有効な送信対象アカウントの数が20未満の場合は0が返ります。ただし、オーディエンスのタイプが以下の場合を除きます。
- ユーザーIDアップロード用のオーディエンス(送信対象アカウントをユーザーIDで指定する場合)
- チャットタグオーディエンス
オーディエンスには、既にLINE公式アカウントをブロックしたユーザーも含まれる可能性があるため、audienceGroup.audienceCountの値と、メッセージの送信対象となるユーザーの数は異なります。
audienceGroup.created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
audienceGroup.permission
String
オーディエンスに対する更新権限。現在のMessaging APIチャネルが、対象のオーディエンスを更新できる場合はREAD_WRITE、更新できない場合はREADが返ります。
READ:オーディエンスを利用できますが、更新はできません。READ_WRITE:オーディエンスを利用、更新できます。
audienceGroup.isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
audienceGroup.requestId
String
オーディエンスを作成したときに指定したリクエストID。audienceGroup.typeがCLICKまたはIMPの場合にのみ含まれます。
audienceGroup.clickUrl
String
オーディエンスを作成したときに指定したURL。audienceGroup.typeがCLICKで、リンク先URLが指定されている場合にのみ含まれます。
audienceGroup.failedType
String
失敗した原因。audienceGroup.statusがFAILEDの場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれるユーザーの数(最低50件)が不足しています。INTERNAL_ERROR:内部サーバーのエラーです。
audienceGroup.activated
Number
オーディエンスが有効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroup.inactivatedTimestamp
Number
オーディエンスが無効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroup.expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。特定のオーディエンスの場合のみ含まれます。
jobs
Array
ジョブの配列。ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加した最新履歴を管理する配列です。それ以外のオーディエンスの場合は空配列が返ります。
最大件数:50
jobs[].audienceGroupJobId
Number
ジョブID
jobs[].audienceGroupId
Number
オーディエンスID
jobs[].description
String
ジョブの説明。ユーザーIDまたはIFAを追加する際にuploadDescriptionプロパティに値を指定しなかった場合はnullが返されます。
jobs[].type
String
ジョブの種類。以下のいずれかの値です。
DIFF_ADD:Messaging APIでユーザーIDまたはIFAを追加したことを示します。
jobs[].status
String
このプロパティの利用は非推奨です。ジョブのステータスはjobs[].jobStatusを参照してください。
jobs[].failedType
String
失敗した原因。jobs[].jobStatusがFAILEDの場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれるユーザーの数(最低50件)が不足しています。INTERNAL_ERROR:内部サーバーのエラーです。
jobs[].jobStatusがFAILED以外の場合はnullが返されます。
jobs[].audienceCount
Number
追加または削除された送信対象アカウントの数
jobs[].created
Number
ジョブが作成された時刻。UNIX時間(秒)で返されます。
jobs[].jobStatus
String
ジョブのステータス。以下のいずれかの値です。
QUEUED:待機中WORKING:実行中FINISHED:成功FAILED:失敗
adaccount
Object
広告アカウントオブジェクト。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
adaccount[].name
String
オーディエンスグループを作成した広告アカウント名
レスポンスの例
エラーレスポンス
複数のオーディエンスの情報を取得する
GEThttps://api.line.me/v2/bot/audienceGroup/list
複数のオーディエンスの情報を取得します。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
page
取得するページ番号。1以上を指定してください。
description
取得するオーディエンスの名前。部分一致で検索できます。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。省略した場合は、オーディエンスの名前を検索条件として使用しません。
status
取得するオーディエンスのステータス。省略した場合は、オーディエンスのステータスを検索条件として使用しません。以下のいずれかの値です。
IN_PROGRESS:準備中。READY:配信に利用可能。FAILED:作成時にエラーが発生。EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE:オーディエンスが無効です。ACTIVATING:オーディエンスを有効化しています。
size
1ページごとのオーディエンス数。デフォルト値は20です。
最大値:40
includesExternalPublicGroups
true:同じボットに関連付けられた、すべてのチャネルで作成された公開オーディエンスを取得(デフォルト)false:同じチャネルに作成されたオーディエンスのみを取得
createRoute
オーディエンスの作成方法。省略した場合は、すべてのオーディエンスを取得します。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスのみを取得MESSAGING_API:Messaging APIで作成したオーディエンスのみを取得POINT_AD:LINEポイントADで作成したオーディエンスのみを取得AD_MANAGER:LINE広告で作成したオーディエンスのみを取得
複数のパラメータを指定した場合、OR条件となります。
レスポンス
HTTPステータスコード200と以下の情報を含むJSONオブジェクトを返します。
audienceGroups
Array
オーディエンスの情報の配列。指定した条件に該当するオーディエンスが存在しなかった場合は空配列が返ります。
audienceGroups[].audienceGroupId
Number
オーディエンスID
audienceGroups[].createRoute
String
オーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスMESSAGING_API:Messaging APIで作成したオーディエンスPOINT_AD:LINEポイントADで作成したオーディエンスAD_MANAGER:LINE広告で作成したオーディエンス
audienceGroups[].type
String
オーディエンスのタイプ。以下のいずれかの値です。
UPLOAD:ユーザーIDアップロード用のオーディエンスCLICK:メッセージクリックオーディエンスIMP:メッセージインプレッションオーディエンスCHAT_TAG:チャットタグオーディエンスFRIEND_PATH:追加経路オーディエンスRESERVATION:予約オーディエンスRICHMENU_IMP:リッチメニューインプレッションオーディエンスRICHMENU_CLICK:リッチメニュークリックオーディエンスAPP_EVENT:アプリイベントオーディエンスVIDEO_VIEW:動画視聴オーディエンスWEBTRAFFIC:ウェブトラフィックオーディエンス(LINE Tag)TRACKINGTAG_WEBTRAFFIC:ウェブトラフィックオーディエンス(計測タグ)IMAGE_CLICK:画像クリックオーディエンスPOP_AD_IMP:LINE Beacon Networkインプレッションオーディエンス
詳しくは、『LINEヤフー for Business』の「オーディエンス」を参照してください。
audienceGroups[].description
String
オーディエンスの名前
audienceGroups[].status
String
オーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。ユーザー数の規定があるオーディエンスにおいて、オーディエンスに含まれるユーザーの数(最低50件)が不足している場合、ステータスはIN_PROGRESSのまま更新されません。READY:配信に利用可能。FAILED:作成時にエラーが発生。EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE:オーディエンスが無効です。ACTIVATING:オーディエンスを有効化しています。
audienceGroups[].audienceCount
Number
オーディエンスに含まれるユーザーの数。ユーザーのプライバシーを保護するため、有効な送信対象アカウントの数が20未満の場合は0が返ります。ただし、オーディエンスのタイプが以下の場合を除きます。
- ユーザーIDアップロード用のオーディエンス(送信対象アカウントをユーザーIDで指定する場合)
- チャットタグオーディエンス
オーディエンスには、既にLINE公式アカウントをブロックしたユーザーも含まれる可能性があるため、audienceGroups[].audienceCountの値と、メッセージの送信対象となるユーザーの数は異なります。
audienceGroups[].created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
audienceGroups[].permission
String
オーディエンスに対する更新権限。現在のMessaging APIチャネルが、対象のオーディエンスを更新できる場合はREAD_WRITE、更新できない場合はREADが返ります。
READ:オーディエンスを利用できますが、更新はできません。READ_WRITE:オーディエンスを利用、更新できます。
audienceGroups[].isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
audienceGroups[].activated
Number
オーディエンスが有効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroups[].inactivatedTimestamp
Number
オーディエンスが無効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroups[].expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。特定のオーディエンスの場合のみ含まれます。
audienceGroups[].requestId
String
オーディエンスを作成したときに指定したリクエストID。audienceGroups[].typeがCLICKまたはIMPの場合にのみ含まれます。
audienceGroups[].clickUrl
String
オーディエンスを作成したときに指定したURL。audienceGroups[].typeがCLICKで、リンク先URLが指定されている場合にのみ含まれます。
audienceGroups[].failedType
String
失敗した原因。audienceGroups[].statusがFAILEDまたはEXPIREDの場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれるユーザーの数(最低50件)が不足しています。INTERNAL_ERROR:内部サーバーのエラーです。
hasNextPage
Boolean
次のページが存在する場合は、true
totalCount
Number
指定した条件で取得できるオーディエンスの総数
readWriteAudienceGroupTotalCount
Number
指定した条件で取得できるオーディエンスのうち、更新権限(audienceGroups[].permission)がREAD_WRITEになっているオーディエンスの数
page
Number
現在のページ番号
size
Number
現在のページに含まれる最大のオーディエンス数
レスポンスの例
エラーレスポンス
ビジネスマネージャーで共有されたオーディエンスの情報を取得する
GEThttps://api.line.me/v2/bot/audienceGroup/shared/{audienceGroupId}
ビジネスマネージャーで共有されたオーディエンスの情報を取得します。
ビジネスマネージャーを使うことで、特定のオーディエンスを複数のサービス間で共有できます。ビジネスマネージャーでオーディエンスを横断利用することで、エンドユーザーとのより良いコミュニケーションが実現できます。
詳しくは、『LINE DATA SOLUTION』の「ビジネスマネージャー」を参照してください。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
audienceGroupId
情報を取得したいオーディエンスのオーディエンスID。
レスポンス
HTTPステータスコード200と以下の情報を含むJSONオブジェクトを返します。
audienceGroup
Object
オーディエンスグループオブジェクト
audienceGroup.audienceGroupId
Number
オーディエンスID
audienceGroup.createRoute
String
オーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスMESSAGING_API:Messaging APIで作成したオーディエンスPOINT_AD:LINEポイントADで作成したオーディエンスAD_MANAGER:LINE広告で作成したオーディエンスBUSINESS_MANAGER:ビジネスマネージャーで作成したオーディエンスYAHOO_DISPLAY_ADS:Yahoo!広告 ディスプレイ広告で作成したオーディエンス
audienceGroup.type
String
オーディエンスのタイプ。以下のいずれかの値です。
UPLOAD:ユーザーIDアップロード用のオーディエンスCLICK:メッセージクリックオーディエンスIMP:メッセージインプレッションオーディエンスCHAT_TAG:チャットタグオーディエンスFRIEND_PATH:追加経路オーディエンスRESERVATION:予約オーディエンスRICHMENU_IMP:リッチメニューインプレッションオーディエンスRICHMENU_CLICK:リッチメニュークリックオーディエンスAPP_EVENT:アプリイベントオーディエンスVIDEO_VIEW:動画視聴オーディエンスWEBTRAFFIC:ウェブトラフィックオーディエンス(LINE Tag)TRACKINGTAG_WEBTRAFFIC:ウェブトラフィックオーディエンス(計測タグ)IMAGE_CLICK:画像クリックオーディエンスPOP_AD_IMP:LINE Beacon Networkインプレッションオーディエンス
詳しくは、『LINEヤフー for Business』の「オーディエンス」を参照してください。
audienceGroup.description
String
オーディエンスの名前
audienceGroup.status
String
オーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。ユーザー数の規定があるオーディエンスにおいて、オーディエンスに含まれるユーザーの数(最低50件)が不足している場合、ステータスはIN_PROGRESSのまま更新されません。READY:配信に利用可能。FAILED:作成時にエラーが発生。EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE:オーディエンスが無効です。ACTIVATING:オーディエンスを有効化しています。
audienceGroup.audienceCount
Number
オーディエンスに含まれるユーザーの数。ユーザーのプライバシーを保護するため、有効な送信対象アカウントの数が20未満の場合は0が返ります。ただし、オーディエンスのタイプが以下の場合を除きます。
- ユーザーIDアップロード用のオーディエンス(送信対象アカウントをユーザーIDで指定する場合)
- チャットタグオーディエンス
オーディエンスには、既にLINE公式アカウントをブロックしたユーザーも含まれる可能性があるため、audienceGroup.audienceCountの値と、メッセージの送信対象となるユーザーの数は異なります。
audienceGroup.created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
audienceGroup.permission
String
オーディエンスに対する更新権限。現在のMessaging APIチャネルが、対象のオーディエンスを更新できる場合はREAD_WRITE、更新できない場合はREADが返ります。
READ:オーディエンスを利用できますが、更新はできません。READ_WRITE:オーディエンスを利用、更新できます。
audienceGroup.isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
audienceGroups[].webtraffic
Object
ウェブトラフィックオブジェクト。audienceGroups[].typeがWEBTRAFFICまたはTRACKINGTAG_WEBTRAFFICの場合にのみ含まれます。
audienceGroup.requestId
String
オーディエンスを作成したときに指定したリクエストID。audienceGroup.typeがCLICKまたはIMPの場合にのみ含まれます。
audienceGroup.clickUrl
String
オーディエンスを作成したときに指定したURL。audienceGroup.typeがCLICKで、リンク先URLが指定されている場合にのみ含まれます。
audienceGroup.failedType
String
失敗した原因。audienceGroup.statusがFAILEDの場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれるユーザーの数(最低50件)が不足しています。INTERNAL_ERROR:内部サーバーのエラーです。
audienceGroup.activated
Number
オーディエンスが有効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroup.inactivatedTimestamp
Number
オーディエンスが無効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroup.expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。特定のオーディエンスの場合のみ含まれます。
jobs
Array
ジョブの配列。ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加した最新履歴を管理する配列です。それ以外のオーディエンスの場合は空配列が返ります。
最大件数:50
jobs[].audienceGroupJobId
Number
ジョブID
jobs[].audienceGroupId
Number
オーディエンスID
jobs[].description
String
ジョブの説明。ユーザーIDまたはIFAを追加する際にuploadDescriptionプロパティに値を指定しなかった場合はnullが返されます。
jobs[].type
String
ジョブの種類。以下のいずれかの値です。
DIFF_ADD:Messaging APIでユーザーIDまたはIFAを追加したことを示します。
jobs[].status
String
このプロパティの利用は非推奨です。ジョブのステータスはjobs[].jobStatusを参照してください。
jobs[].failedType
String
失敗した原因。jobs[].jobStatusがFAILEDの場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれるユーザーの数(最低50件)が不足しています。INTERNAL_ERROR:内部サーバーのエラーです。
jobs[].jobStatusがFAILED以外の場合はnullが返されます。
jobs[].audienceCount
Number
追加または削除された送信対象アカウントの数
jobs[].created
Number
ジョブが作成された時刻。UNIX時間(秒)で返されます。
jobs[].jobStatus
String
ジョブのステータス。以下のいずれかの値です。
QUEUED:待機中WORKING:実行中FINISHED:成功FAILED:失敗
owner.serviceType
String
オーディエンスを作成したサービス名称。以下のいずれかの値を返します。
bm:ビジネスマネージャーlap:LINE広告account:LINE公式アカウントyda:Yahoo!広告
owner.id
String
オーディエンスを作成したアカウントのID。
owner.name
String
オーディエンスを作成したアカウントの名前。
レスポンスの例
ウェブトラフィックオブジェクト
ウェブトラフィックオーディエンスについての情報を表すオブジェクトです。
webtrafficIsMyTag
Boolean
- LINE Tagの場合:LINE TagがMessaging APIチャネルと紐づいているLINE公式アカウントで作成されている場合は
trueを返します。 - 計測タグの場合:常に
falseを返します。
webtrafficBmTagSharingStatus
String
ウェブトラフィックオーディエンスで使用されているLINE Tagまたは計測タグのビジネスマネージャーでの共有状態を表す値。
LINE Tagの場合、以下の値を返します。
SHARED:ビジネスマネージャー上で共有されているUNSHARED:ビジネスマネージャー上で共有されていないERROR:一時的なエラーのためタグの詳細が取得できない
計測タグの場合、以下の値を返します。
SHARED:計測タグを作成したビジネスマネージャーの組織とLINE公式アカウントが連携済みUNSHARED:計測タグを作成したビジネスマネージャーの組織とLINE公式アカウントが未連携ERROR:一時的なエラーのためタグの詳細が取得できない
ビジネスマネージャーの組織とLINE公式アカウントの連携方法について詳しくは、『LINE for Business』の「組織へのLINE公式アカウントの接続方法を教えてください」を参照してください。
webtrafficIsTagDeleted
Boolean
- LINE Tagの場合:このウェブトラフィックオーディエンスで使用されているLINE Tagが既に削除されている場合は
trueを返します。 - 計測タグの場合:常に
falseを返します。
webtrafficTagCreateRoute
String
ウェブトラフィックオーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスAD_MANAGER:LINE広告で作成したオーディエンスBUSINESS_MANAGER:ビジネスマネージャーで作成したオーディエンス
webtrafficVisitType
String
LINE Tagまたは計測タグのマッチング方法。以下のいずれかの値です。
VISIT_ALL:すべての訪問ユーザーURL_MATCHING:URL条件EVENT_MATCHING:イベント指定
webtrafficRetentionDays
String
ウェブトラフィックオーディエンスの保有期間
webtrafficTagEventType
String
イベントコードの種類。webtrafficVisitTypeがEVENT_MATCHINGの場合にのみ含まれます。以下のいずれかの値です。
CONVERSION_EVENT:コンバージョンコードCUSTOM_EVENT:カスタムイベントコード
webtrafficCustomEventName
String
カスタムイベント名。webtrafficVisitTypeがEVENT_MATCHINGかつwebtrafficTagEventTypeがCUSTOM_EVENTの場合にのみ含まれます。
webtrafficMatchingType
String
LINE Tagまたは計測タグのイベント判定方法。webtrafficVisitTypeがEVENT_MATCHINGまたはURL_MATCHINGの場合にのみ含まれます。値は常にNORMALです。
webtrafficConditionGroup
Array
マッチング条件を表す配列。
webtrafficConditionGroup[].conditionType
String
keywords配列に含まれるキーワードとのマッチング条件。以下のいずれかの値です。
CONTAIN:キーワードを含むNOT_CONTAIN:キーワードを含まないEQUAL_TO:キーワードと一致する
webtrafficConditionGroup.keywords
Array of strings
マッチング条件に使用されるキーワードの配列。
webtrafficTagId
String
LINE Tagまたは計測タグのタグID。
webtrafficTagOwnerName
String
LINE Tagを発行したアカウントの名前。ウェブトラフィックオーディエンスでLINE Tagが使用されている場合にのみ含まれます。
例
エラーレスポンス
ビジネスマネージャーで共有されたオーディエンスのリストを取得する
GEThttps://api.line.me/v2/bot/audienceGroup/shared/list
ビジネスマネージャーで共有されたオーディエンスのリストを取得します。
「ビジネスマネージャーで共有されたオーディエンスの情報を取得する」エンドポイントを使うことで、それぞれのオーディエンスについて、より詳細な情報を取得できます。
ビジネスマネージャーを使うことで、特定のオーディエンスを複数のサービス間で共有できます。ビジネスマネージャーでオーディエンスを横断利用することで、エンドユーザーとのより良いコミュニケーションが実現できます。
詳しくは、『LINE DATA SOLUTION』の「ビジネスマネージャー」を参照してください。
リクエストの例
レート制限
60リクエスト/分
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
page
取得するページ番号。1以上を指定してください。省略した場合は、1ページ目を取得します。
オーディエンスをすべて取得する場合、レスポンスのaudienceGroups配列が、1ページごとのオーディエンス数(size)未満の件数になるまで、pageをインクリメントしてリクエストを繰り返します。
description
取得するオーディエンスの名前。部分一致で検索できます。なお、大文字と小文字は区別されないため、AUDIENCEとaudienceは同じ名前と判定されます。省略した場合は、オーディエンスの名前を検索条件として使用しません。
status
取得するオーディエンスのステータス。以下のいずれかの値で指定します。省略した場合は、オーディエンスのステータスを検索条件として使用しません。
IN_PROGRESS:準備中。READY:配信に利用可能。FAILED:作成時にエラーが発生。EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。
size
1ページごとのオーディエンス数。デフォルト値は20です。
最大値:40
createRoute
オーディエンスの作成方法。省略した場合は、すべてのオーディエンスを取得します。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスのみを取得MESSAGING_API:Messaging APIで作成したオーディエンスのみを取得POINT_AD:LINEポイントADで作成したオーディエンスのみを取得AD_MANAGER:LINE広告で作成したオーディエンスのみを取得BUSINESS_MANAGER:ビジネスマネージャーで作成したオーディエンスのみを取得YAHOO_DISPLAY_ADS:Yahoo!広告 ディスプレイ広告で作成したオーディエンスのみを取得
複数のパラメータを指定した場合、OR条件となります。
includesOwnedAudienceGroups
ビジネスマネージャーで共有されたオーディエンスに加えて、LINE公式アカウントで作成したオーディエンスを含めるかどうかの設定。デフォルト値はfalseです。
true:LINE公式アカウントで作成したオーディエンスを含めて取得false:ビジネスマネージャーで共有されたオーディエンスのみを取得
レスポンス
HTTPステータスコード200と以下の情報を含むJSONオブジェクトを返します。
audienceGroups
Array
オーディエンスの情報の配列。指定した条件に該当するオーディエンスが存在しなかった場合は空配列が返ります。
audienceGroups[].audienceGroupId
Number
オーディエンスID
audienceGroups[].createRoute
String
オーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスMESSAGING_API:Messaging APIで作成したオーディエンスPOINT_AD:LINEポイントADで作成したオーディエンスAD_MANAGER:LINE広告で作成したオーディエンスBUSINESS_MANAGER:ビジネスマネージャーで作成したオーディエンスYAHOO_DISPLAY_ADS:Yahoo!広告 ディスプレイ広告で作成したオーディエンス
audienceGroups[].type
String
オーディエンスのタイプ。以下のいずれかの値です。
UPLOAD:ユーザーIDアップロード用のオーディエンスCLICK:メッセージクリックオーディエンスIMP:メッセージインプレッションオーディエンスCHAT_TAG:チャットタグオーディエンスFRIEND_PATH:追加経路オーディエンスRESERVATION:予約オーディエンスRICHMENU_IMP:リッチメニューインプレッションオーディエンスRICHMENU_CLICK:リッチメニュークリックオーディエンスAPP_EVENT:アプリイベントオーディエンスVIDEO_VIEW:動画視聴オーディエンスWEBTRAFFIC:ウェブトラフィックオーディエンス(LINE Tag)TRACKINGTAG_WEBTRAFFIC:ウェブトラフィックオーディエンス(計測タグ)IMAGE_CLICK:画像クリックオーディエンスPOP_AD_IMP:LINE Beacon Networkインプレッションオーディエンス
詳しくは、『LINEヤフー for Business』の「オーディエンス」を参照してください。
audienceGroups[].description
String
オーディエンスの名前
audienceGroups[].status
String
オーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS:準備中。READYになるまで数時間かかる場合があります。ユーザー数の規定があるオーディエンスにおいて、オーディエンスに含まれるユーザーの数(最低50件)が不足している場合、ステータスはIN_PROGRESSのまま更新されません。READY:配信に利用可能。FAILED:作成時にエラーが発生。EXPIRED:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE:オーディエンスが無効です。ACTIVATING:オーディエンスを有効化しています。
audienceGroups[].audienceCount
Number
オーディエンスに含まれるユーザーの数。ユーザーのプライバシーを保護するため、有効な送信対象アカウントの数が20未満の場合は0が返ります。ただし、オーディエンスのタイプが以下の場合を除きます。
- ユーザーIDアップロード用のオーディエンス(送信対象アカウントをユーザーIDで指定する場合)
- チャットタグオーディエンス
オーディエンスには、既にLINE公式アカウントをブロックしたユーザーも含まれる可能性があるため、audienceGroups[].audienceCountの値と、メッセージの送信対象となるユーザーの数は異なります。
audienceGroups[].created
Number
オーディエンスが作成された時刻。UNIX時間(秒)で返されます。
audienceGroups[].permission
String
オーディエンスに対する更新権限。現在のMessaging APIチャネルが、対象のオーディエンスを更新できる場合はREAD_WRITE、更新できない場合はREADが返ります。
READ:オーディエンスを利用できますが、更新はできません。READ_WRITE:オーディエンスを利用、更新できます。
audienceGroups[].isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true:IFAで指定するfalse:ユーザーIDで指定する(デフォルト)
audienceGroups[].activated
Number
オーディエンスが有効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroups[].inactivatedTimestamp
Number
オーディエンスが無効化した時間。LINE広告やLINEポイントADで作成したオーディエンスの場合のみ含まれます。
audienceGroups[].expireTimestamp
Number
オーディエンスの有効期限。UNIX時間(秒)で返されます。特定のオーディエンスの場合のみ含まれます。
audienceGroups[].webtraffic
Object
ウェブトラフィックオブジェクト。audienceGroups[].typeがWEBTRAFFICまたはTRACKINGTAG_WEBTRAFFICの場合にのみ含まれます。
audienceGroups[].requestId
String
オーディエンスを作成したときに指定したリクエストID。audienceGroups[].typeがCLICKまたはIMPの場合にのみ含まれます。
audienceGroups[].clickUrl
String
オーディエンスを作成したときに指定したURL。audienceGroups[].typeがCLICKで、リンク先URLが指定されている場合にのみ含まれます。
audienceGroups[].failedType
String
失敗した原因。audienceGroups[].statusがFAILEDまたはEXPIREDの場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT:オーディエンスに含まれるユーザーの数(最低50件)が不足しています。INTERNAL_ERROR:内部サーバーのエラーです。
hasNextPage
Boolean
次のページが存在する場合は、true
totalCount
Number
指定した条件で取得できるオーディエンスの総数
readWriteAudienceGroupTotalCount
Number
指定した条件で取得できるオーディエンスのうち、更新権限(audienceGroups[].permission)がREAD_WRITEになっているオーディエンスの数
page
Number
現在のページ番号
size
Number
現在のページに含まれる最大のオーディエンス数
レスポンスの例
ウェブトラフィックオブジェクト
ウェブトラフィックオーディエンスについての情報を表すオブジェクトです。
webtrafficIsMyTag
Boolean
- LINE Tagの場合:LINE TagがMessaging APIチャネルと紐づいているLINE公式アカウントで作成されている場合は
trueを返します。 - 計測タグの場合:常に
falseを返します。
webtrafficBmTagSharingStatus
String
ウェブトラフィックオーディエンスで使用されているLINE Tagまたは計測タグのビジネスマネージャーでの共有状態を表す値。
LINE Tagの場合、以下の値を返します。
SHARED:ビジネスマネージャー上で共有されているUNSHARED:ビジネスマネージャー上で共有されていないERROR:一時的なエラーのためタグの詳細が取得できない
計測タグの場合、以下の値を返します。
SHARED:計測タグを作成したビジネスマネージャーの組織とLINE公式アカウントが連携済みUNSHARED:計測タグを作成したビジネスマネージャーの組織とLINE公式アカウントが未連携ERROR:一時的なエラーのためタグの詳細が取得できない
ビジネスマネージャーの組織とLINE公式アカウントの連携方法について詳しくは、『LINE for Business』の「組織へのLINE公式アカウントの接続方法を教えてください」を参照してください。
webtrafficIsTagDeleted
Boolean
- LINE Tagの場合:このウェブトラフィックオーディエンスで使用されているLINE Tagが既に削除されている場合は
trueを返します。 - 計測タグの場合:常に
falseを返します。
webtrafficTagCreateRoute
String
ウェブトラフィックオーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER:LINE Official Account Managerで作成したオーディエンスAD_MANAGER:LINE広告で作成したオーディエンスBUSINESS_MANAGER:ビジネスマネージャーで作成したオーディエンス
例
エラーレスポンス
分析
LINE公式アカウントから送信したメッセージの数や友だち数、統計情報などを取得できます。
GET/v2/bot/insight/message/delivery?date={date}
GET/v2/bot/insight/followers?date={date}
GET/v2/bot/insight/demographic
GET/v2/bot/insight/message/event?requestId={requestId}
GET/v2/bot/insight/message/event/aggregation?customAggregationUnit={customAggregationUnit}&from={from}&to={to}
GET/v2/bot/message/aggregation/info
GET/v2/bot/message/aggregation/list
メッセージの送信数を取得する
GEThttps://api.line.me/v2/bot/insight/message/delivery?date={date}
dateに指定した日に、LINE公式アカウントから送信したメッセージの数を確認できます。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
date
メッセージの送信数を確認する日付
- フォーマット:
yyyyMMdd(例:20191231) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready:メッセージ数を取得できます。unready:dateに指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service:dateに指定した日付が、集計システムの稼働開始日(2017年3月1日)より前です。
broadcast以降のプロパティは、statusプロパティの値がreadyの場合にのみレスポンスに含まれます。
broadcast
Number
LINE Official Account Managerで配信先を[すべての友だち]にして送信したメッセージの数。
targeting
Number
LINE Official Account Managerで配信先を[絞り込み]にして送信したメッセージの数。
stepMessage
Number
LINE Official Account Managerでステップ配信を使って送信されたメッセージの数。
詳しくは、『LINEヤフー for Business』の「ステップ配信」を参照してください。
autoResponse
Number
ユーザーからメッセージを受信した際に、自動的に送信された応答メッセージの数。
詳しくは、『LINEヤフー for Business』の「応答メッセージ」を参照してください。
welcomeResponse
Number
ユーザーがLINE公式アカウントを友だち追加した際に、自動的に送信されたあいさつメッセージの数。
詳しくは、『LINEヤフー for Business』の「あいさつメッセージを設定する」を参照してください。
chat
Number
LINE Official Account Managerの「チャット基本画面」から送信されたメッセージの数。
apiBroadcast
Number
「ブロードキャストメッセージを送る」エンドポイントを使って送信されたメッセージの数。
apiPush
Number
「プッシュメッセージを送る」エンドポイントを使って送信されたメッセージの数。
apiMulticast
Number
「マルチキャストメッセージを送る」エンドポイントを使って送信されたメッセージの数。
apiNarrowcast
Number
「ナローキャストメッセージを送る」エンドポイントを使って送信されたメッセージの数。
apiReply
Number
「応答メッセージを送る」エンドポイントを使って送信されたメッセージの数。
ccAutoReply
Number
LINEチャットPlusの自動応答で送信されたメッセージの数。
ccManualReply
Number
LINEチャットPlusの有人でのチャット対応で送信されたメッセージの数。
pnpNoticeMessage
Number
法人ユーザー向けオプションの「LINE通知メッセージ」を使って送信されたメッセージの数。
pnpCallToLine
Number
Call to LINE(※)で送信されたメッセージの数。
※ Call to LINEの新規利用受付は終了しています。
thirdPartyChatTool
Number
外部チャットツールから送信されたメッセージの数。
レスポンスの例
エラーレスポンス
友だち数を取得する
GEThttps://api.line.me/v2/bot/insight/followers?date={date}
LINE公式アカウントの友だち数を確認できます。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
date
友だち数を確認する日付
- フォーマット:
yyyyMMdd(例:20191231) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready:数値を取得できます。unready:dateに指定した日付の友だち数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service:dateに指定した日付が、集計システムの稼働開始日(2016年11月1日)より前です。
followers
Number
dateに指定した日付までに、アカウントが友だち追加された回数。アカウントがブロックされたり、あなたを友だち追加したユーザーがLINEアカウントを削除したりしても、この値は減少しません。
statusの値がready以外の場合、nullになります。
targetedReaches
Number
dateに指定した日付時点の、性別や年齢、地域で絞り込んだターゲティングメッセージの配信先となりうる友だちの総数。LINEおよびその他のLINEサービスの利用頻度が高く、属性の高精度な推定が可能な友だちが含まれます。
statusの値がready以外の場合、nullになります。
blocks
Number
dateに指定した日付時点で、アカウントをブロックしているユーザーの数。ブロックが解除されると、この値は減少します。
statusの値がready以外の場合、nullになります。
レスポンスの例
エラーレスポンス
友だちの属性情報に基づく統計情報を取得する
GEThttps://api.line.me/v2/bot/insight/demographic
LINE公式アカウントの友だちの属性情報に基づく統計情報を取得します。友だちの属性情報に基づく統計情報を取得するには、以下の条件をすべて満たす必要があります。
- ターゲットリーチが20人以上である。
- 日本(JP)、タイ(TH)、台湾(TW)のユーザーが作成したLINE公式アカウントである。
友だちの属性情報に基づく統計情報が反映されるまで約3日かかります。そのため、取得できる情報は約3日前の数値です。なお、反映されるタイミングは前後する可能性があります。
友だちの属性情報は、LINEファミリーサービスにおいて、LINEユーザーが登録した性別、年代、エリア情報と行動履歴をもとに分類した「みなし属性」となります。携帯キャリアおよびOSは、みなし属性に含まれません。
みなし属性は、ユーザーがLINE上で購入、使用したスタンプや興味のあるコンテンツのほか、どのようなLINE公式アカウントと友だちになっているかといった傾向をもとに分類したものです。分類の元となる情報に電話番号、メールアドレス、アドレス帳、トーク内容などの機微情報は含みません。
属性情報の推定は統計的に実施され、特定の個人の識別は行っていません。また、特定の個人を識別可能な情報の第三者(広告主など)への提供は実施していません。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
available
Boolean
true:友だちの属性情報に基づく統計情報が利用できる。false:次のような理由で、友だちの属性情報に基づく統計情報が利用できない。- ターゲットリーチが20人未満である。
- 日本(JP)、タイ(TH)、台湾(TW)以外のユーザーが作成したLINE公式アカウントである。
レスポンス内の各配列(genders、ages、areas、appTypes、subscriptionPeriods)の要素は、availableの値がtrueの場合にのみレスポンスに含まれます。
genders
Array
性別ごとの割合。統計情報が利用できない場合、空の配列を返します。
genders[].gender
String
ユーザーの性別に基づいて、以下の値が返されます。
malefemaleunknown
genders[].percentage
Number
割合
ages
Array
年齢ごとの割合。統計情報が利用できない場合、空の配列を返します。
ages[].age
String
ユーザーの年齢に基づいて、以下の値が返されます。
タイのLINE公式アカウントの統計情報を取得する場合、レスポンス内のages[].ageの値として、from0to14とfrom15to19の割合は返されません。年齢が20歳未満のユーザーは、unknownとして集計されます。
from0to14from15to19from20to24from25to29from30to34from35to39from40to44from45to49from50- 2024年9月5日より、50歳から70歳までの割合を取得できるようになりました。
from50to54from55to59from60to64from65to69from70unknown
ages[].percentage
Number
割合
areas
Array
地域ごとの割合。統計情報が利用できない場合、空の配列を返します。
areas[].area
String
ユーザーの国や地域に基づいて、以下の値が返されます。
JP
北海道青森岩手宮城秋田山形福島茨城栃木群馬埼玉千葉東京神奈川新潟富山石川福井山梨長野岐阜静岡愛知三重滋賀京都大阪兵庫奈良和歌山鳥取島根岡山広島山口徳島香川愛媛高知福岡佐賀長崎熊本大分宮崎鹿児島沖縄unknown
TW
台北市新北市桃園市台中市台南市高雄市基隆市新竹市嘉義市新竹縣苗栗縣彰化縣南投縣雲林縣嘉義縣屏東縣宜蘭縣花蓮縣台東縣澎湖縣金門縣連江縣unknown
TH
BangkokPattayaNorthernCentralSouthernEasternNorthEasternWesternunknown
areas[].percentage
Number
割合
appTypes
Array
OSごとの割合。統計情報が利用できない場合、空の配列を返します。
appTypes[].appType
String
ユーザーが使用するOSに基づいて、以下の値が返されます。
iosandroidothers
appTypes[].percentage
Number
割合
subscriptionPeriods
Array
友だち期間ごとの割合。統計情報が利用できない場合、空の配列を返します。
subscriptionPeriods[].subscriptionPeriod
String
ユーザーとの友だち期間に基づいて、以下の値が返されます。友だち期間とは、ユーザーがLINE公式アカウントを友だち追加してからの期間のことです。ユーザーがLINE公式アカウントを友だち追加した翌日を1日目として起算します。
within7days:7日未満within30days:7日以上30日未満within90days:30日以上90日未満within180days:90日以上180日未満within365days:180日以上365日未満over365days:365日以上unknown:不明
subscriptionPeriods[].percentage
Number
それぞれのsubscriptionPeriodに対するユーザーの割合。
レスポンスの例
エラーレスポンス
ユーザーの操作に基づく統計情報を取得する
GEThttps://api.line.me/v2/bot/insight/message/event?requestId={requestId}
LINE公式アカウントから送信したナローキャストメッセージまたはブロードキャストメッセージに対して、ユーザーがどのように操作したかを示す統計情報を確認できます。
1メッセージ(message)単位、および1吹き出し(bubble)単位で統計情報を取得できます。

統計情報は、メッセージの送信時刻から14日間(1,209,600秒間)のみ更新されます。それ以降は更新されません。
たとえば2021年2月1日の21:15:00に送信した場合、統計情報は2021年2月15日の21:15:00まで更新されます。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
requestId
ナローキャストメッセージまたはブロードキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
統計情報の数値は、多少の誤差を含むことがあります。
またプライバシーを保護するため、次のような場合、個人の操作に関するプロパティの値はnullになります。
- プロパティの値が20未満だった場合
- プロパティの値が20以上であっても、そのイベントを発生させた実人数が20人未満だった場合(たとえば
messages[].mediaPlayedは30だが、messages[].uniqueMediaPlayedが15だった場合は、どちらの値もnullになります)
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に関する情報を表す配列。メッセージに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回だけカウントされます。
レスポンスの例
エラーレスポンス
ユニットごとの統計情報を取得する
GEThttps://api.line.me/v2/bot/insight/message/event/aggregation?customAggregationUnit={customAggregationUnit}&from={from}&to={to}
LINE公式アカウントから送信したプッシュメッセージやマルチキャストメッセージに対して、ユーザーがどのように操作したかを示す統計情報をユニットごとに確認できます。
統計情報はユニットごとに、1メッセージ(message)単位、および1吹き出し(bubble)単位で取得できます。

なお、ユニット名が同じメッセージを複数送った場合、メッセージの内容や吹き出し数、吹き出しの順番が異なっていても、統計情報はユニットごとにまとめて集計されます。
統計情報は、メッセージの送信時刻から14日間(1,209,600秒間)のみ更新されます。それ以降は更新されません。
たとえば2021年2月1日の21:15:00に送信した場合、統計情報は2021年2月15日の21:15:00まで更新されます。
ナローキャストメッセージまたはブロードキャストメッセージについて、メッセージごとの統計情報を取得したい場合は、次のエンドポイントを使用してください。
リクエストの例
レート制限
60リクエスト/時
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
customAggregationUnit
String
メッセージ送信時に付与した任意の集計単位のユニット名。大文字と小文字は区別されます。たとえばpromotion_aとpromotion_Aは別のユニットとして扱われます。
ユニット名の付与について詳しくは、『Messaging APIドキュメント』の「ユニット名を付与する」を参照してください。
from
String
集計対象期間の開始日。
- フォーマット:
yyyyMMdd(例:20210301) - タイムゾーン:UTC+9
to
String
集計対象期間の終了日。終了日は、開始日の30日後まで指定できます。たとえば、開始日が20210301の場合、終了日は20210331まで指定できます。
- フォーマット:
yyyyMMdd(例:20210331) - タイムゾーン:UTC+9
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
統計情報の数値は、多少の誤差を含むことがあります。
またプライバシーを保護するため、次のような場合、個人の操作に関するプロパティの値はnullになります。
- プロパティの値が20未満だった場合
- プロパティの値が20以上であっても、そのイベントを発生させた実人数が20人未満だった場合(たとえば
messages[].mediaPlayedは30だが、messages[].uniqueMediaPlayedが15だった場合は、どちらの値もnullになります)
overview
Object
メッセージに関する統計情報。
overview.uniqueImpression
Number
メッセージを開封した人数。少なくとも1つの吹き出しを表示した人数です。
overview.uniqueClick
Number
メッセージ内のいずれかのURLをタップした人数。
overview.uniqueMediaPlayed
Number
メッセージ内のいずれかの動画または音声の再生を開始した人数。
overview.uniqueMediaPlayed100Percent
Number
メッセージ内のいずれかの動画または音声を最後まで視聴した人数。
messages
Array
吹き出しに関する情報を表す配列。統計情報が利用できない場合、空の配列を返します。
messages[].seq
Number
吹き出しの通し番号。
messages[].impression
Number
吹き出しが表示された回数。
messages[].uniqueImpression
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に関する情報を表す配列。メッセージに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回だけカウントされます。
レスポンスの例
エラーレスポンス
当月中に付与したユニット名の種類数を取得する
GEThttps://api.line.me/v2/bot/message/aggregation/info
当月中にメッセージに付与したユニット名の種類数を取得します。メッセージ送信時にユニット名を付与する際の制限については、『Messaging APIドキュメント』の「ユニット名の種類数の上限」を参照してください。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
numOfCustomAggregationUnits
Number
当月中にメッセージに付与したユニット名の種類数。
レスポンスの例
エラーレスポンス
当月中に付与したユニット名のリストを取得する
GEThttps://api.line.me/v2/bot/message/aggregation/list
当月中にメッセージに付与したユニット名の、一意なリストを取得します。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
limit
String
1回のリクエストで取得するユニット名の最大数です。デフォルト値は100です。
最大値:100
start
String
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユニット名をすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
customAggregationUnits
Array of strings
ユニット名を表す文字列の配列です。配列には、当月中にメッセージに付与したユニット名が一意に含まれています。
next
String
継続トークン。ユニット名の次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのcustomAggregationUnitsプロパティで取得しきれなかったユニット名がある場合にのみ返されます。
継続トークンの有効期間は24時間(86,400秒間)です。
レスポンスの例
エラーレスポンス
クーポン
LINE公式アカウントからユーザーに送信するクーポンを管理できます。
クーポンを作成する
POSThttps://api.line.me/v2/bot/coupon
クーポンを作成するAPIです。
クーポンは作成しただけではユーザーには配布されません。作成したクーポンをメッセージとして送信する必要があります。詳しくは、『Messaging APIドキュメント』の「Messaging APIでクーポンを送る手順」を参照してください。
有効なクーポンを最大5,000件作成できます。
リクエストの例
レート制限
200リクエスト/秒
LINE Official Account Managerを使ってクーポンを作成する場合は制限の対象外です。
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
title
String
クーポンのクーポン名。
最大文字数:60
description
String
クーポンの利用ガイド。クーポンの利用方法や注意事項などを設定します。改行文字(\n)を使って改行できます。
最大文字数:1,000
acquisitionCondition
Object
クーポンの獲得条件を含むオブジェクト。
acquisitionCondition.type
String
クーポンの獲得条件のタイプ。
以下のいずれかの値を指定します。
normal:条件なし。すべてのユーザーが獲得できる。lottery:抽選。抽選で当選したユーザーのみが獲得できる。
なお獲得条件が「友だち紹介」のクーポンは、Messaging APIでは作成できません。LINE Official Account Managerからのみ作成できます。
acquisitionCondition.lotteryProbability
Number
クーポンの当選確率(%)。1〜99の整数を指定します。
たとえば、50を指定したときの当選確率は50%となります。acquisitionCondition.typeがlotteryの場合は必須です。
acquisitionCondition.maxAcquireCount
Number
当選者数の上限。1〜999999の整数を指定します。
上限なしの場合は-1を指定します。acquisitionCondition.typeがlotteryの場合は必須です。
maxUseCountPerTicket
Number
クーポンの使用可能回数。
以下のいずれかの値を指定します。
1:1回のみ-1:上限なし
startTimestamp
Number
クーポンの有効期間の開始日時。
UNIX時間(秒)で指定します。
endTimestamp
Number
クーポンの有効期間の終了日時。
UNIX時間(秒)で指定します。
現在日時よりも前、あるいは開始日時よりも前の日時は指定できません。
timezone
String
有効期間の基準となるタイムゾーン。
以下のいずれかの値を指定します。
ETC_GMT_MINUS_12:(UTC-12:00) Etc/GMT-12ETC_GMT_MINUS_11:(UTC-11:00) Etc/GMT-11PACIFIC_HONOLULU:(UTC-10:00) Pacific/HonoluluAMERICA_ANCHORAGE:(UTC-09:00) America/AnchorageAMERICA_LOS_ANGELES:(UTC-08:00) America/Los_Angeles, Santa_IsabelAMERICA_PHOENIX:(UTC-07:00) America/Phoenix, DenverAMERICA_CHICAGO:(UTC-06:00) America/Chicago, GuatemalaAMERICA_NEW_YORK:(UTC-05:00) America/New_York, Indiana/IndianapolisAMERICA_CARACAS:(UTC-04:30) America/CaracasAMERICA_SANTIAGO:(UTC-04:00) America/Santiago, CuiabaAMERICA_ST_JOHNS:(UTC-03:30) America/St_JohnsAMERICA_SAO_PAULO:(UTC-03:00) America/Sao_Paulo, Argentina/Buenos_AiresETC_GMT_MINUS_2:(UTC-02:00) Etc/GMT-2ATLANTIC_CAPE_VERDE:(UTC-01:00) Atlantic/Cape_Verde, AzoresEUROPE_LONDON:(UTC+00:00) Europe/London, Etc/GMTEUROPE_PARIS:(UTC+01:00) Europe/Paris, BerlinEUROPE_ISTANBUL:(UTC+02:00) Europe/Istanbul, KievEUROPE_MOSCOW:(UTC+03:00) Europe/Moscow, MinskASIA_TEHRAN:(UTC+03:30) Asia/TehranASIA_TBILISI:(UTC+04:00) Asia/Tbilisi, YerevanASIA_KABUL:(UTC+04:30) Asia/KabulASIA_TASHKENT:(UTC+05:00) Asia/Tashkent, KarachiASIA_COLOMBO:(UTC+05:30) Asia/Colombo, KolkataASIA_KATHMANDU:(UTC+05:45) Asia/KathmanduASIA_ALMATY:(UTC+06:00) Asia/Almaty, DhakaASIA_RANGOON:(UTC+06:30) Asia/RangoonASIA_BANGKOK:(UTC+07:00) Asia/Bangkok, JakartaASIA_TAIPEI:(UTC+08:00) Asia/Taipei, SingaporeASIA_TOKYO:(UTC+09:00) Asia/Tokyo, SeoulAUSTRALIA_DARWIN:(UTC+09:30) Australia/Darwin, AdelaideAUSTRALIA_SYDNEY:(UTC+10:00) Australia/Sydney, BrisbaneASIA_VLADIVOSTOK:(UTC+11:00) Asia/Vladivostok, Pacific/GuadalcanalETC_GMT_PLUS_12:(UTC+12:00) Etc/GMT+12PACIFIC_TONGATAPU:(UTC+13:00) Pacific/Tongatapu, Apia
reward
Object
クーポンタイプの情報を含むリワードオブジェクト。
visibility
String
クーポンのLINEヤフーサービスへの掲載。
以下のいずれかの値を指定します。
PUBLIC:掲載する。UNLISTED:掲載しない。
詳しくは、『LINEヤフー for Business』の「クーポンのLINEヤフーサービスへの掲載」を参照してください。
imageUrl
String
クーポンの画像のURL。
最大文字数:2000
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:10MB(1MB以下推奨)
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
URLの画像は、クーポン作成時に取得されて、LINEプラットフォームに保存されます。URLの画像を後から変更しても、クーポンで表示される画像は更新されません。
couponCode
String
クーポンの開封後に表示されるクーポンコード。
最大文字数:16
barcodeImageUrl
String
クーポン開封後に表示されるバーコード画像のURL。
最大文字数:2000
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:10MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
URLの画像は、クーポン作成時に取得されて、LINEプラットフォームに保存されます。URLの画像を後から変更しても、クーポンで表示される画像は更新されません。
usageCondition
String
クーポンの利用条件。
最大文字数:100
リワードオブジェクト
type
String
クーポンタイプ。
以下のいずれかの値を指定します。
discount:割引free:無料gift:プレゼントcashBack:キャッシュバックothers:その他
priceInfo
Object
割引やキャッシュバックの詳細を含むオブジェクト。typeがdiscountおよびcashBackの場合は必須です。
priceInfo.type
String
クーポンの割引の詳細のタイプ。
typeがdiscountの場合は、以下のいずれかの値を指定できます。
fixed:値引きの金額を表示percentage:値引きのパーセンテージを表示explicit:元の価格を打ち消して値引き後の価格を表示
typeがcashBackの場合は、以下のいずれかの値を指定できます。
fixed:キャッシュバックの金額を表示percentage:キャッシュバックのパーセンテージを表示
priceInfo.fixedAmount
Number
値引きの金額を正の整数で指定します。priceInfo.typeがfixedの場合は必須です。
通貨単位は、LINE公式アカウントの国や地域に基づいて自動的に設定されます。
- 台湾:TWD(台湾ドル)
- タイ:THB(タイバーツ)
- 上記以外のすべての国や地域:JPY(日本円)
priceInfo.percentage
Number
割引率(%)を1〜99の整数で指定します。
たとえば、50を指定したときの割引率は50%となります。priceInfo.typeがpercentageの場合は必須です。
priceInfo.originalPrice
Number
割引前の価格を正の整数で指定します。priceInfo.typeがexplicitの場合は必須です。
通貨単位は、LINE公式アカウントの国や地域に基づいて自動的に設定されます。
- 台湾:TWD(台湾ドル)
- タイ:THB(タイバーツ)
- 上記以外のすべての国や地域:JPY(日本円)
priceInfo.priceAfterDiscount
Number
割引後の価格を正の整数で指定します。priceInfo.typeがexplicitの場合は必須です。
通貨単位は、LINE公式アカウントの国や地域に基づいて自動的に設定されます。
- 台湾:TWD(台湾ドル)
- タイ:THB(タイバーツ)
- 上記以外のすべての国や地域:JPY(日本円)
リワードオブジェクトの例
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
couponId
String
クーポンのID。クーポンをメッセージで送る際などに使用します。
レスポンスの例
エラーレスポンス
クーポンを終了する
PUThttps://api.line.me/v2/bot/coupon/{couponId}/close
指定したクーポンを終了するAPIです。
クーポンを終了させると、すでにクーポンをメッセージとして受信していたユーザーがクーポンを獲得できなくなると共に、そのクーポンを獲得済みのユーザーも利用できなくなります。
終了したクーポンを再び有効にすることはできません。
リクエストの例
レート制限
200リクエスト/秒
LINE Official Account Managerを使ってクーポンを終了する場合は制限の対象外です。
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Content-Type
application/json
パスパラメータ
couponId
String
終了するクーポンのクーポンID。
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
クーポンの一覧を取得する
GEThttps://api.line.me/v2/bot/coupon
クーポンの一覧(クーポンIDとクーポン名)を取得するAPIです。有効なクーポンのみ、あるいは終了したクーポンのみを取得することもできます。
このクーポンの一覧には、Messaging APIで作成したクーポンだけでなく、LINE Official Account Managerで作成したクーポンも含まれており、同じ一覧がLINE Official Account Managerでも確認できます。
リクエストの例
レート制限
200リクエスト/秒
LINE Official Account Managerを使ってクーポンの一覧を確認する場合は制限の対象外です。
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
limit
Number
1回のリクエストで取得するクーポンの最大数。デフォルト値は20です。
最大値:100
start
String
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでクーポンをすべて取得できない場合は、このパラメータを指定して残りのクーポンを取得します。
status
取得するクーポンのステータス。省略した場合は、すべてのステータスのクーポンを取得対象とします。
DRAFT:下書き保存されたクーポン。RUNNING:有効期間前、または有効期間中のクーポン。CLOSED:期限切れ、または終了したクーポン。
複数のパラメータを指定した場合、OR条件となります。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
items
Array of objects
クーポンを表すオブジェクトの配列。
最大数:limitで指定した数
items[].couponId
String
クーポンID。
items[].title
String
クーポン名。
next
String
継続トークン。次のクーポンを取得するために使用します。このプロパティは、レスポンスのitemsプロパティで取得しきれなかったクーポンがある場合にのみ返されます。
継続トークンの有効期間は24時間(86,400秒間)です。
レスポンスの例
エラーレスポンス
クーポンの詳細を取得する
GEThttps://api.line.me/v2/bot/coupon/{couponId}
指定したクーポンの詳細情報を取得するAPIです。
リクエストの例
レート制限
200リクエスト/秒
LINE Official Account Managerを使ってクーポンの詳細を確認する場合は制限の対象外です。
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
couponId
String
詳細を取得するクーポンのクーポンID。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
couponId
String
クーポンのクーポンID。
title
String
クーポンのクーポン名。
description
String
クーポンの利用ガイド。
acquisitionCondition
Object
クーポンの獲得条件を含むオブジェクト。
acquisitionCondition.type
String
クーポンの獲得条件のタイプ。
以下のいずれかの値が含まれます。
normal:条件なし。すべてのユーザーが獲得できる。lottery:抽選。抽選で当選したユーザーのみが獲得できる。referral:友だち紹介。クーポンを紹介したユーザーと、紹介されたユーザーの両方が獲得できる。
acquisitionCondition.lotteryProbability
Number
クーポンの当選確率(%)。1〜99の整数です。acquisitionCondition.typeがlotteryの場合のみ含まれます。
acquisitionCondition.maxAcquireCount
Number
当選者数の上限。1〜999999の整数。
上限なしの場合は-1です。acquisitionCondition.typeがlotteryの場合のみ含まれます。
maxUseCountPerTicket
Number
クーポンの使用可能回数。
以下のいずれかの値が含まれます。
1:1回のみ-1:上限なし
maxTicketPerUser
Number
クーポンの獲得可能枚数。acquisitionCondition.typeがreferralの場合のみ、1〜30の整数。それ以外の場合は、1です。
startTimestamp
Number
クーポンの有効期間の開始日時。UNIX時間(秒)です。
endTimestamp
Number
クーポンの有効期間の終了日時。UNIX時間(秒)です。
timezone
String
有効期間の基準となるタイムゾーン。
以下のいずれかの値が含まれます。
ETC_GMT_MINUS_12:(UTC-12:00) Etc/GMT-12ETC_GMT_MINUS_11:(UTC-11:00) Etc/GMT-11PACIFIC_HONOLULU:(UTC-10:00) Pacific/HonoluluAMERICA_ANCHORAGE:(UTC-09:00) America/AnchorageAMERICA_LOS_ANGELES:(UTC-08:00) America/Los_Angeles, Santa_IsabelAMERICA_PHOENIX:(UTC-07:00) America/Phoenix, DenverAMERICA_CHICAGO:(UTC-06:00) America/Chicago, GuatemalaAMERICA_NEW_YORK:(UTC-05:00) America/New_York, Indiana/IndianapolisAMERICA_CARACAS:(UTC-04:30) America/CaracasAMERICA_SANTIAGO:(UTC-04:00) America/Santiago, CuiabaAMERICA_ST_JOHNS:(UTC-03:30) America/St_JohnsAMERICA_SAO_PAULO:(UTC-03:00) America/Sao_Paulo, Argentina/Buenos_AiresETC_GMT_MINUS_2:(UTC-02:00) Etc/GMT-2ATLANTIC_CAPE_VERDE:(UTC-01:00) Atlantic/Cape_Verde, AzoresEUROPE_LONDON:(UTC+00:00) Europe/London, Etc/GMTEUROPE_PARIS:(UTC+01:00) Europe/Paris, BerlinEUROPE_ISTANBUL:(UTC+02:00) Europe/Istanbul, KievEUROPE_MOSCOW:(UTC+03:00) Europe/Moscow, MinskASIA_TEHRAN:(UTC+03:30) Asia/TehranASIA_TBILISI:(UTC+04:00) Asia/Tbilisi, YerevanASIA_KABUL:(UTC+04:30) Asia/KabulASIA_TASHKENT:(UTC+05:00) Asia/Tashkent, KarachiASIA_COLOMBO:(UTC+05:30) Asia/Colombo, KolkataASIA_KATHMANDU:(UTC+05:45) Asia/KathmanduASIA_ALMATY:(UTC+06:00) Asia/Almaty, DhakaASIA_RANGOON:(UTC+06:30) Asia/RangoonASIA_BANGKOK:(UTC+07:00) Asia/Bangkok, JakartaASIA_TAIPEI:(UTC+08:00) Asia/Taipei, SingaporeASIA_TOKYO:(UTC+09:00) Asia/Tokyo, SeoulAUSTRALIA_DARWIN:(UTC+09:30) Australia/Darwin, AdelaideAUSTRALIA_SYDNEY:(UTC+10:00) Australia/Sydney, BrisbaneASIA_VLADIVOSTOK:(UTC+11:00) Asia/Vladivostok, Pacific/GuadalcanalETC_GMT_PLUS_12:(UTC+12:00) Etc/GMT+12PACIFIC_TONGATAPU:(UTC+13:00) Pacific/Tongatapu, Apia
reward
Object
クーポンタイプの情報を含むリワードオブジェクト。
visibility
String
クーポンのLINEヤフーサービスへの掲載。
以下のいずれかの値が含まれます。
PUBLIC:掲載する。UNLISTED:掲載しない。
詳しくは、『LINEヤフー for Business』の「クーポンのLINEヤフーサービスへの掲載」を参照してください。
imageUrl
String
クーポンの画像のURL。
couponCode
String
クーポンの開封後に表示されるクーポンコード。
barcodeImageUrl
String
クーポン開封後に表示されるバーコード画像のURL。
usageCondition
String
クーポンの利用条件。
status
クーポンのステータス。
DRAFT:下書き保存されたクーポン。RUNNING:有効期間前、または有効期間中のクーポン。CLOSED:期限切れ、または終了したクーポン。
createdTimestamp
Number
クーポンの作成日時。UNIX時間(秒)です。
レスポンスの例
リワードオブジェクト
type
String
クーポンタイプ。
以下のいずれかの値が含まれます。
discount:割引free:無料gift:プレゼントcashBack:キャッシュバックothers:その他
priceInfo
Object
割引やキャッシュバックの詳細を含むオブジェクト。typeがdiscountおよびcashBackの場合のみ含まれます。
priceInfo.type
String
クーポンの割引の詳細のタイプ。
typeがdiscountの場合は、以下のいずれかの値が含まれます。
fixed:値引きの金額を表示percentage:値引きのパーセンテージを表示explicit:元の価格を打ち消して値引き後の価格を表示
typeがcashBackの場合は、以下のいずれかの値が含まれます。
fixed:キャッシュバックの金額を表示percentage:キャッシュバックのパーセンテージを表示
priceInfo.fixedAmount
Number
値引きの金額。priceInfo.typeがfixedの場合のみ含まれます。
priceInfo.percentage
Number
割引率(%)。priceInfo.typeがpercentageの場合のみ含まれます。
priceInfo.originalPrice
Number
割引前の価格。priceInfo.typeがexplicitの場合のみ含まれます。
priceInfo.priceAfterDiscount
Number
割引後の価格。priceInfo.typeがexplicitの場合のみ含まれます。
priceInfo.currency
Number
通貨単位。LINE公式アカウントの国や地域に基づいて自動的に設定されます。priceInfo.typeがfixedまたはexplicitの場合のみ含まれます。
TWD:台湾ドル(台湾)THB:タイバーツ(タイ)JPY:日本円(上記以外のすべての国や地域)
リワードオブジェクトの例
エラーレスポンス
ユーザー
LINE公式アカウントを友だち追加したユーザーの情報を取得できます。
自分のユーザーIDは、LINE Developersコンソールのチャネルの[チャネル基本設定]タブにある[あなたのユーザーID]で確認できます。LINE Developersコンソールのアクセス権限について詳しくは、『権限を管理する』の「チャネルの権限」を参照してください。開発者が自分自身のユーザーIDを取得するためのAPIはありません。
プロフィール情報を取得する
GEThttps://api.line.me/v2/bot/profile/{userId}
以下のいずれかの条件を満たすユーザーのプロフィール情報を取得できます。
- LINE公式アカウントを友だち追加しているユーザー
- LINE公式アカウントを友だち追加したことはないが、LINE公式アカウントにメッセージを送信したことがあるユーザー(LINE公式アカウントをブロックしているユーザーを除く)
なお取得できる情報はメインプロフィールのみです。ユーザーのサブプロフィールは取得できません。
LINE公式アカウントをブロックしているユーザーのプロフィール情報は取得できません。
グループトークや複数人トークのメンバーのプロフィール情報を取得するには、以下のエンドポイントを利用できます。
リクエストの例
APIプレイグラウンド
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
userId
Webhookイベントオブジェクトで返されるユーザーID。LINEに表示されるLINE IDは使用しないでください。
レスポンス
ユーザーIDが有効な場合、ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
displayName
String
ユーザーの表示名
userId
String
ユーザーID
language
String
ユーザーの言語。BCP 47言語タグに従った文字列が返されます。ユーザーがLINEのプライバシーポリシーに未同意の場合はレスポンスに含まれません。
例:en(英語)。
pictureUrl
String
プロフィール画像のURL。スキームはhttpsです。ユーザーがプロフィール画像を設定していない場合はレスポンスに含まれません。
statusMessage
String
ユーザーのステータスメッセージ。ユーザーがステータスメッセージを設定していない場合はレスポンスに含まれません。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | 無効なユーザーIDが指定されています。 |
404 | プロフィール情報を取得できませんでした。次のような理由が考えられます。
|
エラーレスポンスの例
LINE公式アカウントを友だち追加したユーザーのリストを取得する
GEThttps://api.line.me/v2/bot/followers/ids
この機能は認証済アカウントまたはプレミアムアカウントでのみご利用いただけます。アカウント種別について詳しくは、『LINEヤフー for Business』の「LINE公式アカウント アカウント種別」を参照してください。
LINE公式アカウントを友だち追加したユーザーの、ユーザーIDのリストを取得します。
すべてのユーザーIDを取得するには、nextプロパティがレスポンスに含まれなくなるまでリクエストを繰り返す必要があります。レスポンスに含まれるnextプロパティの値を次のリクエストのstartに指定し、リクエストを繰り返してください。
取得できるユーザーIDの制限について
取得したユーザーIDのリストに、以下のユーザーのユーザーIDは含まれません。
- LINEアカウントを削除したユーザー。
- 対象のLINE公式アカウントを友だち追加した後にブロックしたユーザー。
- プロフィール情報の取得に同意していないユーザー。詳しくは、『Messaging APIドキュメント』の「ユーザーのプロフィール情報取得の同意」を参照してください。
そのため、このエンドポイントで取得したユーザーIDの数は、LINE公式アカウントのビジネスプロフィールやLINE Official Account Managerに表示される友だち数と一致しない場合があります。
このエンドポイントで取得したユーザーIDに対してメッセージを送信しても、ユーザーの操作が原因でメッセージが送信できない場合があります。主な原因は以下のとおりです。
- ユーザーIDを取得してからメッセージを送信するまでの間に、ユーザーが対象のLINE公式アカウントをブロックした。
- ユーザーが対象のLINE公式アカウントを友だち追加した後に、LINEアカウントを削除した。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
クエリパラメータ
limit
Number
1回のリクエストで取得するユーザーIDの最大数。デフォルト値は300です。
最大値:1000
start
String
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りのユーザーIDを取得します。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
userIds
Array of strings
LINE公式アカウントを友だち追加したユーザーのユーザーIDを示す文字列の配列です。取得できるユーザーIDに制限があるため、userIdsプロパティに含まれるユーザーIDの数は、nextプロパティが返される場合でも、必ずlimitで指定した最大数になるとは限りません。
ユーザーIDの最大数:limitで指定した数
next
String
継続トークン。次のユーザーIDを取得するために使用します。このプロパティは、前回までのレスポンスのuserIdsプロパティで取得しきれなかったユーザーIDがある場合にのみ返されます。
継続トークンの有効期間は24時間(86,400秒間)です。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | 無効な継続トークンが指定されています。 |
403 | このエンドポイントを使う権限がありません。認証済アカウントまたはプレミアムアカウントでのみご利用いただけます。 |
エラーレスポンスの例
メンバーシップ
LINE公式アカウントのメンバーシップの情報を取得できます。詳しくは、『Messaging APIドキュメント』の「メンバーシップ機能を使う」を参照してください。
ユーザーのメンバーシップ加入状況を取得する
GEThttps://api.line.me/v2/bot/membership/subscription/{userId}
ユーザーが加入しているメンバーシップの情報を取得できます。
リクエストの例
レート制限
200リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
userId
メンバーシップ加入状況を確認したいユーザーのユーザーID。
ユーザーIDの取得方法については、『Messaging APIドキュメント』の「ユーザーIDを取得する」を参照してください。
レスポンス
ユーザーがメンバーシップに加入している場合、ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
subscriptions
Array
メンバーシップの配列。
membership
Object
メンバーシッププランの情報を含むオブジェクト。
membership.membershipId
Number
メンバーシッププランのID。
membership.title
String
メンバーシッププランのプラン名。
membership.description
String
メンバーシッププランの説明。
membership.benefits
Array of strings
メンバーシッププランの特典のリスト。
特典の最大数:5
membership.price
Number
メンバーシッププランの月額。(例:1500.00)
membership.currency
String
membership.priceの通貨。以下のいずれかの値です。
JPY:日本円TWD:台湾ドルTHB:タイバーツ
user
Object
ユーザーのメンバーシップ加入情報を含むオブジェクト。
user.membershipNo
Number
メンバーシッププランにおけるユーザーのメンバー番号。
user.joinedTime
Number
ユーザーがメンバーシップに加入した時刻。UNIX時間(秒)で返されます。
user.nextBillingDate
String
メンバーシッププランの次回更新日。
- フォーマット:
yyyy-MM-dd(例:2024-02-08) - タイムゾーン:UTC+9
user.totalSubscriptionMonths
Number
メンバーシッププランに加入している月単位の期間。ユーザーが過去に同一のメンバーシッププランを解約して、再加入した場合、再加入後の期間のみがカウントされます。
レスポンスの例
エラーレスポンス
メンバーシップに加入しているユーザーの一覧を取得する
GEThttps://api.line.me/v2/bot/membership/{membershipId}/users/ids
LINE公式アカウントのメンバーシップに加入しているユーザーのユーザーIDの一覧を取得できます。
取得できるユーザーIDに関する制限
ユーザーがメンバーシップに加入している場合でも、以下のいずれかの条件を満たす場合は、そのユーザーのユーザーIDは一覧に含まれません。
- ユーザーがLINEアカウントを削除している。
- ユーザーがLINE公式アカウントをブロックしている。
- ユーザーがLINE公式アカウントを友だち追加していない。
- ユーザーがプロフィール情報の取得に同意していない。詳しくは、『Messaging APIドキュメント』の「ユーザーのプロフィール情報取得の同意」を参照してください。
リクエストの例
レート制限
200リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
membershipId
メンバーシップのID。
クエリパラメータ
limit
Number
1回のリクエストで取得するユーザーIDの最大数。デフォルト値は300です。
最大値:1000
start
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得できます。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
userIds
Array of strings
メンバーシップに加入しているユーザーのユーザーIDの配列。ユーザーの状況によってユーザーIDを取得できるかどうかが変わるため、userIdsプロパティに含まれるユーザーIDの数は、nextプロパティが返される場合でも、必ずlimitクエリパラメータで指定した数になるとは限りません。詳しくは、「取得できるユーザーIDに関する制限」を参照してください。
ユーザーIDの最大数:limitクエリパラメータで指定した数
next
String
継続トークン。次のユーザーIDの一覧を取得するために使用します。このプロパティは、前回までのレスポンスのuserIdsプロパティで取得しきれなかったユーザーIDがある場合にのみ返されます。
継続トークンの有効期限は24時間(86,400秒間)です。
レスポンスの例
エラーレスポンス
提供中のメンバーシッププランを取得する
GEThttps://api.line.me/v2/bot/membership/list
LINE公式アカウントのメンバーシップで提供中の、メンバーシッププランを取得できます。
審査中のプランや終了後のプランは含まれません。
リクエストの例
レート制限
200リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
memberships
Array
提供中のメンバーシッププランの配列です。
プランの最大数:5
memberships[].membershipId
Number
メンバーシッププランのID。
memberships[].title
String
メンバーシッププランのプラン名。
memberships[].description
String
メンバーシッププランの説明。
memberships[].benefits
Array of strings
メンバーシッププランの特典のリスト。
特典の最大数:5
memberships[].price
Number
メンバーシッププランの月額。(例:1500.00)
memberships[].currency
String
memberships[].priceの通貨。以下のいずれかの値です。
JPY:日本円TWD:台湾ドルTHB:タイバーツ
memberships[].memberCount
Number
加入しているメンバー数。
memberships[].memberLimit
Number
加入できるメンバー数の上限。上限を設定していない場合はnullになります。
memberships[].isInAppPurchase
Boolean
加入ユーザーの支払い方法。
true:App内課金false:Web決済
memberships[].isPublished
Boolean
メンバーシッププランのステータス。
true:公開中false:非公開(終了手続きを行い、プランが非公開になったが、まだ特典の提供は終了していない状態)
レスポンスの例
エラーレスポンス
ボット
LINE公式アカウントのボットの基本情報を取得できます。
ボットの情報を取得する
GEThttps://api.line.me/v2/bot/info
ボットの基本情報を取得します。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
userId
String
ボットのユーザーID
basicId
String
ボットのベーシックID
premiumId
String
ボットのプレミアムID。プレミアムIDが未設定の場合、この値は含まれません。
displayName
String
ボットの表示名
pictureUrl
String
プロフィール画像のURL。「https://」から始まる画像URLです。ボットにプロフィール画像を設定していない場合は、レスポンスに含まれません。
chatMode
String
LINE Official Account Managerのチャットの設定。以下のいずれかの値が返ります。
chat:チャットがオンに設定されています。bot:チャットがオフに設定されています。
markAsReadMode
String
メッセージの自動既読設定。チャットを「オフ」にしていればauto、「オン」にしていればmanualが返ります。
auto:自動既読設定が有効です。manual:自動既読設定が無効です。
レスポンスの例
エラーレスポンス
グループトーク
LINE公式アカウントが参加しているグループトークの情報や、グループトークのメンバーの情報を取得できます。
グループトークの概要を取得する
GEThttps://api.line.me/v2/bot/group/{groupId}/summary
LINE公式アカウントが参加しているグループトークのグループID、グループ名、アイコンのURLを取得します。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
groupId
グループID。Webhookイベントオブジェクトのsourceオブジェクトで確認できます。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
groupId
String
グループID
groupName
String
グループ名
pictureUrl
String
グループのアイコンのURL。ユーザーがグループのプロフィール画像を設定していない場合はレスポンスに含まれません。
レスポンスの例
エラーレスポンス
グループトークに参加しているユーザーの人数を取得する
GEThttps://api.line.me/v2/bot/group/{groupId}/members/count
グループトークに参加しているユーザーの人数を取得します。参加しているユーザーが、LINE公式アカウントを友だち追加していない場合や、LINE公式アカウントをブロックしている場合でも、人数に含まれます。
人数に、LINE公式アカウントは含まれません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
groupId
グループID。Webhookイベントオブジェクトのsourceオブジェクトで確認できます。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
count
Number
グループトークに参加しているユーザーの人数。人数に、LINE公式アカウントは含まれません。
レスポンスの例
エラーレスポンス
グループトークのメンバーのユーザーIDを取得する
GEThttps://api.line.me/v2/bot/group/{groupId}/members/ids
この機能は認証済アカウントまたはプレミアムアカウントでのみご利用いただけます。アカウント種別について詳しくは、『LINEヤフー for Business』の「LINE公式アカウント アカウント種別」を参照してください。
LINE公式アカウントが参加しているグループトークのメンバーの、ユーザーIDを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのユーザーIDも取得します。
ユーザーがグループトークに参加したり、グループトークでメッセージを送ったりすると、ボットサーバーにWebhookが送信されます。WebhookにはユーザーIDが含まれているため、APIリクエストを実行せずにユーザーIDを取得できます。詳しくは、『Messaging APIドキュメント』の「WebhookからユーザーIDを取得する」を参照してください。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
groupId
グループID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
クエリパラメータ
start
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
memberIds
Array of strings
グループトークのメンバーのユーザーIDのリスト。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみmemberIdsに含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
最大ユーザー数:100
next
String
継続トークン。グループトークのメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。
継続トークンの有効期間は24時間(86,400秒間)です。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
403 | このエンドポイントを使う権限がありません。認証済アカウントまたはプレミアムアカウントでのみご利用いただけます。 |
404 | 存在しないグループやLINE公式アカウントが参加していないグループが指定されています。 |
エラーレスポンスの例
グループトークのメンバーのプロフィール情報を取得する
GEThttps://api.line.me/v2/bot/group/{groupId}/member/{userId}
LINE公式アカウントが参加しているグループトークのメンバーのユーザーIDが既知である場合に、そのメンバーのプロフィール情報を取得するAPIです。
LINE公式アカウントを友だちとして追加しているかどうかや、LINE公式アカウントをブロックしているかどうかに関わらず、そのグループトークに参加しているユーザーであればプロフィール情報を取得できます。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
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。ユーザーがプロフィール画像を設定していない場合はレスポンスに含まれません。
レスポンスの例
エラーレスポンス
グループトークから退出する
POSThttps://api.line.me/v2/bot/group/{groupId}/leave
グループトークから退出するAPIです。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
groupId
グループID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
レスポンスの例
エラーレスポンス
複数人トーク
LINE公式アカウントが参加している複数人トークの情報や、複数人トークのメンバーの情報を取得できます。
複数人トークに参加しているユーザーの人数を取得する
GEThttps://api.line.me/v2/bot/room/{roomId}/members/count
複数人トークに参加しているユーザーの人数を取得します。参加しているユーザーが、LINE公式アカウントを友だち追加していない場合や、LINE公式アカウントをブロックしている場合でも、人数に含まれます。
人数に、LINE公式アカウントは含まれません。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
Path parameters
roomId
トークルームID。Webhookイベントオブジェクトのsourceオブジェクトで確認できます。
レスポンス
ステータスコード200と以下の情報を含むJSONオブジェクトを返します。
count
Number
複数人トークに参加しているユーザーの人数。人数に、LINE公式アカウントは含まれません。
レスポンスの例
エラーレスポンス
複数人トークのメンバーのユーザーIDを取得する
GEThttps://api.line.me/v2/bot/room/{roomId}/members/ids
この機能は認証済アカウントまたはプレミアムアカウントでのみご利用いただけます。アカウント種別について詳しくは、『LINEヤフー for Business』の「LINE公式アカウント アカウント種別」を参照してください。
LINE公式アカウントが参加している複数人トークのメンバーの、ユーザーIDを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのユーザーIDも取得します。
ユーザーが複数人トークに参加したり、複数人トークでメッセージを送ったりすると、ボットサーバーにWebhookが送信されます。WebhookにはユーザーIDが含まれているため、APIリクエストを実行せずにユーザーIDを取得できます。詳しくは、『Messaging APIドキュメント』の「WebhookからユーザーIDを取得する」を参照してください。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
roomId
トークルームID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
クエリパラメータ
start
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
memberIds
Array of strings
複数人トークのメンバーのユーザーIDのリスト。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみmemberIdsに含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
最大ユーザー数:100
next
String
継続トークン。複数人トークのメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。
継続トークンの有効期間は24時間(86,400秒間)です。
レスポンスの例
エラーレスポンス
以下のHTTPステータスコードと、エラーレスポンスを返します。
| コード | 説明 |
|---|---|
400 | リクエストに問題があります。次のような理由が考えられます。
|
403 | このエンドポイントを使う権限がありません。認証済アカウントまたはプレミアムアカウントでのみご利用いただけます。 |
404 | 存在しない複数人トークやLINE公式アカウントが参加していない複数人トークが指定されています。 |
エラーレスポンスの例
複数人トークのメンバーのプロフィールを取得する
GEThttps://api.line.me/v2/bot/room/{roomId}/member/{userId}
LINE公式アカウントが参加している複数人トークのメンバーのユーザーIDが既知である場合に、そのメンバーのプロフィール情報を取得するAPIです。
LINE公式アカウントを友だちとして追加しているかどうかや、LINE公式アカウントをブロックしているかどうかに関わらず、その複数人トークに参加しているユーザーであればプロフィール情報を取得できます。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
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。ユーザーがプロフィール画像を設定していない場合はレスポンスに含まれません。
レスポンスの例
エラーレスポンス
複数人トークから退出する
POSThttps://api.line.me/v2/bot/room/{roomId}/leave
複数人トークから退出するAPIです。
リクエストの例
レート制限
2,000リクエスト/秒
レート制限について詳しくは、「レート制限」を参照してください。
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
roomId
トークルームID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
レスポンス
ステータスコード200と空のJSONオブジェクトを返します。
LINE公式アカウントが参加していない複数人トークを指定した場合も、ステータスコード200を返します。
レスポンスの例
エラーレスポンス
アカウント連携
プロバイダー(企業や開発者)が提供するサービスのアカウントと、LINEユーザーのアカウントを連携できます。
連携トークンを発行する
POSThttps://api.line.me/v2/bot/user/{userId}/linkToken
アカウント連携で使用する連携トークンを発行するAPIです。
リクエストの例
リクエストヘッダー
Authorization
Bearer {channel access token}
パスパラメータ
userId
連携対象のLINEアカウントのユーザーID。アカウント連携イベントオブジェクトのsourceオブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
レスポンス
ステータスコード200と以下のプロパティを含むJSONオブジェクトを返します。
linkToken
String
連携トークン。連携トークンの有効期間は10分で、1回のみ使用できます。
有効期間は予告なく変わる可能性があります。
レスポンスの例
メッセージ共通プロパティ
以下のプロパティはすべてのメッセージオブジェクトに指定できます。
クイックリプライ
クイックリプライ機能で使用するプロパティです。詳しくは、「クイックリプライを使う」を参照してください。
quickReply
Object
複数のメッセージオブジェクトを受信したユーザーには、最後のメッセージオブジェクトのquickReplyプロパティが表示されます。
itemsオブジェクト
クイックリプライボタンのコンテナです。
items
Array of objects
クイックリプライボタンオブジェクト。
最大オブジェクト数:13
itemsオブジェクトの例
クイックリプライボタンオブジェクト
ボタン形式で表示される、クイックリプライの選択肢です。
type
String
action
imageUrl
String
ボタンの先頭に表示するアイコンのURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:PNG
アスペクト比:1:1(幅:高さ)
最大ファイルサイズ:1MB
画像サイズに制限はありません。actionプロパティに指定するアクションがカメラアクション、カメラロールアクション、または位置情報アクションで、imageUrlプロパティが未指定の場合、デフォルトのアイコンが表示されます。
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。指定できるアクションの種類は以下のとおりです。
クイックリプライボタンが設定されたメッセージを未対応のLINEで受信すると、メッセージ本体のみが表示されます。
アイコンと表示名のカスタマイズ
LINE公式アカウントからメッセージを送る際に、メッセージオブジェクトに、sender.nameプロパティとsender.iconUrlプロパティを指定できます。
sender.name
String
表示名。LINEなど弊社のサービスと誤認される可能性があるワードは使用できません。
最大文字数:20
sender.iconUrl
String
メッセージ送信時にアイコンとして表示する画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:PNG
アスペクト比:1:1(幅:高さ)
最大ファイルサイズ:1MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
アイコンと表示名をカスタマイズするテキストメッセージの例
テキストメッセージ
プロパティに指定するテキストの文字数、および絵文字の位置は、UTF-16でエンコーディングしたときの符号単位の数および位置です。たとえば、サロゲートペアを使用する文字や、UTF-16で表現できる絵文字など、文字によっては、1文字ではなく複数文字としてカウントする必要があります。
詳しくは、『Messaging APIドキュメント』の「テキストの文字数のカウント」を参照してください。
type
String
text
text
String
メッセージのテキスト。以下の絵文字を含めることができます。
- LINE絵文字。
$をプレースホルダとして使用します。使用するLINE絵文字のプロダクトIDと絵文字IDを、emojisプロパティに指定してください。詳しくは、「LINE絵文字」を参照してください。 - Unicode絵文字。
最大文字数:5000
「LINE独自のUnicode絵文字」の代わりにemojisプロパティを使った「LINE絵文字」を利用してください。
詳しくは、2022年4月1日のニュース、「2022年3月31日をもって、Messaging APIの「LINE独自のUnicode絵文字」を廃止しました」と「LINE絵文字」を参照してください。
emojis
LINE絵文字オブジェクトの配列
1個以上のLINE絵文字
最大個数:20
emojis.index
Number
テキストの先頭を0とした、textプロパティ内の$(LINE絵文字のプレースホルダ)の位置。詳しくは、「テキストメッセージの例」を参照してください。
ここで指定した位置と、$の位置が一致しない場合は、400 Bad requestが返されます。
emojis.productId
String
LINE絵文字の集合を示すプロダクトID。プロダクトIDについては、「LINE絵文字」を参照してください。
emojis.emojiId
String
絵文字ID。Messaging APIで送信できるLINE絵文字の絵文字IDについては、「LINE絵文字」を参照してください。
quoteToken
String
引用したいメッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
テキストメッセージの例
LINE絵文字を含むテキストメッセージの例
過去のメッセージを引用したテキストメッセージの例
テキストメッセージ(v2)
テキストメッセージ(v2)は、テキストメッセージと異なり、{と}で囲まれた文字列をメンションや絵文字に置き換えることができます。
type
String
textV2
text
String
メッセージのテキスト。
{と}で囲まれた文字列を、substitutionプロパティを用いてメンションや絵文字に置き換えることができます。{および}を文字列として使用する場合は、{{および}}でエスケープしてください。また、{と}を使用する際は、以下のことに注意してください。
{と}はペアで使用する必要があります。{と}で囲まれた文字列は、substitutionプロパティを用いて置換内容を指定する必要があります。
最大文字数:5000
substitution
Object
textプロパティの{と}で囲まれた部分の置換内容を指定するオブジェクト。
オブジェクトのキーに使用できる文字は、半角英数字(0-9a-zA-Z)とアンダースコア(_)です。また、キーの文字数は、最大で20文字です。
オブジェクトの値にはメンションオブジェクトまたは絵文字オブジェクトを指定できます。
オブジェクトの最大数:100
quoteToken
String
引用したいメッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
メンションと絵文字を指定したテキストメッセージ(v2)の例
メンションオブジェクト
テキスト内で置き換えるメンションの内容を指定します。メンションオブジェクトを使用する際は、以下のことに注意してください。
- メンションオブジェクトは、応答メッセージまたはプッシュメッセージでのみ使用できます。
- メッセージの送信先は、グループトークまたは複数人トークである必要があります。
- メッセージを送信するLINE公式アカウントは、送信先であるグループトークまたは複数人トークのメンバーである必要があります。
- メンションされたすべてのユーザーは、そのメッセージの送信先であるグループトークまたは複数人トークのメンバーである必要があります。
- ひとつのメッセージで置換可能なメンションは20個までです。
なお、上記の2から4までの項目は、「応答メッセージのメッセージオブジェクトを検証する」または「プッシュメッセージのメッセージオブジェクトを検証する」エンドポイントでは検証できません。
type
String
mention
mentionee
Object
メンション先のオブジェクト。ユーザーオブジェクトまたは全体メンションオブジェクトを指定します。
ユーザーオブジェクト
type
String
user
userId
String
メンションするユーザーのユーザーID。なお、LINEボットのユーザーIDは指定できません。
全体メンションオブジェクト
type
String
all
絵文字オブジェクト
テキスト内で置き換える絵文字の内容を指定します。ひとつのメッセージで置換可能な絵文字は20個までです。
スタンプメッセージ
type
String
sticker
packageId
String
スタンプセットのパッケージID。パッケージIDについては、スタンプを参照してください。
stickerId
String
スタンプID。Messaging APIで送信できるスタンプのスタンプIDについては、スタンプを参照してください。
quoteToken
String
引用したいメッセージの引用トークン。詳しくは、『Messaging APIドキュメント』の「引用トークンを取得する」を参照してください。
スタンプメッセージの例
過去のメッセージを引用したスタンプメッセージの例
画像メッセージ
type
String
image
originalContentUrl
String
画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:10MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
previewImageUrl
String
プレビュー画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:1MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
なお、ユーザー端末の状況によっては、プレビュー画像としてoriginalContentUrlプロパティの画像が使われる場合があります。
画像メッセージの例
動画メッセージ
動画を含むメッセージの送信に成功したとしても、ユーザーの端末上で動画を正しく再生できない場合があります。詳しくは、FAQの「メッセージとして送信した動画が再生できないのはなぜですか?」を参照してください。
- 一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。
originalContentUrlで指定する動画と、previewImageUrlで指定するプレビュー画像のアスペクト比は一致させてください。アスペクト比が異なると、動画の背面にプレビュー画像が表示されることがあります。

type
String
video
originalContentUrl
String
動画ファイルのURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
動画フォーマット:mp4
最大ファイルサイズ:200MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
previewImageUrl
String
プレビュー画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:1MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
trackingId
String
動画視聴完了イベントが発生したときに、動画を識別するためのID。trackingIdを付与した動画メッセージを送信した場合に限り、ユーザーが動画の視聴を完了すると動画視聴完了イベントが発生します。
複数のメッセージで同じIDを使用することができます。
- 最大文字数:100
- 使用可能文字種:半角英数字(
a〜z、A~Z、0~9)、記号(-.=,+*()%$&;:@{}!?<>[])
trackingIdプロパティは、グループトークや複数人トーク宛てのメッセージでは使用できません。
動画メッセージの例
音声メッセージ
type
String
audio
originalContentUrl
String
音声ファイルのURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
音声フォーマット:mp3またはm4a
最大ファイルサイズ:200MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
duration
Number
音声ファイルの長さ(ミリ秒)
音声メッセージの例
位置情報メッセージ
type
String
location
title
String
タイトル
最大文字数:100
address
String
住所
最大文字数:100
latitude
Decimal
緯度
longitude
Decimal
経度
位置情報メッセージの例
クーポンメッセージ
クーポンメッセージは、クーポンIDを指定してユーザーにクーポンを送信するメッセージです。
type
String
coupon
couponId
String
クーポンのクーポンID。
クーポンID(couponId)は、クーポンを作成した際にレスポンスで渡されます。また、クーポンの一覧を取得するエンドポイントでも確認できます。
deliveryTag
String
クーポンの表示経路名。
最大文字数:30
使用可能文字種:半角英数字(a〜z、A~Z、0~9)、アンダースコア(_)
deliveryTagを指定しない場合、経路は不明になります。詳しくは、『LINEヤフー for Business』の「分析 - クーポン」を参照してください。
クーポンメッセージの例
イメージマップメッセージ
イメージマップメッセージは、複数のタップ領域を設定した画像を送信できるメッセージです。画像全体に1つのタップ領域を割り当てることも、画像を区切って複数のタップ領域を設定することもできます。
また、画像の上で動画を再生したり、動画再生後にリンク先を設定したラベルを表示したりできます。
動画を含むメッセージの送信に成功したとしても、ユーザーの端末上で動画を正しく再生できない場合があります。詳しくは、FAQの「メッセージとして送信した動画が再生できないのはなぜですか?」を参照してください。
originalContentUrlで指定する動画と、previewImageUrlで指定するプレビュー画像のアスペクト比は一致させてください。アスペクト比が異なると、動画の背面にプレビュー画像が表示されることがあります。

type
String
imagemap
baseUrl
String
画像のベースURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
イメージマップメッセージで使える画像について詳しくは、「画像の設定方法」を参照してください。
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
altText
String
代替テキスト。ユーザーがメッセージを受信した際に、端末の通知やトークリストで画像の代替として表示されます。
Unicode絵文字を含めることができます。
最大文字数:1500
baseSize.width
Number
基本画像の幅(px単位)。1040を指定します。
baseSize.height
Number
基本画像の幅を1040pxとした場合の高さ
video.originalContentUrl
String
動画ファイルのURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
動画フォーマット:mp4
最大ファイルサイズ:200MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。
video.previewImageUrl
String
プレビュー画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:1MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
video.area.x
Number
イメージマップ領域の左端を基準とした動画領域の位置(横方向の相対位置)。0以上の値を設定してください。
video.area.y
Number
イメージマップ領域の上端を基準とした動画領域の位置(縦方向の相対位置)。0以上の値を設定してください。
video.area.width
Number
動画領域の幅
video.area.height
Number
動画領域の高さ
video.externalLink.linkUri
String
ウェブページのURL。動画再生後に表示されるラベルをタップしたときに呼び出されます。
最大文字数:1000
使用できるスキームは、http、https、line、およびtelです。 LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
video.externalLink.label
String
ラベル。動画の再生が終了した後に表示されます。
最大文字数:30
actions
画像がタップされたときのアクション
最大件数:50
※1 イメージマップで動画を再生する場合は必須です。
※2 イメージマップで動画を再生し、動画再生後にラベルを表示する場合は必須です。
2つのタップ領域を持つイメージマップメッセージの例
画像の設定方法
イメージマップメッセージで使用する画像は、以下の要件を満たす必要があります。
- 画像フォーマット: JPEGまたはPNG
- 画像の幅:240px、300px、460px、700px、および1040px
- 最大ファイルサイズ:10MB
イメージマップメッセージに、透過PNGを使用できます。
「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:指定するメッセージが送信されます。clipboard:指定する文字列がユーザーの端末のクリップボードにコピーされます。
イメージマップURIアクションオブジェクト
type
String
uri
label
String
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:100
linkUri
String
ウェブページのURL
最大文字数:1000
使用できるスキームは、http、https、line、およびtelです。 LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
area
タップ領域の定義
イメージマップURIアクションオブジェクトの例
イメージマップメッセージアクションオブジェクト
type
String
message
label
String
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:100
text
String
送信するメッセージ
最大文字数:400
area
タップ領域の定義
イメージマップメッセージアクションオブジェクトの例
イメージマップクリップボードアクションオブジェクト
iOS版LINEまたはAndroid版LINEのバージョン14.0.0以降で動作します。
type
String
clipboard
label
String
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:100
clipboardText
String
クリップボードにコピーされる文字列
- 最大文字数:1000
area
タップ領域の定義
イメージマップクリップボードアクションオブジェクトの例
イメージマップ領域オブジェクト
タップ領域のサイズを表すオブジェクトです。画像の左上が座標の原点です。baseSize.widthプロパティとbaseSize.heightプロパティに基づいて指定します。
x
Number
領域の左端を基準としたタップ領域の位置(横方向の相対位置)。0以上の値を設定してください。
y
Number
領域の上端を基準としたタップ領域の位置(縦方向の相対位置)。0以上の値を設定してください。
width
Number
タップ領域の幅
height
Number
タップ領域の高さ
イメージマップ領域オブジェクトの例
テンプレートメッセージ
テンプレートメッセージは、あらかじめレイアウトが定義されたテンプレートをカスタマイズして構築するメッセージです。詳しくは、「テンプレートメッセージ」を参照してください。
以下のタイプのテンプレートを利用できます。
より柔軟なレイアウトでメッセージを送りたい場合は、Flex Messageを使用してください。
テンプレートメッセージオブジェクトの共通プロパティ
以下のプロパティは、すべてのテンプレートメッセージオブジェクトで共通です。
type
String
template
altText
String
代替テキスト。ユーザーがメッセージを受信した際に、端末の通知やトークリスト、引用メッセージでテンプレートメッセージの代替として表示されます。
Unicode絵文字を含めることができます。
最大文字数:1500
ボタンテンプレート
画像、タイトル、テキストに加えて、複数のアクションボタンが含まれたテンプレートです。
type
String
buttons
thumbnailImageUrl
String
画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大横幅サイズ:1024px
最大ファイルサイズ:10MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
画像のファイルメッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(1MB以下推奨)。
imageAspectRatio
String
画像のアスペクト比。以下のいずれかの値を指定します。
rectangle:1.51:1square: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:1square:1:1
すべてのカラムに適用されます。デフォルト値はrectangleです。
imageSize
String
画像の表示形式。以下のいずれかの値を指定します。
cover:画像領域全体に画像を表示します。画像領域に収まらない部分は切り詰められます。contain:画像領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。
すべてのカラムに適用されます。デフォルト値はcoverです。
カルーセルテンプレートメッセージの例
カルーセルのカラムオブジェクト
thumbnailImageUrl
String
画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
アスペクト比:1.51:1(幅:高さ)
最大横幅サイズ:1024px
最大ファイルサイズ:10MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
画像のファイルメッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(1MB以下推奨)。
imageBackgroundColor
String
画像の背景色。RGB値で設定します。デフォルト値は#FFFFFF(白)です。
title
String
タイトル
最大文字数:40
text
String
メッセージテキスト
画像もタイトルも指定しない場合の最大文字数:120
画像またはタイトルを指定する場合の最大文字数:60
defaultAction
画像、タイトル、テキストの領域全体に対して設定できる、タップされたときのアクション
actions
アクションオブジェクトの配列
タップされたときのアクション
最大件数:3
各カラムのアクションの数は同じにします。画像またはタイトルの有無も、各カラムで統一してください。
画像カルーセルテンプレート
複数の画像を表示するテンプレートです。画像は横にスクロールして順番に表示できます。
type
String
image_carousel
columns
カラムオブジェクトの配列
カラムの配列
最大カラム数:10
画像カルーセルテンプレートメッセージの例
画像カルーセルのカラムオブジェクト
imageUrl
String
画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
アスペクト比:1:1(幅:高さ)
最大横幅サイズ:1024px
最大ファイルサイズ:10MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
画像のファイルメッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(1MB以下推奨)。
action
画像がタップされたときのアクション
Flex Message
Flex Messageは、CSS Flexible Box(CSS Flexbox)の基礎知識を使って、レイアウトを自由にカスタマイズできるメッセージです。Flex Messageの概要については、『Messaging APIドキュメント』の「Flex Messageを送信する」を参照してください。
Flex Messageの例
動作環境
Flex Messageは、すべてのバージョンのLINEでサポートされます。なお、以下の機能は、LINEの特定のバージョンのみサポートしています。
| 機能 | iOS版LINE Android版LINE | PC版LINE (macOS版、Windows版) |
|---|---|---|
| 11.22.0以上 | 7.7.0以上 | |
| 13.6.0以上 | 7.17.0以上 |
※1 動画をサポートしていないLINEのバージョンにおいてもコンテンツを適切に表示するには、altContentプロパティを指定します。このプロパティで指定した画像が動画の代わりに表示されます。
※2 LINEのバージョンがdecaとhectoをサポートするバージョンに満たない場合、バブルのサイズはkiloとして表示されます。
コンテナ
コンテナは、Flex Messageの最上位の構造です。以下のタイプのコンテナを利用できます。
コンテナのJSONデータのサンプルや用途については、『Messaging APIドキュメント』の「Flex Messageの要素」を参照してください。
バブル
1つのメッセージバブルを構成するコンテナです。ヘッダー、ヒーロー、ボディ、およびフッターの4つのブロックを含めることができます。各ブロックの用途について詳しくは、『Messaging APIドキュメント』の「ブロック」を参照してください。
バブルを定義するJSONデータの最大サイズは、30KBです。
type
String
bubble
size
String
バブルの大きさ。nano、micro、deca、hecto、kilo、mega、gigaのいずれかの値を指定できます。デフォルト値はmegaです。
deca、hectoを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:13.6.0以降
- macOS版とWindows版のLINE:7.17.0以降
LINEのバージョンがdecaとhectoをサポートするバージョンに満たない場合、バブルのサイズはkiloとして表示されます。
direction
String
テキストの書字方向と、水平ボックス内でコンポーネントを配置する向き。以下のいずれかの値を指定します。
ltr:テキストは左横書き、コンポーネントは左から右に配置rtl:テキストは右横書き、コンポーネントは右から左に配置
デフォルト値はltrです。
header
Object
ヘッダー。ボックスを指定します。
body
Object
ボディ。ボックスを指定します。
footer
Object
フッター。ボックスを指定します。
styles
Object
各ブロックのスタイル。バブルスタイルを指定します。
action
Object
バブルがタップされたときのアクション。アクションオブジェクトを指定します。
バブルの例
ブロックのスタイルを定義するオブジェクト
バブル内のブロックのスタイルは、以下の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
Array of objects
このカルーセル内のバブル。最大バブル数:12
1つのカルーセルに、異なる幅(sizeプロパティ)のバブルを含めることはできません。バブルの幅は、カルーセルごとに揃えてください。
カルーセルの中で最大の高さのバブルと一致するように、各バブルのボディが伸長します。ただし、ボディがないバブルの大きさは変わりません。
カルーセルの例
コンポーネント
コンポーネントは、ブロックを構成する要素です。以下のコンポーネントを利用できます。
各コンポーネントのJSONデータのサンプルや用途については、『Messaging APIドキュメント』の「Flex Messageの要素」と「Flex Messageのレイアウト」を参照してください。
ボックス
ボックスは、水平または垂直のレイアウト方向を定義します。ボックスを含む、他のコンポーネントを含むことができます。
type
String
box
layout
String
このボックス内のコンポーネントを配置する向き。詳しくは、『Messaging APIドキュメント』の「ボックスコンポーネントの向き」を参照してください。
contents
Array of objects
backgroundColor
String
ボックスの背景色。RGBカラーに加えて、アルファチャネル(透明度)も設定できます。16進数カラーコードで設定します。(例:#RRGGBBAA)デフォルト値は#00000000です。
borderColor
String
ボックスの境界線の色。16進数カラーコードで設定します。
borderWidth
String
ボックスの境界線の太さ。ピクセルまたはnone、light、normal、medium、semi-bold、boldのいずれかの値を指定できます。noneでは、境界線は描画されず、それ以外は列挙した順に太くなります。
cornerRadius
String
ボックスの境界線の角を丸くするときの半径。ピクセル、またはnone、xs、sm、md、lg、xl、xxlのいずれかの値を指定できます。noneでは、角は丸くならず、それ以外は列挙した順に半径が大きくなります。デフォルト値はnoneです。
width
String
ボックスの幅。%(親要素の幅を基準にした割合)またはピクセルを指定します。詳しくは、『Messaging APIドキュメント』の「ボックスの幅」を参照してください。
maxWidth
String
ボックスの最大幅。%(親要素の幅を基準にした割合)またはピクセルを指定します。詳しくは、『Messaging APIドキュメント』の「ボックスの最大幅」を参照してください。
このプロパティを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:11.22.0以降
- macOS版とWindows版のLINE:7.7.0以降
height
String
ボックスの高さ。%(親要素の高さを基準にした割合)またはピクセルを指定します。詳しくは、『Messaging APIドキュメント』の「ボックスの高さ」を参照してください。
maxHeight
String
ボックスの最大高。%(親要素の高さを基準にした割合)またはピクセルを指定します。詳しくは、『Messaging APIドキュメント』の「ボックスの最大高」を参照してください。
このプロパティを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:11.22.0以降
- macOS版とWindows版のLINE:7.7.0以降
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
タップされたときのアクション。アクションオブジェクトを指定します。
justifyContent
String
親要素の主軸に沿った子要素の配置。親要素が水平ボックスの場合、子要素のflexプロパティを0に指定したときのみ動作します。詳しくは、『Messaging APIドキュメント』の「余白を使った子コンポーネントの配置」を参照してください。
alignItems
String
親要素の交差軸に沿った子要素の配置。詳しくは、『Messaging APIドキュメント』の「余白を使った子コンポーネントの配置」を参照してください。
background.type
String
背景の種類。以下の値を指定します。
linearGradient:線形グラデーション。詳しくは、『Messaging APIドキュメント』の「線形グラデーション背景」を参照してください。
background.angle
String
線形グラデーションの勾配の角度。0度以上、360度未満の範囲で、90deg(90度)や23.5deg(23.5度)のように整数または小数で角度を指定します。0degは下から上、45degは左下から右上、90degは左から右、180degは上から下のように数字が増えると時計回りで角度が変わります。詳しくは、『Messaging APIドキュメント』の「線形グラデーションの角度」を参照してください。
background.typeがlinearGradientの場合は必須です。
background.startColor
String
グラデーションの開始点の色。#RRGGBBまたは#RRGGBBAAのような16進数カラーコードで設定します。
background.typeがlinearGradientの場合は必須です。
background.endColor
String
グラデーションの終了点の色。#RRGGBBまたは#RRGGBBAAのような16進数カラーコードで設定します。
background.typeがlinearGradientの場合は必須です。
background.centerColor
String
グラデーションの中間色。#RRGGBBまたは#RRGGBBAAのような16進数カラーコードで設定します。background.centerColorを指定すると3色のグラデーションになります。詳しくは、『Messaging APIドキュメント』の「グラデーションの中間色」を参照してください。
background.centerPosition
String
中間色の位置。開始点の0%から、終了点の100%の範囲で整数または小数を指定します。デフォルト値は50%です。詳しくは、『Messaging APIドキュメント』の「グラデーションの中間色」を参照してください。
ボックスの例
ボタン
ボタンを描画するコンポーネントです。ユーザーが、ボタンをタップしたときに実行される、アクションを指定できます。
type
String
button
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。
flex
Number
親要素内での、このコンポーネントの幅または高さの比率。水平ボックス内のコンポーネントでは、flexプロパティのデフォルト値は1です。垂直ボックス内のコンポーネントでは、flexプロパティのデフォルト値は0です。詳しくは、『Messaging APIドキュメント』の「コンポーネントのサイズ」を参照してください。
margin
String
親要素内での、このコンポーネントの前に挿入する余白の最小サイズ。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。
position
String
offsetTop、offsetBottom、offsetStart、offsetEndの基準。以下のいずれかの値を指定します。
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ドキュメント』の「テキスト、画像、ボタンを垂直方向に整列させる」を参照してください。
adjustMode
String
テキストのフォントサイズを調整する方式。以下の値を指定します。
shrink-to-fit:コンポーネントの幅に合わせて自動縮小されます。このプロパティはベストエフォートで機能しますので、プラットフォームによって動作が異なる、あるいは動作しないことがあります。詳しくは、『Messaging APIドキュメント』の「フォントサイズの自動縮小」を参照してください。
scaling
Boolean
trueを指定すると、LINEアプリのフォントサイズ設定に応じて、テキストのフォントサイズが自動的に拡大縮小されます。デフォルト値はfalseです。詳しくは、『Messaging APIドキュメント』の「フォントサイズ設定に応じたサイズへの拡大縮小」を参照してください。
このプロパティを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:13.6.0以降
- macOS版とWindows版のLINE:7.17.0以降
ボタンの例
画像
画像を描画するコンポーネントです。
type
String
image
url
String
画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024 x 1024ピクセル
最大ファイルサイズ:10MB(animatedプロパティがtrueの場合は300KB)
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
メッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(1MB以下推奨)。
flex
Number
親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントのサイズ」を参照してください。
margin
String
親要素内での、このコンポーネントの前に挿入する余白の最小サイズ。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。
position
String
offsetTop、offsetBottom、offsetStart、offsetEndの基準。以下のいずれかの値を指定します。
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
画像の幅の最大サイズ。デフォルト値はmdです。詳しくは、『Messaging APIドキュメント』の「画像のサイズ」を参照してください。
aspectRatio
String
画像のアスペクト比。{幅}:{高さ}の形式で指定します。{幅}と{高さ}は、それぞれ1~100000の値で入力します。ただし、{高さ}には{幅}の3倍を超える値は指定できません。デフォルト値は1:1です。
aspectMode
String
画像のアスペクト比とaspectRatioプロパティで指定されるアスペクト比が一致しない場合の、画像の表示方式。詳しくは、「描画領域について」を参照してください。
backgroundColor
String
画像の背景色。16進数カラーコードで設定します。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。
animated
Boolean
trueを指定すると画像(APNG)のアニメーションを再生します。メッセージ全体で10枚の画像までtrueを指定できます。上限を超えて指定した場合、メッセージは送信できません。デフォルト値はfalseです。データサイズが300KBを超える場合は再生されません。
アニメーションの画像はAPNG作成ツールを使用して作成してください。APNGの作成方法は、アニメーションスタンプの作成方法を参考にしてください。詳しくは、LINE Creators Marketにあるアニメーションスタンプの制作ガイドラインを参照してください。
「画像は表示されるがアニメーションが再生されない」というときは、以下を確認してください。
animatedプロパティの値をtrueにしているか- 画像のデータサイズが300KB以下か
またメッセージを受信したLINEアプリの設定に起因して、アニメーションが再生されない場合もあります。併せて以下も確認してください。
- LINEアプリの設定で
GIF自動再生がオンになっているか
アニメーションはAPNGのacTLチャンクのnum_playsフィールドで指定した回数分、ループ再生されます。0を指定することで無限にループ再生も可能です。
画像の例
描画領域について
sizeプロパティで画像の最大の幅を指定し、aspectRatioプロパティで画像のアスペクト比(幅:高さの比率)を指定します。sizeプロパティとaspectRatioプロパティで決定される矩形の領域を、描画領域と呼びます。この描画領域に画像が表示されます。
flexプロパティによって算出されたコンポーネントの幅が、sizeプロパティで指定された画像の幅よりも小さい場合、描画領域の幅はコンポーネントの幅に縮小されます。- 画像のアスペクト比と
aspectRatioプロパティで指定されるアスペクト比が一致しない場合、aspectModeプロパティに基づいて画像が表示されます。デフォルト値はfitです。aspectModeがcoverの場合:描画領域全体に画像を表示します。描画領域に収まらない部分は切り詰められます。aspectModeがfitの場合:描画領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に背景が表示されます。
動画
動画を描画するコンポーネントです。
動画を使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:11.22.0以降
- macOS版とWindows版のLINE:7.7.0以降
LINEのバージョンが動画をサポートするバージョンに満たない場合、動画のaltContentプロパティに指定したコンポーネントが代替コンテンツとして表示されます。
動画を含むメッセージの送信に成功したとしても、ユーザーの端末上で動画を正しく再生できない場合があります。詳しくは、FAQの「メッセージとして送信した動画が再生できないのはなぜですか?」を参照してください。
一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。
また、urlプロパティで指定する動画のアスペクト比と、以下の2つのアスペクト比は一致させてください。アスペクト比が異なると、予期せぬレイアウトになることがあります。
aspectRatioプロパティで指定するアスペクト比previewUrlプロパティで指定するプレビュー画像のアスペクト比

動画コンポーネントを使うには、以下の条件をすべて満たす必要があります。
- 動画コンポーネントをヒーローのブロック直下に指定する。
- バブルの
sizeプロパティにkilomegagigaのいずれかを指定する。 - バブルがカルーセルの子要素ではない。
type
String
video
url
String
動画ファイルのURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
動画フォーマット:mp4
最大ファイルサイズ:200MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
previewUrl
String
プレビュー画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大ファイルサイズ:1MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
aspectRatio
String
動画のアスペクト比。{幅}:{高さ}の形式で指定します。{幅}と{高さ}は、それぞれ1~100000の値で入力します。ただし、{高さ}には{幅}の3倍を超える値は指定できません。デフォルト値は1:1です。
動画の例
アイコン
隣接するテキストを装飾するために、アイコンを描画するコンポーネントです。このコンポーネントは、ベースラインボックス内でのみ使用できます。
type
String
icon
url
String
画像のURL(最大文字数:2000)
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024 x 1024ピクセル
最大ファイルサイズ:1MB
URLはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
margin
String
親要素内での、このコンポーネントの前に挿入する余白の最小サイズ。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。
position
String
offsetTop、offsetBottom、offsetStart、offsetEndの基準。以下のいずれかの値を指定します。
relative:直前のボックスを基準にします。absolute:親要素の左上を基準にします。
デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetTop
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetBottom
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetStart
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetEnd
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
size
String
アイコンの幅の最大サイズ。デフォルト値はmdです。詳しくは、『Messaging APIドキュメント』の「アイコン、テキスト、スパンのサイズ」を参照してください。
scaling
Boolean
trueを指定すると、LINEアプリのフォントサイズ設定に応じて、アイコンが自動的に拡大縮小されます。デフォルト値はfalseです。詳しくは、『Messaging APIドキュメント』の「フォントサイズ設定に応じたサイズへの拡大縮小」を参照してください。
このプロパティを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:13.6.0以降
- macOS版とWindows版のLINE:7.17.0以降
aspectRatio
String
アイコンのアスペクト比。{幅}:{高さ}の形式で指定します。{幅}と{高さ}は、それぞれ1~100000の値で入力します。ただし、{高さ}には{幅}の3倍を超える値は指定できません。デフォルト値は1:1です。
アイコンのflexプロパティの値は、0に固定されます。
アイコンの例
テキスト
文字列を描画するコンポーネントです。色、サイズ、および太さを指定できます。
type
String
text
text
String
テキスト。textプロパティまたはcontentsプロパティのいずれかを必ず設定してください。contentsプロパティを設定すると、textは無視されます。
contents
Array of objects
スパンの配列。textプロパティまたはcontentsプロパティのいずれかを必ず設定してください。contentsプロパティを設定すると、textは無視されます。
adjustMode
String
テキストのフォントサイズを調整する方式。以下の値を指定します。
shrink-to-fit:コンポーネントの幅に合わせて自動縮小されます。このプロパティはベストエフォートで機能しますので、プラットフォームによって動作が異なる、あるいは動作しないことがあります。詳しくは、『Messaging APIドキュメント』の「フォントサイズの自動縮小」を参照してください。
flex
Number
親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントのサイズ」を参照してください。
margin
String
親要素内での、このコンポーネントの前に挿入する余白の最小サイズ。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmarginプロパティ」を参照してください。
position
String
offsetTop、offsetBottom、offsetStart、offsetEndの基準。以下のいずれかの値を指定します。
relative:直前のボックスを基準にします。absolute:親要素の左上を基準にします。
デフォルト値はrelativeです。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetTop
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetBottom
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetStart
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetEnd
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
size
String
フォントサイズ。デフォルト値はmdです。詳しくは、『Messaging APIドキュメント』の「アイコン、テキスト、スパンのサイズ」を参照してください。
scaling
Boolean
trueを指定すると、LINEアプリのフォントサイズ設定に応じて、テキストのフォントサイズが自動的に拡大縮小されます。デフォルト値はfalseです。詳しくは、『Messaging APIドキュメント』の「フォントサイズ設定に応じたサイズへの拡大縮小」を参照してください。
このプロパティがtrueの場合、contentsプロパティで指定したスパンのテキストも、フォントサイズが自動的に拡大縮小されます。
このプロパティを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:13.6.0以降
- macOS版とWindows版のLINE:7.17.0以降
align
String
水平方向の位置合わせ方式。詳しくは、『Messaging APIドキュメント』の「テキストや画像を水平方向に整列させる」を参照してください。
gravity
String
垂直方向の位置合わせ方式。デフォルト値はtopです。詳しくは、『Messaging APIドキュメント』の「テキスト、画像、ボタンを垂直方向に整列させる」を参照してください。
wrap
Boolean
trueを指定するとテキストを折り返します。デフォルト値はfalseです。trueに設定した場合、改行文字(\n)を使って改行できます。詳しくは、『Messaging APIドキュメント』の「テキストを折り返す」を参照してください。
lineSpacing
String
折り返したテキスト内の行間。0より大きい整数または小数をピクセルで指定します。開始行の上部と最終行の下部には適用されません。詳しくは、『Messaging APIドキュメント』の「テキスト内の行間を広げる」を参照してください。
このプロパティを使用できるLINEのバージョンは以下のとおりです。
- iOS版とAndroid版のLINE:11.22.0以降
- macOS版とWindows版のLINE:7.7.0以降
maxLines
Number
最大行数。テキストがこの行数に収まらない場合は、最終行の末尾に省略記号(…)が表示されます。0ではすべてのテキストが表示されます。デフォルト値は0です。
weight
String
フォントの太さ。regular、boldのいずれかの値を指定できます。boldを指定すると太字になります。デフォルト値はregularです。
color
String
フォントの色。16進数カラーコードで設定します。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。
style
String
テキストのスタイル。以下のいずれかの値を指定します。
normal:標準italic:斜体デフォルト
値はnormalです。
decoration
String
テキストの装飾。以下のいずれかの値を指定します。
none:装飾なしunderline:下線line-through:取り消し線
デフォルト値はnoneです。
テキストの例
スパン
スタイルが異なる複数の文字列を描画するコンポーネントです。色、サイズ、太さ、および装飾を指定できます。スパンは、テキストのcontentsプロパティに設定します。
type
String
span
text
String
テキスト。親のテキストのwrapプロパティをtrueに設定した場合は、改行文字(\n)を使って改行できます。
color
String
フォントの色。16進数カラーコードで設定します。
size
String
フォントサイズ。詳しくは、『Messaging APIドキュメント』の「アイコン、テキスト、スパンのサイズ」を参照してください。
weight
String
フォントの太さ。regular、boldのいずれかの値を指定できます。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進数カラーコードで設定します。
セパレータの例
フィラー
スペースを作るには、フィラーの代わりに各コンポーネントのプロパティを使用してください。詳しくは、『Messaging APIドキュメント』の「コンポーネントの位置」を参照してください。
スペースを作るためのコンポーネントです。ボックス内のコンポーネントの間、前、または後にスペースを入れることができます。
type
String
filler
flex
Number
親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントのサイズ」を参照してください。
フィラーでは親要素のspacingプロパティが無視されます。
フィラーの例
アクションオブジェクト
ユーザーがメッセージ内のボタンまたは画像をタップしたときに、ボットが実行できるアクションのタイプです。
ポストバックアクション
このアクションが関連づけられたコントロールがタップされると、dataプロパティに指定された文字列を含むポストバックイベントが、Webhookを介して返されます。
type
String
postback
label
String
アクションのラベル。アクションを設定するオブジェクトごとに、仕様が異なります。詳しくは、「ラベルの仕様」を参照してください。
data
String
Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列
最大文字数:300
displayText
String
アクションの実行時に、ユーザーのメッセージとしてLINEのトーク画面に表示されるテキスト。
最大文字数:300displayTextプロパティとtextプロパティは、同時に設定できません。
text
String
【廃止予定】アクションの実行時に、ユーザーのメッセージとしてLINEのトーク画面に表示されるテキスト。Webhookを介してサーバーに返されます。クイックリプライボタンでは使用しないでください。
最大文字数:300displayTextプロパティとtextプロパティは、同時に設定できません。
inputOption
String
アクションに応じた、リッチメニューなどの表示方法。以下のいずれかの値を指定します。
closeRichMenu:リッチメニューを閉じるopenRichMenu:リッチメニューを開くopenKeyboard:キーボードを開くopenVoice:ボイスメッセージ入力モードを開く
iOS版LINEまたはAndroid版LINEのバージョン12.6.0以降で動作します。
fillInText
String
キーボードを開いたときに、入力欄にあらかじめ入力しておく文字列。inputOptionがopenKeyboardの場合にのみ有効です。文字列は、改行文字(\n)により改行できます。
最大文字数:300
iOS版LINEまたはAndroid版LINEのバージョン12.6.0以降で動作します。
ラベルの仕様
以下のアクションにおけるlabelプロパティは、アクションを設定するオブジェクトごとに、仕様が異なります。
上記のアクションにおけるラベルの仕様は次のとおりです。なお、上記以外のアクションにおけるラベルの仕様については、各アクションの仕様を参照してください。
| オブジェクト | 必須 | 最大文字数 | |
|---|---|---|---|
| テンプレートメッセージ | 画像カルーセル | 任意 | 12 |
| 画像カルーセル以外 | 必須 | 20 | |
| リッチメニュー *1 | 任意 | 20 | |
| クイックリプライボタン | 必須 | 20 | |
| Flex Message | ボタン | 必須 | 40 |
| ボタン以外 *2 | 任意 | 40 | |
※1 ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
※2 ラベルを指定しても表示されません。
ポストバックアクションオブジェクトの例
メッセージアクション
このアクションが関連づけられたコントロールがタップされると、textプロパティの文字列がユーザーからのメッセージとして送信されます。
type
String
message
label
String
アクションのラベル。アクションを設定するオブジェクトごとに、仕様が異なります。詳しくは、「ラベルの仕様」を参照してください。
text
String
アクションの実行時に送信されるテキスト
最大文字数:300
メッセージアクションオブジェクトの例
URIアクション
このアクションが関連づけられたコントロールがタップされると、LINE内ブラウザでuriプロパティのURIが開きます。
type
String
uri
label
String
アクションのラベル。アクションを設定するオブジェクトごとに、仕様が異なります。詳しくは、「ラベルの仕様」を参照してください。
uri
String
アクションの実行時に開かれるURI(最大文字数:1000)
使用できるスキームは、http、https、line、およびtelです。LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
URIはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
altUri.desktop
String
macOS版とWindows版のLINEでアクションを実行したときに開かれるURI(最大文字数:1000)altUri.desktopを指定した場合は、macOS版とWindows版のLINEではuriが無視されます。
使用できるスキームは、http、https、line、およびtelです。LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
URIはUTF-8を用いてパーセントエンコードしてください。詳しくは、「リクエストボディのプロパティに指定するURLのエンコードについて」を参照してください。
altUri.desktopは、Flex MessageにURIアクションを関連付けた場合にのみ有効です。クイックリプライでは動作しません。
URIアクションオブジェクトの例
日時選択アクション
このアクションが関連づけられたコントロールがタップされると、日時選択ダイアログでユーザーが選択した日時を含むポストバックイベントが、Webhookを介して返されます。日時選択アクションはタイムゾーンの違いに対応していません。
type
String
datetimepicker
label
String
アクションのラベル。アクションを設定するオブジェクトごとに、仕様が異なります。詳しくは、「ラベルの仕様」を参照してください。
data
String
Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列
最大文字数:300
mode
String
アクションモードdate:日付を選択します。time:時刻を選択します。datetime:日付と日時を選択します。
initial
String
日付または時刻の初期値
max
String
選択可能な日付または時刻の最大値。minの値より大きい必要があります。
min
String
選択可能な日付または時刻の最小値。maxの値より小さい必要があります。
日時選択アクションオブジェクトの例
日付と日時の形式
initial、max、およびminの値の日付と日時の形式は以下のとおりです。full-date、time-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
位置情報アクションオブジェクトの例
リッチメニュー切替アクション
リッチメニューにのみ設定できるアクションです。Flex Messageやクイックリプライでは利用できません。このアクションが関連づけられたリッチメニューがタップされると、リッチメニューの切替が行われ、ユーザーが選択したリッチメニューエイリアスIDを含むポストバックイベントが、Webhookを介して返されます。詳しくは、『Messaging APIドキュメント』の「リッチメニューでタブ切り替えを行う」を参照してください。
type
String
richmenuswitch
label
String
アクションのラベル。リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
- 最大文字数:20
richMenuAliasId
String
切替先のリッチメニューエイリアスID。
data
String
Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列
- 最大文字数:300
リッチメニュー切替アクションオブジェクトの例
クリップボードアクション
ユーザーがこのアクションが関連づけられたコントロールをタップすると、clipboardTextプロパティに指定されたテキストが、端末のクリップボードにコピーされます。
iOS版LINEまたはAndroid版LINEのバージョン14.0.0以降で動作します。
type
String
clipboard
label
String
アクションのラベル。アクションを設定するオブジェクトごとに、仕様が異なります。詳しくは、「ラベルの仕様」を参照してください。
clipboardText
String
クリップボードにコピーされる文字列
- 最大文字数:1000
クリップボードアクションオブジェクトの例