Udostępnij za pośrednictwem


Dodawanie mowy do komunikatów za pomocą interfejsu API łącznika botów

Jeśli tworzysz bota dla kanału obsługującego mowę, możesz utworzyć komunikaty określające tekst, który ma być wypowiadany przez bota. Możesz również próbować wpłynąć na stan mikrofonu klienta, określając wskazówkę wejściową , aby wskazać, czy bot akceptuje, oczekuje lub ignoruje dane wejściowe użytkownika.

Bot można skonfigurować tak, aby zezwalał aplikacjom klienckim na komunikowanie się z nim za pośrednictwem kanału usługi Mowa Direct Line.

Określ tekst, który ma być wypowiadany przez bota

Aby określić tekst, który ma być wypowiadany przez bota w kanale obsługującym mowę, ustaw speak właściwość w obiekcie Activity , który reprezentuje komunikat. Właściwość można ustawić speak na zwykły ciąg tekstowy lub ciąg sformatowany jako Język znaczników syntezy mowy (SSML), oparty na języku znaczników XML, który umożliwia kontrolowanie różnych cech mowy bota, takich jak głos, szybkość, głośność, wymowa, ton i inne. Jeśli kanał nie obsługuje, wiadomość zostanie dostarczona jako tekst.

Następujące żądanie wysyła komunikat, który określa tekst, który ma być wyświetlany, a tekst ma być wypowiadany i wskazuje, że bot oczekuje danych wejściowych użytkownika. Określa właściwość używającą speak formatu SSML , aby wskazać, że słowo "sure" powinno być wypowiadane z umiarkowaną ilością nacisku. W tym przykładowym żądaniu Direct Line reprezentuje podstawowy identyfikator URI; podstawowy identyfikator URI żądań, które mogą być inne. Aby uzyskać szczegółowe informacje na temat ustawiania podstawowego identyfikatora URI, zobacz Dokumentacja interfejsu 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"
}

Wskazówki dotyczące danych wejściowych

Podczas wysyłania komunikatu w kanale obsługującym mowę można wyrazić zamierzony stan mikrofonu klienta, włączając również wskazówkę wejściową, aby wskazać, czy bot akceptuje, oczekuje lub ignoruje dane wejściowe użytkownika. Aby uzyskać więcej informacji, zobacz Dodawanie wskazówek wejściowych do komunikatów.

Dodatkowe zasoby