メッセージ・モデル
ヘッドレス・モードやデリゲートなどの機能を使用するには、ユーザー・メッセージとスキル・メッセージの両方を理解する必要があります。Oracle Chat Serverで送受信されたものは、すべてユーザーからスキルに送信されたメッセージ、またはスキルからユーザーに送信されたメッセージとして表されます。
アクション
アクションは、ユーザーが選択できる内容を表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
アクション・タイプ | string | はい |
label |
アクションの説明的なラベル。 | string | 少なくとも1つのlabel またはimageUrl が存在する必要があります。
|
imageUrl |
アクションのイメージ | string | 少なくとも1つのlabel またはimageUrl が存在する必要があります。
|
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
PostbackAction
ユーザーがアクションを選択すると、事前定義済のポストバックがスキルに送信されます。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
アクション・タイプ | "postback" |
はい |
postback |
ユーザーがアクションを選択すると返されるポストバック。 | 文字列またはJSONObject | はい |
{
"type": "postback",
"label": "Large Pizza",
"imageUrl": "https://example.com/images/gallery/locations/11.jpg",
"postback": {
"state": "askSize",
"action": "getCrust"
}
}
CallAction
ユーザーのかわりに、指定された電話番号を呼び出すようクライアントにリクエストします。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
アクション・タイプ | "call" | はい |
phoneNumber |
呼び出す電話番号 | string | はい |
{
"type": "call",
"label": "Call Support",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"phoneNumber": "18005555555"
}
urlAction
新しいタブまたはアプリ内ブラウザでWebサイトを開くようクライアントにリクエストします。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
アクション・タイプ | "call" | はい |
URL |
表示されるWebサイトのURL。 | string | はい |
例:
{
"type": "url",
"label": "Open URL",
"imageUrl": "http://example.com.ar/files/2016/05/cuidado.jpg",
"url": "https://example.com/images/gallery/locations/11.jpg",
}
SubmitFormAction
このアクションは、入力フォームがクライアント側の検証を満たしたときにスキルに送信するために使用されます。Actionプロパティーに次のプロパティーを追加します。
JSONの例
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
アクション・タイプ | "submitForm" |
はい |
postback |
ポストバック・ペイロード。ナビゲーションをトリガーするアクション・プロファイルが含まれる場合があります。このプロパティの値は、FormSubmissionMessagePayload で設定する必要があります。<<XREF>>
|
JSONObject | いいえ |
{
"type": "submitForm",
"label": "Submit",
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
}
}
添付
ユーザーから送信されたアタッチメントを表します。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
アタッチメント・タイプ | string (有効な値: audio 、file 、image 、video )
|
はい |
url |
アタッチメントのダウンロードURL | string | はい |
title |
アップロードされたファイルの名前 | string | いいえ |
{
"type": "image",
"url": "https://www.oracle.com/us/assets/hp07-oow17-promo-02-3737849.jpg"
}
カード
メッセージ・ペイロード内の1つのカードを表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
title |
カードの最初の行として表示されるカードのタイトル。 | string | はい |
description |
カードの説明 | string | いいえ |
imageUrl |
表示されるイメージのURL。 | string | いいえ |
URL |
タップで開かれるWebサイトのURL。 | string | いいえ |
actions |
テキストに関連するアクションの配列 | array | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
ロケーション
ロケーション・オブジェクトを表します。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
title |
ロケーション・タイトル | string | いいえ |
URL |
マップにロケーションを表示するためのURL | string | いいえ |
latitude |
GPS座標の経度の値 | double | はい |
longitude |
GPS座標の緯度の値 | double | はい |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
{
"title": "Oracle Headquarters",
"url": "https://www.google.com.au/maps/place/37°31'47.3%22N+122°15'57.6%22W",
"longitude": -122.265987,
"latitude": 37.529818
}
ヘッダー
Table
またはTable-Form
オブジェクト内の表のヘッダーを表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
label |
ヘッダー・ラベル | 文字列 | はい |
alignment |
セル内のラベルの位置 | "left" , "right" , "center" |
はい |
width |
見出しに指定する必要がある表幅の推奨パーセント。 | いいえ | |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
フィールド
キーと値のペアとして提供される、
Table
、Form
およびTable-Form
オブジェクト内の表セルまたはフォーム・フィールドのアトミック情報を表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "text" , "link" |
はい |
label |
フィールド・キー | 文字列 | はい |
value |
フィールドの値。 | 文字列 | いいえ |
linkLabel |
displayType がlink の場合のリンク値の短いラベル。
|
文字列 | いいえ |
alignment |
セル内のラベルの位置 | "left" , "right" , "center" |
いいえ |
width |
フィールドに指定する必要がある表幅の推奨パーセント | いいえ | |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
読取り専用フィールド
読取り専用フィールドを表します。すべての読取り専用フィールドは、フィールド・プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
value |
フィールドの値。 | string | はい |
width |
表レイアウトでフィールドが占める合計使用可能幅の推奨パーセント。 | 数値 | いいえ |
alignment |
表の列内の値の位置合せ。デフォルトの配置はright です。
|
"left" 、"center" および"right" |
いいえ |
リンク・フィールド
リンク・フィールドは、読取り専用フィールド・プロパティをすべて継承します。これには、次の追加プロパティがあります。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "link" |
はい |
linkLabel |
ハイパーリンクに使用されるラベル | string | いいえ |
imageUrl |
クリック時にリンクを開くイメージのURL。 | string | いいえ |
メディア・フィールド
メディアフィールドは、読み取り専用フィールドプロパティーをすべて継承します。これには、次の追加プロパティがあります。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "メディア" | はい |
mediaType |
フィールド・メディア・タイプ | "video" , "audio" , "image" |
はい |
「アクション」フィールド
アクション・フィールドは、読取り専用フィールド・プロパティをすべて継承します。これには、次の追加プロパティがあります。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "action" |
はい |
action |
ユーザーがアクションボタンをクリックしたときに実行されるアクション。 | アクション | はい |
編集可能フィールド
編集可能なフィールドを表します。すべての編集可能フィールドは、フィールド・プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
id |
フィールドID | string | はい |
placeholder |
ユーザーから期待される入力の摘要。このテキストは、ユーザーがまだ選択を行っていないか、または値を入力していない場合に表示されます。 | string | いいえ |
required |
フォームの送信にこの入力が必要かどうか | boolean | いいえ |
clientErrorMessage |
クライアント側の検証エラーが発生したときにフィールドの下に表示されるフィールド・レベルのエラー・メッセージ。指定しない場合、SDKはデフォルトでeditFieldErrorMessage に設定されます。
|
string | いいえ |
serverErrorMessage |
サーバー側検証エラーが発生したときにフィールドの下に表示されるフィールド・レベルのエラー・メッセージ。このエラー・メッセージは、スキルによって送信されたペイロードに含まれている必要があります。 | string | いいえ |
autoSubmit |
true に設定すると、ユーザーがフィールドの値を入力すると、フォームは一部送信されます。
|
いいえ |
単一選択
単一選択フィールドは、すべての「編集可能フィールド」プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "singleSelect" |
はい |
defaultValue |
デフォルトで選択されています | プリミティブ・データ型(文字列、数値、ブールなど) | いいえ |
options |
ユーザーに表示されるオプションの配列。 | selectFieldOption 配列
|
はい |
layoutStyle |
単一選択オプションのレンダリングに使用されるレイアウト・スタイル。デフォルトのレイアウトは list です。
|
"list" , "radioGroup" |
いいえ |
複数選択
複数選択フィールドは、「編集可能フィールド」プロパティをすべて継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "multiSelect" |
はい |
defaultValue |
デフォルトで選択されています | プリミティブ・データ型(文字列、数値、ブールなど)の配列<オブジェクト> | いいえ |
options |
ユーザーに表示されるオプションの配列 | selectFieldOption 配列
|
はい |
layoutStyle |
オプションのレンダリングに使用されるレイアウト・スタイル。 | "list" , "checkboxes" |
いいえ |
DatePicker
日付ピッカー・フィールドは、すべての「編集可能フィールド」プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "datePicker" |
はい |
defaultValue |
このフィールドの初期値。書式はYYYY-MM-DDにする必要があります。 | string | いいえ |
minDate |
許可されている最小または最も早い日付。書式はYYYY-MM-DDにする必要があります。 | string | いいえ |
maxDate |
許可されている最大または最新の日付。書式はYYYY-MM-DDにする必要があります。 | string | いいえ |
TimePicker
時間ピッカー・フィールドは、「編集可能フィールド」プロパティの一部を継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "timePicker" |
はい |
defaultValue |
このフィールドの初期値(24時間形式でHH:mmとして入力)。 | string | いいえ |
minTime |
24時間形式でHH:mmとして入力できる最小時間(もしくはもっとも早い時間)。例00:00 | string | いいえ |
maxTime |
HH:mmとして24時間形式で入力できる最大時間(または最遅時間)。例: 13:00 | string | いいえ |
切替え
トグル・フィールドは、すべての「編集可能フィールド」プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "toggle" |
はい |
defaultValue |
選択した初期値。トグルを最初にオンにする場合は、デフォルト値をvalueOn と同じ値に設定します。
|
string | いいえ |
valueOff |
toggleがオフの場合の値 | string | はい |
valueOn |
トグルがオンのときの値 | string | はい |
labelOff |
「off」値のラベル | string | いいえ |
labelOn |
「on」値のラベル | string | いいえ |
TextInput
テキスト入力フィールドは、すべての「編集可能フィールド」プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "textInput" |
はい |
defaultValue |
このフィールドの初期値 | string | いいえ |
validationRegularExpression |
このテキスト入力に必要な形式を示す正規表現 | string | いいえ |
multiline |
入力の複数行をレンダリングするかどうかを決定するフラグ | boolean | いいえ |
minLength |
ユーザーが入力する必要がある最小長 | 整数 | いいえ |
maxLength |
テキスト入力フィールドに許可される最大文字数 | 整数 | いいえ |
inputStyle |
クライアントが使用する入力スタイル。使用可能な値は、"text" 、"tel" 、"url" 、"email", および"password" です。
|
string | いいえ |
NumberInput
数値入力フィールドは、すべての「編集可能フィールド」プロパティを継承し、次の追加プロパティを持ちます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
displayType |
フィールド・タイプ | "numberInput" |
はい |
defaultValue |
このフィールドの初期値 | Integer | いいえ |
minValue |
最小許容数 | Integer | いいえ |
maxValue |
許容される最大の数値。 | Integer | いいえ |
行
フィールドの配列を表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
fields |
フィールドの配列 | 配列<field> | はい |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
フォーム
フィールドの配列とタイトルを表します。表行のネストされた形式の
Table-Form
メッセージで使用されます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
title |
フォーム・タイトル | 文字列 | いいえ |
field |
フィールドの配列 | 配列<field> | はい |
actions |
アクションの配列 | 配列<BotsAction> | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
PaginationInfo
Table
、Form
およびTable-Form
オブジェクト内の結果のページング情報を表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
totalCount |
合計結果数 | 数値 | はい |
rangeSize |
1ページ当たりの結果の範囲サイズ | 数値 | はい |
status |
ページング・ステータス・メッセージ | string | はい |
currentRangeSize |
結果のキュレント範囲のサイズ | 数値 | はい |
rangeStart |
結果の現在の範囲の開始オフセット | 数値 | はい |
nextRangeSize |
結果の次の範囲のサイズ | 数値 | はい |
hasPrevious |
前の結果セットがあるかどうかを示します | boolean | はい |
hasNext |
次の結果セットがあるかどうかを示します | boolean | はい |
対話メッセージ
会話の一部であるすべてのメッセージは、次の構造を持ちます:
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
messagePayload |
メッセージ・ペイロード | メッセージ | はい |
userId |
ユーザーID | string | はい |
{
"messagePayload": {
"text": "show menu",
"type": "text"
},
"userId": "guest"
}
ユーザー・メッセージ
ユーザーからスキルに送信されるメッセージを表します。
ユーザー・テキスト・メッセージ
サーバーに送信される単純なテキスト・メッセージ。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "text" |
はい |
text |
メッセージ・テキスト | string | はい |
{
"messagePayload": {
"text": "Order Pizza",
"type": "text"
},
"userId": "guest"
}
ユーザー・ポストバック・メッセージ
サーバーに送信されるポストバック・レスポンス・メッセージ。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "postback" |
はい |
text |
ポストバック・テキスト | string | いいえ |
postback |
選択したアクションのポストバック | 文字列またはJSONObject | はい |
{
"messagePayload": {
"postback": {
"variables": {
"pizza": "Small"
},
"system.botId": "69BBBBB-35BB-4BB-82BB-BBBB88B21",
"system.state": "orderPizza"
},
"text": "Small",
"type": "postback"
},
"userId": "guest"
}
ユーザー・アタッチメント・メッセージ
サーバーに送信されるアタッチメント・レスポンス・メッセージ。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "attachment" |
はい |
attachment |
アタッチメント・メタデータ | 添付 | はい |
{
"messagePayload": {
"attachment": {
"type": "image",
"url": "http://oda-instance.com/attachment/v1/attachments/d43fd051-02cf-4c62-a422-313979eb9d55"
},
"type": "attachment"
},
"userId": "guest"
}
ユーザー・フォーム提出メッセージ
これは、ユーザーがSubmitFormActionによってフォームを送信した後に送信されるフォーム送信メッセージを表します。これには、次のプロパティがあります。
JSONの例
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "formSubmission" |
はい |
submittedFields |
送信されたフィールド値のキーと値のペア。キーは、フィールドの名前(ID)です。 | JSONObject | はい |
postback |
ポストバック・ペイロード。ナビゲーションをトリガーするアクション・プロパティが含まれる場合があります。このプロパティの値は、SubmitFormActionから取得する必要があります。 | JSONObject | いいえ |
partialSubmitField |
部分フォーム提出をトリガーするフィールドのID。autoSubmitプロパティがtrueに設定されているフィールドは、フォームの一部の発行をトリガーできます。 | 文字列 | いいえ |
{
"messagePayload": {
"submittedFields": {
"Attendees": [
"Toff van Alphen"
],
"Type": "Public transport",
"Description": "expense",
"Subject": "Expense",
"Date": "2023-06-07",
"Time": "18:58",
"Amount": 6,
"TipIncluded": "true"
},
"partialSubmitField": "Attendees",
"type": "formSubmission"
},
"userId": "guest"
}
スキル・メッセージ
スキルからユーザーに送信されるメッセージを表します。
スキル・テキスト・メッセージ
テキスト・メッセージを表します。
例:
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "text" |
はい |
text |
メッセージ・テキスト | string | はい |
headerText |
カードのヘッダー・テキスト | string | いいえ |
footerText |
カードのフッター・テキスト | string | いいえ |
actions |
テキストに関連するアクションの配列。 | array | いいえ |
globalActions |
テキストに関連するグローバル・アクションの配列。 | array | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
{
"messagePayload": {
"type": "text",
"text": "What do you want to do?",
"actions": [
{
"type": "postback",
"label": "Order Pizza",
"postback": {
"state": "askAction",
"action": "orderPizza"
}
},
{
"type": "postback",
"label": "Cancel A Previous Order",
"postback": {
"state": "askAction",
"action": "cancelOrder"
}
}
],
"channelExtensions": {
"displayType":"stars"
}
},
"userId": "guest",
"msgId": "message_id",
"source": "BOT"
}
ロケーション・メッセージ
ロケーション・メッセージを表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "location" |
はい |
location |
ロケーション | location |
いいえ |
headerText |
メッセージのヘッダー・テキスト | string | いいえ |
footerText |
メッセージのフッター・テキスト | string | いいえ |
actions |
テキストに関連するアクションの配列 | 配列<Action> | いいえ |
globalActions |
テキストに関連するグローバル・アクションの配列 | 配列<Action> | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
スキル添付メッセージ
アタッチメント・メッセージを表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "attachment" |
はい |
attachment |
送信されるアタッチメント | 添付 | はい |
headerText |
カードのヘッダー・テキスト | string | いいえ |
footerText |
カードのフッター・テキスト | string | いいえ |
actions |
テキストに関連するアクションの配列。 | array | いいえ |
globalActions |
テキストに関連するグローバル・アクションの配列。 | array | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
スキル・カード・メッセージ
ユーザーに対し、カルーセルとして水平方向に、またはリストとして垂直方向に表示される一連の選択項目を表します。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "card" |
はい |
layout |
メッセージを水平方向または垂直方向のどちらで表示するか。 | string (値: horizontal 、vertical )
|
はい |
cards |
レンダリングされるカードの配列。 | array | はい |
headerText |
カードのヘッダー・テキスト | string | いいえ |
actions |
テキストに関連するアクションの配列。 | array | いいえ |
globalActions |
テキストに関連するグローバル・アクションの配列。 | array | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
{
"messagePayload": {
"type": "card",
"layout": "horizontal",
"cards": [
{
"title": "Hawaiian Pizza",
"description": "Ham and pineapple on thin crust",
"actions": [
{
"type": "postback",
"label": "Order Small",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "hawaiian",
"pizzaCrust": "thin",
"pizzaSize": "small"
}
}
},
{
"type": "postback",
"label": "Order Large",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "hawaiian",
"pizzaCrust": "thin",
"pizzaSize": "large"
}
}
}
]
},
{
"title": "Cheese Pizza",
"description": "Cheese pizza (i.e. pizza with NO toppings) on thick crust",
"actions": [
{
"type": "postback",
"label": "Order Small",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "cheese",
"pizzaCrust": "thick",
"pizzaSize": "small"
}
}
},
{
"type": "postback",
"label": "Order Large",
"postback": {
"state": "GetOrder",
"variables": {
"pizzaType": "cheese",
"pizzaCrust": "thick",
"pizzaSize": "large"
}
}
}
]
}
],
"globalActions": [
{
"type": "call",
"label": "Call for Help",
"phoneNumber": "123456789"
}
]
},
"userId": "guest",
"msgId": "message_id",
"source": "BOT"
}
スキル表メッセージ
問合せの結果を表形式で返すメッセージを表します。メッセージは、ヘッダーの配列と行の配列で構成されます。行自体には、個々のセルを表す
fields
配列が含まれます。
ノート
このメッセージ・タイプは、SQLダイアログに使用されます。
このメッセージ・タイプは、SQLダイアログに使用されます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "table" |
はい |
headings |
表見出しの配列 | 配列<見出し> | はい |
rows |
表行の配列。各行には、表のセルを表す fields 配列が含まれます。
|
配列<Row> | はい |
paginationInfo |
表内の結果のページング情報 | PaginationInfo | いいえ |
actions |
表に関連するアクションの配列 | 配列<Action> | いいえ |
globalActions |
グローバル・アクションの配列 | 配列<Action> | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
{
"type":"table",
"headerText":"A-Team",
"headings":[
{
"width":20,
"label":"First Name",
"alignment":"left"
},
{
"width":20,
"label":"Last Name",
"alignment":"left"
},
{
"width":35,
"label":"Title",
"alignment":"left"
},
{
"width":25,
"label":"Phone",
"alignment":"right"
}
],
"rows":[
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Adams"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Brown"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Chase"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Flow Builder"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"David"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Davidson"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Machine Learning Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
},
{
"fields":[
{
"displayType":"text",
"width":20,
"label":"First Name",
"alignment":"left",
"value":"Eric"
},
{
"displayType":"text",
"width":20,
"label":"Last Name",
"alignment":"left",
"value":"Eastman Junior"
},
{
"displayType":"text",
"width":35,
"label":"Title",
"alignment":"left",
"value":"Docker Expert"
},
{
"displayType":"text",
"width":25,
"label":"Phone",
"alignment":"right",
"value":"1234567890"
}
]
}
],
"paginationInfo":{
"currentRangeSize":5,
"rangeStart":0,
"nextRangeSize":-3,
"hasPrevious":false,
"hasNext":false,
"totalCount":5,
"rangeSize":8,
"status":"Showing 1-5 of 5 items"
}
}
スキル・フォーム・メッセージ
問合せの結果を読取り専用フォームで返すメッセージを表します。メッセージは、フォーム結果の配列で構成されます。各フォーム結果には、フィールドを表すキーと値のペアを持つ
fields
配列が含まれます。
ノート
このメッセージ・タイプは、SQLダイアログに使用されます。
このメッセージ・タイプは、SQLダイアログに使用されます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "form" |
はい |
forms |
フォーム結果の配列。各結果には、フォーム・フィールドを表すfields 配列が含まれます。
|
配列<Row> | はい |
formColumns |
フォームのフィールドをグループ化する列の数。 | 1, 2 | はい |
paginationInfo |
フォーム内の結果のページング情報 | PaginationInfo | いいえ |
actions |
フォームに関連するアクションの配列 | 配列<Action> | いいえ |
globalActions |
グローバル・アクションの配列 | 配列<Action> | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
{
"type":"form",
"headerText":"A-Team",
"forms":[
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Adams"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/aaron-adams-4862752"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Brown"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Bobbrown"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Bob is a member of the cloud architects team which is specialized in enterprise mobility and cloud development. Bob has been directly involved with Oracle middleware since 2005 during which he held different roles in managing highly specialized teams."
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Chase"
},
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Flow Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Charlie-chase-97a418"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Charlie is a member of the enterprise mobility team. Charlie has 20+ years experience with custom development. Charlie is an expert on mobile cloud services and development tools. He is the creator of productivity tools. His latest passion is building chatbots with a minimum amount of custom code."
}
]
}
],
"formColumns":2,
"paginationInfo":{
"currentRangeSize":3,
"rangeStart":0,
"nextRangeSize":2,
"hasPrevious":false,
"hasNext":true,
"totalCount":5,
"rangeSize":3,
"status":"Showing 1-3 of 5 items"
},
"globalActions":[
{
"postback":{
"variables":{},
"action":"system.showMore"
},
"label":"Show More",
"type":"postback"
}
]
}
スキル表- フォーム・メッセージ
このメッセージは、
Table
およびForm
メッセージ・タイプを組み合せたものです。これは、問合せの結果を表形式で返すメッセージを表します。表の各行には、行情報に加えて読取り専用フォームがあります。
ノート
このメッセージ・タイプは、SQLダイアログに使用されます。
このメッセージ・タイプは、SQLダイアログに使用されます。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプ | "tableForm" |
はい |
headings |
表見出しの配列 | 配列<見出し> | はい |
rows |
表行の配列。各行には、表のセルを表すフィールドの配列が含まれます。 | 配列<Row> | はい |
forms |
各表の行に対応するフォーム結果の配列。各フォームには、フォーム・フィールドを表すfields 配列が含まれます。
|
配列<Form> | はい |
formColumns |
フォームのフィールドをグループ化する列の数。 | 1, 2 | はい |
paginationInfo |
テキストに関連するグローバル・アクションの配列 | 配列<Action> | いいえ |
actions |
表フォームに関連する処理の配列 | 配列<Action> | いいえ |
globalActions |
グローバル・アクションの配列 | 配列<Action> | いいえ |
channelExtensions |
メッセージに関連付けられたチャネル固有の拡張プロパティ | JSONObject | いいえ |
{
"type":"tableForm",
"headerText":"A-Team",
"headings":[
{
"width":47,
"label":"First Name",
"alignment":"left"
},
{
"width":47,
"label":"Last Name",
"alignment":"left"
}
],
"rows":[
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Aaron"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Adams"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Bob"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Brown"
}
]
},
{
"fields":[
{
"displayType":"text",
"label":"First Name",
"alignment":"left",
"value":"Charlie"
},
{
"displayType":"text",
"label":"Last Name",
"alignment":"left",
"value":"Chase"
}
]
}
],
"forms":[
{
"title":"View details Aaron Adams",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Demo Builder"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Aaron-adams-4862572"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left"
}
]
},
{
"title":"View details Bob Brown",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Multi-lingual Expert"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Bobbrown"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Bob is a member of the cloud architects team which is specialized in enterprise mobility and cloud development. Bob has been directly involved with Oracle middleware since 2005 during which he held different roles in managing highly specialized teams."
}
]
},
{
"title":"View details Charlie Chase",
"fields":[
{
"displayType":"text",
"label":"Title",
"alignment":"left",
"value":"Flow Builder Fanatic"
},
{
"displayType":"text",
"label":"Phone",
"alignment":"left",
"value":"1234567890"
},
{
"linkLabel":"Open Link",
"displayType":"link",
"label":"Contact",
"alignment":"left",
"value":"https://www.example.com/in/Charlie-chase-97a418"
},
{
"displayType":"text",
"label":"Bio",
"alignment":"left",
"value":"Charlie is a member of the enterprise mobility team. Charlie has 20+ years experience with custom development. Charlie is an expert on mobile cloud services and development tools. He is the creator of productivity tools. His latest passion is building chatbots with a minimum amount of custom code."
}
]
}
],
"formColumns":2,
"paginationInfo":{
"currentRangeSize":3,
"rangeStart":0,
"nextRangeSize":2,
"hasPrevious":false,
"hasNext":true,
"totalCount":5,
"rangeSize":3,
"status":"Showing 1-3 of 5 items"
},
"actions":[
{
"postback":{
"variables":{
},
"action":"system.showMore"
},
"label":"Show More",
"type":"postback"
}
],
"footerText":"Tap on a row to see personal details"
}
スキル編集フォーム・メッセージ
編集可能なフォーム・メッセージ(入力フォーム)を表します。メッセージは Field配列で構成されます。これには、次のプロパティがあります。
名前 | 説明 | タイプ | 必須? |
---|---|---|---|
type |
メッセージ・タイプこの例では、"editForm" です。
|
"editForm" |
はい |
fields |
編集可能フィールドと読取り専用フィールドの両方を含めることができるフィールドのリスト。 | 配列<Field> | はい |
title |
編集フォームの担当者タイトル | 文字列 | いいえ |
formColumns |
フォーム・フィールドをグループ化する列の数。 | 整数(1)
SDKでは、リリース23.06に対して1つの列のみがサポートされています。 |
いいえ |
errorMessage |
ユーザーが無効なデータを送信したが、エラーを個々のフィールドにリンクできない場合に表示されるフォーム・レベルのエラー・メッセージ。 | 文字列 | いいえ |
actions |
編集フォームに関連するアクションの配列。この配列には、SubmitFormAction を含める必要があります。SubmitFormAction がactions 配列に含まれていない場合、ブラウザ・コンソールにエラーが表示されます。
|
配列<Action> | いいえ |
globalActions |
グローバル・アクションの配列 | 配列<Action> | いいえ |
channelExtensions |
チャネル固有の拡張プロパティのセット
|
JSONObject | いいえ |
{
"messagePayload": {
"headerText": "Create Expense",
"type": "editForm",
"title": "Fill in the below form",
"fields": [
{
"displayType": "textInput",
"serverErrorMessage": "Invalid Text Input",
"defaultValue": "Expense",
"minLength": 5,
"id": "Subject",
"label": "Subject",
"placeholder": "Enter subject of the expense",
"clientErrorMessage": "Subject is required and must be between 5 and 15 characters",
"maxLength": 15,
"required": true
},
{
"displayType": "textInput",
"defaultValue": "expense",
"multiLine": true,
"id": "Description",
"label": "Description",
"placeholder": "What is expense justification",
"clientErrorMessage": "Description is required",
"required": true
},
{
"displayType": "datePicker",
"defaultValue": "2023-06-07",
"maxDate": "2023-06-22",
"id": "Date",
"label": "Expense Date",
"placeholder": "Pick a date in the past",
"clientErrorMessage": "Expense date is required and must be in the past.",
"required": true
},
{
"displayType": "timePicker",
"defaultValue": "18:58",
"id": "Time",
"label": "Expense Time",
"placeholder": "What time was the expense",
"clientErrorMessage": "Time is required. Please fill a value",
"required": true
},
{
"displayType": "numberInput",
"minValue": 5,
"defaultValue": 6,
"maxValue": 500,
"id": "Amount",
"label": "Amount",
"placeholder": "Enter expense amount",
"clientErrorMessage": "Amount is required and must be between 5 and 500.",
"required": true
},
{
"autoSubmit": true,
"displayType": "toggle",
"defaultValue": "true",
"labelOn": "Yes",
"id": "TipIncluded",
"label": "Tip Included?",
"valueOff": "false",
"labelOff": "No",
"valueOn": "true"
},
{
"displayType": "singleSelect",
"serverErrorMessage": "Invalid Selection",
"defaultValue": "Public transport",
"options": [
{
"label": "Public transport",
"value": "Public transport"
},
{
"label": "Flight",
"value": "Flight"
}
],
"layoutStyle": "list",
"id": "Type",
"label": "Expense Type",
"placeholder": "Select expense type",
"clientErrorMessage": "Expense type is required",
"required": true
},
{
"displayType": "multiSelect",
"defaultValue": [
"Toff van Alphen"
],
"options": [
{
"label": "Toff van Alphen",
"value": "Toff van Alphen"
},
{
"label": "Roger Federer",
"value": "Roger Federer"
}
],
"layoutStyle": "checkboxes",
"id": "Attendees",
"label": "Attendees",
"placeholder": "Select attendees",
"clientErrorMessage": "Please select atleast one attendee",
"required": true
}
],
"formColumns": 1,
"actions": [
{
"postback": {
"system.botId": "6803DE12-DAA9-4182-BD54-3B4D431554F4",
"system.flow": "ExpenseFlow",
"system.state": "editFormMapVar"
},
"label": "Submit",
"type": "submitForm"
}
],
"channelExtensions": {
"replaceMessage": "True"
}
},
"source": "BOT",
"userId": "guest"
}