Aggiungere hint di input ai messaggi con l'API Bot Connector
Se si specifica un hint di input per un messaggio, è possibile indicare se il bot accetta, ignora o prevede un input dell'utente dopo che il messaggio è stato recapitato al client. Per i canali che supportano questo campo questa indicazione consente ai client di impostare di conseguenza lo stato dei controlli di input dell'utente. Ad esempio, se l'hint di input di un messaggio indica che il bot sta ignorando l'input dell'utente, il client potrebbe chiudere il microfono e disabilitare la casella di input per impedire all'utente di fornire l'input.
Accettazione dell'input
Per indicare che il bot è pronto passivamente per l'input, ma non è in attesa di una risposta da parte dell'utente, impostare la inputHint
proprietà su acceptingInput all'interno dell'oggetto Activity che rappresenta il messaggio. In molti canali, questa impostazione farà sì che la casella di immissione del client sia abilitata e il microfono sia chiuso, ma accessibile all'utente.
L'esempio seguente mostra una richiesta che invia un messaggio e specifica che il bot accetta l'input. In questa richiesta di esempio, Direct Line rappresenta l'URI di base. L'URI di base per le richieste inviate dal bot può essere diverso. Per informazioni dettagliate sull'impostazione dell'URI di base, vedere Informazioni di riferimento sulle 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"
}
Previsione di un input
Per indicare che il bot è attivamente in attesa di una risposta da parte dell'utente, impostare la proprietà inputHint
su expectingInput all'interno dell'oggetto Attività che rappresenta il messaggio. Nei canali che la supportano, questa impostazione abilita la casella di input del client e apre il microfono.
L'esempio seguente mostra una richiesta che invia un messaggio e specifica che il bot attende l'input. In questa richiesta di esempio, Direct Line rappresenta l'URI di base. L'URI di base per le richieste inviate dal bot può essere diverso. Per informazioni dettagliate sull'impostazione dell'URI di base, vedere Informazioni di riferimento sulle 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"
}
Ignorare un input
Per indicare che il bot non è pronto per ricevere input dall'utente, impostare la inputHint
proprietà su ignoringInput all'interno dell'oggetto Activity che rappresenta il messaggio. Nei canali che la supportano, questa impostazione disabilita la casella di input del client e chiude il microfono.
L'esempio seguente mostra una richiesta che invia un messaggio e specifica che il bot ignora l'input. In questa richiesta di esempio, Direct Line rappresenta l'URI di base. L'URI di base per le richieste inviate dal bot può essere diverso. Per informazioni dettagliate sull'impostazione dell'URI di base, vedere Informazioni di riferimento sulle 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"
}