Bot Connector API를 사용하여 메시지에 음성 추가

음성 지원 채널에 대한 봇을 빌드하는 경우 봇에서 말할 텍스트를 지정하는 메시지를 생성할 수 있습니다. 봇이 사용자 입력을 수락, 대기 또는 무시할지 여부를 나타내는 입력 힌트를 지정하여 클라이언트의 마이크 상태에 영향을 미칠 수 있습니다.

클라이언트 애플리케이션에서 Direct Line Speech 채널을 통해 통신할 수 있도록 봇을 구성할 수 있습니다.

봇의 음성 텍스트 지정

음성 지원 채널에서 봇이 말하는 텍스트를 지정하려면 사용자 메시지를 나타내는 활동 개체 내의 speak 속성을 설정합니다. speak 속성을 일반 텍스트 문자열 또는 음성, 속도, 음량, 발음, 음의 높이 등과 같은 봇의 말하기에 대한 다양한 특성을 제어할 수 있는 XML 기반 표시 언어인 SSML(Speech Synthesis Markup Language)로 형식이 지정된 문자열로 설정할 수 있습니다. 채널이 지원되지 않으면 메시지가 텍스트로 전달됩니다.

다음 요청은 표시할 텍스트 및 말할 텍스트를 지정하는 메시지를 보내고 봇이 사용자 입력을 대기함을 나타냅니다. 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"
}

입력 힌트

음성 지원 채널에서 메시지를 보낼 때 봇이 사용자 입력을 수락, 예상 또는 무시하는지 여부를 나타내는 입력 힌트를 포함하여 클라이언트 마이크의 의도된 상태를 표현할 수 있습니다. 자세한 내용은 메시지에 입력 힌트 추가를 참조하세요.

추가 리소스