Dreamso Chat & Workflow
プロダクト
ドキュメント
APIリファレンス
共通仕様
Webhook
Webhookイベントオブジェクト
OAuth
メッセージ
プロフィール
グループ
トークルーム
リッチメニュー
メッセージオブジェクト
アカウント連携
アクションオブジェクト
リッチメニューの構造
Messaging APIリファレンス
APIごとに実行できるリクエスト回数およびMessaging APIによって送信されるメッセージの受信者数の制限は以下のとおりです。レート制限はご利用のプランによって異なります。お住いの地域で利用できるLINE@プランについて詳しくは、LINE@ウェブサイトを参照してください。
プランAPIリクエスト回数の制限メッセージ受信者数の制限
Developer Trial
APIごとに1,000/分
ボットごとに20,000/分
その他のプラン
APIごとに10,000/分
ボットごとに200,000/分
Messaging APIからは以下のステータスコードが返されます。
ステータスコード説明
200 OK
リクエストが成功しました。
400 Bad Request
リクエストに問題があります。
401 Unauthorized
有効なチャネルアクセストークンが指定されていません。
403 Forbidden
リソースにアクセスする権限がありません。ご契約中のプランやアカウントに付与されている権限を確認してください。
429 Too Many Requests
APIコールのレート制限を超過しました。
500 Internal Server Error
内部サーバーのエラーです。
Messaging APIのレスポンスには以下のHTTPヘッダーが含まれます。
レスポンスヘッダー説明
X-Line-Request-Id
各リクエストに発行されるID
エラー発生時は、以下のJSONデータを含むレスポンスボディが返されます。
プロパティタイプ説明
message
String
エラー情報を含むメッセージ。詳しくは、「エラーメッセージ」を参照してください。
details[].message
String
エラーの詳細。特定の状況では返されません。
details[].property
String
エラーの発生箇所。特定の状況では返されません。
エラーメッセージ
エラーのJSONレスポンスのmessageプロパティに含まれる、主なエラーメッセージは以下のとおりです。
メッセージ説明
The request body has X error(s)
リクエストボディのJSONデータにエラーがありました。Xの部分にエラーの数が表示されます。詳細はdetails[].messageおよびdetails[].propertyプロパティに含まれます。
Invalid reply token
応答メッセージで使用された応答トークンが無効です。
The property, XXX, in the request body is invalid (line: XXX, column: XXX)
リクエストボディに無効なプロパティが指定されていました。XXXの部分に具体的な行と列が表示されます。
The request body could not be parsed as JSON (line: XXX, column: XXX)
リクエストボディのJSONデータを解析できませんでした。XXXの部分に具体的な行と列が表示されます。
The content type, XXX, is not supported
APIでサポートされていないコンテンツタイプがリクエストされました。
Authentication failed due to the following reason: XXX
APIが呼び出されたときに認証に失敗しました。XXXの部分に理由が表示されます。
Access to this API is not available for your account
実行権限がないAPIを呼び出しました。
Failed to send messages
メッセージの送信に失敗しました。指定したユーザーIDが存在しない場合などにこのエラーが発生します。
エラーレスポンスの例
{
"message":"The request body has 2 error(s)",
"details":[
{
"message":"May not be empty",
"property":"messages[0].text"
},
{
"message":"Must be one of the following values: [text, image, video, audio, location, sticker, template, imagemap]",
"property":"messages[1].type"
}
]
}
友だち追加やメッセージの送信のようなイベントがトリガーされると、webhook URLにHTTPS POSTリクエストが送信されます。Webhook URLはチャネルに対してコンソールで設定します。
リクエストはボットアプリのサーバーで受信および処理されます。
リクエストヘッダー説明
X-Line-Signature
署名の検証に使う署名
リクエストボディは、webhookイベントオブジェクトの配列を含むJSONオブジェクトです。
プロパティタイプ説明
events
イベントの情報
ボットアプリのサーバーにwebhookから送信されるHTTP POSTリクエストには、ステータスコード200を返す必要があります。
Webhookから送信されるHTTP POSTリクエストは、失敗しても再送されません。
X-Line-Signatureリクエストヘッダーに含まれる署名を検証して、リクエストがLINEプラットフォームから送信されたことを確認する必要があります。
検証の手順は以下のとおりです。
チャネルシークレットを秘密鍵として、HMAC-SHA256アルゴリズムを使用してリクエストボディのダイジェスト値を取得します。
ダイジェスト値をBase64エンコードした値とリクエストヘッダーにある署名が一致することを確認します。
署名検証の例
# Click on the language tabs for examples of signature validation
LINEプラットフォームで生成されるイベントを含むJSONオブジェクトです。
Webhookイベントオブジェクトの例
{
"events": [
{
"replyToken": "0f3779fba3b349968c5d07db31eab56f",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "text",
"text": "Hello, world"
}
},
{
"replyToken": "8cf9239d56244f4197887e939187e19e",
"type": "follow",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
}
}
]
}
以下のプロパティはすべてのwebhookイベントオブジェクトに含まれます。
プロパティタイプ説明
type
String
イベントのタイプを表す識別子
timestamp
Number
イベントの発生時刻(ミリ秒)
source
Object
イベントの送信元情報を含むユーザー、グループ、またはトークルームオブジェクト
送信元ユーザー
プロパティタイプ説明
type
String
user
userId
String
送信元ユーザーのID
送信元ユーザーの例
"source": {
"type": "user",
"userId": "U4af4980629..."
}
送信元グループ
プロパティタイプ説明
type
String
group
groupId
String
送信元グループのID
userId
String
送信元ユーザーのID。メッセージイベントにのみ含まれます。ユーザーが公式アカウントの利用条件に同意していない場合は含まれません。
送信元グループの例
"source": {
"type": "group",
"groupId": "Ca56f94637c...",
"userId": "U4af4980629..."
}
送信元トークルーム
プロパティタイプ説明
type
String
room
roomId
String
送信元トークルームのID
userId
String
送信元ユーザーのID。メッセージイベントにのみ含まれます。ユーザーが公式アカウントの利用条件に同意していない場合は含まれません。
送信元トークルームの例
"source": {
"type": "room",
"roomId": "Ra8dbf4673c...",
"userId": "U4af4980629..."
}
送信されたメッセージを含むwebhookイベントオブジェクトです。 メッセージのタイプに対応するメッセージオブジェクトが、messageプロパティに含まれます。メッセージイベントには応答できます。
プロパティタイプ説明
type
String
message
replyToken
String
イベントへの応答に使用するトークン
message
Object
メッセージの内容を含むオブジェクト。メッセージには以下のタイプがあります。
テキスト
送信元から送られたテキストを含むメッセージオブジェクトです。
プロパティタイプ説明
id
String
メッセージID
type
String
text
text
String
メッセージのテキスト
テキストメッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "text",
"text": "Hello, world!"
}
}
画像
送信元から送られた画像を含むメッセージオブジェクトです。バイナリの画像データはcontentエンドポイントから取得できます。
プロパティタイプ説明
id
String
メッセージID
type
String
image
画像メッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "image"
}
}
動画
送信元から送られた動画を含むメッセージオブジェクトです。バイナリの動画データはcontentエンドポイントから取得できます。
プロパティタイプ説明
id
String
メッセージID
type
String
video
動画メッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "video"
}
}
音声
送信元から送られた音声を含むメッセージオブジェクトです。バイナリの音声データはcontentエンドポイントから取得できます。
プロパティタイプ説明
id
String
メッセージID
type
String
audio
音声メッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "audio"
}
}
ファイル
送信元から送られたファイルを含むメッセージオブジェクトです。バイナリデータはcontentエンドポイントから取得できます。
プロパティタイプ説明
id
String
メッセージID
type
String
file
fileName
String
ファイル名
fileSize
Number
ファイルサイズ(バイト)
ファイルメッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "file",
"fileName": "file.txt",
"fileSize": 2138
}
}
位置情報
送信元から送られた位置情報データを含むメッセージオブジェクトです。
プロパティタイプ説明
id
String
メッセージID
type
String
location
title
String
タイトル
address
String
住所
latitude
Decimal
緯度
longitude
Decimal
経度
位置情報メッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "location",
"title": "my location",
"address": "〒150-0002 東京都渋谷区渋谷2丁目21−1",
"latitude": 35.65910807942215,
"longitude": 139.70372892916203
}
}
スタンプ
送信元から送られたスタンプデータを含むメッセージオブジェクトです。 LINEの基本的なスタンプとスタンプIDについては、スタンプリストを参照してください。
プロパティタイプ説明
id
String
メッセージID
type
String
sticker
packageId
String
パッケージID
stickerId
String
スタンプID
スタンプメッセージの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "message",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"message": {
"id": "325708",
"type": "sticker",
"packageId": "1",
"stickerId": "1"
}
}
アカウントが友だち追加またはブロック解除されたことを示すイベントです。フォローイベントには応答できます。
プロパティタイプ説明
type
String
follow
replyToken
String
このイベントへの応答に使用するトークン
フォローイベントの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "follow",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
}
}
アカウントがブロックされたことを示すイベントです。
プロパティタイプ説明
type
String
unfollow
フォロー解除イベントの例
{
"type": "unfollow",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
}
}
アカウントがグループまたはトークルームに参加したことを示すイベントです。参加イベントには応答できます。
参加イベントが送信されるタイミングはグループとトークルームで異なります。
グループの場合:ユーザーがボットを招待したときに送信されます。
トークルームの場合:ボットがトークルームに追加された後で、最初に何らかのイベントが発生したときに送信されます。例えば、ユーザーがメッセージを送ったり、ユーザーがトークルームに追加されたりしたときです。
プロパティタイプ説明
type
String
join
replyToken
String
このイベントへの応答に使用するトークン
参加イベントの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "join",
"timestamp": 1462629479859,
"source": {
"type": "group",
"groupId": "C4af4980629..."
}
}
ユーザーがグループからボットを削除したか、ボットがグループまたはトークルームから退出したことを示すイベントです。
プロパティタイプ説明
type
String
leave
退出イベントの例
{
"type": "leave",
"timestamp": 1462629479859,
"source": {
"type": "group",
"groupId": "C4af4980629..."
}
}
ユーザーが、テンプレートメッセージに関連づけられた、ポストバックを開始するアクションを実行したことを示すイベントオブジェクトです。ポストバックイベントには応答できます。
プロパティタイプ説明
type
String
postback
replyToken
String
このイベントへの応答に使用するトークン
postback.data
String
ポストバックデータ
Object
日時選択アクションを介してユーザーが選択した日時を含むJSONオブジェクト。
日時選択アクションによるポストバックアクションの場合にのみ返されます。
ポストバックイベントの例
{
"type":"postback",
"replyToken":"b60d432864f44d079f6d8efe86cf404b",
"source":{
"userId":"U91eeaf62d...",
"type":"user"
},
"timestamp":1513669370317,
"postback":{
"data":"storeId=12345",
"params":{
"datetime":"2017-12-25T01:00"
}
}
}
postback.paramsオブジェクト
日時選択アクションを介してユーザーが選択した日時を含むオブジェクトです。full-date、time-hour、およびtime-minuteの形式は、RFC3339プロトコルで定義されています。
プロパティ形式説明
date
full-date
ユーザーが選択した日付。dateモードの場合にのみ含まれます。
time
time-hour ":" time-minute
ユーザーが選択した時刻。timeモードの場合にのみ含まれます。
datetime
full-date "T" time-hour ":" time-minute
ユーザーが選択した日付および時刻。datetimeモードの場合にのみ含まれます。
postback.paramsオブジェクトの例
{
"datetime":"2017-12-25T01:00"
}
LINE Beaconデバイスの受信圏をユーザーが出入りしたことを示すイベントオブジェクトです。ビーコンイベントには応答できます。
プロパティタイプ説明
type
String
beacon
replyToken
String
このイベントへの応答に使用するトークン
beacon.hwid
String
検出されたビーコンのハードウェアID
beacon.type
String
ビーコンイベントのタイプ。「ビーコンイベントのタイプ」を参照してください。
beacon.dm
String
検出されたビーコンのデバイスメッセージ。このメッセージは、ボットへの通知を目的としてビーコンにより生成されるデータです。Device messageプロパティをサポートするデバイスからのwebhookにのみ含まれます。
詳しくは、LINE Simple Beaconの仕様を参照してください。
ビーコンイベントのタイプ
beacon.type説明
enter
ユーザーがビーコンの受信圏内に入りました。
leave
【このleaveイベントの利用は非推奨です。】ユーザーがビーコンの受信圏外に出ました。
注:leaveイベントは企業ユーザー様にはご利用いただけません。この機能のご利用をご希望の企業ユーザー様は、LINEの貴社担当者までお問い合わせください。
banner
ユーザーがビーコンバナーをタップしました。
ビーコンバナーの利用をご希望の場合は、LINE Partnerウェブサイトからお問い合わせください。
ビーコンイベントの例
{
"replyToken": "nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"type": "beacon",
"timestamp": 1462629479859,
"source": {
"type": "user",
"userId": "U4af4980629..."
},
"beacon": {
"hwid": "d41d8cd98f",
"type": "enter"
}
}
ユーザーがLINEアカウントとプロバイダーが提供するサービスのアカウントを連携したことを示すイベントオブジェクトです。アカウント連携イベントには応答できます。
連携トークンの期限が切れている、または使用済みの場合は、Webhookイベント自体が送信されず、ユーザーにエラーが表示されます。
プロパティタイプ説明
type
String
accountLink
replyToken
String
このイベントへの応答に使用するトークン。連携に失敗した場合はこの値は含まれません。
link
Object
linkオブジェクト。アカウント連携が成功したかどうかと、プロバイダーのサービスのユーザーIDから生成したノンスが含まれます。
アカウント連携イベントの例
{
"type": "accountLink",
"replyToken": "b60d432864f44d079f6d8efe86cf404b",
"source": {
"userId": "U91eeaf62d...",
"type": "user"
},
"timestamp": 1513669370317,
"link": {
"result": "ok",
"nonce": "xxxxxxxxxxxxxxx"
}
}
linkオブジェクト
プロパティタイプ説明
result
String
連携が成功したかどうかを示す値。以下のどちらかになります。
ok:連携が成功したことを示します。
failed:ユーザーのすり替えなどが原因で、連携が失敗したことを示します。
nonce
String
linkオブジェクトの例
"link": {
"result": "ok",
"nonce": "xxxxxxxxxxxxxxx"
}
注:この方法では、30日間有効な短期のチャネルアクセストークンが発行されます。長期のチャネルアクセストークンを発行するには、コンソールにある[再発行]ボタンを使います(長期のアクセストークンは、公式アカウントまたは特定のLINE@プランをご利用の場合はご利用いただけません)。
短期のチャネルアクセストークンを発行するAPIです。
最大で30件のトークンを発行できます。上限を超過した場合は、発行順に既存のチャネルアクセストークンが取り消されます。
HTTPリクエスト
POST https://api.line.me/v2/oauth/accessToken
リクエストヘッダー
リクエストヘッダー説明
Content-Type
application/x-www-form-urlencoded
リクエストボディ
フィールドタイプ説明
grant_type
String
client_credentials
client_id
String
チャネルID。コンソールで確認できます。
client_secret
String
チャネルシークレット。コンソールで確認できます。
リクエストの例
curl -v -X POST https://api.line.me/v2/oauth/accessToken \
-H "Content-Type:application/x-www-form-urlencoded" \
--data-urlencode 'grant_type=client_credentials' \
--data-urlencode 'client_id={channel ID}' \
--data-urlencode 'client_secret={channel secret}'
レスポンス
HTTPステータスコード200および以下の情報を含むJSONオブジェクトを返します。
プロパティタイプ説明
access_token
String
短期のチャネルアクセストークン。有効期間は30日です。
注:チャネルアクセストークンは更新できません。
expires_in
Number
チャネルアクセストークンが発行されてから有効期限が切れるまでの秒数
token_type
String
Bearer
レスポンスの例
{
"access_token":"W1TeHCgfH2Liwa.....",
"expires_in":2592000,
"token_type":"Bearer"
}
エラーレスポンス
HTTPステータスコード400および以下の情報を含むJSONオブジェクトを返します。
プロパティタイプ説明
error
String
エラーの概要
error_description
String
エラーの内容。特定の状況では返されません。
エラーレスポンスの例
{
"error":"invalid_request",
"error_description":"some parameters missed or invalid"
}
チャネルアクセストークンを取り消すAPIです。
HTTPリクエスト
POST https://api.line.me/v2/oauth/revoke
リクエストヘッダー
リクエストヘッダー説明
Content-Type
application/x-www-form-urlencoded
リクエストボディ
フィールドタイプ説明
access_token
String
チャネルアクセストークン
レスポンス
ステータスコード200および空のレスポンスボディを返します。無効なチャネルアクセストークンを指定した場合はエラーが返りません。
リクエストの例
curl -v -X POST https://api.line.me/v2/oauth/revoke \
-H "Content-Type: application/x-www-form-urlencoded" \
--data-urlencode 'access_token={channel access token}'
エラーレスポンス
HTTPステータスコード400および以下の情報を含むJSONオブジェクトを返します。
プロパティタイプ説明
error
String
エラーの概要
error_description
String
エラーの内容。特定の状況では返されません。
エラーレスポンスの例
{
"error":"invalid_request",
"error_description":"some parameters missed or invalid"
}
ユーザー、グループ、またはトークルームからのイベントに対して応答メッセージを送信するAPIです。
イベントが発生するとwebhookを使って通知されます。応答できるイベントには応答トークンが発行されます。
応答トークンは一定の期間が経過すると無効になるため、メッセージを受信したらすぐに応答を返す必要があります。応答トークンは1回のみ使用できます。
HTTPリクエスト
POST https://api.line.me/v2/bot/message/reply
リクエストヘッダー
リクエストヘッダー説明
Content-Type
application/json
Authorization
Bearer {channel access token}
リクエストボディ
プロパティタイプ必須説明
replyToken
String
必須
Webhookで受信する応答トークン
messages
メッセージオブジェクトの配列
必須
送信するメッセージ
最大件数:5
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/message/reply \
-H 'Content-Type:application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
"replyToken":"nHuyWiB7yP5Zw52FIkcQobQuGDXCTA",
"messages":[
{
"type":"text",
"text":"Hello, user"
},
{
"type":"text",
"text":"May I help you?"
}
]
}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
注:プッシュメッセージは一部のプランでのみご利用いただけます。詳しくは、LINE@サイトを参照してください。
ユーザー、グループ、またはトークルームに、任意のタイミングでプッシュメッセージを送信するAPIです。
HTTPリクエスト
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
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/message/push \
-H 'Content-Type:application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
"to": "U4af4980629...",
"messages":[
{
"type":"text",
"text":"Hello, world1"
},
{
"type":"text",
"text":"Hello, world2"
}
]
}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
注:プッシュメッセージに対応するプランでのみご利用いただけます。詳しくは、LINE@サイトを参照してください。
複数のユーザーに、任意のタイミングでプッシュメッセージを送信するAPIです。グループまたはトークルームにメッセージを送ることはできません。
HTTPリクエスト
POST https://api.line.me/v2/bot/message/multicast
リクエストヘッダー
リクエストヘッダー説明
Content-Type
application/json
Authorization
Bearer {channel access token}
リクエストボディ
プロパティタイプ必須説明
to
文字列の配列
必須
ユーザーIDの配列。Webhookイベントオブジェクトで返されるuserIdの値を使用します。LINEアプリに表示されるLINE IDは使用しないでください。
最大ユーザーID数:150
messages
メッセージオブジェクトの配列
必須
送信するメッセージ
最大件数:5
Flex Messageは送信できません。
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/message/multicast \
-H 'Content-Type:application/json' \
-H 'Authorization: Bearer {channel access token}' \
-d '{
"to": ["U4af4980629...","U0c229f96c4..."],
"messages":[
{
"type":"text",
"text":"Hello, world1"
},
{
"type":"text",
"text":"Hello, world2"
}
]
}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
ユーザーが送信した画像、動画、および音声のデータを取得するAPIです。
HTTPリクエスト
GET https://api.line.me/v2/bot/message/{messageId}/content
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ説明
messageId
メッセージID
レスポンス
ステータスコード200およびコンテンツのバイナリデータを返します。
メッセージが送信されてから一定期間後に、コンテンツは自動的に削除されます。コンテンツの保存期間は保証されません。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/message/{messageId}/content \
-H 'Authorization: Bearer {channel access token}'
ユーザープロフィール情報を取得するAPIです。
HTTPリクエスト
GET https://api.line.me/v2/bot/profile/{userId}
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ説明
userId
webhookイベントオブジェクトで返されるユーザーID。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/profile/{userId} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および以下の情報を含むJSONオブジェクトを返します。
プロパティタイプ説明
displayName
String
表示名
userId
String
ユーザーID
pictureUrl
String
画像のURL
statusMessage
String
ステータスメッセージ
レスポンスの例
{
"displayName":"LINE taro",
"userId":"U4af4980629...",
"pictureUrl":"http://obs.line-apps.com/...",
"statusMessage":"Hello, LINE!"
}
ボットが参加しているグループのメンバーの、ユーザープロフィールを取得するAPIです。ボットを友だちとして追加していないユーザーや、ボットをブロックしているユーザーのプロフィールも取得します。
HTTPリクエスト
GET https://api.line.me/v2/bot/group/{groupId}/member/{userId}
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ説明
groupId
グループID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
userId
ユーザーID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/group/{groupId}/member/{userId} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および以下の情報を含むJSONオブジェクトを返します。
プロパティタイプ説明
displayName
String
表示名
userId
String
ユーザーID
pictureUrl
String
プロフィール画像のURL
レスポンスの例
{
"displayName":"LINE taro",
"userId":"U4af4980629...",
"pictureUrl":"http://obs.line-apps.com/..."
}
注:この機能は認証済みLINE@アカウントまたは公式アカウントのみでご利用いただけます。詳しくは、LINE@サイトの「LINE@アカウントを作成しましょう」ページまたはLINE Partnerサイトを参照してください。
ボットが参加しているグループのメンバーの、ユーザーIDを取得するAPIです。ボットを友だちとして追加していないユーザーや、ボットをブロックしているユーザーのユーザーIDも取得します。
HTTPリクエスト
GET https://api.line.me/v2/bot/group/{groupId}/members/ids
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
groupId
必須
グループID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
クエリパラメータ
パラメータ必須説明
start
任意
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/group/{groupId}/members/ids?start={continuationToken} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および以下のプロパティを含むJSONオブジェクトを返します。
プロパティタイプ説明
memberIds
文字列の配列
グループメンバーのユーザーIDのリスト。memberIdsで返されるユーザーIDの数は可変です。公式アカウントの利用条件に同意していないユーザーは、memberIdsに含まれません。
最大ユーザー数:100
next
String
継続トークン。グループメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。
レスポンスの例
{
"memberIds":[
"U4af4980629...",
"U0c229f96c4...",
"U95afb1d4df..."
],
"next":"jxEWCEEP..."
}
グループから退出するAPIです。
HTTPリクエスト
POST https://api.line.me/v2/bot/group/{groupId}/leave
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ説明
groupId
グループID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/group/{groupId}/leave \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
ボットが参加しているトークルームのメンバーの、ユーザープロフィールを取得するAPIです。ボットを友だちとして追加していないユーザーや、ボットをブロックしているユーザーのプロフィールも取得します。
HTTPリクエスト
GET https://api.line.me/v2/bot/room/{roomId}/member/{userId}
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ説明
roomId
トークルームID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
userId
ユーザーID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/room/{roomId}/member/{userId} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および以下の情報を含むJSONオブジェクトを返します。
プロパティタイプ説明
displayName
String
表示名
userId
String
ユーザーID
pictureUrl
String
プロフィール画像のURL
レスポンスの例
{
"displayName":"LINE taro",
"userId":"U4af4980629...",
"pictureUrl":"http://obs.line-apps.com/..."
}
注:この機能は認証済みLINE@アカウントまたは公式アカウントのみでご利用いただけます。詳しくは、LINE@サイトの「LINE@アカウントを作成しましょう」ページまたはLINE Partnerサイトを参照してください。
ボットが参加しているトークルームのメンバーの、ユーザーIDを取得するAPIです。ボットを友だちとして追加していないユーザーや、ボットをブロックしているユーザーのユーザーIDも取得します。
HTTPリクエスト
GET https://api.line.me/v2/bot/room/{roomId}/members/ids
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
roomId
必須
トークルームID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
クエリパラメータ
パラメータ必須説明
start
任意
継続トークンの値。レスポンスで返されるJSONオブジェクトのnextプロパティに含まれます。1回のリクエストでユーザーIDをすべて取得できない場合は、このパラメータを指定して残りの配列を取得します。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/room/{roomId}/members/ids?start={continuationToken} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および以下のプロパティを含むJSONオブジェクトを返します。
プロパティタイプ説明
memberIds
文字列の配列
トークルームメンバーのユーザーIDのリスト。memberIdsで返されるユーザーIDの数は可変です。公式アカウントの利用条件に同意していないユーザーは、memberIdsに含まれません。
最大ユーザー数:100
next
String
継続トークン。トークルームメンバーのユーザーIDの、次の配列を取得するために使用します。このプロパティは、前回までのレスポンスのmemberIdsで取得しきれなかったユーザーIDがある場合にのみ返されます。
レスポンスの例
{
"memberIds":[
"U4af4980629...",
"U0c229f96c4...",
"U95afb1d4df..."
],
"next":"jxEWCEEP..."
}
トークルームから退出するAPIです。
HTTPリクエスト
POST https://api.line.me/v2/bot/room/{roomId}/leave
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ説明
roomId
トークルームID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/room/{roomId}/leave \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
注:Messaging APIで作成したリッチメニューは、LINE AndroidおよびLINE iOSのバージョン7.14.0以降でサポートされます。
ボットのトーク画面に表示される、カスタマイズ可能なメニューです。詳しくは、「リッチメニューを使う」を参照してください。
IDを指定してリッチメニューを取得するAPIです。
HTTPリクエスト
GET https://api.line.me/v2/bot/richmenu/{richMenuId}
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
richMenuId
必須
アップロードされたリッチメニューのID
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/richmenu/{richMenuId} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200と、リッチメニューレスポンスオブジェクトを含むJSONレスポンスが返されます。
レスポンスの例
{
"richMenuId": "{richMenuId}",
"size": {
"width": 2500,
"height": 1686
},
"selected": false,
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 1686
},
"action": {
"type": "postback"
"data": "action=buy&itemid=123"
}
}
]
}
リッチメニューを作成するAPIです。
リッチメニューを表示するには、リッチメニューの画像をアップロードし、さらにリッチメニューをユーザーとリンクする必要があります。1つのボットに対して最大で1000件のリッチメニューを作成できます。
HTTPリクエスト
POST https://api.line.me/v2/bot/richmenu
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
Content-Type
application/json
リクエストボディ
リッチメニューオブジェクトとして表されるリッチメニューを指定します。
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/richmenu \
-H 'Authorization: Bearer {channel access token}' \
-H 'Content-Type: application/json' \
-d \
'{
"size": {
"width": 2500,
"height": 1686
},
"selected": false,
"name": "Nice richmenu",
"chatBarText": "Tap here",
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 1686
},
"action": {
"type": "postback",
"data": "action=buy&itemid=123"
}
}
]
}'
レスポンス
ステータスコード200およびリッチメニューIDを返します。
レスポンスの例
{
"richMenuId": "{richMenuId}"
}
リッチメニューを削除するAPIです。
HTTPリクエスト
DELETE https://api.line.me/v2/bot/richmenu/{richMenuId}
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
richMenuId
必須
アップロードされたリッチメニューのID
リクエストの例
curl -v -X DELETE https://api.line.me/v2/bot/richmenu/{richMenuId} \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
ユーザーにリンクされたリッチメニューのIDを取得するAPIです。
HTTPリクエスト
GET https://api.line.me/v2/bot/user/{userId}/richmenu
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
userId
必須
ユーザーID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/user/{userId}/richmenu \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200およびリッチメニューIDを表すJSONオブジェクトを返します。
レスポンスの例
{
"richMenuId": "{richMenuId}"
}
リッチメニューとユーザーをリンクするAPIです。複数のリッチメニューを1人のユーザーに同時にリンクすることはできません。
HTTPリクエスト
POST https://api.line.me/v2/bot/user/{userId}/richmenu/{richMenuId}
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
richMenuId
必須
アップロードされたリッチメニューのID
userId
必須
ユーザーID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/user/{userId}/richmenu/{richMenuId} \
-H "Authorization: Bearer {channel access token}" -d ""
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
リッチメニューとユーザーのリンクを解除するAPIです。
HTTPリクエスト
DELETE https://api.line.me/v2/bot/user/{userId}/richmenu
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
userId
必須
ユーザーID。Webhookイベントオブジェクトのsourceオブジェクトで返されます。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -v -X DELETE https://api.line.me/v2/bot/user/{userId}/richmenu \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
リッチメニューの画像をダウンロードするAPIです。
HTTPリクエスト
GET https://api.line.me/v2/bot/richmenu/{richMenuId}/content
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
richMenuId
必須
画像をダウンロードするリッチメニューのID
レスポンス
ステータスコード200およびリッチメニュー画像のバイナリデータを返します。リクエストの例に示すように、画像をダウンロードできます。
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/richmenu/{richMenuId}/content \
-H 'Authorization: Bearer {channel access token}' \
-o picture.jpg
画像をアップロードしてリッチメニューに付加するAPIです。
リッチメニューの画像は以下の要件を満たす必要があります。
画像フォーマット:JPEGまたはPNG
画像サイズ:2500×1686または2500×843ピクセル
最大ファイルサイズ:1MB
注:リッチメニューに付加された画像を置き換えることはできません。リッチメニューの画像を更新するには、新しいリッチメニューオブジェクトを作成して、新しい画像をアップロードします。
HTTPリクエスト
POST https://api.line.me/v2/bot/richmenu/{richMenuId}/content
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
Content-Type
image/jpegまたはimage/png
Content-Length
リクエストボディのオクテット(8ビットバイト)での長さ。正の値である必要があります。
パスパラメータ
パラメータ必須説明
richMenuId
必須
画像を付加するリッチメニューのID
リクエストの例
curl -v -X POST https://api.line.me/v2/bot/richmenu/{richMenuId}/content \
-H "Authorization: Bearer {channel access token}" \
-H "Content-Type: image/jpeg" \
-T image.jpg
レスポンス
ステータスコード200および空のJSONオブジェクトを返します。
レスポンスの例
{}
アップロードされたすべてのリッチメニューを取得するAPIです。
HTTPリクエスト
GET https://api.line.me/v2/bot/richmenu/list
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
リクエストの例
curl -v -X GET https://api.line.me/v2/bot/richmenu/list \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200およびリッチメニューレスポンスオブジェクトのリストを返します。
プロパティタイプ説明
richmenus
Array
レスポンスの例
{
"richmenus": [
{
"richMenuId": "{richMenuId}",
"size": {
"width": 2500,
"height": 1686
},
"selected": false,
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 1686
},
"action": {
"type": "postback"
"data": "action=buy&itemid=123"
}
}
]
}
]
}
送信するメッセージの内容を表すJSONオブジェクトです。
プロパティタイプ必須説明
type
String
必須
text
text
String
必須
メッセージのテキスト。以下の絵文字を含めることができます。
Unicodeで定義された絵文字
LINEが独自に定義した絵文字。LINE独自の絵文字のUnicodeコードポイント表を参照してください。
最大文字数:2000
テキストメッセージの例
{
"type": "text",
"text": "Hello, world"
}
絵文字を含むテキストメッセージの例
{
"type": "text",
"text": "\uDBC0\uDC84 LINE emoji"
}
プロパティタイプ必須説明
type
String
必須
sticker
packageId
String
必須
スタンプセットのパッケージID。パッケージIDについては、スタンプリストを参照してください。
stickerId
String
必須
スタンプID。Messaging APIで送信できるスタンプのスタンプIDについては、スタンプリストを参照してください。
スタンプメッセージの例
{
"type": "sticker",
"packageId": "1",
"stickerId": "1"
}
プロパティタイプ必須説明
type
String
必須
image
originalContentUrl
String
必須
画像のURL(最大文字数:1000)
HTTPS
JPEG
最大画像サイズ:1024×1024
最大ファイルサイズ:1MB
previewImageUrl
String
必須
プレビュー画像のURL(最大文字数:1000)
HTTPS
JPEG
最大画像サイズ:240×240
最大ファイルサイズ:1MB
画像メッセージの例
{
"type": "image",
"originalContentUrl": "https://example.com/original.jpg",
"previewImageUrl": "https://example.com/preview.jpg"
}
プロパティタイプ必須説明
type
String
必須
video
originalContentUrl
String
必須
動画ファイルのURL(最大文字数:1000)
HTTPS
mp4
最大長:1分
最大ファイルサイズ:10MB
一定以上に縦長・横長の動画を送信した場合、一部の環境では動画の一部が欠けて表示される場合があります。
previewImageUrl
String
必須
プレビュー画像のURL(最大文字数:1000)
HTTPS
JPEG
最大画像サイズ:240×240
最大ファイルサイズ:1MB
動画メッセージの例
{
"type": "video",
"originalContentUrl": "https://example.com/original.mp4",
"previewImageUrl": "https://example.com/preview.jpg"
}
プロパティタイプ必須説明
type
String
必須
audio
originalContentUrl
String
必須
音声ファイルのURL(最大文字数:1000)
HTTPS
m4a
最大長:1分
最大ファイルサイズ:10MB
duration
Number
必須
音声ファイルの長さ(ミリ秒)
音声メッセージの例
{
"type": "audio",
"originalContentUrl": "https://example.com/original.m4a",
"duration": 60000
}
プロパティタイプ必須説明
type
String
必須
location
title
String
必須
タイトル
最大文字数:100
address
String
必須
住所
最大文字数:100
latitude
Decimal
必須
緯度
longitude
Decimal
必須
経度
位置情報メッセージの例
{
"type": "location",
"title": "my location",
"address": "〒150-0002 東京都渋谷区渋谷2丁目21−1",
"latitude": 35.65910807942215,
"longitude": 139.70372892916203
}
注:イメージマップメッセージは、以下のバージョンのLINEアプリで対応しています。
iOS版3.9.1以降、Android版3.9.2以降、Windows Phone版3.6.0以降、WindowsおよびMac OS版4.4.1以降
イメージマップは、1つ以上のリンクが設定された画像です。画像全体に1つのリンクを割り当てることも、画像を区切って複数のリンクを割り当てることもできます。
プロパティタイプ必須説明
type
String
必須
imagemap
baseUrl
String
必須
画像のベースURL(最大文字数:1000)
HTTPS
altText
String
必須
代替テキスト
最大文字数:400
baseSize.width
Number
必須
基本画像の幅(px単位)。1040を指定します。
baseSize.height
Number
必須
基本画像の幅を1040pxとした場合の高さ
actions
必須
画像がタップされたときのアクション
最大件数:50
画像の設定方法
イメージマップに使える画像の仕様は以下のとおりです。
画像フォーマット:JPEGまたはPNG
画像の幅:240px、300px、460px、700px、および1040px
データサイズ:最大1MB
5つの異なるサイズの画像を「baseUrl/{画像の幅サイズ}」の形式でアクセスできるようにします。これにより、デバイスに応じて望ましい解像度でLINEアプリに画像がダウンロードされます。
たとえば、ベースURLが以下の場合を考えます。
https://example.com/images/cats
幅が700pxの画像のURLは以下になります。
https://example.com/images/cats/700
イメージマップアクションオブジェクト
イメージマップに設定するアクションとタップ領域を表すオブジェクトです。
領域がタップされると、uriの場合は指定するURIにユーザーがリダイレクトされ、messageの場合は指定するメッセージが送信されます。
2つのタップ領域を持つイメージマップメッセージの例
{
"type": "imagemap",
"baseUrl": "https://example.com/bot/images/rm001",
"altText": "This is an imagemap",
"baseSize": {
"height": 1040,
"width": 1040
},
"actions": [
{
"type": "uri",
"linkUri": "https://example.com/",
"area": {
"x": 0,
"y": 0,
"width": 520,
"height": 1040
}
},
{
"type": "message",
"text": "Hello",
"area": {
"x": 520,
"y": 0,
"width": 520,
"height": 1040
}
}
]
}
イメージマップURIアクションオブジェクト
プロパティタイプ必須説明
type
String
必須
uri
label
String
任意
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:50
LINE iOSのバージョン8.2.0以降でサポートされます。
linkUri
String
必須
ウェブページのURL
最大文字数:1000
area
必須
タップ領域の定義
イメージマップURIアクションオブジェクトの例
{
"type":"uri",
"label":"https://example.com/",
"linkUri":"https://example.com/",
"area":{
"x":0,
"y":0,
"width":520,
"height":1040
}
}
イメージマップメッセージアクションオブジェクト
プロパティタイプ必須説明
type
String
必須
message
label
String
任意
アクションのラベル。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。
最大文字数:50
LINE iOSのバージョン8.2.0以降でサポートされます。
text
String
必須
送信するメッセージ
最大文字数:400
iOSおよびAndroid版のLINEアプリでのみサポートされます。
area
必須
タップ領域の定義
イメージマップメッセージアクションオブジェクトの例
{
"type":"message",
"label":"hello",
"text":"hello",
"area":{
"x":520,
"y":0,
"width":520,
"height":1040
}
}
イメージマップ領域オブジェクト
タップ領域のサイズを表すオブジェクトです。画像の左上が座標の原点です。baseSize.widthプロパティとbaseSize.heightプロパティに基づいて指定します。
プロパティタイプ必須説明
x
Number
必須
領域の左上角からの横方向の相対位置
y
Number
必須
領域の左上角からの縦方向の相対位置
width
Number
必須
タップ領域の幅
height
Number
必須
タップ領域の高さ
イメージマップ領域オブジェクトの例
{
"x":520,
"y":0,
"width":520,
"height":1040
}
注:テンプレートメッセージはiOS版およびAndroid版のLINE 6.7.0以降で対応しています。
テンプレートメッセージは、あらかじめレイアウトが定義されたテンプレートをカスタマイズして構築するメッセージです。詳しくは、「テンプレートメッセージ」を参照してください。
以下のタイプのテンプレートを利用できます。
テンプレートメッセージオブジェクトの共通プロパティ
以下のプロパティは、すべてのテンプレートメッセージオブジェクトで共通です。
プロパティタイプ必須説明
type
String
必須
template
altText
String
必須
代替テキスト
最大文字数:400
template
Object
必須
ボタンテンプレート
画像、タイトル、テキストに加えて、複数のアクションボタンが含まれたテンプレートです。
プロパティタイプ必須説明
type
String
必須
buttons
thumbnailImageUrl
String
任意
画像URL(最大文字数:1000)
HTTPS
JPEGまたはPNG
最大横幅サイズ:1024px
最大ファイルサイズ:1MB
imageAspectRatio
String
任意
画像のアスペクト比。以下のいずれかの値を指定します。
rectangle: 1.51:1
square: 1:1
デフォルト値はrectangleです。
imageSize
String
任意
画像の表示形式。以下のいずれかの値を指定します。
cover:画像領域全体に画像を表示します。画像領域に収まらない部分は切り詰められます。
contain:画像領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。
デフォルト値はcoverです。
imageBackgroundColor
String
任意
画像の背景色。RGB値で設定します。デフォルト値は#FFFFFF(白)です。
title
String
任意
タイトル
最大文字数:40
text
String
必須
メッセージテキスト
画像もタイトルも指定しない場合の最大文字数:160
画像またはタイトルを指定する場合の最大文字数:60
defaultAction
任意
画像、タイトル、テキストの領域全体に対して設定できる、タップされたときのアクション
actions
アクションオブジェクトの配列
必須
タップされたときのアクション
最大件数:4
ボタンテンプレートメッセージには高さに制限があり、textの表示領域がこの制限を超えると、領域の下部が切り詰められます。このため、メッセージのテキストが最大文字数以内であっても、文字幅によっては完全に表示されない可能性があります。
ボタンテンプレートメッセージの例
{
"type": "template",
"altText": "This is a buttons template",
"template": {
"type": "buttons",
"thumbnailImageUrl": "https://example.com/bot/images/image.jpg",
"imageAspectRatio": "rectangle",
"imageSize": "cover",
"imageBackgroundColor": "#FFFFFF",
"title": "Menu",
"text": "Please select",
"defaultAction": {
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/123"
},
"actions": [
{
"type": "postback",
"label": "Buy",
"data": "action=buy&itemid=123"
},
{
"type": "postback",
"label": "Add to cart",
"data": "action=add&itemid=123"
},
{
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/123"
}
]
}
}
確認テンプレート
2つのアクションボタンを表示するテンプレートです。
プロパティタイプ必須説明
type
String
必須
confirm
text
String
必須
メッセージのテキスト
最大文字数:240
actions
アクションオブジェクトの配列
必須
タップされたときのアクション
2つのボタンに1つずつアクションを設定します。
確認テンプレートメッセージには高さに制限があり、textの表示領域がこの制限を超えると、領域の下部が切り詰められます。このため、メッセージのテキストが最大文字数以内であっても、文字幅によっては完全に表示されない可能性があります。
確認テンプレートメッセージの例
{
"type": "template",
"altText": "this is a confirm template",
"template": {
"type": "confirm",
"text": "Are you sure?",
"actions": [
{
"type": "message",
"label": "Yes",
"text": "yes"
},
{
"type": "message",
"label": "No",
"text": "no"
}
]
}
}
カルーセルテンプレート
複数のカラムを表示するテンプレートです。カラムは横にスクロールして順番に表示できます。
プロパティタイプ必須説明
type
String
必須
carousel
columns
カラムオブジェクトの配列
必須
カラムの配列
最大カラム数:10
imageAspectRatio
String
任意
画像のアスペクト比。以下のいずれかの値を指定します。
rectangle: 1.51:1
square: 1:1
すべてのカラムに適用されます。デフォルト値はrectangleです。
imageSize
String
任意
画像の表示形式。以下のいずれかの値を指定します。
cover:画像領域全体に画像を表示します。画像領域に収まらない部分は切り詰められます。
contain:画像領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。
すべてのカラムに適用されます。デフォルト値はcoverです。
カルーセルのカラムオブジェクト
プロパティタイプ必須説明
thumbnailImageUrl
String
任意
画像URL(最大文字数:1000)
HTTPS
JPEGまたはPNG
縦横比:1:1.51
最大横幅サイズ:1024px
最大ファイルサイズ:1MB
imageBackgroundColor
String
任意
画像の背景色。RGB値で設定します。デフォルト値は#FFFFFF(白)です。
title
String
任意
タイトル
最大文字数:40
text
String
必須
メッセージテキスト
画像もタイトルも指定しない場合の最大文字数:120
画像またはタイトルを指定する場合の最大文字数:60
defaultAction
任意
画像、タイトル、テキストの領域全体に対して設定できる、タップされたときのアクション
actions
アクションオブジェクトの配列
必須
タップされたときのアクション
最大件数:3
カルーセルテンプレートメッセージには高さに制限があり、textの表示領域がこの制限を超えると、領域の下部が切り詰められます。このため、メッセージのテキストが最大文字数以内であっても、文字幅によっては完全に表示されない可能性があります。
各カラムのアクションの数は同じにします。画像またはタイトルの有無も、各カラムで統一してください。
カルーセルテンプレートメッセージの例
{
"type": "template",
"altText": "this is a carousel template",
"template": {
"type": "carousel",
"columns": [
{
"thumbnailImageUrl": "https://example.com/bot/images/item1.jpg",
"imageBackgroundColor": "#FFFFFF",
"title": "this is menu",
"text": "description",
"defaultAction": {
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/123"
},
"actions": [
{
"type": "postback",
"label": "Buy",
"data": "action=buy&itemid=111"
},
{
"type": "postback",
"label": "Add to cart",
"data": "action=add&itemid=111"
},
{
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/111"
}
]
},
{
"thumbnailImageUrl": "https://example.com/bot/images/item2.jpg",
"imageBackgroundColor": "#000000",
"title": "this is menu",
"text": "description",
"defaultAction": {
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/222"
},
"actions": [
{
"type": "postback",
"label": "Buy",
"data": "action=buy&itemid=222"
},
{
"type": "postback",
"label": "Add to cart",
"data": "action=add&itemid=222"
},
{
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/222"
}
]
}
],
"imageAspectRatio": "rectangle",
"imageSize": "cover"
}
}
画像カルーセルテンプレート
複数の画像を表示するテンプレートです。画像は横にスクロールして順番に表示できます。
プロパティタイプ必須説明
type
String
必須
image_carousel
columns
カラムオブジェクトの配列
必須
カラムの配列
最大カラム数:10
画像カルーセルのカラムオブジェクト
プロパティタイプ必須説明
imageUrl
String
必須
画像URL(最大文字数:1000)
HTTPS
JPEGまたはPNG
縦横比:1:1
最大横幅サイズ:1024px
最大ファイルサイズ:1MB
action
必須
画像がタップされたときのアクション
画像カルーセルテンプレートメッセージの例
{
"type": "template",
"altText": "this is a image carousel template",
"template": {
"type": "image_carousel",
"columns": [
{
"imageUrl": "https://example.com/bot/images/item1.jpg",
"action": {
"type": "postback",
"label": "Buy",
"data": "action=buy&itemid=111"
}
},
{
"imageUrl": "https://example.com/bot/images/item2.jpg",
"action": {
"type": "message",
"label": "Yes",
"text": "yes"
}
},
{
"imageUrl": "https://example.com/bot/images/item3.jpg",
"action": {
"type": "uri",
"label": "View detail",
"uri": "http://example.com/page/222"
}
}
]
}
}
注:Flex MessageはiOS版およびAndroid版のLINE 6.7.0以降で対応しています。
Flex Messageは、複数の要素を組み合わせてレイアウトを自由にカスタマイズできるメッセージです。詳しくは、「Flex Messageを使う」を参照してください。
プロパティタイプ必須説明
type
String
必須
flex
altText
String
必須
代替テキスト
最大文字数:400
contents
Object
必須
Flex Messageのコンテナオブジェクト
コンテナ
コンテナはFlex Messageの最上位の構造です。以下のタイプのコンテナを利用できます。
コンテナのJSONデータのサンプルや用途については、「Flex Messageの要素」を参照してください。
Flex Messageの例
{
"type": "flex",
"altText": "this is a flex message",
"contents": {
"type": "bubble",
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"text": "hello"
},
{
"type": "text",
"text": "world"
}
]
}
}
}
バブルコンテナ
1つのメッセージバブルを構成するコンテナです。ヘッダー、ヒーロー、ボディ、およびフッターの4つのブロックを含めることができます。各ブロックの用途について詳しくは、「ブロック」を参照してください。
プロパティタイプ必須説明
type
String
必須
bubble
direction
String
任意
テキストの書字方向および水平ボックス内のコンポーネントの並び順。以下のいずれかの値を指定します。
ltr:左から右
rtl:右から左
デフォルト値はltrです。
header
Object
任意
ヘッダーブロック。ボックスコンポーネントを指定します。
hero
Object
任意
ヒーローブロック。画像コンポーネントを指定します。
body
Object
任意
ボディブロック。ボックスコンポーネントを指定します。
footer
Object
任意
フッターブロック。ボックスコンポーネントを指定します。
styles
Object
任意
各ブロックのスタイル。バブルスタイルオブジェクトを指定します。詳しくは、「ブロックのスタイルを定義するオブジェクト」を参照してください。
バブルコンテナの例
{
"type": "bubble",
"header": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"text": "Header text"
}
]
},
"hero": {
"type": "image",
"url": "https://example.com/flex/images/image.jpg",
},
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"text": "Body text",
}
]
},
"footer": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"text": "Footer text",
}
]
},
"styles": {
"comment": "See the example of a bubble style object"
}
}
ブロックのスタイルを定義するオブジェクト
バブル内のブロックのスタイルは、以下の2つのオブジェクトを使って定義します。
バブルスタイル
プロパティタイプ必須説明
header
ブロックスタイルオブジェクト
任意
ヘッダーブロックのスタイル
hero
ブロックスタイルオブジェクト
任意
ヒーローブロックのスタイル
body
ブロックスタイルオブジェクト
任意
ボディブロックのスタイル
footer
ブロックスタイルオブジェクト
任意
フッターブロックのスタイル
ブロックスタイル
プロパティタイプ必須説明
backgroundColor
String
任意
ブロックの背景色。16進数カラーコードで設定します。
separator
Boolean
任意
ブロックの上にセパレータを配置するかどうかを指定します。先頭のブロックの上にはセパレータを配置できないため、trueを設定しても無視されます。デフォルト値はfalseです。
separatorColor
String
任意
セパレータの色。16進数カラーコードで設定します。
バブルスタイルオブジェクトとブロックスタイルオブジェクトの例
"styles": {
"header": {
"backgroundColor": "#00ffff"
},
"hero": {
"separator": true,
"separatorColor": "#000000"
},
"footer": {
"backgroundColor": "#00ffff",
"separator": true,
"separatorColor": "#000000"
}
}
カルーセルコンテナ
複数のバブルコンテナ、つまり複数のメッセージバブルを構成するコンテナです。バブルは横にスクロールして順番に表示できます。
プロパティタイプ必須説明
type
String
必須
carousel
contents
バブルコンテナの配列
必須
最大バブル数:10
バブルコンテナにボディブロックがある場合は、そのバブルコンテナがカルーセルで最大の高さを持つバブルコンテナと同じ高さになるように、ボディブロックが伸長します。
コンポーネント
コンポーネントはFlex Messageのコンテナを構成するオブジェクトです。以下のタイプのコンポーネントを利用できます。
各コンポーネントのJSONデータのサンプルや用途については、「Flex Messageの要素」および「Flex Messageのレイアウト」を参照してください。
カルーセルコンテナの例
{
"type": "carousel",
"contents": [
{
"type": "bubble",
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"text": "First bubble"
}
]
}
},
{
"type": "bubble",
"body": {
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "text",
"text": "Second bubble"
}
]
}
}
]
}
ボックスコンポーネント
子要素のレイアウトを定義するコンポーネントです。ボックスにボックスを含めることもできます。
プロパティタイプ必須説明
type
String
必須
box
layout
String
必須
このボックス内のコンポーネントの配置スタイル。以下のいずれかの値を指定します。
horizontal:コンポーネントを水平に配置します。並び順はバブルコンテナのdirectionプロパティで指定します。
vertical:コンポーネントを上から下に向かって垂直に配置します。
baseline:horizontalを指定した場合と同様にコンポーネントを配置します。ただし、各コンポーネントのベースラインを揃えて配置する点が異なります。
詳しくは、「ボックスレイアウトの種類」を参照してください。
contents
Objectの配列
必須
このボックス内のコンポーネント。以下のコンポーネントを指定できます。
flex
Number
任意
親ボックス内での、このボックスの幅または高さの比率。水平ボックス内でのデフォルト値は1、垂直ボックス内でのデフォルト値は0です。詳しくは、「コンポーネントの幅と高さ」を参照してください。
spacing
String
任意
このボックス内のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値はnoneです。
特定のコンポーネントについてこの設定を上書きするには、そのコンポーネントでmarginプロパティを設定します。
margin
String
任意
親ボックス内での、このボックスと前のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値は親ボックスのspacingプロパティの値です。
このボックスが先頭である場合、marginプロパティを設定しても無視されます。
ボックスコンポーネントの例
{
"type": "box",
"layout": "vertical",
"contents": [
{
"type": "image",
"url": "https://example.com/flex/images/image.jpg",
},
{
"type": "separator",
},
{
"type": "text",
"text": "Text in the box"
}
]
}
ボタンコンポーネント
ボタンを描画するコンポーネントです。ユーザーがタップすると、指定したアクションが実行されます。
プロパティタイプ必須説明
type
String
必須
button
action
Object
必須
タップされたときのアクション。アクションオブジェクトを指定します。
flex
Number
任意
親ボックス内での、このコンポーネントの幅または高さの比率。水平ボックス内でのデフォルト値は1、垂直ボックス内でのデフォルト値は0です。詳しくは、「コンポーネントの幅と高さ」を参照してください。
margin
String
任意
親ボックス内での、このコンポーネントと前のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値は親ボックスのspacingプロパティの値です。
このコンポーネントが先頭である場合、marginプロパティを設定しても無視されます。
height
String
任意
ボタンの高さ。smまたはmdのいずれかの値を指定できます。デフォルト値はmdです。
style
String
任意
ボタンの表示形式。以下のいずれかの値を指定します。
link:HTMLのリンクのスタイル
primary:濃色のボタン向けのスタイル
secondary:淡色のボタン向けのスタイル
デフォルト値はlinkです。
color
String
任意
styleプロパティがlinkの場合は文字の色、primaryまたはsecondaryの場合は背景色です。16進数カラーコードで設定します。
gravity
String
任意
垂直方向の配置スタイル。以下のいずれかの値を指定します。
top:上揃え
bottom:下揃え
center:中央揃え
デフォルト値はtopです。
親ボックスのlayoutプロパティがbaselineの場合、gravityプロパティを設定しても無視されます。
ボタンコンポーネントの例
{
"type": "button",
"action": {
"type": "uri",
"label": "Tap me",
"uri": "https://example.com"
}
"style": "primary",
"color": "#0000ff"
}
フィラーコンポーネント
コンポーネントの間の余白を埋めるための不可視のコンポーネントです。
プロパティタイプ必須説明
type
String
必須
filler
フィラーのflexプロパティの値は、1に固定されます。
フィラーでは親ボックスのspacingプロパティが無視されます。
フィラーコンポーネントの例
{
"type": "filler"
}
アイコンコンポーネント
アイコンを描画するコンポーネントです。
プロパティタイプ必須説明
type
String
必須
icon
url
String
必須
画像のURL
プロトコル:HTTPS
画像フォーマット:JPEGまたはPNG
最大画像サイズ:240×240px
最大データサイズ:1MB
margin
String
任意
親ボックス内での、このコンポーネントと前のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値は親ボックスのspacingプロパティの値です。
このコンポーネントが先頭である場合、marginプロパティを設定しても無視されます。
size
String
任意
アイコンの幅の最大サイズ。xxs、 xs、 sm、 md、 lg、 xl、 xxl、 3xl、 4xl、 5xlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。
aspectRatio
String
任意
アイコンのアスペクト比。1:1、2:1、3:1のいずれかの値を指定できます。デフォルト値は1:1です。
アイコンのflexプロパティの値は、0に固定されます。
アイコンコンポーネントの例
{
"type": "icon",
"url": "https://example.com/icon/png/caution.png",
"size": "lg"
}
画像コンポーネント
画像を描画するコンポーネントです。
プロパティタイプ必須説明
type
String
必須
image
url
String
必須
画像のURL
プロトコル:HTTPS
画像フォーマット:JPEGまたはPNG
最大画像サイズ:1024×1024px
最大データサイズ:1MB
flex
Number
任意
親ボックス内での、このコンポーネントの幅または高さの比率。水平ボックス内でのデフォルト値は1、垂直ボックス内でのデフォルト値は0です。詳しくは、「コンポーネントの幅と高さ」を参照してください。
margin
String
任意
親ボックス内での、このコンポーネントと前のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値は親ボックスのspacingプロパティの値です。
このコンポーネントが先頭である場合、marginプロパティを設定しても無視されます。
align
String
任意
水平方向の配置スタイル。以下のいずれかの値を指定します。
start:左揃え
end:右揃え
center:中央揃え
デフォルト値はcenterです。
gravity
String
任意
垂直方向の配置スタイル。以下のいずれかの値を指定します。
top:上揃え
bottom:下揃え
center:中央揃え
デフォルト値はtopです。
親ボックスのlayoutプロパティがbaselineの場合、gravityプロパティを設定しても無視されます。
size
String
任意
画像の幅の最大サイズ。xxs、 xs、 sm、 md、 lg、 xl、 xxl、 3xl、 4xl、 5xl、 fullのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。
aspectRatio
String
任意
画像のアスペクト比。1:1、 1.51:1、 1.91:1、 4:3、 16:9、 20:13、 2:1、 3:1、 3:4、 9:16、 1:2、 1:3のいずれかの値を指定できます。デフォルト値は1:1です。
aspectMode
String
任意
画像の表示形式。以下のいずれかの値を指定します。
cover:描画領域全体に画像を表示します。描画領域に収まらない部分は切り詰められます。
fit:描画領域に画像全体を表示します。縦長の画像では左右に、横長の画像では上下に余白が表示されます。
デフォルト値はfitです。
backgroundColor
String
任意
画像の背景色。16進数カラーコードで設定します。
action
Object
任意
タップされたときのアクション。アクションオブジェクトを指定します。
画像コンポーネントの例
{
"type": "image",
"url": "https://example.com/flex/images/image.jpg",
"size": "full"
}
セパレータコンポーネント
親ボックス内のコンポーネントの間に境界線を描画するコンポーネントです。
プロパティタイプ必須説明
type
String
必須
separator
margin
String
任意
親ボックス内での、このコンポーネントと前のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値は親ボックスのspacingプロパティの値です。
このコンポーネントが先頭である場合、marginプロパティを設定しても無視されます。
color
String
任意
セパレータの色。16進数カラーコードで設定します。
セパレータコンポーネントの例
{
"type": "separator",
"color": "#000000"
}
スペーサーコンポーネント
ボックス内の先頭または末尾に固定サイズのスペースを配置する不可視のコンポーネントです。
プロパティタイプ必須説明
type
String
必須
spacer
size
String
必須
スペースのサイズ。xs、sm、md、lg、xl、xxlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。
スペーサーでは親ボックスのspacingプロパティが無視されます。
スペーサーコンポーネントの例
{
"type": "spacer",
"size": "md"
}
テキストコンポーネント
テキストを描画するコンポーネントです。テキストに書式を設定できます。
プロパティタイプ必須説明
type
String
必須
text
text
String
必須
テキスト
flex
Number
任意
親ボックス内での、このコンポーネントの幅または高さの比率。水平ボックス内でのデフォルト値は1、垂直ボックス内でのデフォルト値は0です。詳しくは、「コンポーネントの幅と高さ」を参照してください。
margin
String
任意
親ボックス内での、このコンポーネントと前のコンポーネントの間の最小スペース。none、 xs、 sm、 md、 lg、 xl、 xxlのいずれかの値を指定できます。noneではスペースが設定されず、それ以外は列挙した順にサイズが大きくなります。デフォルト値は親ボックスのspacingプロパティの値です。
このコンポーネントが先頭である場合、marginプロパティを設定しても無視されます。
size
String
任意
フォントサイズ。xxs、 xs、 sm、 md、 lg、 xl、 xxl、 3xl、 4xl、 5xlのいずれかの値を指定できます。列挙した順にサイズが大きくなります。デフォルト値はmdです。
align
String
任意
水平方向の配置スタイル。以下のいずれかの値を指定します。
start:左揃え
end:右揃え
center:中央揃え
デフォルト値はstartです。
gravity
String
任意
垂直方向の配置スタイル。以下のいずれかの値を指定します。
top:上揃え
bottom:下揃え
center:中央揃え
デフォルト値はtopです。
親ボックスのlayoutプロパティがbaselineの場合、gravityプロパティを設定しても無視されます。
wrap
Boolean
任意
文字列を折り返すかどうかを指定します。デフォルト値はfalseです。trueに設定した場合、改行文字(\n)を使って改行できます。
weight
String
任意
フォントの太さ。regular、boldのいずれかの値を指定できます。boldを指定すると太字になります。デフォルト値はregularです。
color
String
任意
フォントの色。16進数カラーコードで設定します。
action
Object
任意
タップされたときのアクション。アクションオブジェクトを指定します。
テキストコンポーネントの例
{
"type": "text",
"text": "Hello, World!",
"size": "xl",
"weight": "bold",
"color": "#0000ff"
}
アカウント連携で使用する連携トークンを発行するAPIです。
HTTPリクエスト
POST https://api.line.me/v2/bot/user/{userId}/linkToken
リクエストヘッダー
リクエストヘッダー説明
Authorization
Bearer {channel access token}
パスパラメータ
パラメータ必須説明
userId
必須
連携対象のLINEアカウントのユーザーID。アカウント連携イベントオブジェクトのsourceオブジェクトで返されます。LINEアプリに表示されるLINE IDは使用しないでください。
リクエストの例
curl -X POST https://api.line.me/v2/bot/user/{userId}/linkToken \
-H 'Authorization: Bearer {channel access token}'
レスポンス
ステータスコード200および連携トークンを返します。連携トークンの有効期間は10分で、1回のみ使用できます。
注:有効期間は予告なく変わる可能性があります。
レスポンスの例
{
"linkToken": "NMZTNuVrPTqlr2IF8Bnymkb7rXfYv5EY"
}
このアクションが関連づけられたコントロールがタップされると、dataプロパティに指定された文字列を含むポストバックイベントが、webhookを介して返されます。
プロパティタイプ必須説明
type
String
必須
postback
label
String
説明を参照
アクションのラベル
画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。LINE iOSのバージョン8.2.0以降でサポートされます。
data
String
必須
Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列
最大文字数:300
displayText
String
任意
アクションの実行時に、ユーザーのメッセージとしてLINEアプリのトーク画面に表示されるテキスト
最大文字数:300
displayTextフィールドとtextフィールドは、同時に設定できません。
text
String
任意
非推奨。アクションの実行時に、ユーザーのメッセージとしてLINEアプリのトーク画面に表示されるテキスト。Webhookを介してサーバーに返されます。
最大文字数:300
displayTextフィールドとtextフィールドは、同時に設定できません。
ポストバックアクションオブジェクトの例
{
"type":"postback",
"label":"Buy",
"data":"action=buy&itemid=111",
"text":"Buy"
}
このアクションが関連づけられたコントロールがタップされると、textプロパティの文字列がユーザーからのメッセージとして送信されます。
プロパティタイプ必須説明
type
String
必須
message
label
String
説明を参照
アクションのラベル
画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。LINE iOSのバージョン8.2.0以降でサポートされます。
text
String
必須
アクションの実行時に送信されるテキスト
最大文字数:300
メッセージアクションオブジェクトの例
{
"type":"message",
"label":"Yes",
"text":"Yes"
}
このアクションが関連づけられたコントロールがタップされると、uriプロパティのURIが開きます。
プロパティタイプ必須説明
type
String
必須
uri
label
String
説明を参照
アクションのラベル
画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。LINE iOSのバージョン8.2.0以降でサポートされます。
uri
String
必須
アクションの実行時に開かれるURI(最大文字数:1000)
http、https、またはtelで始める必要があります。
URIアクションオブジェクトの例
{
"type":"uri",
"label":"View details",
"uri":"http://example.com/page/222"
}
注:日時選択アクションは、iOS版LINE 7.9.0およびAndroid版LINE 7.12.0以降で利用できます。
このアクションが関連づけられたコントロールがタップされると、日時選択ダイアログでユーザーが選択した日時を含むポストバックイベントが、webhookを介して返されます。日時選択アクションはタイムゾーンの違いに対応していません。
プロパティタイプ必須説明
type
String
必須
datetimepicker
label
String
説明を参照
アクションのラベル
画像カルーセル以外のテンプレートメッセージには必須です。最大文字数:20
画像カルーセルテンプレートメッセージでは省略可能です。最大文字数:12
リッチメニューでは省略可能です。ユーザーデバイスのアクセシビリティ機能が有効な場合に読み上げられます。最大文字数:20。LINE iOSのバージョン8.2.0以降でサポートされます。
data
String
必須
Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列
最大文字数:300
mode
String
必須
アクションモード
date:日付を選択します。
time:時刻を選択します。
datetime:日付と日時を選択します。
initial
String
任意
日付または時刻の初期値
max
String
任意
選択可能な日付または時刻の最大値。minの値より大きい必要があります。
min
String
任意
選択可能な日付または時刻の最小値。maxの値より小さい必要があります。
日付と日時の形式
initial、max、およびminの値の日付と日時の形式は以下のとおりです。full-date、time-hour、およびtime-minuteの形式は、RFC3339プロトコルで定義されています。
モード形式例
date
full-date
最大値:2100-12-31
最小値:1900-01-01
2017-06-18
time
time-hour:time-minute
最大値:23:59
最小値:00:00
00:00
06:15
23:59
datetime
full-dateTtime-hour:time-minuteまたはfull-datettime-hour:time-minute
最大値:2100-12-31T23:59
最小値:1900-01-01T00:00
2017-06-18T06:15
2017-06-18t06:15
日時選択アクションオブジェクトの例
{
"type":"datetimepicker",
"label":"Select date",
"data":"storeId=12345",
"mode":"datetime",
"initial":"2017-12-25t00:00",
"max":"2018-01-24t23:59",
"min":"2017-12-25t00:00"
}
リッチメニューは以下のどちらかのオブジェクトで表されます。
リッチメニューIDを含まないリッチメニューオブジェクト。リッチメニューの作成時にこのオブジェクトを使用します。
リッチメニューIDを含むリッチメニューレスポンスオブジェクト。リッチメニューの取得時またはリッチメニューのリストの取得時にこのオブジェクトが返されます。
これらのオブジェクトは領域オブジェクトとアクションオブジェクトから構成されます。
プロパティタイプ必須説明
size
Object
必須
sizeオブジェクト。トークルームに表示されるリッチメニューの幅と高さを表します。使用できるリッチメニューの画像サイズは2500×1686pxまたは2500×843pxです。
selected
Boolean
必須
デフォルトでリッチメニューを表示する場合はtrueです。そうでなければfalseです。
name
String
必須
リッチメニューの名前。リッチメニューの管理に役立ちます。ユーザーには表示されません。
最大文字数:300
chatBarText
String
必須
トークルームメニューに表示されるテキストです。
最大文字数:14
areas
Array
必須
タップ領域の座標とサイズを定義する、領域オブジェクトの配列。
最大領域オブジェクト数:20
リッチメニューオブジェクトの例
{
"size": {
"width": 2500,
"height": 1686
},
"selected": false,
"name": "Nice richmenu",
"chatBarText": "Tap to open",
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 1686
},
"action": {
"type": "postback",
"data": "action=buy&itemid=123"
}
}
]
}
プロパティタイプ説明
richMenuId
String
リッチメニューID
size
Object
sizeオブジェクト。トークルームに表示されるリッチメニューの幅と高さを表します。使用できるリッチメニューの画像サイズは2500×1686pxまたは2500×843pxです。
selected
Boolean
デフォルトでリッチメニューを表示する場合はtrueです。そうでなければfalseです。
name
String
リッチメニューの名前。リッチメニューの管理に役立ちます。ユーザーには表示されません。
最大文字数:300
chatBarText
String
トークルームメニューに表示されるテキストです。
最大文字数:14
areas
Array
タップ領域の座標とサイズを定義する、領域オブジェクトの配列。
最大領域オブジェクト数:20
リッチメニューレスポンスオブジェクトの例
{
"richMenuId": "{richMenuId}",
"size": {
"width": 2500,
"height": 1686
},
"selected": false,
"name": "Nice richmenu",
"chatBarText": "Tap to open",
"areas": [
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 1686
},
"action": {
"type": "postback",
"label":"Buy",
"data": "action=buy&itemid=123"
}
}
]
}
sizeオブジェクト
プロパティタイプ必須説明
width
Number
必須
リッチメニューの幅。2500である必要があります。
height
Number
必須
リッチメニューの高さ。1686または843である必要があります。
sizeオブジェクトの例
{
"width":520,
"height":1040
}
領域オブジェクト
プロパティタイプ必須説明
bounds
Object
必須
領域の境界をピクセルで表すオブジェクト。「boundsオブジェクト」を参照してください。
action
Object
必須
領域がタップされたときに実行されるアクション。「アクションオブジェクト」を参照してください。
領域オブジェクトの例
{
"bounds": {
"x": 0,
"y": 0,
"width": 2500,
"height": 1686
},
"action": {
"type": "postback",
"label":"Buy",
"data": "action=buy&itemid=123"
}
}
boundsオブジェクト
プロパティタイプ必須説明
x
Number
必須
領域の左上角からの横方向の相対位置
y
Number
必須
領域の左上角からの縦方向の相対位置
width
Number
必須
領域の幅
height
Number
必須
領域の高さ
boundsオブジェクトの例
{
"x":0,
"y":0,
"width":2500,
"height":1686
}
LINE Corporation
日本語 English