Ajouter des indicateurs d’entrée aux messages avec l’API Bot Connector

En spécifiant un conseil de saisie pour un message, vous pouvez indiquer si votre robot accepte, attend ou ignore l’entrée utilisateur une fois le message remis au client. Pour les canaux qui le prennent en charge, cela permet aux clients de définir l’état des contrôles d’entrée utilisateur en conséquence. Par exemple, si le conseil de saisie d’un message indique que le bot ignore l’entrée utilisateur, le client peut fermer le microphone et désactiver la zone de saisie pour empêcher l’utilisateur de fournir une entrée.

Acceptation d’entrées

Pour indiquer que votre bot est passivement prêt pour l’entrée, mais qu’il n’attend pas une réponse de l’utilisateur, définissez la inputHint propriété sur acceptInput dans l’objet Activity qui représente votre message. Sur de nombreux canaux, cela entraîne l’activation de la zone de saisie du client, ainsi que la coupure du microphone, tout en restant accessible à l’utilisateur.

L’exemple suivant montre une demande qui envoie un message et spécifie que le robot accepte l’entrée. Dans cet exemple de requête, Direct Line représente l’URI de base. L’URI de base des requêtes émises par votre bot peut être différent. Pour plus d’informations sur la définition de l’URI de base, voir Informations de référence sur l’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"
}

Attente d’entrée

Pour indiquer que votre bot attend activement une réponse de l’utilisateur, définissez la propriété inputHint sur expectingInput dans l’objet Activité qui représente votre message. Sur les canaux qui le prennent en charge, cela entraîne l’activation de la zone de saisie du client, ainsi que l’activation du microphone.

L’exemple suivant montre une demande qui envoie un message et spécifie que le robot attend une entrée. Dans cet exemple de requête, Direct Line représente l’URI de base. L’URI de base des requêtes émises par votre bot peut être différent. Pour plus d’informations sur la définition de l’URI de base, voir Informations de référence sur l’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"
}

Ignorer l’entrée

Pour indiquer que votre bot n’est pas prêt à recevoir des entrées de l’utilisateur, définissez la inputHint propriété sur ignoringInput dans l’objet Activity qui représente votre message. Sur les canaux qui le prennent en charge, cela entraîne la désactivation de la zone de saisie du client, ainsi que la désactivation du microphone.

L’exemple suivant montre une demande qui envoie un message et spécifie que le robot ignore l’entrée. Dans cet exemple de requête, Direct Line représente l’URI de base. L’URI de base des requêtes émises par votre bot peut être différent. Pour plus d’informations sur la définition de l’URI de base, voir Informations de référence sur l’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"
}

Ressources supplémentaires