Dela via


Lägga till tal i meddelanden med BOT Connector-API:et

Om du skapar en robot för en talaktiverad kanal kan du skapa meddelanden som anger vilken text som ska talas av roboten. Du kan också försöka påverka tillståndet för klientens mikrofon genom att ange ett indatatips som anger om roboten accepterar, förväntar sig eller ignorerar användarindata.

Du kan konfigurera roboten så att klientprogram kan kommunicera med den via Direct Line Speech-kanal.

Ange text som ska talas av roboten

Om du vill ange text som ska talas av roboten på en talaktiverad kanal anger du speak egenskapen i aktivitetsobjektet som representerar meddelandet. Du kan ange speak egenskapen till antingen en oformaterad textsträng eller en sträng som är formaterad som Speech Synthesis Markup Language (SSML), ett XML-baserat påläggsspråk som gör att du kan styra olika egenskaper för robotens tal, till exempel röst, frekvens, volym, uttal, pitch med mera. Om kanalen inte stöder skickas meddelandet som text.

Följande begäran skickar ett meddelande som anger att text ska visas och text som ska talas och anger att roboten förväntar sig användarindata. Den anger speak egenskapen med SSML-format för att ange att ordet "säker" ska talas med måttlig betoning. I den här exempelbegäran representerar Direct Line bas-URI:n. Bas-URI:n för begäranden om att dina robotproblem kan vara annorlunda. Mer information om hur du anger bas-URI finns i API-referens.

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"
}

Indatatips

När du skickar ett meddelande på en talaktiverad kanal kan du uttrycka det avsedda tillståndet för klientens mikrofon genom att även inkludera en indatatips för att ange om roboten accepterar, förväntar sig eller ignorerar användarindata. Mer information finns i Lägga till indatatips i meddelanden.

Ytterligare resurser