LINE Messaging APIのテンプレートメッセージをまとめてみる(アクションオブジェクト編)
こんにちは、中村です。
前回に引き続きLINE Messaging APIの話です。
ちなみに前回はこちら↓
今回は、アクションオブジェクトをまとめます。
アクションオブジェクトには、ユーザーがメッセージ内のボタンや画像をタップした時に実行できるアクションを設定できます。
メッセージアクション
アクションが設定されたコントロールがタップされると、textプロパティの文字列がユーザーから送信されます。
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
type | string | 必須 | message |
label | string | 要説明参照 | アクションのラベル
LINE iOSのバージョン8.2.0以降でサポートされます。 |
text | string | 必須 | アクション実行時に送信されるテキスト。(最大文字数:300) |
実際の表示
JSONサンプル
{ "type":"message", "label":"Yes", "text":"Yes" }
URIアクション
アクションが設定されたコントロールがタップされると、uriプロパティのURIが開きます。
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
type | string | 必須 | uri |
label | string | 要説明参照 | アクションのラベル
LINE iOSのバージョン8.2.0以降でサポートされます。 |
uri | string | 必須 | アクションの実行時に開かれるURI
|
実際の表示
JSONサンプル
{ "type":"uri", "label":"Webを見る", "uri":"https://classmethod.jp/" }
ポストバックアクション
アクションが設定されたコントロールがタップされると、dataプロパティに指定された文字列を含むポストバックイベントが、webhookを介して返されます。
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
type | string | 必須 | postback |
label | string | 要説明参照 | アクションのラベル
LINE iOSのバージョン8.2.0以降でサポートされます。 |
data | string | 必須 | Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列。(最大文字数:300) |
displayText | string | 任意 | アクションの実行時に、ユーザーのメッセージとしてLINEアプリのトーク画面に表示されるテキスト。displayTextフィールドとtextフィールドは、同時に設定できません。(最大文字数:300) |
text | string | 任意 | 非推奨。アクションの実行時に、ユーザーのメッセージとしてLINEアプリのトーク画面に表示されるテキスト。Webhookを介してサーバーに返されます。displayTextフィールドとtextフィールドは、同時に設定できません。(最大文字数:300) |
実際の表示
JSONサンプル
{ "type":"postback", "label":"store", "data":"action=store&storeId=000000", "displayText":"000000" }
日時選択アクション
アクションが設定されたコントロールがタップされると、日時選択ダイアログでユーザーが選択した日時を含むポストバックイベントが、webhookを介して返されます。
日時選択アクションはタイムゾーンの違いに対応していません。
iOS版LINE 7.9.0およびAndroid版LINE 7.12.0以降で利用できます。
プロパティ | タイプ | 必須 | 説明 |
---|---|---|---|
type | string | 必須 | datetimepicker |
label | string | 要説明参照 | アクションのラベル
LINE iOSのバージョン8.2.0以降でサポートされます。 |
data | string | 必須 | Webhookを介して、ポストバックイベントのpostback.dataプロパティで返される文字列。(最大文字数:300) |
mode | string | 必須 | アクションモード
|
initial | string | 任意 | 日付または時刻の初期値 |
max | string | 任意 | 選択可能な日付または時刻の最大値。minの値より大きい必要あり。 |
min | string | 任意 | 選択可能な日付または時刻の最小値。maxの値より小さい必要あり。 |
実際の表示
JSONサンプル
{ "type":"datetimepicker", "label":"Select date", "data":"action=date", "mode":"datetime" }
日時の形式
RFC3339プロトコルで定義
モード | 形式 |
---|---|
date | full-date
|
time | time-hour:time-minute
|
datetime | full-dateTtime-hour:time-minuteまたはfull-dateTtime-hour:time-minute
|
まとめ
前回に引き続きまとめでしたが、いかがでしょうか。
今後もまとめつつ実際の活用方法も書いていけたらいいと思います。