音声対応チャネル用のボットを構築する場合は、ボットが読み上げるテキストを指定するメッセージを作成できます。 また、入力ヒント を指定して、ボットがユーザー入力を受け入れるか、期待しているか、無視しているかを示すことで、クライアントのマイクの状態に影響を与えることもできます。
ボットが読み上げるテキストを指定する
音声対応チャネルでボットが読み上げるテキストを指定するには、メッセージを表す Activity オブジェクト内に speak
プロパティを設定します。
speak
プロパティは、プレーン テキスト文字列、または音声合成マークアップ言語 (SSML) 形式の文字列に設定できます。XML ベースのマークアップ言語を使用すると、音声、レート、音量、発音、ピッチなど、ボットの音声のさまざまな特性を制御できます。 チャネルがサポートしていない場合、メッセージはテキストとして配信されます。
次の要求は、表示するテキストと読み上げるテキストを指定するメッセージを送信し、ボットがユーザー入力を待っていることを示します。
SSML 形式を使用して speak
プロパティを指定し、"sure" という単語を中程度の強調で読み上げる必要があることを示します。 この要求の例では、Direct Line はベース URI を表します。ボットが発行する要求のベース 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": "Are you sure that you want to cancel this transaction?",
"speak": "<speak version=\"1.0\" xmlns=\"http://www.w3.org/2001/10/synthesis\" xml:lang=\"en-US\">Are you <emphasis level=\"moderate\">sure</emphasis> that you want to cancel this transaction?</speak>",
"inputHint": "expectingInput",
"replyToId": "5d5cdc723"
}
入力ヒント
音声対応チャネルでメッセージを送信する場合は、ボットがユーザー入力を受け入れるか、期待しているか、無視しているかを示す入力ヒントを含めることで、クライアントのマイクの意図された状態を表現できます。 詳細については、「メッセージに入力ヒントを追加する」を参照してください。