Spraak toevoegen aan berichten met de Bot Connector-API
Als u een bot bouwt voor een kanaal met spraakfunctionaliteit, kunt u berichten maken waarin de tekst wordt opgegeven die door uw bot moet worden gesproken. U kunt ook proberen de status van de microfoon van de client te beïnvloeden door een invoerhint op te geven om aan te geven of uw bot gebruikersinvoer accepteert, verwacht of negeert.
U kunt uw bot zo configureren dat clienttoepassingen ermee kunnen communiceren via Direct Line Speech-kanaal.
Tekst opgeven die moet worden uitgesproken door uw bot
Als u tekst wilt opgeven die door uw bot moet worden uitgesproken in een kanaal met spraakfunctionaliteit, stelt u de speak
eigenschap in het activiteitsobject in die uw bericht vertegenwoordigt. U kunt de speak
eigenschap instellen op een tekenreeks zonder opmaak of een tekenreeks die is opgemaakt als Speech Synthesis Markup Language (SSML), een op XML gebaseerde opmaaktaal waarmee u verschillende kenmerken van de spraak van uw bot kunt beheren, zoals spraak, snelheid, volume, uitspraak, toonhoogte en meer. Als het kanaal geen ondersteuning biedt, wordt het bericht als tekst bezorgd.
Met de volgende aanvraag wordt een bericht verzonden met de tekst die moet worden weergegeven en de tekst die moet worden gesproken en die aangeeft dat de bot gebruikersinvoer verwacht. Het specificeert de speak
eigenschap met behulp van de SSML-indeling om aan te geven dat het woord 'zeker' moet worden uitgesproken met een gemiddelde hoeveelheid nadruk. In deze voorbeeldaanvraag vertegenwoordigt Direct Line de basis-URI; de basis-URI voor aanvragen die uw botproblemen veroorzaken, kunnen afwijken. Zie API-naslaginformatie voor meer informatie over het instellen van de basis-URI.
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"
}
Hints voor invoer
Wanneer u een bericht verzendt op een kanaal met spraakfunctionaliteit, kunt u de beoogde status van de microfoon van de client uitdrukken door ook een invoerhint op te nemen om aan te geven of uw bot gebruikersinvoer accepteert, verwacht of negeert. Zie Invoerhints toevoegen aan berichten voor meer informatie.