Dodawanie wskazówek wejściowych do komunikatów za pomocą interfejsu API łącznika bota
Określając wskazówkę wejściową dla komunikatu, możesz wskazać, czy bot akceptuje, oczekuje lub ignoruje dane wejściowe użytkownika po dostarczeniu komunikatu do klienta. W przypadku kanałów obsługujących to pole umożliwia klientom odpowiednio ustawienie stanu kontrolek wejściowych użytkownika. Jeśli na przykład wskazówka wejściowa komunikatu wskazuje, że bot ignoruje dane wejściowe użytkownika, klient może zamknąć mikrofon i wyłączyć pole wejściowe, aby uniemożliwić użytkownikowi podanie danych wejściowych.
Akceptowanie danych wejściowych
Aby wskazać, że bot jest pasywnie gotowy do wprowadzania danych wejściowych, ale nie oczekuje na odpowiedź od użytkownika, ustaw inputHint
właściwość na akceptowanie elementuInput w obiekcie Activity , który reprezentuje komunikat. W wielu kanałach spowoduje to włączenie pola wejściowego klienta i zamknięcie mikrofonu, ale nadal dostępne dla użytkownika.
W poniższym przykładzie przedstawiono żądanie, które wysyła komunikat i określa, że bot akceptuje dane wejściowe. 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": "Here's a picture of the house I was telling you about.",
"inputHint": "acceptingInput",
"replyToId": "5d5cdc723"
}
Oczekiwano danych wejściowych
Aby wskazać, że bot aktywnie oczekuje na odpowiedź od użytkownika, ustaw inputHint
właściwość na oczekiwaną wartośćInput w obiekcie Activity , który reprezentuje komunikat. W kanałach, które go obsługują, spowoduje to włączenie pola wejściowego klienta i otwarcie mikrofonu.
W poniższym przykładzie przedstawiono żądanie, które wysyła komunikat i określa, że bot oczekuje danych wejściowych. 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": "What is your favorite color?",
"inputHint": "expectingInput",
"replyToId": "5d5cdc723"
}
Ignorowanie danych wejściowych
Aby wskazać, że bot nie jest gotowy do odbierania danych wejściowych od użytkownika, ustaw inputHint
właściwość na ignoringInput w obiekcie Activity , który reprezentuje komunikat. W kanałach, które go obsługują, spowoduje to wyłączenie pola wejściowego klienta i zamknięcie mikrofonu.
W poniższym przykładzie przedstawiono żądanie, które wysyła komunikat i określa, że bot ignoruje dane wejściowe. 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": "Please hold while I perform the calculation.",
"inputHint": "ignoringInput",
"replyToId": "5d5cdc723"
}