Informations de référence sur l’API pour le service Bot Framework Connector

Note

L’API REST n’est pas équivalente au Kit de développement logiciel (SDK). L’API REST est fournie pour autoriser la communication REST standard, mais la méthode préférée d’interaction avec Bot Framework est le Kit de développement logiciel (SDK).

Dans Bot Framework, le service Bot Connector permet à votre bot d’échanger des messages avec des utilisateurs sur des canaux configurés dans le portail Bot Framework. Le service utilise REST et JSON standard sur HTTPS.

Base de l'URI

Lorsqu’un utilisateur envoie un message à votre bot, la requête entrante contient un objet d’activité avec une serviceUrl propriété qui spécifie le point de terminaison auquel votre bot doit envoyer sa réponse. Pour accéder au service Bot Connector, utilisez la serviceUrl valeur comme URI de base pour les demandes d’API.

Quand vous n’avez pas encore d’URL de service pour le canal, utilisez https://smba.trafficmanager.net/teams/ l’URL du service. Pour plus d’informations, consultez comment créer une conversation et un message proactif dans Teams.

Par exemple, supposons que votre bot reçoit l’activité suivante lorsque l’utilisateur envoie un message au bot.

{
    "type": "message",
    "id": "bf3cc9a2f5de...",
    "timestamp": "2016-10-19T20:17:52.2891902Z",
    "serviceUrl": "https://smba.trafficmanager.net/teams/",
    "channelId": "channel's name/id",
    "from": {
        "id": "1234abcd",
        "name": "user's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
    },
    "recipient": {
        "id": "12345678",
        "name": "bot's name"
    },
    "text": "Haircut on Saturday"
}

La serviceUrl propriété dans le message de l’utilisateur indique que le bot doit envoyer sa réponse au point de terminaison https://smba.trafficmanager.net/teams/. L’URL du service sera l’URI de base pour toutes les demandes suivantes que le bot émet dans le contexte de cette conversation. Si votre bot doit envoyer un message proactif à l’utilisateur, veillez à enregistrer la valeur de serviceUrl.

L’exemple suivant montre la demande que le bot émet pour répondre au message de l’utilisateur.

POST https://smba.trafficmanager.net/teams/v3/conversations/abcd1234/activities/bf3cc9a2f5de...
Authorization: Bearer eyJhbGciOiJIUzI1Ni...
Content-Type: application/json
{
    "type": "message",
    "from": {
        "id": "12345678",
        "name": "bot's name"
    },
    "conversation": {
        "id": "abcd1234",
        "name": "conversation's name"
    },
   "recipient": {
        "id": "1234abcd",
        "name": "user's name"
    },
    "text": "I have several times available on Saturday!",
    "replyToId": "bf3cc9a2f5de..."
}

En-têtes

En-têtes de requête

Outre les en-têtes de requête HTTP standard, chaque demande d’API que vous émettez doit inclure un Authorization en-tête qui spécifie un jeton d’accès pour authentifier votre bot. Spécifiez l’en-tête Authorization au format suivant :

Authorization: Bearer ACCESS_TOKEN

Pour plus d’informations sur l’obtention d’un jeton d’accès pour votre bot, consultez Authentifier les demandes de votre bot auprès du service Bot Connector.

En-têtes de réponse

En plus des en-têtes de réponse HTTP standard, chaque réponse contient un X-Correlating-OperationId en-tête. La valeur de cet en-tête est un ID qui correspond à l’entrée du journal Bot Framework, qui contient des détails sur la demande. Lorsque vous recevez une réponse d’erreur, vous devez capturer la valeur de cet en-tête. Si vous n’êtes pas en mesure de résoudre le problème indépendamment, incluez cette valeur dans les informations que vous fournissez à l’équipe du support technique lorsque vous signalez le problème.

Codes d’état HTTP

Le code d’état HTTP retourné avec chaque réponse indique le résultat de la requête correspondante.

Note

Le tableau suivant décrit les codes d’état HTTP les plus courants. Certaines erreurs sont générées par le canal. Pour plus d’informations, vous devrez peut-être lire la documentation du développeur du canal.

Code d’état HTTP Meaning
200 La demande a abouti.
201 La demande a abouti.
202 La demande a été acceptée pour traitement.
204 La demande a réussi, mais aucun contenu n’a été retourné.
400 La demande a été incorrecte ou incorrecte.
401 Le bot n’est pas encore authentifié.
403 Le bot n’est pas autorisé à effectuer l’opération demandée.
404 La ressource demandée n’a pas été trouvée.
405 Le canal ne prend pas en charge l’opération demandée.
500 Une erreur de serveur interne s’est produite.
503 Le service est temporairement indisponible.

Errors

Toute réponse qui spécifie un code d’état HTTP dans la plage 4xx ou 5xx inclut un objet ErrorResponse dans le corps de la réponse qui fournit des informations sur l’erreur. Si vous recevez une réponse d’erreur dans la plage 4xx, inspectez l’objet ErrorResponse pour identifier la cause de l’erreur et résoudre votre problème avant de renvoyer la requête.

Opérations de conversation

Utilisez ces opérations pour créer des conversations, envoyer des messages (activités) et gérer le contenu des conversations.

Important

Tous les canaux ne prennent pas en charge tous les points de terminaison. Toutefois, tous les canaux doivent prendre en charge la réponse au point de terminaison d’activité .

Par exemple, seuls Direct Line et Chat Web prennent en charge le point de terminaison obtenir des conversations.

Operation Description
Créer une conversation Crée une nouvelle conversation.
Supprimer l’activité Supprime une activité existante.
Supprimer un membre de conversation Supprime un membre d’une conversation.
Obtenir des membres d’activité Obtient les membres de l’activité spécifiée dans la conversation spécifiée.
Obtenir un membre de conversation Obtient des détails sur un membre d’une conversation.
Obtenir des membres de conversation Obtient les membres de la conversation spécifiée.
Obtenir des membres paginés de conversation Obtient les membres de la conversation spécifiée une page à la fois.
Obtenir des conversations Obtient la liste des conversations auxquelles le bot a participé.
Répondre à l’activité Envoie une activité (message) à la conversation spécifiée, en tant que réponse à l’activité spécifiée.
Envoyer l’historique des conversations Charge une transcription des activités passées dans la conversation.
Envoyer à la conversation Envoie une activité (message) à la fin de la conversation spécifiée.
Activité de mise à jour Met à jour une activité existante.
Charger la pièce jointe sur le canal Charge une pièce jointe directement dans le stockage d’objets blob d’un canal.

Créer une conversation

Crée une nouvelle conversation.

POST /v3/conversations
Contenu Description
Corps de la demande Objet ConversationParameters
Retour Objet ConversationResourceResponse

Supprimer l’activité

Certains canaux vous permettent de supprimer une activité existante. Si elle réussit, cette opération supprime l’activité spécifiée de la conversation spécifiée.

DELETE /v3/conversations/{conversationId}/activities/{activityId}
Contenu Description
Corps de la demande n/a
Retour Code d’état HTTP qui indique le résultat de l’opération. Rien n’est spécifié dans le corps de la réponse.

Supprimer un membre de conversation

Supprime un membre d’une conversation. Si ce membre était le dernier membre de la conversation, la conversation sera également supprimée.

DELETE /v3/conversations/{conversationId}/members/{memberId}
Contenu Description
Corps de la demande n/a
Retour Code d’état HTTP qui indique le résultat de l’opération. Rien n’est spécifié dans le corps de la réponse.

Obtenir des membres d’activité

Obtient les membres de l’activité spécifiée dans la conversation spécifiée.

GET /v3/conversations/{conversationId}/activities/{activityId}/members
Contenu Description
Corps de la demande n/a
Retour Tableau d’objets ChannelAccount

Obtenir des conversations

Obtient la liste des conversations auxquelles le bot a participé.

GET /v3/conversations?continuationToken={continuationToken}
Contenu Description
Corps de la demande n/a
Retour Objet ConversationsResult

Obtenir un membre de conversation

Obtient des détails sur un membre spécifique d’une conversation spécifique.

GET /v3/conversations/{conversationId}/members/{memberId}
Contenu Description
Corps de la demande n/a
Retour Objet ChannelAccount pour le membre.

Obtenir les membres de la conversation

Obtient les membres de la conversation spécifiée.

GET /v3/conversations/{conversationId}/members
Contenu Description
Corps de la demande n/a
Retour Tableau d’objets ChannelAccount pour les membres de la conversation.

Obtenir des membres paginés de conversation

Obtient les membres de la conversation spécifiée une page à la fois.

GET /v3/conversations/{conversationId}/pagedmembers?pageSize={pageSize}&continuationToken={continuationToken}
Contenu Description
Corps de la demande n/a
Retour Objet PagedMembersResult

Répondre à l’activité

Envoie une activité (message) à la conversation spécifiée, en tant que réponse à l’activité spécifiée. L’activité est ajoutée en tant que réponse à une autre activité, si le canal le prend en charge. Si le canal ne prend pas en charge les réponses imbriquées, cette opération se comporte comme Envoyer à la conversation.

POST /v3/conversations/{conversationId}/activities/{activityId}
Contenu Description
Corps de la demande Objet Activity
Retour Objet ResourceResponse

Envoyer l’historique des conversations

Charge une transcription des activités passées dans la conversation afin que le client puisse les afficher.

POST /v3/conversations/{conversationId}/activities/history
Contenu Description
Corps de la demande Objet Transcript .
Retour Objet ResourceResponse .

Envoyer à la conversation

Envoie une activité (message) à la conversation spécifiée. L’activité est ajoutée à la fin de la conversation en fonction de l’horodatage ou de la sémantique du canal. Pour répondre à un message spécifique au sein de la conversation, utilisez plutôt Répondre à l’activité .

POST /v3/conversations/{conversationId}/activities
Contenu Description
Corps de la demande Objet Activity
Retour Objet ResourceResponse

Activité de mise à jour

Certains canaux vous permettent de modifier une activité existante pour refléter le nouvel état d’une conversation de bot. Par exemple, vous pouvez supprimer des boutons d’un message dans la conversation une fois que l’utilisateur a cliqué sur l’un des boutons. Si elle réussit, cette opération met à jour l’activité spécifiée dans la conversation spécifiée.

PUT /v3/conversations/{conversationId}/activities/{activityId}
Contenu Description
Corps de la demande Objet Activity
Retour Objet ResourceResponse

Charger la pièce jointe sur le canal

Charge une pièce jointe pour la conversation spécifiée directement dans le stockage d’objets blob d’un canal. Cela vous permet de stocker des données dans un magasin conforme.

POST /v3/conversations/{conversationId}/attachments
Contenu Description
Corps de la demande Objet AttachmentData .
Retour Objet ResourceResponse . La propriété ID spécifie l’ID de pièce jointe qui peut être utilisé avec l’opération Obtenir les informations de pièce jointe et l’opération Obtenir la pièce jointe .

Opérations de pièce jointe

Utilisez ces opérations pour récupérer des informations sur une pièce jointe ainsi que les données binaires du fichier lui-même.

Operation Description
Obtenir des informations sur les pièces jointes Obtient des informations sur la pièce jointe spécifiée, notamment le nom de fichier, le type de fichier et les vues disponibles (par exemple, original ou miniature).
Obtenir une pièce jointe Obtient la vue spécifiée de la pièce jointe spécifiée en tant que contenu binaire.

Obtenir des informations sur la pièce jointe

Obtient des informations sur la pièce jointe spécifiée, notamment le nom de fichier, le type et les vues disponibles (par exemple, original ou miniature).

GET /v3/attachments/{attachmentId}
Contenu Description
Corps de la demande n/a
Retour Objet AttachmentInfo

Obtenir une pièce jointe

Obtient la vue spécifiée de la pièce jointe spécifiée en tant que contenu binaire.

GET /v3/attachments/{attachmentId}/views/{viewId}
Contenu Description
Corps de la demande n/a
Retour Contenu binaire qui représente la vue spécifiée de la pièce jointe spécifiée

Opérations d’état (déconseillées)

Le service Microsoft Bot Framework State a été mis hors service le 30 mars 2018. Auparavant, les bots basés sur Azure AI Bot Service ou le kit de développement logiciel (SDK) Bot Builder avaient une connexion par défaut à ce service hébergé par Microsoft pour stocker les données Bot State. Les bots doivent être mis à jour pour utiliser leur propre stockage d’état.

Operation Description
Set User Data Stocke les données d’état d’un utilisateur spécifique sur un canal.
Set Conversation Data Stocke les données d’état d’une conversation spécifique sur un canal.
Set Private Conversation Data Stocke les données d’état d’un utilisateur spécifique dans le contexte d’une conversation spécifique sur un canal.
Get User Data Récupère les données d’état qui ont été précédemment stockées pour un utilisateur spécifique dans toutes les conversations sur un canal.
Get Conversation Data Récupère les données d’état précédemment stockées pour une conversation spécifique sur un canal.
Get Private Conversation Data Récupère les données d’état précédemment stockées pour un utilisateur spécifique dans le contexte d’une conversation spécifique sur un canal.
Delete State For User Supprime les données d’état précédemment stockées pour un utilisateur.

Schema

Le schéma Bot Framework définit les objets et leurs propriétés que votre bot peut utiliser pour communiquer avec un utilisateur.

Object Description
Objet d’activité Définit un message échangé entre le bot et l’utilisateur.
AnimationCard (objet) Définit une carte qui peut lire des GIF animées ou des vidéos courtes.
Objet Attachment Définit des informations supplémentaires à inclure dans le message. Une pièce jointe peut être un fichier multimédia (par exemple, audio, vidéo, image, fichier) ou une carte riche.
Objet AttachmentData Décrit des données de pièce jointe.
Objet AttachmentInfo Décrit une pièce jointe.
Objet AttachmentView Définit un objet qui représente une vue disponible pour une pièce jointe.
AudioCard (objet) Définit une carte qui peut lire un fichier audio.
Objet CardAction Définit une action à effectuer.
Objet CardImage Définit une image à afficher sur une carte.
Objet ChannelAccount Définit un bot ou un compte d’utilisateur sur le canal.
Objet ConversationAccount Définit une conversation dans un canal.
Objet ConversationMembers Définit les membres d’une conversation.
Objet ConversationParameters Définir des paramètres pour la création d’une conversation
Objet ConversationReference Définit un point particulier dans une conversation.
Objet ConversationResourceResponse Définit une réponse à créer une conversation.
Objet ConversationsResult Définit le résultat d’un appel pour obtenir des conversations.
Objet Entity Définit un objet d’entité.
Error (objet) Définit une erreur.
ErrorResponse (objet) Définit une réponse d’API HTTP.
Objet fact Définit une paire clé-valeur qui contient un fait.
Objet GeoCoordinates Définit un emplacement géographique à l’aide des coordonnées WSG84 (World Geodetic System).
HeroCard (objet) Définit une carte avec une grande image, un titre, un texte et des boutons d’action.
InnerHttpError (objet) Objet représentant une erreur HTTP interne.
Objet MediaEventValue Paramètre supplémentaire pour les événements multimédias.
Objet MediaUrl Définit l’URL vers la source d’un fichier multimédia.
Objet Mention Définit un utilisateur ou un bot mentionné dans la conversation.
MessageReaction (objet) Définit une réaction à un message.
PagedMembersResult (objet) Page des membres retournés par Obtenir les membres paginés de conversation.
Place (objet) Définit un endroit mentionné dans la conversation.
Objet ReceiptCard Définit une carte qui contient un reçu pour un achat.
Objet ReceiptItem Définit un élément de ligne dans un reçu.
ResourceResponse (objet) Définit une ressource.
SemanticAction (objet) Définit une référence à une action programmatique.
Objet SignInCard Définit une carte qui permet à un utilisateur de se connecter à un service.
Objet SuggestedActions Définit les options à partir desquelles un utilisateur peut choisir.
TextHighlight (objet) Fait référence à une sous-chaîne de contenu dans un autre champ.
Objet ThumbnailCard Définit une carte avec une image miniature, un titre, un texte et des boutons d’action.
Objet ThumbnailUrl Définit l’URL vers la source d’une image.
Objet Transcript Collection d’activités à charger à l’aide de l’historique des conversations d’envoi.
Objet VideoCard Définit une carte qui peut lire des vidéos.

Objet d’activité

Définit un message échangé entre le bot et l’utilisateur.

Propriété Type Description
action String Action à appliquer ou appliquée. Utilisez la propriété de type pour déterminer le contexte de l’action. Par exemple, si le type est contactRelationUpdate, la valeur de la propriété d’action est ajoutée si l’utilisateur a ajouté votre bot à sa liste de contacts, ou supprimer s’il a supprimé votre bot de sa liste de contacts.
attachmentLayout String Disposition des pièces jointes de carte enrichie que le message inclut. Une de ces valeurs : carrousel, liste. Pour plus d’informations sur les pièces jointes de carte enrichie, consultez Ajouter des pièces jointes à des cartes enrichies aux messages.
Pièces jointes Pièce jointe[] Tableau d’objets Attachment qui définit des informations supplémentaires à inclure dans le message. Chaque pièce jointe peut être un fichier (par exemple, audio, vidéo, image) ou une carte riche.
callerId String Chaîne contenant une IRI identifiant l’appelant d’un bot. Ce champ n’est pas destiné à être transmis via le réseau, mais est plutôt rempli par des bots et des clients basés sur des données vérifiables par chiffrement qui affirment l’identité des appelants (par exemple, des jetons).
channelData Object Objet contenant du contenu spécifique au canal. Certains canaux fournissent des fonctionnalités qui nécessitent des informations supplémentaires qui ne peuvent pas être représentées à l’aide du schéma de pièce jointe. Dans ce cas, définissez cette propriété sur le contenu spécifique au canal tel que défini dans la documentation du canal. Pour plus d’informations, consultez Implémenter des fonctionnalités spécifiques au canal.
channelId String Un identifiant qui identifie de manière unique le canal. Défini par le canal.
code String Code indiquant pourquoi la conversation s’est terminée.
conversation ConversationAccount Objet ConversationAccount qui définit la conversation à laquelle appartient l’activité.
deliveryMode String Indicateur de remise pour signaler au destinataire d’autres chemins de remise de l’activité. Une de ces valeurs : normale, notification.
entités object[] Tableau d’objets qui représente les entités mentionnées dans le message. Les objets de ce tableau peuvent être n’importe quel objet Schema.org . Par exemple, le tableau peut inclure des objets Mention qui identifient une personne qui a été mentionnée dans la conversation et placer des objets qui identifient un lieu mentionné dans la conversation.
expiration String Heure à laquelle l’activité doit être considérée comme « expirée » et ne doit pas être présentée au destinataire.
from ChannelAccount Objet ChannelAccount qui spécifie l’expéditeur du message.
historyDisclosed Boolean Indicateur qui indique si l’historique est divulgué ou non. La valeur par défaut est False.
id String ID qui identifie de façon unique l’activité sur le canal.
importance String Définit l’importance d’une activité. L’une de ces valeurs : faible, normal, élevé.
inputHint String Valeur qui indique si votre bot accepte, attend ou ignore l’entrée de l’utilisateur une fois le message remis au client. L’une de ces valeurs : acceptInput, expectingInput, ignoreingInput.
label String Étiquette descriptive de l’activité.
listenFor Chaîne[] Liste des expressions et références que les systèmes d’priming vocale et linguistique doivent écouter.
locale String Paramètres régionaux de la langue à utiliser pour afficher du texte dans le message, au format <language>-<country>. Le canal utilise cette propriété pour indiquer la langue de l’utilisateur, afin que votre bot puisse spécifier des chaînes d’affichage dans cette langue. La valeur par défaut est en-US.
localTimestamp String Date et heure auxquelles le message a été envoyé dans le fuseau horaire local, exprimé au format ISO-8601 .
localTimezone String Contient le nom du fuseau horaire local du message, exprimé au format de base de données de fuseau horaire IANA. Par exemple, l’Amérique/Los_Angeles.
membersAdded ChannelAccount[] Tableau d’objets ChannelAccount qui représente la liste des utilisateurs qui ont rejoint la conversation. Présentez uniquement si le type d’activité est « conversationUpdate » et que les utilisateurs ont rejoint la conversation.
membersRemoved ChannelAccount[] Tableau d’objets ChannelAccount qui représente la liste des utilisateurs qui ont quitté la conversation. Présentez uniquement si le type d’activité est « conversationUpdate » et que les utilisateurs ont quitté la conversation.
nom String Nom de l’opération à appeler ou nom de l’événement.
réactionsAdded MessageReaction[] Collection de réactions ajoutées à la conversation.
reactionsRemoved MessageReaction[] Collection de réactions supprimées de la conversation.
recipient ChannelAccount Objet ChannelAccount qui spécifie le destinataire du message.
relatesTo ConversationReference Objet ConversationReference qui définit un point particulier dans une conversation.
replyToId String ID du message auquel ce message répond. Pour répondre à un message envoyé par l’utilisateur, définissez cette propriété sur l’ID du message de l’utilisateur. Tous les canaux ne prennent pas en charge les réponses threaded. Dans ces cas, le canal ignore cette propriété et utilise la sémantique chronologique ordonnée (timestamp) pour ajouter le message à la conversation.
semanticAction SemanticAction Objet SemanticAction qui représente une référence à une action programmatique.
serviceUrl String URL qui spécifie le point de terminaison de service du canal. Défini par le canal.
parler String Texte à prononcer par votre bot sur un canal avec reconnaissance vocale. Pour contrôler différentes caractéristiques de la voix, de la vitesse, du volume, de la prononciation et du pitch de votre bot, spécifiez cette propriété au format SSML (Speech Synthesis Markup Language).
suggestionsActions SuggestionsActions Objet SuggestedActions qui définit les options à partir desquelles l’utilisateur peut choisir.
summary String Résumé des informations contenues dans le message. Par exemple, pour un message envoyé sur un canal de messagerie, cette propriété peut spécifier les 50 premiers caractères du message électronique.
text String Texte du message envoyé de l’utilisateur au bot ou au bot à l’utilisateur. Consultez la documentation du canal pour connaître les limites imposées au contenu de cette propriété.
textFormat String Format du texte du message. L’une de ces valeurs : markdown, plain, xml. Pour plus d’informations sur le format texte, consultez Créer des messages.
textHighlights TextHighlight[] Collection de fragments de texte à mettre en surbrillance lorsque l’activité contient une valeur replyToId .
timestamp String Date et heure auxquelles le message a été envoyé dans le fuseau horaire UTC, exprimé au format ISO-8601 .
topicName String Rubrique de la conversation à laquelle appartient l’activité.
type String Type d’activité. L’une de ces valeurs : message, contactRelationUpdate, conversationUpdate, saisie, endOfConversation, événement, invoke, deleteUserData, messageUpdate, messageDelete, installationUpdate, messageReaction, suggestion, trace, transfert. Pour plus d’informations sur les types d’activités, consultez la spécification du protocole d’activité.
valeur Object Valeur sans limite.
valueType String Type de l’objet valeur de l’activité.

Revenir à la table Schéma

AnimationCard (objet)

Définit une carte qui peut lire des GIF animées ou des vidéos courtes.

Propriété Type Description
aspect Boolean Proportions de l’espace réservé miniature/média. Les valeurs autorisées sont « 16:9 » et « 4:3 ».
autoloop Boolean Indicateur qui indique s’il faut relire la liste des gif animés lorsque le dernier se termine. Définissez cette propriété sur true pour relire automatiquement l’animation ; sinon, false. La valeur par défaut est true.
démarrage automatique Boolean Indicateur qui indique s’il faut lire automatiquement l’animation lorsque la carte est affichée. Définissez cette propriété sur true pour lire automatiquement l’animation ; sinon, false. La valeur par défaut est true.
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur d’effectuer une ou plusieurs actions. Le canal détermine le nombre de boutons que vous pouvez spécifier.
duration String Longueur du contenu multimédia, au format de durée ISO 8601.
image ThumbnailUrl Objet ThumbnailUrl qui spécifie l’image à afficher sur la carte.
media MediaUrl[] Tableau d’objets MediaUrl . Lorsque ce champ contient plusieurs URL, chaque URL est un autre format du même contenu.
partageable Boolean Indicateur qui indique si l’animation peut être partagée avec d’autres personnes. Définissez cette propriété sur true si l’animation peut être partagée ; sinon, false. La valeur par défaut est true.
sous-titre String Sous-titre à afficher sous le titre de la carte.
text String Description ou invite à afficher sous le titre ou le sous-titre de la carte.
titre String Titre de la carte.
valeur Object Paramètre supplémentaire pour cette carte.

Revenir à la table Schéma

Objet Attachment

Définit des informations supplémentaires à inclure dans le message. Une pièce jointe peut être un fichier (par exemple, une image, un audio ou une vidéo) ou une carte riche.

Propriété Type Description
contenu Object Contenu de la pièce jointe. Si la pièce jointe est une carte enrichie, définissez cette propriété sur l’objet de carte riche. Cette propriété et la propriété contentUrl s’excluent mutuellement.
contentType String Type de média du contenu dans la pièce jointe. Pour les fichiers multimédias, définissez cette propriété sur des types multimédias connus tels que image/png, audio/wav et vidéo/mp4. Pour les cartes enrichies, définissez cette propriété sur l’un de ces types spécifiques au fournisseur :
  • application/vnd.microsoft.card.adaptive : carte enrichie qui peut contenir n’importe quelle combinaison de texte, de reconnaissance vocale, d’images, de boutons et de champs d’entrée. Définissez la propriété de contenu sur un objet AdaptiveCard .
  • application/vnd.microsoft.card.animation : carte enrichie qui lit l’animation. Définissez la propriété de contenu sur un objet AnimationCard .
  • application/vnd.microsoft.card.audio : carte enrichie qui lit des fichiers audio. Définissez la propriété de contenu sur un objet AudioCard .
  • application/vnd.microsoft.card.hero : carte Hero. Définissez la propriété de contenu sur un objet HeroCard .
  • application/vnd.microsoft.card.receipt : carte de reçu. Définissez la propriété de contenu sur un objet ReceiptCard .
  • application/vnd.microsoft.card.signin : carte de connexion utilisateur. Définissez la propriété de contenu sur un objet SignInCard .
  • application/vnd.microsoft.card.thumbnail : carte miniature. Définissez la propriété de contenu sur un objet ThumbnailCard .
  • application/vnd.microsoft.card.video : carte riche qui lit des vidéos. Définissez la propriété de contenu sur un objet VideoCard .
contentUrl String URL du contenu de la pièce jointe. Par exemple, si la pièce jointe est une image, vous pouvez définir contentUrl sur l’URL qui représente l’emplacement de l’image. Les protocoles pris en charge sont : HTTP, HTTPS, Fichier et Données.
nom String Nom de la pièce jointe.
thumbnailUrl String URL d’une image miniature que le canal peut utiliser s’il prend en charge l’utilisation d’une autre forme de contenu ou contentUrl plus petite. Par exemple, si vous définissez contentType sur application/word et définissez contentUrl sur l’emplacement du document Word, vous pouvez inclure une image miniature qui représente le document. Le canal pourrait afficher l’image miniature au lieu du document. Lorsque l’utilisateur clique sur l’image, le canal ouvre le document.

Revenir à la table Schéma

Objet AttachmentData

Décrit les données d’une pièce jointe.

Propriété Type Description
nom String Nom de la pièce jointe.
originalBase64 String Contenu de pièce jointe.
thumbnailBase64 String Contenu miniature de pièce jointe.
type String Type de contenu de la pièce jointe.

Revenir à la table Schéma

Objet AttachmentInfo

Métadonnées d’une pièce jointe.

Propriété Type Description
nom String Nom de la pièce jointe.
type String Type de contenu de la pièce jointe.
views AttachmentView[] Tableau d’objets AttachmentView qui représentent les vues disponibles pour la pièce jointe.

Revenir à la table Schéma

Objet AttachmentView

Définit un objet qui représente une vue disponible pour une pièce jointe.

Propriété Type Description
taille Number Taille du fichier.
viewId String ID d’affichage.

Revenir à la table Schéma

AudioCard (objet)

Définit une carte qui peut lire un fichier audio.

Propriété Type Description
aspect String Proportions de la miniature spécifiée dans la propriété d’image . Les valeurs valides sont 16:9 et 4:3.
autoloop Boolean Indicateur qui indique s’il faut relire la liste des fichiers audio lorsque le dernier se termine. Définissez cette propriété sur true pour relire automatiquement les fichiers audio ; sinon, false. La valeur par défaut est true.
démarrage automatique Boolean Indicateur qui indique s’il faut lire automatiquement l’audio lorsque la carte est affichée. Définissez cette propriété sur true pour lire automatiquement l’audio ; sinon, false. La valeur par défaut est true.
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur d’effectuer une ou plusieurs actions. Le canal détermine le nombre de boutons que vous pouvez spécifier.
duration String Longueur du contenu multimédia, au format de durée ISO 8601.
image ThumbnailUrl Objet ThumbnailUrl qui spécifie l’image à afficher sur la carte.
media MediaUrl[] Tableau d’objets MediaUrl . Lorsque ce champ contient plusieurs URL, chaque URL est un autre format du même contenu.
partageable Boolean Indicateur qui indique si les fichiers audio peuvent être partagés avec d’autres personnes. Définissez cette propriété sur true si l’audio peut être partagé ; sinon, false. La valeur par défaut est true.
sous-titre String Sous-titre à afficher sous le titre de la carte.
text String Description ou invite à afficher sous le titre ou le sous-titre de la carte.
titre String Titre de la carte.
valeur Object Paramètre supplémentaire pour cette carte.

Revenir à la table Schéma

Objet CardAction

Définit une action cliquable avec un bouton.

Propriété Type Description
channelData String Données spécifiques au canal associées à cette action.
displayText String Texte à afficher dans le flux de conversation si le bouton est cliqué.
image String URL d’image qui s’affiche sur le bouton, en regard de l’étiquette de texte.
text String Texte de l’action.
titre String Description de texte qui s’affiche sur le bouton.
type String Type d’action à effectuer. Pour obtenir la liste des valeurs valides, consultez Ajouter des pièces jointes de carte enrichie aux messages.
valeur Object Paramètre supplémentaire pour l’action. Le comportement de cette propriété varie en fonction du type d’action. Pour plus d’informations, consultez Ajouter des pièces jointes de carte enrichie aux messages.

Revenir à la table Schéma

Objet CardImage

Définit une image à afficher sur une carte.

Propriété Type Description
Alt String Description de l’image. Vous devez inclure la description pour prendre en charge l’accessibilité.
appuyez sur CardAction Objet CardAction qui spécifie l’action à effectuer si l’utilisateur appuie ou clique sur l’image.
url String URL vers la source de l’image ou le binaire base64 de l’image (par exemple, data:image/png;base64,iVBORw0KGgo...).

Revenir à la table Schéma

Objet ChannelAccount

Définit un bot ou un compte d’utilisateur sur le canal.

Propriété Type Description
aadObjectId String ID d'objet de ce compte dans Microsoft Entra ID.
id String ID unique pour l’utilisateur ou le bot sur ce canal.
nom String Nom convivial du bot ou de l’utilisateur.
rôle String Rôle de l’entité derrière le compte. Utilisateur ou bot.

Revenir à la table Schéma

Objet ConversationAccount

Définit une conversation dans un canal.

Propriété Type Description
aadObjectId String ID d'objet de ce compte dans Microsoft Entra ID.
conversationType String Indique le type de la conversation dans les canaux qui distinguent les types de conversation (par exemple, groupe ou personnel).
id String ID qui identifie la conversation. L’ID est unique par canal. Si le canal démarre la conversation, il définit cet ID ; sinon, le bot définit cette propriété sur l’ID qu’il récupère dans la réponse lors du démarrage de la conversation (voir Créer une conversation).
isGroup Boolean Indicateur pour indiquer si la conversation contient plus de deux participants au moment où l’activité a été générée. Défini sur true s’il s’agit d’une conversation de groupe ; sinon, false. La valeur par défaut est false.
nom String Nom complet qui peut être utilisé pour identifier la conversation.
rôle String Rôle de l’entité derrière le compte. Utilisateur ou bot.
tenantId String ID de locataire de cette conversation.

Revenir à la table Schéma

Objet ConversationMembers

Définit les membres d’une conversation.

Propriété Type Description
id String ID de conversation.
membres ChannelAccount[] Liste des membres de cette conversation.

Revenir à la table Schéma

Objet ConversationParameters

Définit des paramètres pour la création d’une conversation.

Propriété Type Description
activité Activité Message initial à envoyer à la conversation lors de sa création.
Bot ChannelAccount Informations de compte de canal nécessaires pour acheminer un message vers le bot.
channelData Object Charge utile spécifique au canal pour la création de la conversation.
isGroup Boolean Indique s’il s’agit d’une conversation de groupe.
membres ChannelAccount[] Informations de compte de canal nécessaires pour acheminer un message vers chaque utilisateur.
tenantId String ID de locataire dans lequel la conversation doit être créée.
topicName String Sujet de la conversation. Cette propriété est utilisée uniquement si un canal le prend en charge.

Revenir à la table Schéma

Objet ConversationReference

Définit un point particulier dans une conversation.

Propriété Type Description
activityId String ID qui identifie de manière unique l’activité référencée par cet objet.
Bot ChannelAccount Objet ChannelAccount qui identifie le bot dans la conversation référencée par cet objet.
channelId String ID qui identifie de manière unique le canal dans la conversation référencée par cet objet.
conversation ConversationAccount Objet ConversationAccount qui définit la conversation référencée par cet objet.
serviceUrl String URL qui spécifie le point de terminaison de service du canal dans la conversation référencée par cet objet.
user ChannelAccount Objet ChannelAccount qui identifie l’utilisateur dans la conversation référencée par cet objet.

Revenir à la table Schéma

Objet ConversationResourceResponse

Définit une réponse à créer une conversation.

Propriété Type Description
activityId String ID de l’activité, s’il est envoyé.
id String ID de la ressource.
serviceUrl String Point de terminaison de service où des opérations concernant la conversation peuvent être effectuées.

Revenir à la table Schéma

Objet ConversationsResult

Définit le résultat de Get Conversations.

Propriété Type Description
conversations ConversationMembers[] Membres de chacune des conversations.
continuationToken String Jeton de continuation qui peut être utilisé dans les appels suivants pour obtenir des conversations.

Revenir à la table Schéma

Objet Entity

Objet de métadonnées relatif à une activité.

Propriété Type Description
type String Type de cette entité (RFC 3987 IRI).

Revenir à la table Schéma

objet d’erreur

Objet représentant des informations d’erreur.

Propriété Type Description
code String Code d’erreur.
innerHttpError InnerHttpError Objet représentant l’erreur HTTP interne.
Message String Description de l’erreur.

Revenir à la table Schéma

ErrorResponse (objet)

Définit une réponse d’API HTTP.

Propriété Type Description
error Error Objet Error qui contient des informations sur l’erreur.

Revenir à la table Schéma

Objet fact

Définit une paire clé-valeur qui contient un fait.

Propriété Type Description
key String Nom du fait. Par exemple, archivage. La clé est utilisée comme étiquette lors de l’affichage de la valeur du fait.
valeur String Valeur du fait. Par exemple, le 10 octobre 2016.

Revenir à la table Schéma

Objet GeoCoordinates

Définit un emplacement géographique à l’aide des coordonnées WSG84 (World Geodetic System).

Propriété Type Description
élévation Number Élévation de l’emplacement.
latitude Number Latitude de l’emplacement.
longitude Number Longitude de l’emplacement.
nom String Nom de l’emplacement.
type String Type de cet objet. Toujours défini sur GeoCoordinates.

Revenir à la table Schéma

HeroCard (objet)

Définit une carte avec une grande image, un titre, un texte et des boutons d’action.

Propriété Type Description
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur d’effectuer une ou plusieurs actions. Le canal détermine le nombre de boutons que vous pouvez spécifier.
images CardImage[] Tableau d’objets CardImage qui spécifie l’image à afficher sur la carte. Une carte Héros ne contient qu’une seule image.
sous-titre String Sous-titre à afficher sous le titre de la carte.
appuyez sur CardAction Objet CardAction qui spécifie l’action à effectuer si l’utilisateur appuie ou clique sur la carte. Il peut s’agir de la même action que l’un des boutons ou d’une autre action.
text String Description ou invite à afficher sous le titre ou le sous-titre de la carte.
titre String Titre de la carte.

Revenir à la table Schéma

InnerHttpError (objet)

Objet représentant une erreur HTTP interne.

Propriété Type Description
statusCode Number Code d’état HTTP de la requête ayant échoué.
body Object Corps de la demande ayant échoué.

Revenir à la table Schéma

Objet MediaEventValue

Paramètre supplémentaire pour les événements multimédias.

Propriété Type Description
cardValue Object Paramètre de rappel spécifié dans le champ valeur de la carte multimédia provenant de cet événement.

Revenir à la table Schéma

Objet MediaUrl

Définit l’URL vers la source d’un fichier multimédia.

Propriété Type Description
profile String Conseil qui décrit le contenu du média.
url String URL vers la source du fichier multimédia.

Revenir à la table Schéma

Objet Mention

Définit un utilisateur ou un bot mentionné dans la conversation.

Propriété Type Description
mentionné ChannelAccount Objet ChannelAccount qui spécifie l’utilisateur ou le bot mentionné. Certains canaux, tels que Slack, attribuent des noms par conversation. Il est donc possible que le nom mentionné par votre bot (dans la propriété du destinataire du message) soit différent du handle que vous avez spécifié lors de l’inscription de votre bot. Toutefois, les ID de compte pour les deux seraient identiques.
text String L’utilisateur ou le bot comme mentionné dans la conversation. Par exemple, si le message est « @ColorBot choisir une nouvelle couleur », cette propriété est définie sur @ColorBot. Tous les canaux ne définissent pas cette propriété.
type String Type de cet objet. Toujours défini sur Mention.

Revenir à la table Schéma

MessageReaction (objet)

Définit une réaction à un message.

Propriété Type Description
type String Type de réaction. Comme ou plusOne.

Revenir à la table Schéma

PagedMembersResult (objet)

Page des membres retournés par Obtenir les membres paginés de conversation.

Propriété Type Description
continuationToken String Jeton de continuation qui peut être utilisé dans les appels suivants pour obtenir des membres paginés de conversation.
membres ChannelAccount[] Tableau de membres de conversation.

Revenir à la table Schéma

Place (objet)

Définit un endroit mentionné dans la conversation.

Propriété Type Description
adresse Object Adresse d’un lieu. Cette propriété peut être une chaîne ou un objet complexe de type PostalAddress.
geo Géocoordinates Objet GeoCoordinates qui spécifie les coordonnées géographiques de l’endroit.
hasMap Object Mappez à l’endroit. Cette propriété peut être une chaîne (URL) ou un objet complexe de type Map.
nom String Nom de l’endroit.
type String Type de cet objet. Toujours défini sur Place.

Revenir à la table Schéma

Objet ReceiptCard

Définit une carte qui contient un reçu pour un achat.

Propriété Type Description
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur d’effectuer une ou plusieurs actions. Le canal détermine le nombre de boutons que vous pouvez spécifier.
Faits Fait[] Tableau d’objets fact qui spécifient des informations sur l’achat. Par exemple, la liste des faits pour un reçu de séjour de l’hôtel peut inclure la date d’archivage et la date d’archivage. Le canal détermine le nombre de faits que vous pouvez spécifier.
Éléments ReceiptItem[] Tableau d’objets ReceiptItem qui spécifient les éléments achetés
appuyez sur CardAction Objet CardAction qui spécifie l’action à effectuer si l’utilisateur appuie ou clique sur la carte. Il peut s’agir de la même action que l’un des boutons ou d’une autre action.
Taxe String Chaîne au format monétaire qui spécifie le montant de la taxe appliquée à l’achat.
titre String Titre affiché en haut du reçu.
total String Chaîne au format monétaire qui spécifie le prix d’achat total, y compris toutes les taxes applicables.
tva String Chaîne au format monétaire qui spécifie le montant de la taxe sur la valeur ajoutée (TVA) appliquée au prix d’achat.

Revenir à la table Schéma

Objet ReceiptItem

Définit un élément de ligne dans un reçu.

Propriété Type Description
image CardImage Objet CardImage qui spécifie l’image miniature à afficher en regard de l’élément de ligne.
Prix String Chaîne au format monétaire qui spécifie le prix total de toutes les unités achetées.
quantité String Chaîne numérique qui spécifie le nombre d’unités achetées.
sous-titre String Sous-titre à afficher sous le titre de l’élément de ligne.
appuyez sur CardAction Objet CardAction qui spécifie l’action à effectuer si l’utilisateur appuie ou clique sur l’élément de ligne.
text String Description de l’élément de ligne.
titre String Titre de l’élément de ligne.

Revenir à la table Schéma

ResourceResponse (objet)

Définit une réponse qui contient un ID de ressource.

Propriété Type Description
id String ID qui identifie de façon unique la ressource.

Revenir à la table Schéma

SemanticAction (objet)

Définit une référence à une action programmatique.

Propriété Type Description
entités Object Objet où la valeur de chaque propriété est un objet Entity .
id String ID de cette action.
état String État de cette action. Valeurs autorisées : start, continue, done.

Revenir à la table Schéma

Objet SignInCard

Définit une carte qui permet à un utilisateur de se connecter à un service.

Propriété Type Description
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur de se connecter à un service. Le canal détermine le nombre de boutons que vous pouvez spécifier.
text String Description ou invite à inclure sur la carte de connexion.

Revenir à la table Schéma

Objet SuggestedActions

Définit les options à partir desquelles un utilisateur peut choisir.

Propriété Type Description
Actions CardAction[] Tableau d’objets CardAction qui définissent les actions suggérées.
to Chaîne[] Tableau de chaînes qui contient les ID des destinataires auxquels les actions suggérées doivent être affichées.

Revenir à la table Schéma

TextHighlight (objet)

Fait référence à une sous-chaîne de contenu dans un autre champ.

Propriété Type Description
occurrence Number Occurrence du champ de texte dans le texte référencé, s’il existe plusieurs.
text String Définit l’extrait de texte à mettre en surbrillance.

Revenir à la table Schéma

Objet ThumbnailCard

Définit une carte avec une image miniature, un titre, un texte et des boutons d’action.

Propriété Type Description
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur d’effectuer une ou plusieurs actions. Le canal détermine le nombre de boutons que vous pouvez spécifier.
images CardImage[] Tableau d’objets CardImage qui spécifient des images miniatures à afficher sur la carte. Le canal détermine le nombre d’images miniatures que vous pouvez spécifier.
sous-titre String Sous-titre à afficher sous le titre de la carte.
appuyez sur CardAction Objet CardAction qui spécifie l’action à effectuer si l’utilisateur appuie ou clique sur la carte. Il peut s’agir de la même action que l’un des boutons ou d’une autre action.
text String Description ou invite à afficher sous le titre ou le sous-titre de la carte.
titre String Titre de la carte.

Revenir à la table Schéma

Objet ThumbnailUrl

Définit l’URL vers la source d’une image.

Propriété Type Description
Alt String Description de l’image. Vous devez inclure la description pour prendre en charge l’accessibilité.
url String URL vers la source de l’image ou le binaire base64 de l’image (par exemple, data:image/png;base64,iVBORw0KGgo...).

Revenir à la table Schéma

Objet Transcript

Collection d’activités à charger à l’aide de l’historique des conversations d’envoi.

Propriété Type Description
activités tableau Tableau d’objets Activity . Ils doivent chacun avoir un ID unique et un horodatage.

Revenir à la table Schéma

Objet VideoCard

Définit une carte qui peut lire des vidéos.

Propriété Type Description
aspect String Proportions de la vidéo. 16:9 ou 4:3.
autoloop Boolean Indicateur qui indique s’il faut relire la liste des vidéos lorsque la dernière se termine. Définissez cette propriété sur true pour relire automatiquement les vidéos ; sinon, false. La valeur par défaut est true.
démarrage automatique Boolean Indicateur qui indique s’il faut lire automatiquement les vidéos lorsque la carte est affichée. Définissez cette propriété sur true pour lire automatiquement les vidéos ; sinon, false. La valeur par défaut est true.
boutons CardAction[] Tableau d’objets CardAction qui permettent à l’utilisateur d’effectuer une ou plusieurs actions. Le canal détermine le nombre de boutons que vous pouvez spécifier.
duration String Longueur du contenu multimédia, au format de durée ISO 8601.
image ThumbnailUrl Objet ThumbnailUrl qui spécifie l’image à afficher sur la carte.
media MediaUrl[] Tableau de MediaUrl. Lorsque ce champ contient plusieurs URL, chaque URL est un autre format du même contenu.
partageable Boolean Indicateur qui indique si les vidéos peuvent être partagées avec d’autres personnes. Définissez cette propriété sur true si les vidéos peuvent être partagées ; sinon, false. La valeur par défaut est true.
sous-titre String Sous-titre à afficher sous le titre de la carte.
text String Description ou invite à afficher sous le titre ou le sous-titre de la carte.
titre String Titre de la carte.
valeur Object Paramètre supplémentaire pour cette carte

Revenir à la table Schéma