使用 Bot 連接器 API 將建議的動作新增至訊息
建議動作可讓您的 Bot 顯示可供使用者點選,以提供輸入的按鈕。 建議動作會出現在編輯器附近,讓使用者只要點選按鈕即可回答問題或進行選取,而無需使用鍵盤輸入回應,藉以提升使用者體驗。 不同於複合式資訊卡 (Rich Card) 中出現的按鈕 (即使在點選之後,使用者仍可看見並可存取),出現在建議動作窗格內的按鈕會在使用者進行選取後消失。 這可防止使用者在交談中點選過時的按鈕,並簡化 Bot 開發。
傳送建議的動作
若要將建議的動作新增至訊息,請設定 Activity 的 suggestedActions
屬性,以指定 CardAction 物件清單,以代表要向使用者呈現的按鈕。
下列要求會傳送一則訊息,向使用者呈現三個建議的動作。 在此範例要求中,https://smba.trafficmanager.net/teams
表示基底 URI,您的 Bot 所發出之要求的基底 URI 可能和這個不同。 如需設定基底 URI 的詳細資料,請參閱 API 參考。
POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/5d5cdc723
Authorization: Bearer ACCESS_TOKEN
Content-Type: application/json
{
"type": "message",
"from": {
"id": "12345678",
"name": "sender's name"
},
"conversation": {
"id": "abcd1234",
"name": "conversation's name"
},
"recipient": {
"id": "1234abcd",
"name": "recipient's name"
},
"text": "I have colors in mind, but need your help to choose the best one.",
"inputHint": "expectingInput",
"suggestedActions": {
"actions": [
{
"type": "imBack",
"title": "Blue",
"value": "Blue"
},
{
"type": "imBack",
"title": "Red",
"value": "Red"
},
{
"type": "imBack",
"title": "Green",
"value": "Green"
}
]
},
"replyToId": "5d5cdc723"
}
當使用者點選其中一個建議的動作時,Bot 會收到來自使用者的訊息,其中包含對應動作的 value
。