# 共通仕様
Messaging APIにおいて、リクエストが成功・失敗した際のレスポンス、レート制限などの共通仕様です。
Messaging APIにおいて、リクエストが成功・失敗した際のレスポンス、レート制限などの共通仕様です。
Messaging APIでは、エンドポイントごとに以下のレート制限が適用されます。
レート制限を超えて送信を行った場合、429 Too Many Requests
が返却され、エラーとなります。
Messaging APIを使ったLINEボットを開発する際は、レート制限を含め、開発ガイドラインに従ってください。
Messaging APIからは以下のステータスコードが返されます。
ステータスコード | 説明 |
---|---|
200 OK | リクエストが成功しました。 |
400 Bad Request | リクエストに問題があります。 |
401 Unauthorized | 有効なチャネルアクセストークンが指定されていません。 |
403 Forbidden | リソースにアクセスする権限がありません。ご契約中のプランやアカウントに付与されている権限を確認してください。 |
409 Conflict | 同じリトライキーを持つAPIリクエストがすでに受理されています。詳しくは、「失敗したAPIリクエストを再試行する」を参照してください。 |
415 Unsupported Media Type | アップロードしようとしたファイルのメディア形式はサポートされていません。 |
429 Too Many Requests |
|
500 Internal Server Error | 内部サーバーのエラーです。 |
Messaging APIのレスポンスには以下のHTTPヘッダーが含まれます。
レスポンスヘッダー | 説明 |
---|---|
X-Line-Request-Id | リクエストID。各リクエストに発行されるIDです。 |
X-Line-Accepted-Request-Id | 同じリトライキーを使ってすでにリクエストが受理されている場合、そのリクエストのx-line-request-id を示します。 |
エラー発生時は、以下のJSONデータを含むレスポンスボディが返されます。
エラーレスポンスの例
エラーのJSONレスポンスのmessage
プロパティに含まれる、主なエラーメッセージは以下のとおりです。
メッセージ | 説明 |
---|---|
The request body has X error(s) | リクエストボディのJSONデータにエラーがありました。Xの部分にエラーの数が表示されます。詳細はdetails[].message プロパティとdetails[].property プロパティに含まれます。 |
Invalid reply token | 応答メッセージで使用された応答トークンが無効です。 |
The property, XXX, in the request body is invalid (line: XXX, column: XXX) | リクエストボディに無効なプロパティが指定されていました。XXXの部分に具体的な行と列が表示されます。 |
The request body could not be parsed as JSON (line: XXX, column: XXX) | リクエストボディのJSONデータを解析できませんでした。XXXの部分に具体的な行と列が表示されます。 |
The content type, XXX, is not supported | APIでサポートされていないコンテンツタイプがリクエストされました。 |
Authentication failed due to the following reason: XXX | APIが呼び出されたときに認証に失敗しました。XXXの部分に理由が表示されます。 |
Access to this API is not available for your account | 実行権限がないAPIを呼び出しました。 |
Failed to send messages | メッセージの送信に失敗しました。指定したユーザーIDが存在しない場合などにこのエラーが発生します。 |
You have reached your monthly limit. | 追加メッセージ数の上限目安を超過しました。 |
エラーのJSONレスポンスのdetails[].message
プロパティに含まれる、主な「エラーの詳細」は以下のとおりです。
メッセージ | 説明 |
---|---|
AUDIENCE_GROUP_CAN_NOT_UPLOAD_STATUS_EXPIRED | オーディエンスを作成してから180日(15,552,000秒)を超えたため、このオーディエンスは使用できません。 |
AUDIENCE_GROUP_COUNT_MAX_OVER | 作成できるオーディエンス数の上限(合計1,000件)に達しています。 |
AUDIENCE_GROUP_NAME_DUPLICATE | 既存のオーディエンスと同じ名前を指定しました。 |
AUDIENCE_GROUP_NAME_SIZE_OVER | オーディエンスの名前が長すぎます。 |
AUDIENCE_GROUP_NAME_WRONG | オーディエンスの名前に、無効な文字(例:\n などの制御コード)を指定しました。 |
AUDIENCE_GROUP_NOT_FOUND | オーディエンスが見つかりません。 |
AUDIENCE_GROUP_REQUESTID_DUPLICATE | 既存のオーディエンスに指定したリクエストIDと同じ値を指定しました。 |
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から除外したうえで、失敗したエンドポイントを再実行してください。
友だち追加やメッセージの送信のようなイベントが発生すると、LINEプラットフォームからWebhook URL(ボットサーバー)にHTTPS POSTリクエストが送信されます。
Webhook URLはチャネルごとにLINE Developersコンソールで設定します。
HTTP POSTリクエストの処理が後続のイベントの処理に遅延を与えないよう、イベント処理を非同期化することを推奨します。
x-line-signature
署名の検証に使う署名
リクエストボディは、Webhookイベントを受信すべきボットのユーザーIDとWebhookイベントオブジェクトの配列を含むJSONオブジェクトです。
destination
String
Webhookイベントを受信すべきボットのユーザーID。ユーザーIDの値は、U[0-9a-f]{32}
の正規表現にマッチする文字列です。
events
Webhookイベントのリスト。LINEプラットフォームから疎通確認のために、空のリストが送信される場合があります。
LINEプラットフォームから送信されるHTTP POSTリクエストをボットサーバーで受信したときは、ステータスコード200
を返してください。
LINEプラットフォームから送信されるHTTP POSTリクエストは、送受信に失敗しても再送されません。
LINEプラットフォームから疎通確認のために、Webhookイベントが含まれないHTTP POSTリクエストが送信されることがあります。
この場合も、ステータスコード200
を返してください。
Webhookイベントが含まれないHTTP POSTリクエストの例:
{
"destination": "xxxxxxxxxx",
"events": []
}
リクエストがLINEプラットフォームから送られたことを確認するために、ボットサーバーでリクエストヘッダーのx-line-signature
に含まれる署名を検証します。
検証の手順は以下のとおりです。
x-line-signature
に含まれる署名が一致することを確認します。署名検証の例
LINEプラットフォームで生成されるイベントを含むJSONオブジェクトです。
これらのイベントオブジェクトのプロパティは、値が存在しない場合があります。値が存在しないプロパティは、生成されるイベントオブジェクトに含まれません。
Messaging APIの機能に追加または変更があったときに、イベントオブジェクトの構造が変更される場合があります。この変更には、プロパティの追加、プロパティの順序の変化、データの要素間の空白や改行の有無が含まれます。将来、従来と異なる構造のイベントオブジェクトを受信しても不具合が発生しないように、サーバーを実装してください。
Webhookイベントオブジェクトの例
以下のプロパティはすべてのWebhookイベントオブジェクトに含まれます。
type
String
イベントのタイプを表す識別子
mode
String
チャネルの状態。
active
:チャネルがアクティブです。このWebhookイベントを受信したボットサーバーから、返信メッセージやプッシュメッセージなど送信できます。standby
(実装予定):チャネルが待機状態です。このWebhookイベントを受信したボットサーバーは、メッセージの送信を控えてください。timestamp
Number
イベントの発生時刻(ミリ秒)
mode
プロパティは、チャネルの管理者が「チャネルの多重化」(実装予定)を行うと、standby
に切り替わります。mode
プロパティが自動的にstandby
になることはありません。
現在は、受信チャネルの多重化を行う機能は提供されていません。
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
プロパティに含まれます。メッセージイベントには応答できます。
送信元から送られたテキストを含むメッセージオブジェクトです。
id
String
メッセージID
type
String
text
text
String
メッセージのテキスト。text
にLINE絵文字が含まれる場合は、emojis
プロパティにLINE絵文字オブジェクトの配列が格納されます。
emojis
LINE絵文字オブジェクトの配列
1個以上のLINE絵文字。Unicodeで定義された絵文字や古いバージョンのLINE絵文字は正しく取得できないことがあります。
emojis[].index
Number
テキストの先頭を0
とした、text
プロパティ内の絵文字の開始位置。
emojis[].length
Number
LINE絵文字の文字列の長さ。LINE絵文字(hello)
であれば、7
が長さになります。
emojis[].productId
String
LINE絵文字の集合を示すプロダクトID。プロダクトIDの例として、「Sendable LINE emoji list (opens new window)」を参照してください。
emojis[].emojiId
String
プロダクトID内のLINE絵文字のID。LINE絵文字のIDの例として、「Sendable LINE emoji list (opens new window)」を参照してください。
mention
Object
メンションの情報を含むオブジェクト。
mention.mentionees[]
メンションオブジェクトの配列
1個以上のメンション。
最大メンション数:20
mention.mentionees[].index
Number
テキストの先頭を0
とした、text
プロパティ内のメンションの開始位置。
mention.mentionees[].length
Number
メンションの長さ。@example
であれば、8
が長さになります。
mention.mentionees[].userId
String
メンションされたユーザーのユーザーID。LINE公式アカウントがプロフィール情報を取得することに、ユーザーが同意した場合にのみ返されます。
テキストメッセージの例
送信元から送られた画像を含むメッセージオブジェクトです。
id
String
メッセージID
type
String
image
contentProvider.type
String
画像ファイルの提供元。
line
:LINEユーザーが画像ファイルを送信しました。バイナリの画像データはcontent
エンドポイントから取得できます。external
:LIFFのliff.sendMessages()
メソッドで画像ファイルが送信されました。詳しくは、『LIFF APIリファレンス』の「liff.sendMessages()」を参照してください。contentProvider.originalContentUrl
String
画像ファイルのURL。contentProvider.typeがexternal
の場合にのみ含まれます。
contentProvider.previewImageUrl
String
プレビュー画像のURL。contentProvider.typeがexternal
の場合にのみ含まれます。
画像メッセージの例
送信元から送られた動画を含むメッセージオブジェクトです。トーク画面に表示されている画像はプレビュー画像で、画像をタップすると動画が表示されます。
id
String
メッセージID
type
String
video
duration
Number
動画ファイルの長さ(ミリ秒)
contentProvider.type
String
動画ファイルの提供元。
line
:LINEユーザーが動画ファイルを送信しました。バイナリの動画データはcontent
エンドポイントから取得できます。external
:LIFFのliff.sendMessages()
メソッドで動画ファイルが送信されました。詳しくは、『LIFF APIリファレンス』の「liff.sendMessages()」を参照してください。contentProvider.originalContentUrl
String
動画ファイルのURL。contentProvider.typeがexternal
の場合にのみ含まれます。
contentProvider.previewImageUrl
String
プレビュー画像のURL。contentProvider.typeがexternal
の場合にのみ含まれます。
動画メッセージの例
送信元から送られた音声を含むメッセージオブジェクトです。
id
String
メッセージID
type
String
audio
duration
Number
音声ファイルの長さ(ミリ秒)
contentProvider.type
String
音声ファイルの提供元。
line
:LINEユーザーが音声ファイルを送信しました。バイナリの音声データはcontent
エンドポイントから取得できます。external
:LIFFのliff.sendMessages()
メソッドで音声ファイルが送信されました。詳しくは、『LIFF APIリファレンス』の「liff.sendMessages()」を参照してください。contentProvider.originalContentUrl
String
音声ファイルのURL。contentProvider.typeがexternal
の場合にのみ含まれます。
音声メッセージの例
送信元から送られたファイルを含むメッセージオブジェクトです。バイナリデータはcontent
エンドポイントから取得できます。
id
String
メッセージID
type
String
file
fileName
String
ファイル名
fileSize
Number
ファイルサイズ(バイト)
ファイルメッセージの例
送信元から送られた位置情報データを含むメッセージオブジェクトです。
id
String
メッセージID
type
String
location
title
String
タイトル
address
String
住所
latitude
Decimal
緯度
longitude
Decimal
経度
位置情報メッセージの例
送信元から送られたスタンプデータを含むメッセージオブジェクトです。 LINEの基本的なスタンプとスタンプIDについては、スタンプリストを参照してください。
ユーザーが送信したスタンプ画像を取得することはできません。
id
String
メッセージID
type
String
sticker
packageId
String
パッケージID
stickerId
String
スタンプID
stickerResourceType
String
スタンプのリソースタイプ。以下のいずれかの値です。
STATIC
:静止画スタンプANIMATION
:アニメーションスタンプSOUND
:サウンドスタンプANIMATION_SOUND
:アニメーション+サウンドスタンプPOPUP
:ポップアップスタンプまたはエフェクトスタンプPOPUP_SOUND
:ポップアップ+サウンドスタンプまたはエフェクト+サウンドスタンプNAME_TEXT
:カスタムスタンプ。スタンプのテキストを取得できるAPIはありません。PER_STICKER_TEXT
:メッセージスタンプ。スタンプのテキストを取得できるAPIはありません。keywords
文字列の配列
スタンプを表すキーワード。最大15個のテキストが含まれる配列です。16個以上のキーワードを持つスタンプの場合は、その中からランダムに15個のキーワードを返します。そのため同じスタンプでも、異なるキーワードが返ることがあります。
stickerResourceType
今後、新しいリソースタイプが予告なく追加される可能性があります。将来、従来と異なるリソースタイプを受信しても不具合が発生しないように、サーバーを実装してください。
keywords keywords
プロパティは、現在試験的に提供しています。そのため、今後予告なく仕様が変更されたり、提供を終了する可能性があります。
スタンプメッセージの例
ユーザーがグループまたはトークルームで、メッセージの送信を取り消したことを示すイベントです。
送信取消イベントの例
LINE公式アカウントが友だち追加またはブロック解除されたことを示すイベントです。フォローイベントには応答できます。
フォローイベントの例
LINE公式アカウントがブロックされたことを示すイベントです。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
unfollow
フォロー解除イベントの例
LINE公式アカウントがグループまたはトークルームに参加したことを示すイベントです。参加イベントには応答できます。
参加イベントが送信されるタイミングはグループとトークルームで異なります。
参加イベントの例
ユーザーがグループからLINE公式アカウントを削除したか、LINE公式アカウントがグループまたはトークルームから退出したことを示すイベントです。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
leave
退出イベントの例
メンバー参加イベントの例
メンバー退出イベントの例
ユーザーが、ポストバックアクションを実行したことを示すイベントオブジェクトです。ポストバックイベントには応答できます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
postback
replyToken
String
このイベントへの応答に使用するトークン
postback.data
String
ポストバックデータ
Object
ポストバックイベントの例
postback.params
オブジェクト日時選択アクションを介してユーザーが選択した日時を含むオブジェクトです。full-date
、time-hour
、およびtime-minute
の形式は、RFC3339プロトコル (opens new window)で定義されています。
プロパティ | 形式 | 説明 |
---|---|---|
date | full-date | ユーザーが選択した日付。date モードの場合にのみ含まれます。 |
time | time-hour ":" time-minute | ユーザーが選択した時刻。time モードの場合にのみ含まれます。 |
datetime | full-date "T" time-hour ":" time-minute | ユーザーが選択した日付と時刻。datetime モードの場合にのみ含まれます。 |
postback.paramsオブジェクトの例
LINE公式アカウントから送信されたtrackingId
が指定された動画の視聴を、ユーザーが少なくとも一回最後まで視聴したことを示すイベントです。
動画視聴完了イベントは、ユーザーの動画視聴回数を示すものではありません。
トークルーム上で複数回動画を視聴しても、重複してイベントが発生することはありません。ただし、一度トークルームを閉じた後で再度開き動画を視聴すると、再びイベントが発生する場合があります。
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の仕様 (opens new window)を参照してください。
ビーコンイベントの例
beacon.type | 説明 |
---|---|
enter | ユーザーがビーコンの電波の受信圏に入りました。 |
banner | ユーザーがビーコンバナーをタップしました。 |
stay | ユーザーがビーコンの電波の受信圏に滞在しています。 このイベントは、最短10秒間隔で繰り返し送信されます。 |
2021年1月現在、banner
およびstay
イベントの新規利用受付は停止しています。
ユーザーがLINEアカウントとプロバイダーが提供するサービスのアカウントを連携したことを示すイベントオブジェクトです。アカウント連携イベントには応答できます。
連携トークンの期限が切れている、または使用済みの場合は、Webhookイベント自体が送信されず、ユーザーにエラーが表示されます。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
accountLink
replyToken
String
このイベントへの応答に使用するトークン。連携に失敗した場合はこの値は含まれません。
link
Object
link
オブジェクト。アカウント連携が成功したかどうかと、プロバイダーのサービスのユーザーIDから生成したnonce(number used once)が含まれます。
アカウント連携イベントの例
link
オブジェクトresult
String
連携が成功したかどうかを示す値。以下のどちらかになります。
ok
:連携が成功したことを示します。failed
:ユーザーのすり替えなどが原因で、連携が失敗したことを示します。nonce
String
linkオブジェクトの例
ユーザーの操作により、デバイスとLINEが連携されたことを示すイベントです。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
things
replyToken
String
このイベントへの応答に使用するトークン
things.deviceId
String
LINEと連携されたデバイスのデバイスIDです。
things.type
String
link
LINE Things用のREST APIを使うと、Webhookイベントで取得したデバイスIDから、ユーザーが連携または連携解除したデバイスを特定できます。APIについて詳しくは、『LINE Things APIリファレンス』の「デバイスIDを指定して、プロダクトIDとPSDIを取得する」を参照してください。
デバイス連携イベントの例
ユーザーの操作により、デバイスとLINEの連携が解除されたことを示すイベントです。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
things
replyToken
String
このイベントへの応答に使用するトークン
things.deviceId
String
LINEと連携解除されたデバイスのデバイスIDです。
things.type
String
unlink
LINE Things用のREST APIを使うと、Webhookイベントで取得したデバイスIDから、ユーザーが連携または連携解除したデバイスを特定できます。APIについて詳しくは、『LINE Things APIリファレンス』の「デバイスIDを指定して、プロダクトIDとPSDIを取得する」を参照してください。
デバイス連携解除イベントの例
自動通信のシナリオが実行されたことを示すイベントです。
シナリオセットごとにまとめて実行結果が返されるのではなく、シナリオごとに実行結果が返されます。
実行結果が返される順序は、シナリオの順序とは無関係です。
timestamp、sourceなど
「共通プロパティ」を参照してください。
type
String
things
replyToken
String
このイベントへの応答に使用するトークン
things.deviceId
String
シナリオを実行したデバイスのデバイスID
things.type
String
scenarioResult
things.result.scenarioId
String
実行されたシナリオID
things.result.revision
Number
実行したシナリオを含むシナリオセットのリビジョン
things.result.startTime
Number
シナリオのアクションの実行が開始された時刻(ミリ秒。LINEアプリの時刻)
things.result.endTime
Number
シナリオの実行が完了した時刻(ミリ秒。LINEアプリの時刻)
things.result.resultCode
String
シナリオの実行完了ステータス
詳しくは、「things.result.resultCodeの定義」を参照してください。
things.result.actionResults
Array
「アクション (Action)」に含まれる、個々のアクションコマンドの実行結果
なお、シナリオに記述した「アクション (Action)」については、以下の性質があります
したがって、things.result.actionResults
は以下のような性質をもちます
things.result.actionResults
の要素数が0になります。things.result.actionResults[].type
String
void
、binary
type
に依存します。things.result.actionResults
が空でない場合は必ず含まれます。things.result.actionResults[].data
String
Base64形式でエンコードされたバイナリデータ
things.result.actionResults[].type
がbinary
の場合は、必ず含まれます。
things.result.bleNotificationPayload
String
Notificationで受け取ったデータ
Base64形式でエンコードされたバイナリデータです。なお、trigger.type = BLE_NOTIFICATION
のシナリオの場合のみ、必ず含まれます。
things.result.errorReason
String
エラー理由
LINE Thingsシナリオ実行イベントの例
resultCode | 説明 |
---|---|
success | 実行が正常に完了したことを示す |
gatt_error | GATTオペレーションの実行が失敗したことを示す
|
runtime_error | 予想外のエラーが発生したことを示す
|
チャネルのWebhookエンドポイントを設定、検証、取得します。
WebhookエンドポイントのURLを設定します。キャッシュデータの影響により、URLの更新に1分ほどかかる場合があります。
以下のWebhook URLの検証ルールをすべて満たしていることを確認してください。
リクエスト例
PUT https://api.line.me/v2/bot/channel/webhook/endpoint
Authorization
Bearer {channel access token}
Content-Type
application/json
endpoint
String
有効なWebhook URL
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンス例
Webhook URLが無効な場合、ステータスコード400
が返ります。
エラーレスポンスの例
Webhookエンドポイントの情報を取得します。
リクエスト例
GET https://api.line.me/v2/bot/channel/webhook/endpoint
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エンドポイントがWebhookの検証イベントを受信できるかを確認します。
以下のWebhook URLの検証ルールをすべて満たしていることを確認してください。
リクエスト例
POST https://api.line.me/v2/bot/channel/webhook/test
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リクエストの例:
{
"destination": "xxxxxxxxxx",
"events": []
}
success
Boolean
LINEプラットフォームからWebhook URLへの疎通結果
true
:成功false
:失敗timestamp
String
「共通プロパティ」を参照してください。
statusCode
Int
HTTPステータスコード。Webhookのレスポンスを受信しなかった場合、ステータスコードは0か負の数になります。
reason
String
レスポンスの理由を表します。詳細は下表を参照してください。
detail
String
レスポンスの詳細を表します。詳細は下表を参照してください。
reason | detail | 内容 |
---|---|---|
OK | 200 | Webhookの送信に成功しました。 |
COULD_NOT_CONNECT | 接続失敗のメッセージ(例:Connection failed: {webhook endpoint url}) | Webhookエンドポイントに接続できませんでした。 |
ERROR_STATUS_CODE | HTTPステータスコード(例:400 ) | エラーレスポンスのステータスコードが返ります。 |
REQUEST_TIMEOUT | Request timeout | リクエストがタイムアウトしました。 |
UNCLASSIFIED | N/A | 不明なエラーです。 |
レスポンス例
400
が返ります。404
が返ります。アプリからMessaging APIを呼び出す際に必要となるチャネルアクセストークンを発行、取得、取り消しします。
チャネルアクセストークンを発行します。このメソッドでは、認証にJWTアサーションを使用できます。
トークンは最大30個まで発行できます。上限に達した場合、追加発行のリクエストは拒否されます。
リクエストの例
POST https://api.line.me/oauth2/v2.1/token
Content-Type
application/x-www-form-urlencoded
grant_type
String
client_credentials
client_assertion_type
String
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
client_assertion
String
JSON Web Tokenを指定します。JSON Web Tokenはクライアントが作成したうえで、アサーション署名キーを発行する際に作成された秘密鍵で署名しておく必要があります。
JSON Web Tokenの有効期限は、作成されてから30分後です。
JWTの生成について詳しくは、「JWTを生成する」を参照してください。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
access_token
String
チャネルアクセストークン
expires_in
Number
チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数
token_type
String
Bearer
key_id
String
チャネルアクセストークンを識別するための一意のキーID
レスポンスの例
HTTPステータスコード400
と以下の情報を含むJSONオブジェクトを返します。
error
String
エラーの概要
error_description
String
エラーの詳細。特定の状況では返されません。
エラーレスポンスの例
すべての有効なチャネルアクセストークンのキーIDを取得します。
リクエストの例
GET https://api.line.me/oauth2/v2.1/tokens/kid
client_assertion_type
String
urn:ietf:params:oauth:client-assertion-type:jwt-bearer
client_assertion
String
クライアントが作成し、秘密鍵で署名する必要があるJSON Web Token (JWT) (opens new window)です。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
kids
Array of strings
チャネルアクセストークンのキーIDの配列
レスポンスの例
HTTPステータスコード400
と以下の情報を含むJSONオブジェクトを返します。
error
String
エラーの概要
error_description
String
エラーの詳細。特定の状況では返されません。
エラーレスポンスの例
チャネルアクセストークンを取り消します。
リクエストの例
POST https://api.line.me/oauth2/v2.1/revoke
client_id
String
チャネルID
client_secret
String
チャネルシークレット
access_token
String
チャネルアクセストークン
ステータスコード200
と空のレスポンスボディを返します。
無効なチャネルアクセストークンを指定した場合も、エラーレスポンスは発生しません。
HTTPステータスコード400
と以下の情報を含むJSONオブジェクトを返します。
error
String
エラーの概要
error_description
String
エラーの詳細。特定の状況では返されません。
エラーレスポンスの例
30日間有効な短期のチャネルアクセストークンを発行します。
チャネルごとに最大で30件のトークンを発行できます。上限を超過した場合は、最も古いチャネルアクセストークンが取り消されます。
リクエストの例
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
と以下の情報を含むJSONオブジェクトを返します。
error
String
エラーの概要
error_description
String
エラーの内容。特定の状況では返されません。
エラーレスポンスの例
チャネルアクセストークンを取り消すAPIです。
リクエストの例
Content-Type
application/x-www-form-urlencoded
access_token
String
チャネルアクセストークン
ステータスコード200
と空のレスポンスボディを返します。無効なチャネルアクセストークンを指定した場合はエラーが返りません。
HTTPステータスコード400
と以下の情報を含むJSONオブジェクトを返します。
error
String
エラーの概要
error_description
String
エラーの内容。特定の状況では返されません。
エラーレスポンスの例
メッセージを送ったり、送信済みメッセージについての情報を取得したりできます。
ユーザー、グループ、またはトークルームからのイベントに対して応答メッセージを送信するAPIです。
応答メッセージを送るには、Webhookイベントオブジェクトに含まれる応答トークンが必要です。
イベントが発生するとWebhookを使って通知されます。応答できるイベントには応答トークンが発行されます。
応答トークンは一定の期間が経過すると無効になるため、メッセージを受信したらすぐに応答を返す必要があります。応答トークンは1回のみ使用できます。
リクエストの例
POST https://api.line.me/v2/bot/message/reply
Content-Type
application/json
Authorization
Bearer {channel access token}
replyToken
String
Webhookで受信する応答トークン
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
notificationDisabled
Boolean
true
:メッセージ送信時に、ユーザーに通知されない。false
:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。デフォルト値はfalse
です。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
ユーザー、グループ、またはトークルームに、任意のタイミングでプッシュメッセージを送信するAPIです。
リクエストの例
POST https://api.line.me/v2/bot/message/push
Content-Type
application/json
Authorization
Bearer {channel access token}
to
String
送信先のID。Webhookイベントオブジェクトで返される、userId
、groupId
、またはroomId
の値を使用します。LINEに表示されるLINE IDは使用しないでください。
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
notificationDisabled
Boolean
true
:メッセージ送信時に、ユーザーに通知されない。false
:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。デフォルト値はfalse
です。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
複数のユーザーに、任意のタイミングでプッシュメッセージを送信するAPIです。グループまたはトークルームにメッセージを送ることはできません。
リクエストの例
POST https://api.line.me/v2/bot/message/multicast
Content-Type
application/json
Authorization
Bearer {channel access token}
to
文字列の配列
ユーザーIDの配列。Webhookイベントオブジェクトで返されるuserId
の値を使用します。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:500
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
notificationDisabled
Boolean
true
:メッセージ送信時に、ユーザーに通知されない。false
:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。デフォルト値はfalse
です。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
2020年3月30日 00:00~2020年4月22日 21:30に配信されたメッセージをもとに作成したインプレッションリターゲティング用のオーディエンスはすべて無効化されました。詳しくは、「「オーディエンス」と「分析」の一部APIの集計不具合のお知らせ」を参照してください。
複数のユーザーに、任意のタイミングでプッシュメッセージを送信します。送信対象は、属性情報(性別や年齢、OSの種類、地域など)やリターゲティング(オーディエンス)を利用して指定できます。グループまたはトークルームにメッセージを送ることはできません。
送信対象のユーザーの属性を推測できないようにするために、送信対象が一定数よりも少ない場合はナローキャストメッセージを送信できません。
以下の点に注意してください。
recipient
プロパティでオーディエンスオブジェクトと再配信オブジェクトを合計10件まで指定できます。演算子オブジェクトの数に上限はありません。ナローキャストメッセージを送信するときは、recipient
プロパティおよびfilter.demographic
プロパティの設定にかかわらず、一時的にすべての友だちにメッセージを配信する前提で、配信予定メッセージ数が計算されます。配信予定メッセージ数が、当月分の上限目安を超えた場合は、ナローキャストメッセージを送信できません。
ただし、limit.max
プロパティで設定した最大送信数が、当月分の上限目安を超えなければ、ナローキャストメッセージを送信できます。
またlimit.upToRemainingQuota
プロパティをtrue
にしておくことで、配信予定メッセージ数が、配信可能なメッセージの上限数を超えていてもエラーにはならず、上限数の範囲内で配信されます。
当月分の上限目安は、「追加メッセージ数の上限目安を取得する」エンドポイントで確認できます。
上限目安を設定する方法については、「Messaging APIの料金」を参照してください。
POST https://api.line.me/v2/bot/message/narrowcast
Authorization
Bearer {channel access token}
Content-Type
application/json
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
recipient
Object
レシピエントオブジェクト。オーディエンスや、過去に配信したナローキャストメッセージのリクエストIDを合計10件まで使用して、送信対象を指定します。指定できる演算子オブジェクトの数に上限はありません。
省略すると、LINE公式アカウントを友だち追加したすべてのユーザーが送信対象になります。
filter.demographic
Object
デモグラフィックフィルターオブジェクト。友だちの属性情報を使用して、送信対象をフィルタリングできます。
省略すると、属性が「不明」になっているユーザーを含めた全員に配信されます。
limit.max
Number
ナローキャストメッセージの最大送信数。このナローキャストメッセージによる送信数を制限する場合に指定します。なお送信対象は、無作為に抽出されます。
limit.upToRemainingQuota
Boolean
true
を指定すると、配信可能な上限数の範囲内でメッセージを送信します。
デフォルト値はfalse
です。
なお送信対象は、無作為に抽出されます。
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
プロパティで指定してください。
completedTime
プロパティの値(タイムスタンプ)から7日間(168時間)以内の配信であることphase
プロパティの値がsucceeded
であること)演算子オブジェクト
積集合(AND)、和集合(OR)、差集合(NOT)を使用して、複数のレシピエントオブジェクトから、新たなレシピエントオブジェクトを作成できます。
type
String
operator
and
レシピエントオブジェクトの配列
配列で指定したレシピエントオブジェクトの積集合(AND)を、新たなレシピエントオブジェクトとします。
or
レシピエントオブジェクトの配列
配列で指定したレシピエントオブジェクトの和集合(OR)を、新たなレシピエントオブジェクトとします。
not
レシピエントオブジェクト
指定したレシピエントオブジェクトを配信対象外にした、新たなレシピエントオブジェクトとします。
※and
プロパティ、or
プロパティ、not
プロパティのいずれか1つだけ、必ず指定してください。また、空配列は指定できません。
レシピエントオブジェクトの例
デモグラフィックフィルターオブジェクトは、送信対象をフィルタリングする条件(性別、年齢、OSの種類、地域、友だち期間)を表すオブジェクトです。演算子オブジェクトを利用すると、条件を組み合わせて送信対象をフィルタリングできます。
性別
type
String
gender
oneOf
Stringの配列
指定した性別を送信対象とします。以下のいずれかの値を指定します。
male
female
年齢
年齢の範囲を指定してフィルタリングします。
type
String
age
gte
String
指定した年齢以上を送信対象とします。
以下のいずれかの値を指定します。
age_15
age_20
age_25
age_30
age_35
age_40
age_45
age_50
lt
String
指定した年齢未満を送信対象とします。
gte
プロパティと同じ値を指定できます。
※gte
プロパティまたはlt
プロパティの両方またはいずれか一方を、必ず指定してください。
OSの種類
type
String
appType
oneOf
Stringの配列
指定したOSを送信対象とします。以下のいずれかの値を指定します。
ios
android
地域
type
String
area
oneOf
Stringの配列
指定した地域を送信対象とします。以下のいずれかの値を指定します。
日本 // JP (country code=392)
jp_01
:北海道 // 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インドネシア // ID (country code=360)
id_01
:バリ // Baliid_02
:バンドン // Bandungid_03
:バンジャルマシン // Banjarmasinid_04
:ジャボデタベック(ジャカルタ首都圏) // Jabodetabekid_06
:マカッサル // Makassarid_07
:メダン // Medanid_08
:パレンバン // Palembangid_09
:サマリンダ // Samarindaid_10
:スマラン // Semarangid_11
:スラバヤ // Surabayaid_12
:ジョグジャカルタ // Yogyakartaid_05
:その他のエリア // Lainnya友だち期間
友だち期間の範囲を指定してフィルタリングします。
type
String
subscriptionPeriod
gte
String
指定した日数以上を送信対象とします。
以下のいずれかの値を指定します。
day_7
day_30
day_90
day_180
day_365
lt
String
指定した日数未満を送信対象とします。
gte
プロパティと同じ値を指定できます。
※gte
プロパティまたはlt
プロパティの両方またはいずれか一方を、必ず指定してください。
演算子オブジェクト
積集合(AND)、和集合(OR)、差集合(NOT)を使用して、複数のデモグラフィックフィルターオブジェクトから、新たなデモグラフィックフィルターオブジェクトを作成できます。1回のリクエストごとに、デモグラフィックフィルターオブジェクトは、合計10件まで指定できます。
type
String
operator
and
デモグラフィックフィルターオブジェクトの配列
配列で指定したデモグラフィックフィルターオブジェクトの積集合(AND)を、新たなデモグラフィックフィルターオブジェクトとします。
or
デモグラフィックフィルターオブジェクトの配列
配列で指定したデモグラフィックフィルターオブジェクトの和集合(OR)を、新たなデモグラフィックフィルターオブジェクトとします。
not
デモグラフィックフィルターオブジェクト
指定したデモグラフィックフィルターオブジェクトを配信対象外にした、新たなデモグラフィックフィルターオブジェクトとします。
※and
プロパティ、or
プロパティ、not
プロパティのいずれか1つだけ、必ず指定してください。また、空配列は指定できません。
性別を使用してフィルタリングするデモグラフィックフィルターオブジェクトの例
HTTPステータスコード202
を返します。
ナローキャストメッセージの送信状況を確認する方法について詳しくは、「ナローキャストメッセージの進行状況を取得する」を参照してください。
ナローキャストメッセージの進行状況を取得します。
送信対象のユーザーの属性を推測できないようにするために、送信対象が一定数よりも少ない場合はナローキャストメッセージを送信できません。 詳しくは「ナローキャストメッセージを送る」の「ナローキャストメッセージの使用制限について」を参照してください。
completedTime
プロパティの値(タイムスタンプ)から7日(168時間)以上経過すると、進行状況は取得できません。
リクエストの例
GET https://api.line.me/v2/bot/message/progress/narrowcast
Authorization
Bearer {channel access token}
requestId
ナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
HTTPステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
phase
String
進行状況。以下のいずれかの値です。
waiting
:送信準備ができていません。フィルタリングなどを行っています。sending
:送信中です。succeeded
:送信処理が完了しました。これは、ユーザーがメッセージを正常に受信したことを示していません。failed
:送信が失敗しました。failedDescription
プロパティで失敗した理由を確認できます。successCount
Number
メッセージの受信に成功したユーザー数(※)
failureCount
Number
メッセージの受信に失敗したユーザー数(※)。
phase
がsucceeded
の場合でも、failureCount
が0でない限りは、ナローキャストメッセージを受信できていないユーザーがいます。たとえば、ナローキャストメッセージを送信中に、ユーザーがLINE公式アカウントをブロックした場合はfailureCount
に加算されます。
targetCount
Number
メッセージが配信される予定のユーザー数(※)
failedDescription
String
送信が失敗した理由。phase
プロパティがfailed
の場合にのみ含まれます。
errorCode
Number
エラーの概要。以下のいずれかの値です。
1
:内部エラーが発生しました。2
:送信対象が少なすぎたためエラーになりました。3
:すでに受理されたリクエストを再試行したため、競合エラーが発生しました。acceptedTime
String
ナローキャストメッセージ送信のリクエストを受け付けた時間をミリ秒で表します。
2020-12-03T10:15:30.121Z
)completedTime
String
ナローキャストメッセージの送信を完了した時間をミリ秒で表します。phase
プロパティがsucceeded
またはfailed
の場合にのみ返されます。
2020-12-03T10:15:30.121Z
)※phase
プロパティがwaiting
の場合は取得できません。
ナローキャストメッセージ以外のリクエストIDを指定した場合や、無効なリクエストIDを指定した場合は、HTTPステータスコード404
を返します。
LINE公式アカウントと友だちになっているすべてのユーザーに、任意のタイミングでプッシュメッセージを送信します。
リクエストの例
POST https://api.line.me/v2/bot/message/broadcast
Content-Type
application/json
Authorization
Bearer {channel access token}
messages
メッセージオブジェクトの配列
送信するメッセージ
最大件数:5
notificationDisabled
Boolean
true
:メッセージ送信時に、ユーザーに通知されない。false
:メッセージ送信時に、ユーザーに通知される。ただし、LINEで通知をオフにしている場合は通知されません。デフォルト値はfalse
です。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
ユーザーが送信した画像、動画、音声、およびファイルを取得するAPIです。
ユーザーが送信したテキストを取得するAPIはありません。
リクエストの例
GET https://api-data.line.me/v2/bot/message/{messageId}/content
Authorization
Bearer {channel access token}
messageId
メッセージID
ステータスコード200
とコンテンツのバイナリデータを返します。
メッセージが送信されてから一定期間後に、コンテンツは自動的に削除されます。コンテンツの保存期間は保証されません。
当月分の上限目安を取得します。
この操作により取得されるメッセージ数には、LINE Official Account Managerから送信するメッセージの数も含まれます。
上限目安は、LINE Official Account Managerで設定します。手順については、LINE Official Account Managerのマニュアルを参照してください。
リクエストの例
Authorization
Bearer {channel access token}
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
type
String
上限目安が設定されているかどうかを示す値。以下のどちらかになります。
none
。上限目安が未設定であることを示します。limited
。上限目安が設定されていることを示します。value
Number
当月分の追加メッセージの上限目安。type
プロパティがlimited
の場合にのみ返されます。
レスポンスの例
当月に送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数には、LINE Official Account Managerから送信するメッセージの数も含まれます。
この操作により取得されるメッセージ数は概算です。正確なメッセージ送信数を取得するには、LINE Official Account Managerを使用するか、送信済みのメッセージ数を取得するAPI操作を実行してください。
リクエストの例
Authorization
Bearer {channel access token}
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
totalUsage
Number
当月に送信されたメッセージの数
レスポンスの例
/bot/message/reply
エンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
Authorization
Bearer {channel access token}
date
メッセージが送信された日付
yyyyMMdd
(例:20191231
)ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready
:メッセージ数を取得できます。unready
:date
に指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service
:date
に指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。success
Number
date
に指定した日付に、Messaging APIを使って送信されたメッセージの数。status
の値がready
の場合にのみ、レスポンスに含まれます。
レスポンスの例
/bot/message/push
エンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
Authorization
Bearer {channel access token}
date
メッセージが送信された日付
yyyyMMdd
(例:20191231
)ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready
:メッセージ数を取得できます。unready
:date
に指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service
:date
に指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。success
Number
date
に指定した日付に、Messaging APIを使って送信されたメッセージの数。status
の値がready
の場合にのみ、レスポンスに含まれます。
レスポンスの例
/bot/message/multicast
エンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
Authorization
Bearer {channel access token}
date
メッセージが送信された日付
yyyyMMdd
(例:20191231
)ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready
:メッセージ数を取得できます。unready
:date
に指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service
:date
に指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。success
Number
date
に指定した日付に、Messaging APIを使って送信されたメッセージの数。status
の値がready
の場合にのみ、レスポンスに含まれます。
レスポンスの例
/bot/message/broadcast
エンドポイントを使って送信されたメッセージの数を取得します。
この操作により取得されるメッセージ数に、LINE Official Account Managerから送信されたメッセージの数は含まれません。
リクエストの例
GET https://api.line.me/v2/bot/message/delivery/broadcast
Authorization
Bearer {channel access token}
date
メッセージが送信された日付
yyyyMMdd
(例:20191231
)ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready
:メッセージ数を取得できます。unready
:date
に指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service
:date
に指定した日付が、集計システムの稼働開始日(2018年03月31日)より前です。success
Number
date
に指定した日付に、Messaging APIを使って送信されたメッセージの数。status
の値がready
の場合にのみ、レスポンスに含まれます。
レスポンスの例
プッシュメッセージ、マルチキャストメッセージ、ナローキャストメッセージ、ブロードキャストメッセージに、リトライキー(X-Line-Retry-Key
)をHTTPヘッダーに含めることで、同じAPIリクエストを重複して処理しないように再試行できます。
リクエストの例
X-Line-Retry-Key
任意の方法で生成した16進表記のUUID(例:123e4567-e89b-12d3-a456-426614174000)
受理されたリクエストがある場合は、ステータスコード409
と、受理されたリクエストのリクエストIDを示すレスポンスヘッダーと以下の情報を含むJSONオブジェクトを返します。
message
String
すでにリクエストが受理されていることを知らせるメッセージ
レスポンスの例
オーディエンスを作成、更新、有効化、削除できます。オーディエンスは、ナローキャストメッセージを配信する際に指定します。
なお、オーディエンスは、LINE Official Account Manager (opens new window)でも作成できます。詳しくは、LINE for Businessの「オーディエンス (opens new window)」を参照してください。
オーディエンス | 作成方法 |
---|---|
ユーザーIDアップロード用のオーディエンス | |
クリックリターゲティング用のオーディエンス | |
インプレッションリターゲティング用のオーディエンス | |
チャットタグオーディエンス | |
追加経路オーディエンス | |
ウェブトラフィックオーディエンス | |
アプリイベントオーディエンス | |
動画視聴オーディエンス |
ユーザーIDアップロード用のオーディエンスを作成します。
このエンドポイントでは、送信対象アカウントをJSONで指定します。 送信対象アカウントをテキストファイルで指定するエンドポイントも利用できます。
送信対象アカウントをIFAで指定することもできますが、この機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。 自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナー (opens new window)にお問い合わせください。
ユーザーIDは、以下の方法で取得できます。
source
オブジェクトオーディエンスの仕様は以下のとおりです。
項目 | 条件 |
---|---|
チャネルあたりのオーディエンス数 | 最大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
プロパティには含めないようにしてください。
リクエストの例
POST https://api.line.me/v2/bot/audienceGroup/upload
Authorization
Bearer {channel access token}
Content-Type
application/json
description
String
オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCE
とaudience
は同じ名前と判定されます。
最大文字数:120
isIfaAudience
Boolean
true
を指定します。false
を指定するか、isIfaAudience
プロパティを省略します。uploadDescription
String
ジョブ(jobs[].description
)に登録する説明
audiences
Array
ユーザーIDまたはIFAの配列
最大件数:10,000
audiences[].id
String
ユーザーIDまたはIFA。空配列も指定できます。
HTTPステータスコード202
とオーディエンスを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
type
String
UPLOAD
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻のUNIXタイム
レスポンスの例
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
ユーザーIDアップロード用のオーディエンスを作成します。
このエンドポイントでは、送信対象アカウントをテキストファイルで指定します。 送信対象アカウントをJSONで指定するエンドポイントも利用できます。
送信対象アカウントをIFAで指定することもできますが、この機能は、所定の申請等を行った法人ユーザーのみがご利用いただけます。 自社のLINE公式アカウントでご利用になりたいお客様は、担当営業までご連絡いただくか、弊社パートナー (opens new window)にお問い合わせください。
ユーザーIDは、以下の方法で取得できます。
source
オブジェクトオーディエンスの仕様は以下のとおりです。
項目 | 条件 |
---|---|
チャネルあたりのオーディエンス数 | 最大1,000件 |
オーディエンスの保存期間 | 最大180日間(15,552,000秒間) |
オーディエンスに、1リクエストでアップロードできるユーザーIDまたはIFAの数 | JSONを使用する場合:最大10,000件 ファイルを使用する場合:最大1,500,000件 |
オーディエンスあたりのユーザー数 | ユーザーIDアップロード用のオーディエンス:制限なし |
ナローキャストメッセージの使用制限については、「ナローキャストメッセージの使用制限について」を参照してください。
リクエストの例
テキストファイルの例
POST https://api-data.line.me/v2/bot/audienceGroup/upload/byFile
Authorization
Bearer {channel access token}
Content-Type
multipart/form-data
description
String
オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCE
とaudience
は同じ名前と判定されます。
最大文字数:120
isIfaAudience
Boolean
true
を指定します。false
を指定するか、isIfaAudience
プロパティを省略します。uploadDescription
String
ジョブ(jobs[].description
)に登録する説明
file
File
ユーザーIDまたはIFAを、1行に1件入力したテキストファイル。Content-Typeは、text/plain
を指定してください。
最大ファイル数:1
最大行数:1,500,000
HTTPステータスコード202
とオーディエンスを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
type
String
UPLOAD
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻のUNIXタイム
レスポンスの例
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加します。
このエンドポイントでは、送信対象アカウントをJSONで指定します。 送信対象アカウントをテキストファイルで指定するエンドポイントも利用できます。
リクエストタイムアウトを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を削除することはできません。
リクエストの例
PUT https://api.line.me/v2/bot/audienceGroup/upload
Authorization
Bearer {channel access token}
Content-Type
application/json
audienceGroupId
Number
オーディエンスID
uploadDescription
String
ジョブ(jobs[].description
)に登録する説明
audiences
Array
ユーザーIDまたはIFAの配列
最大件数:10,000
audiences[].id
String
ユーザーIDまたはIFA
HTTPステータスコード202
と空のJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
レスポンスの例
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加します。
このエンドポイントでは、送信対象アカウントをテキストファイルで指定します。 送信対象アカウントをJSONで指定するエンドポイントも利用できます。
リクエストタイムアウトを30秒以上に設定することを強く推奨します。
ユーザーIDアップロード用のオーディエンスを作成したときと同じ種類(ユーザーIDまたはIFA)のデータを追加してください。たとえば、初めにIFAを指定して作成したオーディエンスに、ユーザーIDを指定することはできません。
オーディエンスを作成したときに指定した送信対象アカウントの種類(ユーザーIDまたはIFA)は、オーディエンスのisIfaAudience
プロパティで確認できます。詳しくは、「オーディエンスの情報を取得する」を参照してください。
一度追加したユーザーIDまたはIFAを削除することはできません。
リクエストの例
テキストファイルの例
PUT https://api-data.line.me/v2/bot/audienceGroup/upload/byFile
Authorization
Bearer {channel access token}
Content-Type
multipart/form-data
audienceGroupId
Number
オーディエンスID
uploadDescription
String
ジョブ(jobs[].description
)に登録する説明
file
File
ユーザーIDまたはIFAを、1行に1件入力したテキストファイル。Content-Typeは、text/plain
を指定してください。
最大ファイル数:1
最大行数:1,500,000
HTTPステータスコード202
と空のJSONオブジェクトを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
レスポンスの例
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
クリックリターゲティング用のオーディエンスを作成します。
クリックリターゲティング用のオーディエンスは、ブロードキャストメッセージまたはナローキャストメッセージに記載されたURLをクリックしたユーザーを集めたオーディエンスです。 少なくとも1つのリンクをクリックしたユーザーが送信対象になります。
対象のメッセージは、リクエストIDで指定します。
オーディエンスの仕様は以下のとおりです。
項目 | 条件 |
---|---|
チャネルあたりのオーディエンス数 | 最大1,000件 |
オーディエンスの保存期間 | 最大180日間(15,552,000秒間) |
オーディエンスあたりのユーザー数 | クリックリターゲティング用のオーディエンス:最小100件 |
メッセージを配信してからリターゲティング用オーディエンス(※)を作成できる期間 | 最大60日間(5,184,000秒間) |
※クリックリターゲティング用のオーディエンスおよびインプレッションリターゲティング用のオーディエンスを指します。
ナローキャストメッセージの使用制限については、「ナローキャストメッセージの使用制限について」を参照してください。
リクエストの例
POST https://api.line.me/v2/bot/audienceGroup/click
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
HTTPステータスコード202
とオーディエンスを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
type
String
CLICK
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻のUNIXタイム
requestId
String
オーディエンスを作成したときに指定したリクエストID
clickUrl
String
オーディエンスを作成したときに指定したURL
レスポンスの例
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
LINEの一部のバージョンでインプレッションと開封の測定に問題があるため、対象とする配信済みメッセージの配信日時によって、オーディエンスの作成を制限しています。
対象とする配信済みメッセージの配信日時 (日本標準時) | インプレッションリターゲティング用のオーディエンスの作成に関する制限 |
---|---|
~2020年3月29日 23:59:59 | 制限はありません。作成できます。 |
2020年3月30日 00:00:00~2020年4月29日 23:59:59 | 作成できません。 |
2020年4月30日 00:00:00~ | 作成できます。ただし、配信済みの当該メッセージを、問題があるバージョンのLINEで表示したユーザーには、作成したオーディエンスを使用した新しいメッセージは送信されません。 |
インプレッションリターゲティング用のオーディエンスを作成します。
インプレッションリターゲティング用のオーディエンスは、ブロードキャストメッセージまたはナローキャストメッセージを表示したユーザーを集めたオーディエンスです。 少なくとも1つの吹き出しを表示したユーザーが送信対象になります。
対象のメッセージは、リクエストIDで指定します。
オーディエンスの仕様は以下のとおりです。
項目 | 条件 |
---|---|
チャネルあたりのオーディエンス数 | 最大1,000件 |
オーディエンスの保存期間 | 最大180日間(15,552,000秒) |
オーディエンスあたりのユーザー数 | インプレッションリターゲティング用のオーディエンス:最小100件 |
メッセージを配信してからリターゲティング用オーディエンス(※)を作成できる期間 | 最大60日間(5,184,000秒間) |
※クリックリターゲティング用のオーディエンスおよびインプレッションリターゲティング用のオーディエンスを指します。
ナローキャストメッセージの使用制限については、「ナローキャストメッセージの使用制限について」を参照してください。
リクエストの例
POST https://api.line.me/v2/bot/audienceGroup/imp
Authorization
Bearer {channel access token}
Content-Type
application/json
description
String
オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCE
とaudience
は同じ名前と判定されます。
最大文字数:120
requestId
String
配信から60日以内のブロードキャストメッセージまたはナローキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
HTTPステータスコード202
とオーディエンスを返します。
オーディエンスを利用する前に、オーディエンスが配信に利用できることを確認してください。
audienceGroupId
Number
オーディエンスID
type
String
IMP
description
String
オーディエンスの名前
created
Number
オーディエンスが作成された時刻のUNIXタイム
requestId
String
オーディエンスを作成したときに指定したリクエストID
レスポンスの例
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
既存のオーディエンスの名前を変更します。
リクエストの例
PUT https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}/updateDescription
Authorization
Bearer {channel access token}
Content-Type
application/json
audienceGroupId
オーディエンスID
description
String
オーディエンスの名前。他のオーディエンスと同じ名前は設定できません。なお、大文字と小文字は区別されないため、AUDIENCE
とaudience
は同じ名前と判定されます。
最大文字数:120
HTTPステータスコード200
を返します。
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
オーディエンスを有効化します。オーディエンスは、有効化後180日で無効になります。Messaging APIから利用するために、事前に有効化する必要があるのは、LINE広告 (opens new window)やLINEポイントAD (opens new window)で作ったオーディエンスのみです。
すでに有効なオーディエンスに対して、オーディエンス有効化APIを実行しても、ALREADY_ACTIVE
エラーが返され、有効期間は延長されません。一度オーディエンスが無効化された後に、オーディエンス有効化APIを実行することで、再度180日間の有効期間が開始されます。
リクエスト例
PUT https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}/activate
Authorization
Bearer {channel access token}
audienceGroupId
オーディエンスID
ステータスコード202
と空のJSONオブジェクトを返します。
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
オーディエンスを削除します。
削除する前に、オーディエンスが使用されていないことを確認してください。
リクエストの例
DELETE https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}
Authorization
Bearer {channel access token}
audienceGroupId
オーディエンスID
HTTPステータスコード202
を返します。
HTTPステータスコード400
と、エラーレスポンスを返します。詳しくは、共通仕様の「エラーレスポンス」を参照してください。
オーディエンスの情報を取得します。
リクエストの例
GET https://api.line.me/v2/bot/audienceGroup/{audienceGroupId}
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 (opens new window)で作成したオーディエンスMESSAGING_API
:Messaging APIで作成したオーディエンスPOINT_AD
:LINEポイントAD (opens new window)で作成したオーディエンスAD_MANAGER
:LINE広告 (opens new window)で作成したオーディエンスaudienceGroup.type
String
オーディエンスのタイプ。以下のいずれかの値です。
UPLOAD
:ユーザーIDアップロード用のオーディエンスCLICK
:クリックリターゲティング用のオーディエンスIMP
:インプレッションリターゲティング用のオーディエンスCHAT_TAG
:チャットタグオーディエンスFRIEND_PATH
:追加経路オーディエンスAPP_EVENT
:アプリイベントオーディエンスVIDEO_VIEW
:動画視聴オーディエンスWEBTRAFFIC
:ウェブトラフィックオーディエンス詳しくは、LINE for Businessの「オーディエンス (opens new window)」を参照してください。
audienceGroup.description
String
オーディエンスの名前
audienceGroup.status
String
オーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS
:準備中。READY
になるまで数時間かかる場合があります。READY
:配信に利用可能FAILED
:作成時にエラーが発生EXPIRED
:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE
:オーディエンスが無効です。ACTIVATING
:オーディエンスを有効化しています。audienceGroup.audienceCount
Number
有効な送信対象アカウントの数
audienceGroup.created
Number
オーディエンスが作成された時刻のUNIXタイム
audienceGroup.permission
String
オーディエンスの更新パーミッション。同じチャネルに関連付けられたオーディエンスは、READ_WRITE
になります。
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
:オーディエンスに含まれる送信対象アカウントの数(最低100件)が不足しています。INTERNAL_ERROR
:内部サーバーのエラーです。audienceGroup.activated
Number
オーディエンスが有効化した時間。LINE広告 (opens new window)やLINEポイントAD (opens new window)で作成したオーディエンスの場合のみ含まれます。
audienceGroup.inactivatedTimestamp
Number
オーディエンスが無効化した時間。LINE広告 (opens new window)やLINEポイントAD (opens new window)で作成したオーディエンスの場合のみ含まれます。
audienceGroup.expireTimestamp
Number
オーディエンスの有効期限。特定のオーディエンスの場合のみ含まれます。
jobs
Array
ジョブの配列。ユーザーIDアップロード用のオーディエンスに、ユーザーIDまたはIFAを追加した最新履歴を管理する配列です。それ以外のオーディエンスの場合は空配列が返ります。
最大件数:50
jobs[].audienceGroupJobId
Number
ジョブID
jobs[].audienceGroupId
Number
オーディエンスID
jobs[].description
String
ジョブの説明
jobs[].type
String
ジョブの種類。以下のいずれかの値です。
DIFF_ADD
:Messaging APIでユーザーIDまたはIFAを追加したことを示します。jobs[].status
String
このプロパティの利用は非推奨です。ジョブのステータスはjobs[].jobStatus
を参照してください。
jobs[].failedType
String
失敗した原因。jobs[].jobStatus
がFAILED
の場合にのみ含まれます。以下のいずれかの値です。
AUDIENCE_GROUP_AUDIENCE_INSUFFICIENT
:オーディエンスに含まれる送信対象アカウントの数(最低100件)が不足しています。INTERNAL_ERROR
:内部サーバーのエラーです。jobs[].audienceCount
Number
追加または削除された送信対象アカウントの数
jobs[].created
Number
ジョブが作成された時刻のUNIXタイム
jobs[].jobStatus
String
ジョブのステータス。以下のいずれかの値です。
QUEUED
:待機中WORKING
:実行中FINISHED
:成功FAILED
:失敗adaccount
Object
広告アカウントオブジェクト
adaccount[].name
String
オーディエンスグループを作成した広告アカウント名
レスポンスの例
複数のオーディエンスの情報を取得します。
リクエストの例
GET https://api.line.me/v2/bot/audienceGroup/list
Authorization
Bearer {channel access token}
page
取得するページ番号。1
以上を指定してください。
description
取得するオーディエンスの名前。部分一致で検索できます。なお、大文字と小文字は区別されないため、AUDIENCE
とaudience
は同じ名前と判定されます。
status
取得するオーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS
:準備中。READY
になるまで数時間かかる場合があります。READY
:配信に利用可能FAILED
:作成時にエラーが発生EXPIRED
:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE
:オーディエンスが無効です。ACTIVATING
:オーディエンスを有効化しています。size
1ページごとのオーディエンス数。デフォルト値は20
です。
最大値:40
includesExternalPublicGroups
true
:同じボットに関連付けられた、すべてのチャネルで作成された公開オーディエンスを取得false
:同じチャネルに作成されたオーディエンスのみを取得createRoute
オーディエンスの作成方法。省略した場合は、すべてのオーディエンスを取得します。
OA_MANAGER
:LINE Official Account Manager (opens new window)で作成したオーディエンスのみを取得MESSAGING_API
:Messaging APIで作成したオーディエンスのみを取得HTTPステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
audienceGroups
Array
オーディエンスの情報の配列。指定した条件に該当するオーディエンスが存在しなかった場合は空配列が返ります。
audienceGroups[].audienceGroupId
Number
オーディエンスID
audienceGroups[].createRoute
String
オーディエンスの作成方法。以下のいずれかの値です。
OA_MANAGER
:LINE Official Account Manager (opens new window)で作成したオーディエンスMESSAGING_API
:Messaging APIで作成したオーディエンスPOINT_AD
:LINEポイントAD (opens new window)で作成したオーディエンスAD_MANAGER
:LINE広告 (opens new window)で作成したオーディエンスaudienceGroups[].type
String
オーディエンスのタイプ。以下のいずれかの値です。
UPLOAD
:ユーザーIDアップロード用のオーディエンスCLICK
:クリックリターゲティング用のオーディエンスIMP
:インプレッションリターゲティング用のオーディエンスCHAT_TAG
:チャットタグオーディエンスFRIEND_PATH
:追加経路オーディエンスAPP_EVENT
:アプリイベントオーディエンスVIDEO_VIEW
:動画視聴オーディエンスWEBTRAFFIC
:ウェブトラフィックオーディエンス詳しくは、LINE for Businessの「オーディエンス (opens new window)」を参照してください。
audienceGroups[].description
String
オーディエンスの名前
audienceGroups[].status
String
オーディエンスのステータス。以下のいずれかの値です。
IN_PROGRESS
:準備中。READY
になるまで数時間かかる場合があります。READY
:配信に利用可能FAILED
:作成時にエラーが発生EXPIRED
:有効期限切れ。有効期限切れ後、1か月後に自動で削除されます。INACTIVE
:オーディエンスが無効です。ACTIVATING
:オーディエンスを有効化しています。audienceGroups[].audienceCount
Number
有効な送信対象アカウントの数
audienceGroups[].created
Number
オーディエンスが作成された時刻のUNIXタイム
audienceGroups[].permission
String
オーディエンスの更新パーミッション。同じチャネルに関連付けられたオーディエンスは、READ_WRITE
になります。
READ
:利用のみ可能READ_WRITE
:利用と更新が可能audienceGroups[].isIfaAudience
Boolean
ユーザーIDアップロード用のオーディエンスを作成したときに指定した、送信対象アカウントの種類を示す値。以下のいずれかの値です。
true
:IFAで指定するfalse
:ユーザーIDで指定する(デフォルト)audienceGroups[].activated
Number
オーディエンスグループが有効化した時間
audienceGroups[].inactivatedTimestamp
Number
オーディエンスグループが無効化した時間
audienceGroups[].expireTimestamp
Number
オーディエンスグループの有効期限
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
:オーディエンスに含まれる送信対象アカウントの数(最低100件)が不足しています。INTERNAL_ERROR
:内部サーバーのエラーです。hasNextPage
Boolean
次のページが存在する場合は、true
totalCount
Int
指定した条件で取得できるオーディエンスの総数
readWriteAudienceGroupTotalCount
Int
指定した条件で取得できるオーディエンスのうち、更新パーミッションがREAD_WRITE
に設定されているオーディエンスの数
page
Int
現在のページ番号
size
Int
現在のページに含まれる最大のオーディエンス数
レスポンスの例
オーディエンスの権限レベルを取得します。
権限レベルはチャネルごとに設定されます。オーディエンスごとに異なる権限レベルを設定することはできません。
リクエストの例
GET https://api.line.me/v2/bot/audienceGroup/authorityLevel
Authorization
Bearer {channel access token}
HTTPステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
authorityLevel
String
チャネルに関連付けられた、すべてのオーディエンスの権限レベル
PUBLIC
:デフォルトの権限レベルです。この権限レベルのオーディエンスは、オーディエンスを作成したチャネル以外でも使用できます。たとえば、LINE Official Account Manager (opens new window)、LINE広告 (opens new window)、同じボットに関連付けられているすべてのチャネルで利用できます。PRIVATE
:この権限レベルのオーディエンスは、オーディエンスを作成したチャネルでのみ使用できます。同じチャネルで作成された、すべてのオーディエンスの権限レベルを変更します。
PUBLIC
に設定したオーディエンスは、オーディエンスを作成したチャネル以外でも使用できます。たとえば、LINE Official Account Manager (opens new window)、LINE Ad Manager (opens new window)、同じボットに関連付けられているすべてのチャネルで利用できます。PRIVATE
に設定したオーディエンスは、オーディエンスを作成したチャネルでのみ使用できます。権限レベルはチャネルごとに設定されます。オーディエンスごとに異なる権限レベルを設定することはできません。
リクエストの例
PUT https://api.line.me/v2/bot/audienceGroup/authorityLevel
Authorization
Bearer {channel access token}
Content-Type
application/json
authorityLevel
String
チャネルに関連付けられた、すべてのオーディエンスの権限レベル
PUBLIC
:デフォルトの権限レベルです。この権限レベルのオーディエンスは、オーディエンスを作成したチャネル以外でも使用できます。たとえば、LINE Official Account Manager (opens new window)、LINE Ad Manager (opens new window)、同じボットに関連付けられているすべてのチャネルで利用できます。PRIVATE
:この権限レベルのオーディエンスは、オーディエンスを作成したチャネルでのみ使用できます。HTTPステータスコード200
を返します。
LINE公式アカウントから送信したメッセージの数や友だち数、統計情報などを取得できます。
LINE公式アカウントから送信したメッセージの数を確認できます。
リクエストの例
GET https://api.line.me/v2/bot/insight/message/delivery?date={date}
Authorization
Bearer {channel access token}
date
メッセージの送信数を確認する日付
yyyyMMdd
(例:20191231
)ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready
:メッセージ数を取得できます。unready
:date
に指定した日付のメッセージ数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service
:date
に指定した日付が、集計システムの稼働開始日(2017年03月01日)より前です。broadcast
Number
LINE公式アカウントと友だちになっているすべてのユーザーに送信されたプッシュメッセージ(ブロードキャストメッセージ)の数。
targeting
Number
LINE公式アカウントと友だちになっているユーザーの中から属性で絞り込んで送信されたプッシュメッセージ(ターゲティングメッセージ、セグメントメッセージ)の数。
autoResponse
Number
送信された応答メッセージの数。
welcomeResponse
Number
送信されたあいさつメッセージの数。
chat
Number
LINE Official Account Managerの「チャット基本画面 (opens new window)」から送信されたメッセージの数。
apiBroadcast
Number
「ブロードキャストメッセージを送る」で送信されたメッセージの数。
apiPush
Number
「プッシュメッセージを送る」で送信されたメッセージの数。
apiMulticast
Number
「マルチキャストメッセージを送る」で送信されたメッセージの数。
apiNarrowcast
Number
「ナローキャストメッセージを送る」で送信されたメッセージの数。
apiReply
Number
「応答メッセージを送る」で送信されたメッセージの数。
broadcast
以降のプロパティは、date
に指定した日付に送信されたメッセージの数です。なお、status
の値がready
の場合にのみレスポンスに含まれます。
レスポンスの例
LINE公式アカウントの友だち数を確認できます。
リクエストの例
GET https://api.line.me/v2/bot/insight/followers?date={date}
Authorization
Bearer {channel access token}
date
友だち数を確認する日付
yyyyMMdd
(例:20191231
)ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
status
String
集計処理の状態。以下のいずれかの値です。
ready
:数値を取得できます。unready
:date
に指定した日付の友だち数の集計がまだ完了していません。しばらくしてからリクエストを再実行してください。通常、集計処理は翌日中に完了します。out_of_service
:date
に指定した日付が、集計システムの稼働開始日(2016年11月01日)より前です。followers
Number
date
に指定した日付までに、アカウントが友だち追加された回数。アカウントがブロックされたり、あなたを友だち追加したユーザーがLINEアカウントを削除したりしても、この値は減少しません。
targetedReaches
Number
date
に指定した日付時点の、性別や年齢、地域で絞り込んだターゲティングメッセージの配信先となりうる友だちの総数。LINEおよびその他のLINEサービスの利用頻度が高く、属性の高精度な推定が可能な友だちが含まれます。
blocks
Number
date
に指定した日付時点で、アカウントをブロックしているユーザーの数。ブロックが解除されると、この値は減少します。
followers
以降のプロパティは、status
の値がready
の場合にのみレスポンスに含まれます。
レスポンスの例
LINE公式アカウントの友だちの属性情報に基づく統計情報を確認できます。なお、日本(JP)、タイ(TH)、台湾(TW)、インドネシア(ID)のユーザーが作成したLINE公式アカウントの場合のみ、統計情報を確認できます。
友だちの統計情報が反映されるまで最大3日ほどかかります。 そのため、取得できる情報は3日前の数値です。また、統計情報を表示するには20人以上のターゲットリーチが必要です。
これらの属性情報はLINEファミリーサービスにおいて、LINEユーザーが登録した性別、年代、エリア情報とそれらのユーザーの行動履歴(スタンプ購入履歴、LINE公式アカウントの友だち登録履歴など)をもとに分類した「みなし属性」となります(携帯キャリア・OSを除く)。なお「みなし属性」とは、ユーザーが「LINE」上で購入・使用したスタンプや興味のあるコンテンツのほか、どのようなLINE公式アカウントと友だちになっているかといった傾向をもとに分析(電話番号、メールアドレス、アドレス帳、トーク内容等の機微情報は含みません)したものです。属性情報の推定は統計的に実施され、特定の個人の識別は行っておりません。また、特定の個人を識別可能な情報の第三者(広告主等)の提供は実施いたしておりません。
リクエストの例
GET https://api.line.me/v2/bot/insight/demographic
Authorization
Bearer {channel access token}
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
available
Boolean
友だちの属性情報に基づく統計情報が利用できる場合は、true
genders
Array
性別ごとの割合
genders[].gender
String
ユーザーの性別に基づいて、以下の値が返されます。
male
female
unknown
genders[].percentage
Number
割合
ages
Array
年齢ごとの割合
ages[].age
String
ユーザーの年齢に基づいて、以下の値が返されます。
from0to14
from15to19
from20to24
from25to29
from30to34
from35to39
from40to44
from45to49
from50
unknown
ages[].percentage
Number
割合
areas
Array
地域ごとの割合
areas[].area
String
ユーザーの国や地域に基づいて、以下の値が返されます。
JP
北海道
青森
岩手
宮城
秋田
山形
福島
茨城
栃木
群馬
埼玉
千葉
東京
神奈川
新潟
富山
石川
福井
山梨
長野
岐阜
静岡
愛知
三重
滋賀
京都
大阪
兵庫
奈良
和歌山
鳥取
島根
岡山
広島
山口
徳島
香川
愛媛
高知
福岡
佐賀
長崎
熊本
大分
宮崎
鹿児島
沖縄
unknown
TW
台北市
新北市
桃園市
台中市
台南市
高雄市
基隆市
新竹市
嘉義市
新竹縣
苗栗縣
彰化縣
南投縣
雲林縣
嘉義縣
屏東縣
宜蘭縣
花蓮縣
台東縣
澎湖縣
金門縣
連江縣
unknown
TH
Bangkok
Pattaya
Northern
Central
Southern
Eastern
NorthEastern
Western
unknown
ID
Bali
Bandung
Banjarmasin
Jabodetabek
Makassar
Medan
Palembang
Samarinda
Semarang
Surabaya
Yogyakarta
Lainnya
unknown
areas[].percentage
Number
割合
appTypes
Array
OSごとの割合
appTypes[].appType
String
ユーザーが使用するOSに基づいて、以下の値が返されます。
ios
android
others
appTypes[].percentage
Number
割合
subscriptionPeriods
Array
友だち期間ごとの割合
subscriptionPeriods[].subscriptionPeriod
String
ユーザーとの友だち期間に基づいて、以下の値が返されます。
within7days
within30days
within90days
within180days
within365days
over365days
unknown
subscriptionPeriods[].percentage
Number
割合
各Arrayの要素は、available
の値がtrue
の場合にのみレスポンスに含まれます。
レスポンスの例
LINEの一部のバージョンでインプレッションと開封の測定に問題があるため、対象となるメッセージの統計情報において以下の数値を返します。
メッセージの配信日時 (日本標準時) | APIが返す統計情報 |
---|---|
~2020年3月29日 23:59:59 | 正常値が返されます。 |
2020年3月30日 00:00:00~2020年4月29日 23:59:59 | overview.uniqueImpression とmessages[].impression は、参考値が返されます。 |
2020年4月30日 00:00:00~ | 正常値が返されます。ただし、配信済みの当該メッセージを、問題があるバージョンのLINEで表示した回数は含まれません。 |
LINE公式アカウントから送信したナローキャストメッセージまたはブロードキャストメッセージに対して、ユーザーがどのように操作したかを示す統計情報を確認できます。
1メッセージ(message)単位、および1吹き出し(bubble)単位で統計情報を取得できます。
統計情報は、メッセージの送信時刻から14日間(1,209,600秒間)のみ更新されます。それ以降は更新されません。
たとえば2021年2月1日の21:15:00に送信した場合、統計情報は2021年2月15日の21:15:00まで更新されます。
リクエストの例
GET https://api.line.me/v2/bot/insight/message/event?requestId={requestId}
Authorization
Bearer {channel access token}
requestId
ナローキャストメッセージまたはブロードキャストメッセージのリクエストID。リクエストIDは、Messaging APIのリクエストごとに発行されるIDです。レスポンスヘッダーに含まれます。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
統計情報の数値は、多少の誤差を含むことがあります。
またプライバシーを保護するために、個人の操作に関するプロパティの値はnull
または-1
になる場合があります。
null
:overview.uniqueImpression
が20未満-1
:overview.uniqueImpression
が20以上だが、当該プロパティの値が20未満overview
Object
メッセージに関する統計情報。
overview.requestId
String
リクエストID。
overview.timestamp
Number
メッセージが配信された時刻のUNIXタイム。
overview.delivered
Number
メッセージの送信数。この値は、20未満の数値も表示されます。ただし、メッセージの送信がすべて完了していない場合はnullになります。
overview.uniqueImpression
Number
メッセージを開封した人数。少なくとも1つの吹き出しを表示した人数です。
overview.uniqueClick
Number
メッセージ内のいずれかのURLをタップした人数。
overview.uniqueMediaPlayed
Number
メッセージ内のいずれかの動画または音声の再生を開始した人数。
overview.uniqueMediaPlayed100Percent
Number
メッセージ内のいずれかの動画または音声を最後まで視聴した人数。
messages
Array
吹き出しに関する情報を表す配列。
messages[].seq
Number
吹き出しの通し番号。
messages[].impression
Number
吹き出しが表示された回数。
messages[].mediaPlayed
Number
吹き出し内の動画または音声が再生開始された回数。
messages[].mediaPlayed25Percent
Number
吹き出し内の動画または音声が再生開始され、25%再生された回数。
messages[].mediaPlayed50Percent
Number
吹き出し内の動画または音声が再生開始され、50%再生された回数。
messages[].mediaPlayed75Percent
Number
吹き出し内の動画または音声が再生開始され、75%再生された回数。
messages[].mediaPlayed100Percent
Number
吹き出し内の動画または音声が再生開始され、100%再生された回数。
messages[].uniqueMediaPlayed
Number
吹き出し内の動画または音声を再生開始した人数。
messages[].uniqueMediaPlayed25Percent
Number
吹き出し内の動画または音声を再生開始し、25%再生した人数。
messages[].uniqueMediaPlayed50Percent
Number
吹き出し内の動画または音声を再生開始し、50%再生した人数。
messages[].uniqueMediaPlayed75Percent
Number
吹き出し内の動画または音声を再生開始し、75%再生した人数。
messages[].uniqueMediaPlayed100Percent
Number
吹き出し内の動画または音声を再生開始し、100%再生した人数。
clicks
Array
タップしたURLに関する情報を表す配列。
clicks[].seq
Number
URLが含まれていた吹き出しの通し番号。
clicks[].url
String
URL。
clicks[].click
Number
吹き出し内のURLをタップした回数。
clicks[].uniqueClick
Number
吹き出し内のURLをタップした人数。
clicks[].uniqueClickOfRequest
Number
メッセージ内のURLのうちurl
と同じURLをタップした人数。ほかの吹き出しに同じURLが設定されている場合に、1人のユーザーが各URLをタップした場合でも、1回だけカウントされます。
レスポンスの例
LINE公式アカウントを友だち追加したユーザーの情報を取得できます。
自分のユーザーIDは、LINE Developers Consoleのチャネルの[チャネル基本設定]タブにある[あなたのユーザーID]で確認できます。アクセス権限について詳しくは、『権限を管理する』の「チャネルの権限」を参照してください。開発者が自分自身のユーザーIDを取得するためのAPIはありません。
LINE公式アカウントを友だち追加したユーザーのプロフィール情報を取得します。
グループメンバーやトークルームメンバーのプロフィール情報を取得するには、以下のAPIを使用してください。 これらのAPIでは、LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのプロフィール情報も取得できます。
リクエストの例
Authorization
Bearer {channel access token}
userId
Webhookイベントオブジェクトで返されるユーザーID。LINEに表示されるLINE IDは使用しないでください。
ユーザーIDが有効な場合、ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
displayName
String
ユーザーの表示名
userId
String
ユーザーID
language
String
ユーザーの言語。BCP 47 (opens new window)言語タグに従った文字列が返されます。
例:en
(英語)。
language
プロパティは、以下のいずれかの場合にのみ返されます。
pictureUrl
String
プロフィール画像のURL。スキームはhttpsです。ユーザーがプロフィール画像を設定していない場合はレスポンスに含まれません。
statusMessage
String
ユーザーのステータスメッセージ。ユーザーがステータスメッセージを設定していない場合はレスポンスに含まれません。
レスポンスの例
この機能は認証済みアカウントまたはプレミアムアカウントのみでご利用いただけます。 アカウント種別について詳しくは、LINE for Businessの「LINE公式アカウント アカウント種別 (opens new window)」を参照してください。
LINE公式アカウントを友だち追加したユーザーの、ユーザーIDのリストを取得します。
取得したユーザーIDのリストに、以下のユーザーのユーザーIDは含まれません。
そのため、このエンドポイントで取得したユーザーIDの数は、LINE公式アカウントのプロフィールやLINE Official Account Manager (opens new window)に表示される友だち数と一致しない場合があります。
このエンドポイントで取得したユーザーIDに対してメッセージを送信しても、ユーザーの操作が原因でメッセージが送信できない場合があります。主な原因は以下のとおりです。
リクエストの例
GET https://api.line.me/v2/bot/followers/ids
Authorization
Bearer {channel access token}
start
継続トークンの値。レスポンスで返されるJSONオブジェクトのnext
プロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
userIds
文字列の配列
LINE公式アカウントを友だち追加したユーザーのユーザーIDのリスト。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみuserIds
に含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
最大ユーザー数:300
next
String
継続トークン。ユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのuserIds
で取得しきれなかったユーザーIDがある場合にのみ返されます。userIds
に含まれるユーザーIDの数は、next
プロパティが返される場合でも必ず300件になるとは限りません。
レスポンスの例
LINE公式アカウントのボットの基本情報を取得できます。
ボットの基本情報を取得します。
リクエストの例
GET https://api.line.me/v2/bot/info
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 (opens new window)で設定できるボットの応答モード。以下のいずれかの値が返ります。
chat
:応答モードが「チャット」に設定されています。bot
:応答モードが「Bot」に設定されています。markAsReadMode
String
メッセージの自動既読設定。ボットの応答モードが「Bot」ならauto
、「チャット」ならmanual
が返ります。
auto
:自動既読設定が有効です。manual
:自動既読設定が無効です。レスポンスの例
LINE公式アカウントが参加しているグループや、グループメンバーの情報を取得できます。
LINE公式アカウントが参加しているグループのグループID、グループ名、アイコンのURLを取得します。
リクエストの例
GET https://api.line.me/v2/bot/group/{groupId}/summary
Authorization
Bearer {channel access token}
groupId
グループID。Webhookイベントオブジェクトのsource
オブジェクトで確認できます。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
groupId
String
グループID
groupName
String
グループ名
pictureUrl
String
グループのアイコンのURL
レスポンスの例
グループに参加しているユーザーの人数を取得します。参加しているユーザーが、LINE公式アカウントを友だち追加していない場合や、LINE公式アカウントをブロックしている場合でも、人数に含まれます。
人数に、LINE公式アカウントは含まれません。
リクエストの例
GET https://api.line.me/v2/bot/group/{groupId}/members/count
Authorization
Bearer {channel access token}
groupId
グループID。Webhookイベントオブジェクトのsource
オブジェクトで確認できます。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
count
Number
グループに参加しているユーザーの人数。人数に、LINE公式アカウントは含まれません。
レスポンスの例
この機能は認証済みアカウントまたはプレミアムアカウントのみでご利用いただけます。 アカウント種別について詳しくは、LINE for Businessの「LINE公式アカウント アカウント種別 (opens new window)」を参照してください。
LINE公式アカウントが参加しているグループのメンバーの、ユーザーIDを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのユーザーIDも取得します。
リクエストの例
GET https://api.line.me/v2/bot/group/{groupId}/members/ids
Authorization
Bearer {channel access token}
groupId
グループID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。
start
継続トークンの値。レスポンスで返されるJSONオブジェクトのnext
プロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
memberIds
文字列の配列
グループメンバーのユーザーIDのリスト。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみmemberIds
に含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
最大ユーザー数:100
next
String
継続トークン。グループメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIds
で取得しきれなかったユーザーIDがある場合にのみ返されます。
レスポンスの例
LINE公式アカウントが参加しているグループのメンバーのユーザーIDが既知である場合に、そのメンバーのプロフィール情報を取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのプロフィール情報も取得します。
リクエストの例
GET https://api.line.me/v2/bot/group/{groupId}/member/{userId}
Authorization
Bearer {channel access token}
groupId
グループID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。
userId
ユーザーID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
displayName
String
表示名
userId
String
ユーザーID
pictureUrl
String
プロフィール画像のURL
レスポンスの例
グループから退出するAPIです。
リクエストの例
POST https://api.line.me/v2/bot/group/{groupId}/leave
Authorization
Bearer {channel access token}
groupId
グループID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
LINE公式アカウントが参加しているトークルームや、トークルームメンバーの情報を取得できます。
トークルームに参加しているユーザーの人数を取得します。参加しているユーザーが、LINE公式アカウントを友だち追加していない場合や、LINE公式アカウントをブロックしている場合でも、人数に含まれます。
人数に、LINE公式アカウントは含まれません。
リクエストの例
GET https://api.line.me/v2/bot/room/{roomId}/members/count
Authorization
Bearer {channel access token}
roomId
トークルームID。Webhookイベントオブジェクトのsource
オブジェクトで確認できます。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
count
Number
トークルームに参加しているユーザーの人数。人数に、LINE公式アカウントは含まれません。
レスポンスの例
この機能は認証済みアカウントまたはプレミアムアカウントのみでご利用いただけます。 アカウント種別について詳しくは、LINE for Businessの「LINE公式アカウント アカウント種別 (opens new window)」を参照してください。
LINE公式アカウントが参加しているトークルームのメンバーの、ユーザーIDを取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのユーザーIDも取得します。
リクエストの例
GET https://api.line.me/v2/bot/room/{roomId}/members/ids
Authorization
Bearer {channel access token}
roomId
トークルームID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。
start
継続トークンの値。レスポンスで返されるJSONオブジェクトのnext
プロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
ステータスコード200
と以下のプロパティを含むJSONオブジェクトを返します。
memberIds
文字列の配列
トークルームメンバーのユーザーIDのリスト。iOS版LINEまたはAndroid版LINEを使用しているユーザーのみmemberIds
に含まれます。詳しくは、「ユーザーのプロフィール情報取得の同意」を参照してください。
最大ユーザー数:100
next
String
継続トークン。トークルームメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIds
で取得しきれなかったユーザーIDがある場合にのみ返されます。
レスポンスの例
LINE公式アカウントが参加しているトークルームのメンバーのユーザーIDが既知である場合に、そのメンバーのプロフィール情報を取得するAPIです。LINE公式アカウントを友だちとして追加していないユーザーや、LINE公式アカウントをブロックしているユーザーのプロフィール情報も取得します。
リクエストの例
GET https://api.line.me/v2/bot/room/{roomId}/member/{userId}
Authorization
Bearer {channel access token}
roomId
トークルームID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。
userId
ユーザーID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
ステータスコード200
と以下の情報を含むJSONオブジェクトを返します。
displayName
String
表示名
userId
String
ユーザーID
pictureUrl
String
プロフィール画像のURL
レスポンスの例
トークルームから退出するAPIです。
リクエストの例
POST https://api.line.me/v2/bot/room/{roomId}/leave
Authorization
Bearer {channel access token}
roomId
トークルームID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
LINE公式アカウントのトーク画面に表示される、カスタマイズ可能なメニューです。詳しくは、「リッチメニューを使う」を参照してください。
リッチメニューを作成するAPIです。
リッチメニューを表示するには、リッチメニューの画像をアップロードし、さらにデフォルトのリッチメニューを設定するかリッチメニューをユーザーとリンクする必要があります。1つのLINE公式アカウントに対して、Messaging APIを使って最大で1000件のリッチメニューを作成できます。
リクエストの例
POST https://api.line.me/v2/bot/richmenu
Authorization
Bearer {channel access token}
Content-Type
application/json
リッチメニューオブジェクトとして表されるリッチメニューを指定します。
ステータスコード200
とリッチメニューIDを表すJSONオブジェクトを返します。
レスポンスの例
画像をアップロードしてリッチメニューに付加するAPIです。
リッチメニューの画像は以下の要件を満たす必要があります。
リッチメニューに付加された画像を置き換えることはできません。リッチメニューの画像を更新するには、新しいリッチメニューオブジェクトを作成して、新しい画像をアップロードします。
リクエストの例
POST https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content
Authorization
Bearer {channel access token}
Content-Type
image/jpeg
またはimage/png
Content-Length
リクエストボディのオクテット(8ビットバイト)での長さ。正の値である必要があります。
richMenuId
画像を付加するリッチメニューのID
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
リッチメニューの画像をダウンロードするAPIです。
リクエストの例
GET https://api-data.line.me/v2/bot/richmenu/{richMenuId}/content
Authorization
Bearer {channel access token}
richMenuId
画像をダウンロードするリッチメニューのID
ステータスコード200
とリッチメニュー画像のバイナリデータを返します。リクエストの例に示すように、画像をダウンロードできます。
「リッチメニューを作成する」で作成したすべてのリッチメニューのリッチメニューレスポンスオブジェクトを取得します。
LINE Official Account Managerで作成したリッチメニューは取得できません。
リクエストの例
GET https://api.line.me/v2/bot/richmenu/list
Authorization
Bearer {channel access token}
ステータスコード200
とリッチメニューレスポンスオブジェクトの配列を返します。
richmenus
Array
レスポンスの例
IDを指定してリッチメニューを取得するAPIです。
リクエストの例
GET https://api.line.me/v2/bot/richmenu/{richMenuId}
Authorization
Bearer {channel access token}
richMenuId
リッチメニューのID
ステータスコード200
と、リッチメニューレスポンスオブジェクトを含むJSONレスポンスが返されます。
レスポンスの例
リッチメニューを削除します。
Messaging APIで作成できるリッチメニューの数の上限は、LINE公式アカウントあたり1,000件です。この上限を超過した場合は、新しいリッチメニューを作成する前に既存のリッチメニューを削除する必要があります。
リクエストの例
DELETE https://api.line.me/v2/bot/richmenu/{richMenuId}
Authorization
Bearer {channel access token}
richMenuId
リッチメニューのID
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
デフォルトのリッチメニューを設定するAPIです。デフォルトのリッチメニューは、LINE公式アカウントと友だちになっているユーザーのうち、個別にリッチメニューをリンクされていないすべてのユーザーに表示されます。すでにデフォルトのリッチメニューが設定されていた場合は、新しく指定したリッチメニューに置き換えられます。
リッチメニューの表示優先順位は高い順に以下のとおりです。
リクエストの例
POST https://api.line.me/v2/bot/user/all/richmenu/{richMenuId}
Authorization
Bearer {channel access token}
richMenuId
リッチメニューのID
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
Messaging APIで設定したデフォルトのリッチメニューのIDを取得するAPIです。
リクエストの例
GET https://api.line.me/v2/bot/user/all/richmenu
Authorization
Bearer {channel access token}
ステータスコード200
とリッチメニューIDを表すJSONオブジェクトを返します。
レスポンスの例
Messaging APIで設定したデフォルトのリッチメニューを解除するAPIです。
リクエストの例
DELETE https://api.line.me/v2/bot/user/all/richmenu
Authorization
Bearer {channel access token}
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
リッチメニューとユーザーをリンクするAPIです。複数のリッチメニューを1人のユーザーに同時にリンクすることはできません。ユーザーにすでにリッチメニューがリンクされていた場合は、新しく指定したリッチメニューに置き換えられます。
リッチメニューの表示優先順位は高い順に以下のとおりです。
リクエストの例
POST https://api.line.me/v2/bot/user/{userId}/richmenu/{richMenuId}
Authorization
Bearer {channel access token}
richMenuId
リッチメニューのID
userId
ユーザーID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
リッチメニューと複数のユーザーをリンクします。
リッチメニューの表示優先順位は高い順に以下のとおりです。
リクエストの例
POST https://api.line.me/v2/bot/richmenu/bulk/link
Content-Type
application/json
Authorization
Bearer {channel access token}
richMenuId
String
リッチメニューのID
userIds
Stringの配列
ユーザーIDの配列。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:500
ステータスコード202
と空のJSONオブジェクトを返します。
リッチメニューと1人のユーザーをリンクする場合と異なり、このリクエストはバックグラウンドで非同期に処理されます。通常、処理は数秒で完了します。
リクエストの処理が成功したかどうかを検証するには、ユーザーのリッチメニューのIDを取得して、リッチメニューがユーザーにリンクされていることを確認します。
レスポンスの例
ユーザーにリンクされたリッチメニューのIDを取得するAPIです。
リクエストの例
GET https://api.line.me/v2/bot/user/{userId}/richmenu
Authorization
Bearer {channel access token}
userId
ユーザーID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
ステータスコード200
とリッチメニューIDを表すJSONオブジェクトを返します。
レスポンスの例
指定したユーザーにリンクされたユーザー単位のリッチメニューを解除するAPIです。
リクエストの例
DELETE https://api.line.me/v2/bot/user/{userId}/richmenu
Authorization
Bearer {channel access token}
userId
ユーザーID。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
ステータスコード200
と空のJSONオブジェクトを返します。
レスポンスの例
複数のユーザーのリッチメニューのリンクを解除します。
リクエストの例
POST https://api.line.me/v2/bot/richmenu/bulk/unlink
Content-Type
application/json
Authorization
Bearer {channel access token}
userIds
Stringの配列
ユーザーIDの配列。Webhookイベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
最大ユーザーID数:500
ステータスコード202
と空のJSONオブジェクトを返します。
リッチメニューと1人のユーザーのリンクを解除する場合と異なり、このリクエストはバックグラウンドで非同期に処理されます。通常、処理は数秒で完了します。
リクエストの処理が成功したかどうかを検証するには、ユーザーのリッチメニューのIDを取得して、リンクを解除したはずのリッチメニューがユーザーにリンクされていないことを確認します。
レスポンスの例
プロバイダー(企業や開発者)が提供するサービスのアカウントと、LINEユーザーのアカウントを連携できます。
アカウント連携で使用する連携トークンを発行するAPIです。
リクエストの例
POST https://api.line.me/v2/bot/user/{userId}/linkToken
Authorization
Bearer {channel access token}
userId
連携対象のLINEアカウントのユーザーID。アカウント連携イベントオブジェクトのsource
オブジェクトで返されます。LINEに表示されるLINE IDは使用しないでください。
ステータスコード200
と連携トークンを返します。連携トークンの有効期間は10分で、1回のみ使用できます。
有効期間は予告なく変わる可能性があります。
レスポンスの例
送信するメッセージの内容を表すJSONオブジェクトです。
以下のプロパティはすべてのメッセージオブジェクトに指定できます。
クイックリプライ機能で使用するプロパティです。Android版とiOS版のLINE 8.11.0以降でサポートされます。詳しくは、「クイックリプライを使う」を参照してください。
quickReply
Object
複数のメッセージオブジェクトを受信したユーザーには、最後のメッセージオブジェクトのquickReply
プロパティが表示されます。
クイックリプライボタンのコンテナです。
items
Objectの配列
クイックリプライボタンオブジェクト。最大オブジェクト数:13
itemsオブジェクトの例
ボタン形式で表示される、クイックリプライの選択肢です。
type
String
action
imageUrl
String
ボタンの先頭に表示するアイコンのURL
画像サイズに制限はありません。
action
プロパティに指定するアクションがカメラアクション、カメラロールアクション、または位置情報アクションで、imageUrl
プロパティが未指定の場合、デフォルトのアイコンが表示されます。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。指定できるアクションの種類は以下のとおりです。
クイックリプライボタンが設定されたメッセージを未対応のLINEで受信すると、メッセージ本体のみが表示されます。
LINE公式アカウントからメッセージを送る際に、メッセージオブジェクトに、sender.name
プロパティとsender.iconUrl
プロパティを指定できます。
sender.name
String
表示名。LINE
など弊社のサービスと誤認される可能性があるワードは使用できません。
最大文字数:20
sender.iconUrl
String
メッセージ送信時にアイコンとして表示する画像のURL
アイコンおよび表示名を変更するテキストメッセージの例
プロパティに指定するテキストの文字数、および絵文字の位置は、UTF-16でエンコーディングしたときの符号単位の数および位置です。 たとえば、サロゲートペアを使用する文字や、UTF-16で表現できる絵文字など、文字によっては、1文字ではなく複数文字としてカウントする必要があります。
type
String
text
text
String
メッセージのテキスト。以下の絵文字を含めることができます。
$
をプレースホルダとして使用します。詳細は、emojis
プロパティで指定してください。最大文字数:5000
emojis
LINE絵文字オブジェクトの配列
1個以上のLINE絵文字
最大個数:20
emojis.index
Number
テキストの先頭を0
とした、text
プロパティ内の$
(LINE絵文字のプレースホルダ)の位置。
詳しくは、「テキストメッセージの例」を参照してください。
ここで指定した位置と、$
の位置が一致しない場合は、400 Bad request
が返されます。
emojis.productId
String
LINE絵文字の集合を示すプロダクトID。参照:Sendable LINE emoji list (opens new window)
emojis.emojiId
String
プロダクトID内のLINE絵文字のID。参照:Sendable LINE emoji list (opens new window)
テキストメッセージの例
スタンプメッセージの例
type
String
image
originalContentUrl
String
画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
最大ファイルサイズ:10MB
previewImageUrl
String
プレビュー画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
最大ファイルサイズ:1MB
画像メッセージの例
type
String
video
originalContentUrl
String
動画ファイルのURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
mp4
最大ファイルサイズ:200MB
一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。
previewImageUrl
String
プレビュー画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
最大ファイルサイズ:1MB
trackingId
String
動画視聴完了イベントが発生したときに、動画を識別するためのID。trackingId
を付与した動画メッセージを送信した場合に限り、ユーザーが動画の視聴を完了すると動画視聴完了イベントが発生します。
複数のメッセージで同じIDを使用することができます。
a
〜z
、A
~Z
、0
~9
)、記号(-.=,+*()%$&;:@{}!?<>[]
)注意:trackingId
プロパティは、グループやトークルーム宛てのメッセージや、オーディエンスマッチでは使用できません。
動画メッセージの例
type
String
audio
originalContentUrl
String
音声ファイルのURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
m4a
最大ファイルサイズ:200MB
Messaging APIではM4Aファイルのみがサポートされます。お使いのサービスがMP3ファイルのみをサポートする場合は、FFmpegなどのサービスを使ってファイルをM4Aに変換できます。
duration
Number
音声ファイルの長さ(ミリ秒)
音声メッセージの例
type
String
location
title
String
タイトル
最大文字数:100
address
String
住所
最大文字数:100
latitude
Decimal
緯度
longitude
Decimal
経度
位置情報メッセージの例
イメージマップメッセージは、複数のタップ領域を設定した画像を送信できるメッセージです。画像全体に1つのタップ領域を割り当てることも、画像を区切って複数のタップ領域を設定することもできます。
また、画像の上で動画を再生したり、動画再生後にリンク先を設定したラベルを表示したりできます。
動画が正しく再生できない場合、動画が再生可能なファイル形式であることと、動画をホストしているHTTPサーバーが、HTTPの部分リクエスト(Range request)に対応していることを確認してください。
type
String
imagemap
baseUrl
String
画像のベースURL
最大文字数:1000
HTTPS(TLS 1.2以降)
イメージマップメッセージで使える画像について詳しくは、「画像の設定方法」を参照してください。
altText
String
代替テキスト
最大文字数:400
baseSize.width
Number
基本画像の幅(px単位)。1040を指定します。
baseSize.height
Number
基本画像の幅を1040pxとした場合の高さ
video.originalContentUrl
String
動画ファイルのURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
mp4
最大ファイルサイズ:200MB
一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。
video.previewImageUrl
String
プレビュー画像のURL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
最大ファイルサイズ:1MB
video.area.x
Number
イメージマップ領域の左端を基準とした動画領域の位置(横方向の相対位置)。0
以上の値を設定してください。
video.area.y
Number
イメージマップ領域の上端を基準とした動画領域の位置(縦方向の相対位置)。0
以上の値を設定してください。
video.area.width
Number
動画領域の幅
video.area.height
Number
動画領域の高さ
video.externalLink.linkUri
String
ウェブページのURL。動画再生後に表示されるラベルをタップしたときに呼び出されます。
最大文字数:1000
使用できるスキームは、http
、https
、line
、およびtel
です。 LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
video.externalLink.label
String
ラベル。動画の再生が終了した後に表示されます。
最大文字数:30
actions
画像がタップされたときのアクション
最大件数:50
※1 イメージマップで動画を再生する場合は必須です。
※2 イメージマップで動画を再生し、動画再生後にラベルを表示する場合は必須です。
2つのタップ領域を持つイメージマップメッセージの例
イメージマップメッセージで使用する画像は、以下の要件を満たす必要があります。
イメージマップメッセージに、透過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
の場合は指定するメッセージが送信されます。
type
String
uri
label
String
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:50
iOS版LINE 8.2.0以降でサポートされます。
linkUri
String
ウェブページのURL
最大文字数:1000
使用できるスキームは、http
、https
、line
、およびtel
です。 LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
area
タップ領域の定義
イメージマップURIアクションオブジェクトの例
type
String
message
label
String
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:50
iOS版LINE 8.2.0以降でサポートされます。
text
String
送信するメッセージ
最大文字数:400
area
タップ領域の定義
イメージマップメッセージアクションオブジェクトの例
タップ領域のサイズを表すオブジェクトです。画像の左上が座標の原点です。baseSize.width
プロパティとbaseSize.height
プロパティに基づいて指定します。
x
Number
領域の左端を基準としたタップ領域の位置(横方向の相対位置)。0
以上の値を設定してください。
y
Number
領域の上端を基準としたタップ領域の位置(縦方向の相対位置)。0
以上の値を設定してください。
width
Number
タップ領域の幅
height
Number
タップ領域の高さ
イメージマップ領域オブジェクトの例
テンプレートメッセージは、あらかじめレイアウトが定義されたテンプレートをカスタマイズして構築するメッセージです。詳しくは、「テンプレートメッセージ」を参照してください。
以下のタイプのテンプレートを利用できます。
テンプレートメッセージはiOS版とAndroid版のLINEでのみ対応しています。
以下のプロパティは、すべてのテンプレートメッセージオブジェクトで共通です。
type
String
template
altText
String
代替テキスト。テンプレートメッセージに非対応のデバイスで表示されます。
最大文字数:400
画像、タイトル、テキストに加えて、複数のアクションボタンが含まれたテンプレートです。
type
String
buttons
thumbnailImageUrl
String
画像URL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
最大横幅サイズ:1024px
最大ファイルサイズ:10MB
画像のファイルメッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(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
ボタンテンプレートメッセージには高さに制限があり、text
の表示領域がこの制限を超えると、領域の下部が切り詰められます。このため、メッセージのテキストが最大文字数以内であっても、文字幅によっては完全に表示されない可能性があります。
ボタンテンプレートメッセージの例
2つのアクションボタンを表示するテンプレートです。
type
String
confirm
text
String
メッセージのテキスト
最大文字数:240
actions
アクションオブジェクトの配列
タップされたときのアクション
2つのボタンに1つずつアクションを設定します。
確認テンプレートメッセージには高さに制限があり、text
の表示領域がこの制限を超えると、領域の下部が切り詰められます。このため、メッセージのテキストが最大文字数以内であっても、文字幅によっては完全に表示されない可能性があります。
確認テンプレートメッセージの例
複数のカラムを表示するテンプレートです。カラムは横にスクロールして順番に表示できます。
type
String
carousel
columns
カラムオブジェクトの配列
カラムの配列
最大カラム数:10
imageAspectRatio
String
画像のアスペクト比。以下のいずれかの値を指定します。
rectangle
:1.51:1square
:1:1すべてのカラムに適用されます。デフォルト値はrectangle
です。
imageSize
String
画像の表示形式。以下のいずれかの値を指定します。
cover
:画像領域全体に画像を表示します。画像領域に収まらない部分は切り詰められます。contain
:画像領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。すべてのカラムに適用されます。デフォルト値はcover
です。
カルーセルテンプレートメッセージの例
thumbnailImageUrl
String
画像URL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
縦横比:1:1.51
最大横幅サイズ:1024px
最大ファイルサイズ:10MB
画像のファイルメッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(1MB以下推奨)。
imageBackgroundColor
String
画像の背景色。RGB値で設定します。デフォルト値は#FFFFFF
(白)です。
title
String
タイトル
最大文字数:40
text
String
メッセージテキスト
画像もタイトルも指定しない場合の最大文字数:120
画像またはタイトルを指定する場合の最大文字数:60
defaultAction
画像、タイトル、テキストの領域全体に対して設定できる、タップされたときのアクション
actions
アクションオブジェクトの配列
タップされたときのアクション
最大件数:3
カルーセルテンプレートメッセージには高さに制限があり、text
の表示領域がこの制限を超えると、領域の下部が切り詰められます。このため、メッセージのテキストが最大文字数以内であっても、文字幅によっては完全に表示されない可能性があります。
各カラムのアクションの数は同じにします。画像またはタイトルの有無も、各カラムで統一してください。
複数の画像を表示するテンプレートです。画像は横にスクロールして順番に表示できます。
type
String
image_carousel
columns
カラムオブジェクトの配列
カラムの配列
最大カラム数:10
画像カルーセルテンプレートメッセージの例
imageUrl
String
画像URL(最大文字数:1000)
HTTPS(TLS 1.2以降)
JPEGまたはPNG
縦横比:1:1
最大横幅サイズ:1024px
最大ファイルサイズ:10MB
画像のファイルメッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(1MB以下推奨)。
action
画像がタップされたときのアクション
Flex Messageは、CSS Flexible Box(CSS Flexbox) (opens new window)の基礎知識を使って、レイアウトを自由にカスタマイズできるメッセージです。Flex Messageの概要については、『Messaging APIドキュメント』の「Flex Messageを送信する」を参照してください。
Flex Messageの例
Flex MessageをサポートするLINEのバージョンは以下のとおりです。
以下のプロパティは、iOS版とAndroid版LINEの特定のバージョンのみサポートしています。
プロパティ | サポートバージョン |
---|---|
テキストとボタンのadjustMode プロパティ | 10.13.0以上 |
テキストのmaxLines プロパティ | 8.11.0以上 |
ボックスのaction プロパティ | 8.11.0以上 |
コンテナは、Flex Messageの最上位の構造です。以下のタイプのコンテナを利用できます。
コンテナのJSONデータのサンプルや用途については、『Messaging APIドキュメント』の「Flex Messageの要素」を参照してください。
1つのメッセージバブルを構成するコンテナです。ヘッダー、ヒーロー、ボディ、およびフッターの4つのブロックを含めることができます。各ブロックの用途について詳しくは、『Messaging APIドキュメント』の「ブロック」を参照してください。
バブルを定義するJSONデータの最大サイズは、30KBです。
type
String
bubble
size
String
バブルの大きさ。nano
、micro
、kilo
、mega
、giga
のいずれかの値を指定できます。デフォルト値はmega
です。
direction
String
テキストの書字方向と、水平ボックス内でコンポーネントを配置する向き。以下のいずれかの値を指定します。
ltr
:テキストは左横書き、コンポーネントは左から右に配置rtl
:テキストは右横書き、コンポーネントは右から左に配置デフォルト値はltr
です。
header
Object
ヘッダー。ボックスを指定します。
body
Object
ボディ。ボックスを指定します。
footer
Object
フッター。ボックスを指定します。
styles
Object
各ブロックのスタイル。バブルスタイルを指定します。
action
Object
バブルがタップされたときのアクション。アクションオブジェクトを指定します。このプロパティをサポートするLINEのバージョンは以下のとおりです。
バブルの例
バブル内のブロックのスタイルは、以下の2つのオブジェクトを使って定義します。
バブルスタイルとブロックスタイルの例
header
Object
ヘッダーのスタイル。ブロックスタイルを指定します。
hero
Object
ヒーローのスタイル。ブロックスタイルを指定します。
body
Object
ボディのスタイル。ブロックスタイルを指定します。
footer
Object
フッターのスタイル。ブロックスタイルを指定します。
backgroundColor
String
ブロックの背景色。16進数カラーコードで設定します。
separator
Boolean
ブロックの上にセパレータを配置する場合はtrue
を指定します。デフォルト値はfalse
です。
separatorColor
String
セパレータの色。16進数カラーコードで設定します。
先頭のブロックの上にはセパレータを配置できません。
カルーセルは、子要素として1つ以上のバブルを持つコンテナです。カルーセル内のバブルは、横にスクロールして閲覧できます。
カルーセルを定義するJSONデータの最大サイズは、50KBです。
type
String
carousel
contents
Objectの配列
このカルーセル内のバブル。最大バブル数:12
1つのカルーセルに、異なる幅(size
プロパティ)のバブルを含めることはできません。バブルの幅は、カルーセルごとに揃えてください。
カルーセルの中で最大の高さのバブルと一致するように、各バブルのボディが伸長します。ただし、ボディがないバブルの大きさは変わりません。
カルーセルの例
コンポーネントは、ブロックを構成する要素です。以下のタイプのコンポーネントを利用できます。
各コンポーネントのJSONデータのサンプルや用途については、『Messaging APIドキュメント』の「Flex Messageの要素」と「Flex Messageのレイアウト」を参照してください。
子要素のレイアウトを定義するコンポーネントです。ボックスにボックスを含めることもできます。
type
String
box
layout
String
このボックス内のコンポーネントを配置する向き。詳しくは、『Messaging APIドキュメント』の「コンポーネントを配置する向き」を参照してください。
contents
Objectの配列
backgroundColor
String
ボックスの背景色。RGBカラーに加えて、アルファチャネル(透明度)も設定できます。16進数カラーコードで設定します。(例:#RRGGBBAA)デフォルト値は#00000000
です。
borderColor
String
ボックスの境界線の色。16進数カラーコードで設定します。
borderWidth
String
ボックスの境界線の太さ。ピクセルまたはnone
、light
、normal
、medium
、semi-bold
、bold
のいずれかの値を指定できます。none
では、境界線は描画されず、それ以外は列挙した順に太くなります。
cornerRadius
String
ボックスの境界線の角を丸くするときの半径。ピクセル、またはnone
、xs
、sm
、md
、lg
、xl
、xxl
のいずれかの値を指定できます。none
では、角は丸くならず、それ以外は列挙した順に半径が大きくなります。デフォルト値はnone
です。
width
String
ボックスの幅。詳しくは、『Messaging APIドキュメント』の「ボックスの幅」を参照してください。
height
String
ボックスの高さ。詳しくは、『Messaging APIドキュメント』の「ボックスの高さ」を参照してください。
flex
Number
親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。
spacing
String
このボックス内のコンポーネント間の最小スペース。デフォルト値はnone
です。詳しくは、『Messaging APIドキュメント』の「ボックスのspacing
プロパティ」を参照してください。
margin
String
親要素内での、このコンポーネントの前に挿入する余白の最小サイズ。詳しくは、『Messaging APIドキュメント』の「コンポーネントのmargin
プロパティ」を参照してください。
paddingAll
String
このボックスの境界線と、子要素の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。
paddingTop
String
このボックスの上端の境界線と、子要素の上端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。
paddingBottom
String
このボックスの下端の境界線と、子要素の下端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。
paddingStart
String
このボックスの左端の境界線と、子要素の左端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。
paddingEnd
String
このボックスの右端の境界線と、子要素の右端の間の余白。詳しくは、『Messaging APIドキュメント』の「ボックスのパディング」を参照してください。
position
String
このボックスを配置する際の基準位置。以下のいずれかの値を指定します。
relative
:直前のボックスを基準にします。absolute
:親要素の左上を基準にします。
デフォルト値はrelative
です。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。offsetTop
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetBottom
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetStart
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
offsetEnd
String
オフセット。詳しくは、『Messaging APIドキュメント』の「オフセット」を参照してください。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。このプロパティをサポートするLINEのバージョンは以下のとおりです。
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ドキュメント』の「フォントサイズの自動縮小」を参照してください。
iOS版とAndroid版のLINE 10.13.0以降
ボタンの例
画像を描画するコンポーネントです。
type
String
image
url
String
画像のURL
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024×1024px
最大ファイルサイズ:10MB(animated
プロパティがtrue
の場合は300KB)
メッセージの表示が遅延することを防ぐために、個々の画像ファイルサイズを小さくしてください(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
画像のアスペクト比。{width}:{height}
の形式で指定します。{width}
と{height}
は、それぞれ1~100000の値で入力します。ただし、{height}
には{width}
の3倍を超える値は指定できません。デフォルト値は1:1
です。
aspectMode
String
画像のアスペクト比とaspectRatio
プロパティで指定されるアスペクト比が一致しない場合の、画像の表示方式。詳しくは、「描画領域について」を参照してください。
backgroundColor
String
画像の背景色。16進数カラーコードで設定します。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。
animated
Boolean
true
を指定すると画像(APNG)のアニメーションを再生します。メッセージ全体で3つまでtrue
を指定できます。上限を超えて指定した場合、メッセージは送信できません。デフォルト値はfalse
です。データサイズが300KBを超える場合は再生されません。
アニメーションの画像はAPNG作成ツールを使用して作成してください。 APNGの作成方法は、アニメーションスタンプの作成方法を参考にしてください。詳しくは、LINE Creators Marketにあるアニメーションスタンプの制作ガイドライン (opens new window)を参照してください。
「画像は表示されるがアニメーションが再生されない」というときは、以下を確認してください。
animated
プロパティの値をtrue
にしているか?animated
プロパティをサポートしているバージョンか?アニメーションはAPNGのacTL
チャンクのnum_plays
フィールドで指定した回数分、ループ再生されます。0を指定することで無限にループ再生も可能です。
画像の例
size
プロパティで画像の最大の幅を指定し、aspectRatio
プロパティで画像のアスペクト比(横:縦の比率)を指定します。size
プロパティとaspectRatio
プロパティで決定される矩形の領域を、描画領域と呼びます。この描画領域に画像が表示されます。
flex
プロパティによって算出されたコンポーネントの幅が、size
プロパティで指定された画像の幅よりも小さい場合、描画領域の幅はコンポーネントの幅に縮小されます。aspectRatio
プロパティで指定されるアスペクト比が一致しない場合、aspectMode
プロパティに基づいて画像が表示されます。デフォルト値はfit
です。
aspectMode
がcover
の場合:描画領域全体に画像を表示します。描画領域に収まらない部分は切り詰められます。aspectMode
がfit
の場合:描画領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に背景が表示されます。隣接するテキストを装飾するために、アイコンを描画するコンポーネントです。
ベースラインボックス内でのみ使用できます。
type
String
icon
url
String
画像のURL
プロトコル:HTTPS(TLS 1.2以降)
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024×1024px
最大データサイズ:1MB
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ドキュメント』の「アイコン、テキスト、スパンのサイズ」を参照してください。
aspectRatio
String
アイコンのアスペクト比。{width}:{height}
の形式で指定します。{width}
と{height}
は、それぞれ1~100000の値で入力します。ただし、{height}
には{width}
の3倍を超える値は指定できません。デフォルト値は1:1
です。
アイコンのflex
プロパティの値は、0
に固定されます。
アイコンの例
1行の文字列を描画するコンポーネントです。色、サイズ、および太さを指定できます。
type
String
text
text
String
テキスト。text
プロパティまたはcontents
プロパティのいずれかを必ず設定してください。contents
プロパティを設定すると、text
は無視されます。
contents
Objectの配列
スパンの配列。text
プロパティまたはcontents
プロパティのいずれかを必ず設定してください。contents
プロパティを設定すると、text
は無視されます。
adjustMode
String
テキストのフォントサイズを調整する方式。 以下の値を指定します。
shrink-to-fit
:コンポーネントの幅に合わせて自動縮小されます。
このプロパティはベストエフォートで機能しますので、プラットフォームによって動作が異なる、あるいは動作しないことがあります。
詳しくは、『Messaging APIドキュメント』の「フォントサイズの自動縮小」を参照してください。
iOS版とAndroid版のLINE 10.13.0以降
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ドキュメント』の「アイコン、テキスト、スパンのサイズ」を参照してください。
align
String
水平方向の位置合わせ方式。詳しくは、『Messaging APIドキュメント』の「水平方向の位置合わせ」を参照してください。
gravity
String
垂直方向の位置合わせ方式。デフォルト値はtop
です。詳しくは、『Messaging APIドキュメント』の「垂直方向の位置合わせ」を参照してください。
wrap
Boolean
true
を指定すると文字列を折り返します。デフォルト値はfalse
です。true
に設定した場合、改行文字(\n
)を使って改行できます。詳しくは、『Messaging APIドキュメント』の「テキストを折り返す」を参照してください。
maxLines
Number
最大行数。テキストがこの行数に収まらない場合は、最終行の末尾に省略記号(…)が表示されます。0
ではすべてのテキストが表示されます。デフォルト値は0
です。このプロパティをサポートするLINEのバージョンは以下のとおりです。
weight
String
フォントの太さ。regular
、bold
のいずれかの値を指定できます。bold
を指定すると太字になります。デフォルト値はregular
です。
color
String
フォントの色。16進数カラーコードで設定します。
action
Object
タップされたときのアクション。アクションオブジェクトを指定します。
style
String
テキストのスタイル。以下のいずれかの値を指定します。
normal
:標準italic
:斜体
デフォルト値はnormal
です。decoration
String
テキストの装飾。以下のいずれかの値を指定します。
none
:装飾なしunderline
:下線line-through
:取り消し線
デフォルト値はnone
です。テキストの例
1行に、デザインが異なる複数の文字列を描画するコンポーネントです。色、サイズ、太さ、および装飾を指定できます。スパンは、テキストのcontents
プロパティに設定します。
type
String
span
text
String
テキスト。親のテキストのwrap
プロパティをtrue
に設定した場合は、改行文字(\n
)を使って改行できます。
color
String
フォントの色。16進数カラーコードで設定します。
size
String
フォントサイズ。詳しくは、『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進数カラーコードで設定します。
セパレータの例
スペースを作るためのコンポーネントです。ボックス内の任意の位置に挿入することで、コンポーネントの間にスペースを作ったり、他のコンポーネントを一方向に寄せたりできます。
type
String
filler
flex
Number
親要素内での、このコンポーネントの幅または高さの比率。詳しくは、『Messaging APIドキュメント』の「コンポーネントの幅と高さ」を参照してください。
フィラーでは親要素のspacing
プロパティが無視されます。
フィラーの例
ユーザーがメッセージ内のボタンまたは画像をタップしたときに、ボットが実行できるアクションのタイプです。
このアクションが関連づけられたコントロールがタップされると、data
プロパティに指定された文字列を含むポストバックイベントが、Webhookを介して返されます。
type
String
postback
label
String
アクションのラベル
data
String
Webhookを介して、ポストバックイベントのpostback.data
プロパティで返される文字列
最大文字数:300
displayText
String
アクションの実行時に、ユーザーのメッセージとしてLINEのトーク画面に表示されるテキスト。クイックリプライボタンでは必須です。それ以外のメッセージタイプでは省略可能です。
最大文字数:300
displayText
プロパティとtext
プロパティは、同時に設定できません。
text
String
【廃止予定】アクションの実行時に、ユーザーのメッセージとしてLINEのトーク画面に表示されるテキスト。Webhookを介してサーバーに返されます。クイックリプライボタンでは使用しないでください。
最大文字数:300
displayText
プロパティとtext
プロパティは、同時に設定できません。
ポストバックアクションオブジェクトの例
このアクションが関連づけられたコントロールがタップされると、text
プロパティの文字列がユーザーからのメッセージとして送信されます。
type
String
message
label
String
アクションのラベル
text
String
アクションの実行時に送信されるテキスト
最大文字数:300
メッセージアクションオブジェクトの例
このアクションが関連づけられたコントロールがタップされると、uri
プロパティのURIが開きます。
type
String
uri
label
String
アクションのラベル
uri
String
アクションの実行時に開かれるURI(最大文字数:1000)
使用できるスキームは、http
、https
、line
、およびtel
です。LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。
altUri.desktop
String
macOS版とWindows版のLINEでアクションを実行したときに開かれるURI(最大文字数:1000)
altUri.desktop
を指定した場合は、macOS版とWindows版のLINEではuri
が無視されます。
使用できるスキームは、http
、https
、line
、およびtel
です。LINE URLスキームについて詳しくは、「LINE URLスキームでLINEの機能を使う」を参照してください。このプロパティを使用できるLINEのバージョンは以下のとおりです。
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 (opens new window)プロトコルで定義されています。
モード | 形式 | 例 |
---|---|---|
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-date Ttime-hour :time-minute またはfull-date ttime-hour :time-minute 最大値:2100-12-31T23:59 最小値:1900-01-01T00:00 | 2017-06-18T06:15 2017-06-18t06:15 |
クイックリプライボタンにのみ設定できるアクションです。このアクションが関連づけられたボタンがタップされると、LINE内のカメラが起動します。
type
String
camera
label
String
アクションのラベル
最大文字数:20
カメラアクションオブジェクトの例
クイックリプライボタンにのみ設定できるアクションです。このアクションが関連づけられたボタンがタップされると、LINEのカメラロール画面が開きます。
type
String
cameraRoll
label
String
アクションのラベル
最大文字数:20
カメラロールアクションオブジェクトの例
クイックリプライボタンにのみ設定できるアクションです。このアクションが関連づけられたボタンがタップされると、LINEの位置情報画面が開きます。
type
String
location
label
String
アクションのラベル
最大文字数:20
位置情報アクションオブジェクトの例
リッチメニューは以下のどちらかのオブジェクトで表されます。
これらのオブジェクトは領域オブジェクトとアクションオブジェクトから構成されます。
size
Object
size
オブジェクト。トークルームに表示されるリッチメニューの幅と高さを表します。使用できるリッチメニューの画像の幅サイズは800px以上2500px以下で、高さサイズは250px以上です。ただし幅/高さのアスペクト比は、1.45以上になるようにします。
selected
Boolean
デフォルトでリッチメニューを表示する場合はtrue
です。それ以外はfalse
です。
name
String
リッチメニューの名前。リッチメニューの管理に役立ちます。ユーザーには表示されません。
最大文字数:300
chatBarText
String
トークルームメニューに表示されるテキストです。
最大文字数:14
areas
Array
タップ領域の座標とサイズを定義する、領域オブジェクトの配列。
最大領域オブジェクト数:20
リッチメニューオブジェクトの例
richMenuId
String
リッチメニューのID
size
Object
size
オブジェクト。トークルームに表示されるリッチメニューの幅と高さを表します。使用できるリッチメニューの画像の幅サイズは800px以上2500px以下で、高さサイズは250px以上です。ただし幅/高さのアスペクト比は、1.45以上になるようにします。
selected
Boolean
デフォルトでリッチメニューを表示する場合はtrue
です。それ以外はfalse
です。
name
String
リッチメニューの名前。リッチメニューの管理に役立ちます。ユーザーには表示されません。
最大文字数:300
chatBarText
String
トークルームメニューに表示されるテキストです。
最大文字数:14
areas
Array
タップ領域の座標とサイズを定義する、領域オブジェクトの配列。
最大領域オブジェクト数:20
リッチメニューレスポンスオブジェクトの例
size
オブジェクトwidth
Number
リッチメニューの幅。800
以上、2500
以下の値を指定します。ただし、幅/高さのアスペクト比が1.45以上になるようにします。
height
Number
リッチメニューの高さ。250
以上の値を指定します。ただし、幅/高さのアスペクト比が1.45以上になるようにします。
sizeオブジェクトの例
bounds
Object
領域の境界をピクセルで表すオブジェクト。「bounds
オブジェクト」を参照してください。
action
Object
領域がタップされたときに実行されるアクション。「アクションオブジェクト」を参照してください。
領域オブジェクトの例
bounds
オブジェクトx
Number
画像の左端を基準としたタップ領域の位置(横方向の相対位置)。0
以上の値を設定してください。
y
Number
画像の上端を基準としたタップ領域の位置(縦方向の相対位置)。0
以上の値を設定してください。
width
Number
タップ領域の幅
height
Number
タップ領域の高さ
boundsオブジェクトの例