本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
新增互動式訊息至聊天室
互動式訊息是豐富的訊息,可提供提示和預先設定的顯示選項以供客戶選擇。這些訊息由 Amazon Lex 提供支援,並透過 Amazon Lex 使用 Lambda 進行設定。
提示
如果您已與 Apple Messages for Business 整合,請參閱 Apple 網站上的互動式訊息類型
驗證限制
字串欄位限制 (例如標題、副標題等) 預計將由用戶端 (即自訂建置介面或託管通炫小工具) 強制執行。SendMessageAPI 只會檢查字串的總大小是否小於 20KB。
-
在您使用託管通訊小工具而不進行自訂時,如果字串超過欄位限制,則該字串在使用者介面上將被截斷,並附加省略符號 (......)。您可以透過自訂小工具來決定如何強制執行欄位限制。
-
如果您要與其他平台整合 (例如 Apple Messages for Business),請檢閱本主題中 Amazon Connect 的限制,並檢閱其他平台說明文件中的限制。例如,較舊版本的 iOS 不支援快速回覆。
必須遵循所有其他欄位限制,才能順利傳送訊息。
訊息顯示範本
Amazon Connect 提供下列訊息顯示範本,供您在聊天中將資訊呈現給客戶:
這些範本定義了資訊的呈現方式,以及在聊天介面中顯示的資訊。透過聊天傳送互動式訊息時,流程會驗證訊息格式是否遵循其中一個範本。
清單挑選器範本
使用清單挑選器範本,向客戶呈現最多六個選項的清單。每個選擇都可以有自己的圖片。
下列圖片顯示清單挑選器範本如何在聊天中呈現資訊的兩個範例。
-
一張圖片顯示三個按鈕,每個按鈕都具備文字中的水果名稱:蘋果、柳橙、香蕉。
-
第二張圖片顯示一家商店的圖片,然後在下面的三個按鈕,每個按鈕都附有名稱、影像和水果的價格。
下列程式碼是您可以在 Lambda 中使用的清單挑選器範本。注意下列事項:
-
粗體文字是強制性參數。
-
在某些情況下,如果父元素存在於請求中,並且不是強制/粗體,但其中的欄位是,則這些欄位是必要的。例如,請參閱下列範本中的
data.replyMessage
結構。如果結構存在,標題是強制性的。否則,可選擇是否完成replyMessage
。
{ "templateType":"ListPicker", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting!", "subtitle":"Produce selected", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", "imageDescription":"Select a produce to buy" }, "content":{ "title":"What produce would you like to buy?", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/fruit_34.3kb.jpg", "imageDescription":"Select a produce to buy", "elements":[ { "title":"Apple", "subtitle":"$1.00", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/apple_4.2kb.jpg" }, { "title":"Orange", "subtitle":"$1.50", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/orange_17.7kb.jpg", }, { "title":"Banana", "subtitle":"$10.00", "imageType":"URL", "imageData":"https://interactive-message-testing.s3-us-west-2.amazonaws.com/banana_7.9kb.jpg", "imageDescription":"Banana" } ] }
清單挑選器限制
如果您選擇從頭開始建置自己的 Lambda,下表列出了每個清單挑選器元素的限制。強制性參數會以粗體顯示。
如要傳送無限的選項,請在應用程式中實作動作按鈕。如需詳細資訊,請參閱互動式訊息清單選取器/面板中的動作按鈕實作
父項欄位 | 欄位 | 必要 | 最少字元 | 最多字元 | 其他要求 |
---|---|---|---|---|---|
templateType |
是 |
有效範本類型 |
|||
data |
是 |
||||
version |
是 |
必須為 "1.0" |
|||
data |
內容 | 是 | |||
replyMessage | 否 | ||||
內容 |
標題 | 是 | 1 |
400 |
應該是無提示範本的描述 |
元素 | 是 | 1 個項目 |
6 個項目 |
這是元素的陣列。陣列中最多 6 個元素。如要傳送無限的元素,請使用動作按鈕功能。 |
|
字幕 | 否 | 0 |
400 |
||
imageType | 否 | 0 |
50 |
必須為 "URL" |
|
imageData | 否 | 0 |
200 |
必須為有效的可公開存取網址 |
|
imageDescription | 否 | 0 |
50 |
||
referenceId | 否 |
|
字串. 只需要動作按鈕功能。 |
||
listId | 否 |
|
字串. 只需要動作按鈕功能。 |
||
預索引 | 否 |
|
數字。只需要動作按鈕功能。 |
||
nextIndex | 否 |
|
數字。只需要動作按鈕功能。 |
||
templateIdentifier | 否 |
|
數字。應該是一個 UUID。如果浮動切換中要使用「清單挑選器/面板」,則需要此欄位。 |
||
元素 |
標題 | 是 | 1 |
400 |
|
字幕 | 否 | 0 |
400 |
||
imageType | 否 | 0 |
50 |
必須為 "URL" |
|
imageData | 否 | 0 |
200 |
必須為有效的可公開存取網址 |
|
imageDescription | 否 | 0 |
50 |
沒有影像則無法存在 |
|
actionDetail | 否 |
|
|
只需要動作按鈕功能。必須為 "PREVIOUS_OPTIONS" 或 "SHOW_MORE"。 |
|
replyMessage |
標題 | 是 | 1 |
400 |
|
字幕 | 否 | 0 |
400 |
||
imageType | 否 | 0 |
50 |
必須為 "URL" |
|
imageData | 否 | 0 |
200 |
必須為有效的可公開存取網址 |
|
imageDescription | 否 | 0 |
50 |
沒有影像則無法存在 |
時間挑選器範本
時間挑選器範本對於讓客戶能夠安排預約非常實用。在聊天中您最多可以向客戶提供 40 個時段。
下列影像顯示時間挑選器範本如何在聊天中呈現資訊的兩個範例。
-
一個影像顯示一個日期,並在其下方顯示一個時段。
-
第二個影像顯示一個日期,而在其下方則顯示兩個時段。
下列程式碼是您可以在 Lambda 中使用的時間挑選器範本。注意下列事項:
-
粗體文字是強制性參數。
-
在某些情況下,如果父元素存在於請求中,並且不是強制/粗體,但其中的欄位是,則這些欄位是必要的。例如,請參閱下列範本中的
data.replyMessage
結構。如果結構存在,標題是強制性的。否則,可選擇是否完成replyMessage
。
{ "templateType":"TimePicker", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting", "subtitle":"Appointment selected", }, "content":{ "title":"Schedule appointment", "subtitle":"Tap to select option", "timeZoneOffset":-450, "location":{ "latitude":47.616299, "longitude":-122.4311, "title":"Oscar", "radius":1, }, "timeslots":[ { "date" : "2020-10-31T17:00+00:00", "duration": 60, }, { "date" : "2020-11-15T13:00+00:00", "duration": 60, }, { "date" : "2020-11-15T16:00+00:00", "duration": 60, } ], } } } }
時間挑選器限制
下表列出了每個時間挑選器元素的限制。如果您選擇從頭開始建置自己的 Lambda,請使用此資訊。強制性參數會以粗體顯示。
父項欄位 | 欄位 | 必要 | 最少字元 | 最多字元 | 其他要求 |
---|---|---|---|---|---|
templateType |
是 |
有效範本類型 |
|||
data |
是 |
||||
version |
是 |
必須為 "1.0" |
|||
data |
replyMessage | 否 | |||
內容 | 是 | ||||
replyMessage |
標題 |
是 | 1 |
400 |
應該為無提示範本的描述 |
字幕 | 否 | 0 |
400 |
||
內容 |
標題 |
是 | 1 |
400 |
應該為無提示範本的描述 |
字幕 | 否 | 0 |
200 |
||
時區偏移 | 否 | -720 |
840 |
未設定時,此欄位為選擇性欄位。我們的範例用戶端預設為使用者的時區。如果已設定,則會根據輸入的時區顯示。該欄位應該是一個整數,表示根據 GMT 時間的分鐘數,指定事件位置的時區。 |
|
location | 否 | ||||
時段 | 是 | 1 |
40 |
這是時段的陣列。陣列中最多 40 個元素。 |
|
location |
經度 | 是 | -180 |
180 |
必須為兩倍 |
緯度 | 是 | -90 |
90 |
必須為兩倍 |
|
標題 | 是 | 1 |
400 |
||
radius |
否 | 0 |
200 |
||
時段 |
date | 是 |
|
應為 ISO-8601 時間格式:YYYY-MM-DDTHH.MM+00.00 例如: "2020-08-14T21:21+00.00" |
|
duration | 是 | 1 |
3600 |
面板範本
透過使用面板範本,您可以在一個問題下向客戶提供多達 10 個選擇。但是,您只能包含一個影像,而不是每個選擇都可以有影像。
下列影像顯示面板範本如何在聊天中呈現資訊的範例。它會在訊息頂部顯示一個影像,並在影像下顯示一個提示,詢問我該如何提供幫助? 點選以選取選項。在提示下向客戶顯示三個選項:查看自助式服務選項、與客服人員交談,結束聊天。
下列程式碼是您可以在 Lambda 中使用的面板範本。注意下列事項:
-
粗體文字是強制性參數。
-
在某些情況下,如果父元素存在於請求中,並且不是強制/粗體,但其中的欄位是,則這些欄位是必要的。例如,請參閱下列範本中的
data.replyMessage
結構。如果結構存在,標題是強制性的。否則,可選擇是否完成replyMessage
。
{ "templateType":"Panel", "version":"1.0", "data":{ "replyMessage":{ "title":"Thanks for selecting!", "subtitle":"Option selected", }, "content":{ "title":"How can I help you?", "subtitle":"Tap to select option", "imageType":"URL", "imageData":"https://interactive-msg.s3-us-west-2.amazonaws.com/company.jpg", "imageDescription":"Select an option", "elements":[ { "title":"Check self-service options", }, { "title":"Talk to an agent", }, { "title":"End chat", } ] } } }
面板限制
如果您選擇從頭開始建置自己的 Lambda,下表列出了每個面板元素的限制。強制性參數會以粗體顯示。
如要傳送無限的選項,請在應用程式中實作動作按鈕。如需詳細資訊,請參閱互動式訊息清單選取器/面板中的動作按鈕實作
父項欄位 | 欄位 | 必要 | 最少字元 | 最多字元 | 其他要求 |
---|---|---|---|---|---|
templateType |
是 |
有效範本類型 |
|||
data |
是 |
||||
version |
是 |
必須為 "1.0" |
|||
data |
replyMessage | 否 | |||
內容 | 是 | ||||
內容 |
標題 | 是 | 1 |
400 |
應該是無提示範本的描述 |
字幕 | 否 | 0 |
400 |
||
元素 | 是 | 1 個項目 |
10 個項目 |
這是元素的陣列。陣列中最多 10 個元素。 |
|
imageType | 否 | 0 |
50 |
必須為 "URL" |
|
imageData | 否 | 0 |
200 |
必須為有效的可公開存取網址 |
|
imageDescription | 否 | 0 |
50 |
沒有影像則無法存在 |
|
referenceId | 否 |
|
字串. 只需要動作按鈕功能。 |
||
listId | 否 |
|
字串. 只需要動作按鈕功能。 |
||
預索引 | 否 |
|
數字。只需要動作按鈕功能。 |
||
nextIndex | 否 |
|
數字。只需要動作按鈕功能。 |
||
templateIdentifier | 否 |
|
數字。應該是一個 UUID。如果浮動切換中要使用「清單挑選器/面板」,則需要此欄位。 |
||
元素 |
標題 | 是 | 1 |
400 |
|
actionDetail | 否 |
|
|
只需要動作按鈕功能。必須為 "PREVIOUS_OPTIONS" 或 "SHOW_MORE"。 |
|
replyMessage |
標題 | 是 | 1 |
400 |
|
字幕 | 否 | 0 |
400 |
快速回覆範本
使用快速回覆訊息,以在內嵌清單中取得客戶及其對客戶的簡單回覆。您可以在一個快速回覆訊息中向客戶提供多達 5 個選項。快速回覆不支援影像。
下列影像顯示快速回覆範本如何在聊天中呈現資訊的範例。
下列程式碼是您可以在 Lambda 中使用的快速回覆範本。
{ "templateType": "QuickReply", "version": "1.0", "data": { "content": { "title": "Which department would you like?", "elements": [ { "title": "Billing" }, { "title": "Cancellation" }, { "title": "New Service" } ] } } }
快速回覆限制
下表列出了每個快速回覆元素的限制。如果您選擇從頭開始建置自己的 Lambda,請使用此資訊。強制性參數會以粗體顯示。
欄位 | 必要 | 最少字元 | 最多字元 | 其他要求 |
---|---|---|---|---|
templateType |
有效範本類型 |
|||
data |
是 |
|||
version |
是 |
必須為 "1.0" |
||
內容 |
是 | |||
標題 | 是 | 1 |
400 |
應該是無提示範本的描述 |
元素 | 是 | 2 個項目 |
5 個項目 |
這是元素的陣列。陣列中最小 2 個元素和最多 5 個元素。 |
標題 | 是 | 1 |
200 |
浮動切換範本
使用浮動切換在一個訊息中向客戶顯示多達 5 個清單挑選器或面板。類似清單挑選器和時間挑選器,您可以透過使用 SHOW_MORE 功能新增更多的選項至浮動切換。
以下 GIF 顯示浮動切換範本如何在聊天中呈現資訊的範例。客戶可透過使用左、右箭頭捲動影像的浮動切換。
下圖顯示了兩個了解更多超連結,這是浮動切換挑選器超連結元素的範例。
以下程式碼是您可以在 Lambda 中使用的浮動切換範本。
{ "templateType": "Carousel", "version": "1.0", "data": { "content": { "title": "View our popular destinations", "elements": [ { "templateIdentifier": "template0", "templateType": "Panel", "version": "1.0", "data": { "content": { "title": "California", "subtitle": "Tap to select option", "elements": [ { "title": "Book flights" }, { "title": "Book hotels" }, { "title": "Talk to agent" } ] } } }, { "templateIdentifier": "template1", "templateType": "Panel", "version": "1.0", "data": { "content": { "title": "New York", "subtitle": "Tap to select option", "elements": [ { "title": "Book flights" }, { "title": "Book hotels" }, { "title": "Talk to agent" } ] } } } ] } } }
對於託管的通訊小工具使用者:
-
浮動切換範本上的選項會導致 JSON 字串回應結構如下列範例所示,傳回 Lambda (其他互動式訊息類型會傳回僅含
selectionText
值的一般字串回應):{ templateIdentifier: "template0", listTitle: "California", selectionText: "Book hotels" }
-
在浮動切換中,您可以在清單挑選器/面板元素中提供超連結。若要建立超連結而非按鈕,請在應為超連結的元素包含下列其他欄位:
{ title: "Book flights", ... type: "hyperlink", url: "https://www.example.com/Flights" }
浮動切換限制
下表列出每個浮動切換元素的限制。如果您選擇從頭開始建置自己的 Lambda,請使用此資訊。強制性參數會以粗體顯示。
父項欄位 | 欄位 | 必要 | 最少字元 | 最多字元 | 其他要求 |
---|---|---|---|---|---|
templateType |
是 |
有效範本類型 |
|||
data |
是 |
||||
version |
是 |
必須為 "1.0" |
|||
data |
內容 | 是 | |||
內容 |
標題 | 是 | 1 |
400 |
應該是無提示範本的描述 |
元素 | 是 | 2 個項目 |
5 個項目 |
這是一個清單挑選器或面板範本的陣列。每個浮動切換只接受一種互動式訊息類型。每個元素都應包含頂層欄位 templateIdentifier。陣列中至少 2 個範本和最多 5 個範本。 注意為了獲得最佳的客戶體驗,我們建議每個範本都使用一致的影像/元素數量。 |
|
omitTitleFromCarouselResponse | 否 |
布林值-選擇性地以 |
|||
carouselIsVertical | 否 |
布林值 - 可選擇使用垂直捲動呈現 |
標題和副標題的 RTF 格式
您可以為聊天訊息的標題和副標題新增 RTF 格式。例如,您可以新增連結、斜體、粗體、編號清單和項目符號清單。您可以使用 markdown
以下的聊天方塊影像顯示在標題和副標題使用 RTF 格式的範例清單挑選器。
-
標題我們如何提供幫助? aws.amazon.com 是粗體的,並包含一個連結。
-
副標題包含斜體和粗體文字、項目符號清單和編號清單。它也會顯示純連結、文字連結和範例程式碼。
-
聊天方塊的底部顯示三個清單挑選器元素。
如何使用 markdown 格式化文字
您可以用多行格式寫入標題和副標題字串,也可以在單行中使用 `\r\n`
換行符號來寫入標題和副標題字串。
-
多行格式:以下程式碼範例顯示如何以多行格式編寫 markdown 清單。
const MultiLinePickerSubtitle = `This is some *emphasized text* and some **strongly emphasized text** This is a bulleted list (multiline): * item 1 * item 2 * item 3 This is a numbered list: 1. item 1 2. item 2 3. item 3 Questions? Visit https://plainlink.com/faq [This is a link](https://aws.amazon.com) This is \`
\` ` const PickerTemplate = { templateType: "ListPicker|Panel", version: "1.0", data: { content: { title: "How can we help?", subtitle: MultiLinePickerSubtitle, elements: [ /* ... */ ] } } }
-
單行格式:下列範例顯示如何使用
`\r\n`
換行符號在單行中編寫副標題。const SingleLinePickerSubtitle = "This is some *emphasized text* and some **strongly emphasized text**\r\nThis is a bulleted list:\n* item 1\n* item 2\n* item 3\n\nThis is a numbered list:\n1. item 1\n2. item 2\n3. item 3\n\nQuestions? Visit https://plainlink.com/faq\r\n[This is a link](https://aws.amazon.com)\r\nThis is `<code/>`"; const PickerTemplate = { templateType: "ListPicker|Panel", version: "1.0", data: { content: { title: "How can we help?", subtitle: SingleLinePickerSubtitle, elements: [ /* ... */ ] } } }
下列範例顯示如何使用 markdown 設定斜體與粗體文字格式:
This is some *emphasized text* and some **strongly emphasized
text**
下列範例顯示如何使用 markdown 將文字格式化為程式碼:
This is `<code />`
如何使用 markdown 格式化連結
若要建立連結,請使用下列語法:
[aws](https://aws.amazon.com)
以下範例顯示兩種可以用 markdown 新增連結的方法:
Questions? Visit https://plainlink.com/faq
[This is a link](https://aws.amazon.com)