Activités classées par canalCategorized activities by channel

s’applique à : SDK v4APPLIES TO: SDK v4

Les tableaux suivants indiquent quels événements (ou activités) peuvent provenir des canaux.The following tables show what events (Activities on the wire) can come from which channels.

Voici l’explication des symboles des tableaux :This is the key for the tables:

SymboleSymbol SignificationMeaning
Le bot doit s’attendre à recevoir cette activitéThe Bot should expect to receive this Activity
Le bot ne doit jamais s’attendre à recevoir cette activitéThe Bot should never expect to receive this Activity
La possibilité pour ce bot de recevoir cette activité reste indéterminéeCurrently undetermined whether the Bot can receive this

Les activités peuvent être réparties en diverses catégories.Activities can meaningfully be split into separate categories. Pour chaque catégorie, nous avons un tableau présentant les activités possibles.For each category we have a table of possible Activities.

ConversationnelConversational

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
MessageMessage
MessageReactionMessageReaction
  • Tous les canaux envoient des activités de message.All Channels send Message Activities.
  • Lorsque vous utilisez un dialogue, vous devez toujours passer les activités de message au dialogue.When using a Dialog, Message Activities should generally always be passed onto the Dialog.
  • Ce n’est probablement pas vrai pour les réactions aux messages (MessageReaction), même si elles font partie de la conversation.This is probably not true of the MessageReaction although they are very much part of the conversation.
  • Il existe logiquement deux types de MessageReaction : Added et Removed (Ajout et Suppression)There are logically two types of MessageReaction: Added and Removed

Conseil

Les réactions aux messages sont, par exemple, des approbations du type « pouce vers le haut » pour un commentaire."Message Reactions" are things like a "thumbs up" on a previous comment. Leur affichage pouvant être aléatoire, il arrive que l’utilisateur les confonde avec un bouton.They can happen out of order, so they can be thought of as similar to buttons. Cette activité est actuellement envoyée par le canal Teams.This Activity is currently sent by the Teams Channel.

BienvenueWelcome

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
ConversationUpdateConversationUpdate
ContactRelationUpdateContactRelationUpdate
  • Il est courant que les canaux envoient des activités ConversationUpdate.It is common for Channels to send ConversationUpdate Activities.
  • Il existe logiquement deux types de MessageReaction : Added et Removed (Ajout et Suppression)There are logically two types of MessageReaction: Added and Removed
  • Il est très tentant de penser que le comportement d’accueil du bot peut être implémenté simplement à l’aide de ConversationUpdate.Added, et il arrive que cela fonctionne.It is very tempting to assume bot "Welcome" behavior can be simply implemented by wiring up ConversationUpdate.Added and this sometimes works.
  • Cependant, cette méthode est trop simple. Pour obtenir un comportement d’accueil fiable, l’implémentation du bot doit également utiliser l’état.However, this is a simplification, in order to produce a reliable "Welcome" behavior the bot implementation may also need to use state.

Extensibilité des applicationsApplication Extensibility

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
Event.*Event.*
Event.CreateConversationEvent.CreateConversation
Event.ContinueConversationEvent.ContinueConversation
  • Les activités d’événement constituent un mécanisme d’extensibilité dans Direct Line (Web Chat).Event Activities are an extensibility mechanism in Direct Line (aka Web Chat).
  • Une application qui est propriétaire à la fois du client et du serveur peut choisir de « tunneler » ses propres événements via le service à l’aide de cette activité d’événement.An application that owns both the client and server may chose to tunnel their own events through the service using this Event Activity.

Microsoft TeamsMicrosoft Teams

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
Invoke.TeamsVerificationInvoke.TeamsVerification
Invoke.ComposeResponseInvoke.ComposeResponse
  • En plus d’un certain nombre d’autres activités typées, Microsoft Teams définit certaines activités d’appel propres à Teams.Along with a number of the other typed Activities, Microsoft Teams defines a few Teams specific Invoke Activities.
  • Les activités d’appel sont propres à une application et ne sont pas définies par un client.Invoke Activities are specific to an application and not something a client would define.
  • Il n’existe pas de notion générale de sous-types spécifiques d’appel de l’activité.There is no general notion of Invoke specific subtypes of the activity.
  • Les appels sont les seules activités qui déclenchent un comportement de type « demande-réponse » chez le bot.Invoke is currently the only Activity that triggers a request-reply behavior on the bot.

Important : Si vous utilisez des dialogues pour l’invite OAuth, vous devez transférer l’activité Invoke.TeamsVerification au dialogue.This is very important: if using Dialogs for the OAuth Prompt to work the Invoke.TeamsVerification Activity must be forwarded to the Dialog.

Mise à jour des messagesMessage Update

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
MessageUpdateMessageUpdate
MessageDeleteMessageDelete
  • La mise à jour des messages est prise en charge par Teams.Message Update is currently supported by Teams.

OAuthOAuth

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
Event.TokenResponseEvent.TokenResponse

Important : Si vous utilisez des dialogues pour l’invite OAuth, vous devez transférer l’activité Event.TokenResponse au dialogue.This is very important: if using Dialogs for the OAuth Prompt to work the Event.TokenResponse Activity must be forwarded to the Dialog.

Sans catégorieUncategorized

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
EndOfConversationEndOfConversation
InstallationUpdateInstallationUpdate
SaisieTyping
HandoffHandoff

Absence d’utilisation (inclut les appels liés au paiement)Out of Use (includes Payment specific Invoke)

  • DeleteUserDataDeleteUserData
  • Invoke.PaymentRequestInvoke.PaymentRequest
  • Invoke.AddressInvoke.Address
  • PingPing

Récapitulatif des activités prises en charge par canalSummary of Activities supported per Channel

CortanaCortana

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • Event.TokenResponseEvent.TokenResponse
  • EndOfConversation (lorsque la fenêtre se ferme ?)EndOfConversation (when the window closes?)

Ligne directeDirect Line

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • Event.TokenResponseEvent.TokenResponse
  • Event.*Event.*
  • Event.CreateConversationEvent.CreateConversation
  • Event.ContinueConversationEvent.ContinueConversation

E-mailEmail

  • MessageMessage

FacebookFacebook

  • MessageMessage
  • Event.TokenResponseEvent.TokenResponse

GroupMeGroupMe

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • Event.TokenResponseEvent.TokenResponse

KikKik

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • Event.TokenResponseEvent.TokenResponse

TeamsTeams

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • MessageReactionMessageReaction
  • MessageUpdateMessageUpdate
  • MessageDeleteMessageDelete
  • Invoke.TeamsVerificationInvoke.TeamsVerification
  • Invoke.ComposeResponseInvoke.ComposeResponse

SlackSlack

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • Event.TokenResponseEvent.TokenResponse

SkypeSkype

  • MessageMessage
  • ContactRelationUpdateContactRelationUpdate
  • Event.TokenResponseEvent.TokenResponse

Skype EntrepriseSkype Business

  • MessageMessage
  • ContactRelationUpdateContactRelationUpdate
  • Event.TokenResponseEvent.TokenResponse

TelegramTelegram

  • MessageMessage
  • ConversationUpdateConversationUpdate
  • Event.TokenResponseEvent.TokenResponse

TwilioTwilio

  • MessageMessage

Tableau récapitulatif de toutes les activités de tous les canauxSummary Table All Activities to All Channels

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
MessageMessage
MessageReactionMessageReaction
ConversationUpdateConversationUpdate
ContactRelationUpdateContactRelationUpdate
Event.*Event.*
Event.CreateConversationEvent.CreateConversation
Event.ContinueConversationEvent.ContinueConversation
Invoke.TeamsVerificationInvoke.TeamsVerification
Invoke.ComposeResponseInvoke.ComposeResponse
MessageUpdateMessageUpdate
MessageDeleteMessageDelete
Event.TokenResponseEvent.TokenResponse
EndOfConversationEndOfConversation
InstallationUpdateInstallationUpdate
SaisieTyping
HandoffHandoff

Discussion WebWeb Chat

Web Chat envoie :Web Chat will send:

  • « message » : avec « text » et/ou « attachments »"message": with "text" and/or "attachments"
  • « event » : avec « name » et « value » (au format JSON/chaîne)"event": with "name" and "value" (as JSON/string)
  • « typing » : si l’utilisateur a défini l’option « sendTypingIndicator », Web Chat n’envoie pas « contactRelationUpdate »."typing": if the user set an option, namely "sendTypingIndicator" Web Chat will not send "contactRelationUpdate". Web Chat ne prend pas en charge les réactions aux messages (« messageReaction »), car il ne nous a jamais été demandé explicitement de prendre en charge cette fonctionnalité.And Web Chat do not support "messageReaction", no one explicitly ask us to support this feature.

Par défaut, Web Chat affiche :By default, Web Chat will render:

  • « message » : s’affiche au format carrousel ou empilé, selon l’option de l’activité"message": will render as either carousel or stacked, depends on the option in the activity
  • « typing » : s’affiche pendant 5 secondes, puis est masqué (ou jusqu’à l’activité suivante)"typing": will render for 5s and hide it, or until next activity come in
  • « conversationUpdate » : est masqué"conversationUpdate": will hide
  • « event» : est masqué"event": will hide
  • « others» : affiche un avertissement (jamais visible dans la version de production). Vous pouvez modifier ce pipeline de rendu pour ajouter, supprimer ou remplacer un rendu personnalisé.Others: will show a warning box (we never see it in production) You can modify this render pipeline to add, remove, or replace any custom render.

Vous pouvez utiliser Web Chat pour envoyer n’importe quel type d’activité ou de charge utile. Toutefois, cette fonctionnalité n’est ni documentée ni recommandée.You can use Web Chat to send any activity type and payload, we neither document nor recommend this feature. Vous devez utiliser une activité d’événement à la place.You should use "event" activity instead.

Prise en charge des actions par canalAction support by channel

Le tableau suivant indique le nombre maximum d'Actions suggérées et d'Actions de carte prises en charge dans chaque canal.The following table shows the maximum number of Suggested Actions and Card Actions that are supported in each channel. Le ❌ indique que l'action n'est pas du tout prise en charge dans le canal spécifié.The ❌ indicates that the action is not supported at all in the specified channel.

\ CortanaCortana Ligne directeDirect Line Direct Line (Web Chat)Direct Line (Web Chat) E-mailEmail FacebookFacebook GroupMeGroupMe KikKik LignesLine TeamsTeams SlackSlack SkypeSkype Skype EntrepriseSkype Business TelegramTelegram TwilioTwilio
Actions suggéréesSuggested Actions 100100 100100 1010 2020 1313 1010 100100
Actions de carteCard Actions 100100 100100 100100 33 2020 9999 33 100100 33

Pour plus d’informations sur les nombres indiqués dans le tableau ci-dessus, consultez le code de prise en charge par canal indiqué ici.For more information about the numbers shown in the above table, refer to channel support code listed here.

Pour plus d'informations sur les Actions suggérées, reportez-vous à l'article Utiliser un bouton pour fournir une entrée.For more information on Suggested Actions, refer to the Use button for input article.

Pour plus d'informations sur les Actions de carte, reportez-vous à la section Envoyer une carte de héros de l'article Ajouter des médias aux messages.For more information on Card Actions, refer to the Send a hero card section of the Add media to messages article.

Prise en charge des cartes par canalCard Support by Channel

ChannelChannel Carte adaptativeAdaptive Card Carte d’animationAnimation Card Carte audioAudio Card Carte de bannièreHero Card Carte de reçuReceipt Card Carte de connexionSignin Card Carte de miniatureThumbnail Card Carte vidéoVideo Card
CortanaCortana
E-mailEmail 🔶 🌐🌐 🌐🌐 🌐🌐
FacebookFacebook ⚠🔶
GroupMeGroupMe 🔶 🌐🌐 🌐🌐 🌐🌐 🌐🌐 🌐🌐 🌐🌐 🌐🌐
KikKik 🔶 🌐🌐 🌐🌐
LignesLine ⚠🔶 🌐🌐 🌐🌐
Microsoft TeamsMicrosoft Teams
SkypeSkype
SlackSlack 🔶 🌐🌐 🌐🌐 🌐🌐 🌐🌐
TelegramTelegram ⚠🔶 🌐🌐
TwilioTwilio 🔶 🌐🌐 🌐🌐 🌐🌐 🌐🌐 🌐🌐
Discussion WebWeb Chat

Remarque : Le canal Direct Line prend techniquement en charge toutes les cartes, mais il revient au client de les implémenterNote: The Direct Line channel technically supports all cards, but it's up to the client to implement them

  • ✔ : Pris en charge : la carte est entièrement prise en charge, sauf que certains canaux prennent uniquement en charge un sous-ensemble de CardActions et/ou peuvent limiter le nombre d’actions autorisées sur chaque carte.✔: Supported - Card is supported fully with the exception that some channels only support a subset of CardActions and/or may limit the number of actions allowed on each card. Varie en fonction du canal.Varies by channel.
  • ⚠: Prise en charge partielle : la carte peut ne pas s’afficher du tout si elle contient des entrées et/ou des boutons.⚠: Partial Support - Card may not be displayed at all if it contains inputs and/or buttons. Varie en fonction du canal.Varies by channel.
  • ❌: Aucune prise en charge❌: No Support
  • 🔶: La carte est convertie en image🔶: Card is Converted to Image
  • 🌐 : La carte est convertie en texte sans mise en forme : il est possible que les liens ne soient pas cliquables, que les images ne s’affichent pas et/ou que le média ne puisse pas être lu.🌐: Card is Converted to Unformatted Text - Links may not be clickable, images may not display, and/or media may not be playable. Varie en fonction du canal.Varies by channel.

Ces catégories sont intentionnellement larges et ne décrivent pas avec précision de quelle façon chaque fonctionnalité de carte est prise en charge dans chaque canal en raison des nombreuses combinaisons possibles de cartes, de fonctionnalités et de canaux.These categories are intentionally broad and don't fully explain how every card feature is supported in each channel due to the many possible combinations of cards, features, and channels. Utilisez ce tableau comme référence de base, mais testez chacune de vos cartes dans le ou les canaux souhaités.Please use this table as a base reference, but test each of your cards in the desired channel(s).