Protocole de transfert

Le protocole de transfert de la plateforme Messenger permet à plusieurs applications de participer à une conversation en se transférant le contrôle de l’une à l’autre. Le protocole de transfert est automatiquement activé dans les applications auxquelles vous vous abonnez par l’intermédiaire d’une Page Facebook.

Remarque : le routage des conversations est désormais disponible, et remplacera bientôt le protocole de transfert. Pour l’utiliser, mettez à jour votre application dès que possible.

Fonctionnement

Une Page Facebook ou un compte professionnel Instagram peut utiliser plusieurs applications de messagerie pour communiquer avec la clientèle ou les personnes intéressées par son contenu. Par exemple, dans le cas d’un service clientèle, une expérience automatisée est parfois proposée. Toutefois, si cette dernière ne parvient pas à résoudre le problème, une autre application entre en jeu qui permet de contacter directement un agent au sein de l’assistance. Pour transférer la conversation (et les métadonnées la concernant) d'une application à l'autre, ou entre une application et la messagerie d’une Page Facebook ou Instagram, le contrôle de la conversation doit passer d'une application à l'autre. Et c’est justement ce que permet le protocole de transfert.

Par défaut, quand un client ou une cliente envoie un message pour entamer une conversation, celle-ci est inactive. Par l’intermédiaire des webhooks, les applications reçoivent une notification mentionnant qu’un message a été reçu et est en attente de réponse. Pour recevoir cette notification, une application doit être abonnée aux webhooks spécifiques au transfert.

N’importe quelle application peut prendre le contrôle de la conversation tant que celle-ci est inactive. L’application contrôlant la conversation détient exclusivement le pouvoir de répondre au message. Une seule application à la fois peut contrôler la conversation, et tant que cette application n’a pas relâché le contrôle, les autres ne peuvent pas envoyer de message. Dès qu’une application relâche le contrôle, la conversation redevient inactive et l’application suivante peut alors prendre le relais.

L’application qui contrôle la conversation reçoit les notifications des webhooks messaging. Toutes les autres applications reçoivent des notifications des webhooks spécifiques au transfert.

Une conversation redevient inactive lorsqu’aucune activité n’est constatée pendant 24 heures. Si nécessaire, une application qui contrôle la conversation peut prolonger ce contrôle au-delà de 24 heures.

Si une application ne contrôlant pas la conversation tente d’envoyer un message à une personne, une erreur 400 est renvoyée avec le code 2018300.

Destinataire principal

Si vous voulez qu’une application en particulier gère des messages au moment de leur réception, vous pouvez la définir comme destinataire principal. Le destinataire principal reçoit tous les nouveaux messages d’une conversation, peut transférer le contrôle à une autre application ou à la messagerie d’une Page Facebook ou Instagram, mais aussi prendre le contrôle d’une conversation à partir d’une autre application, si nécessaire. Quand une application qui n’est pas le destinataire principal a terminé la conversation et relâche le contrôle, la conversation est définie sur inactive.

Si une conversation est inactive et qu’une personne envoie un nouveau message à votre Page ou à votre compte, le destinataire principal contrôle la conversation et reçoit une notification webhook concernant le nouveau message.

Remarque : il n’est pas nécessaire de configurer de destinataire principal.

Messagerie

La messagerie d’une Page Facebook ou Instagram ne peut pas être définie comme destinataire principal. Cependant, si vous déplacez le message dans le dossier principal ou si vous répondez à un message dans une conversation non contrôlée par la messagerie, cette dernière prend le contrôle de la conversation. Si vous répondez à un message indiqué comme étant terminé dans la messagerie, le contrôle continue à être assuré par l’application qui était aux commandes précédemment (à savoir, le destinataire principal s’il a été défini) ou est relâché, auquel cas la conversation redevient inactive.

Points d’entrée des conversations

Une conversation peut être affectée à une application en particulier si vous utilisez un point d’entrée de conversation « clic vers Messenger » (CTM). Une entreprise peut utiliser un CTM pour démarrer des conversations avec la clientèle et ainsi générer des prospects, renforcer la notoriété de sa marque, etc.

Menu fixe

Toutes les applications peuvent définir le menu au niveau de la Page, à moins qu’un destinataire principal n’ait été désigné. Si une application principale a été définie, seule cette dernière peut définir ou supprimer un menu au niveau de la Page.

L’application qui contrôle la conversation peut définir ou supprimer le menu au niveau de l’utilisateur·ice même si elle n’est pas le destinataire principal. De même, toutes les applications peuvent définir le menu au niveau de l’utilisateur·ice si la conversation est inactive.

Quand un client ou une cliente sélectionne un élément d’un menu, l’application qui a créé ce menu prend le contrôle de la conversation. Cela s’explique par le fait que l’application qui a créé le menu est configurée pour en gérer les données.

Call-to-action de renvoi

Quand un client ou une cliente clique sur élément d’appel à l’action de renvoi, l’application qui l’a créé prend le contrôle de la conversation, même si une autre application détenait ce contrôle. Cela s’explique par le fait que l’application qui a créé cet appel à l’action de renvoi est configurée pour en gérer les données.

Sondages de la clientèle

Si un sondage est envoyé alors qu’une autre application contrôle la conversation, il ne sera pas distribué tant que l’application ne relâchera pas le contrôle et que la conversation ne sera pas de nouveau inactive.

Composants

Concernant les applications de messagerie auxquelles votre Page Facebook est abonnée, les composants suivants sont nécessaires pour implémenter avec succès le protocole de transfert.

Tokens d’accès

Un token d’accès de Page demandé par une personne autorisée à effectuer la tâche MODERATE sur la Page est nécessaire pour les appels lancés sur les points de terminaison du protocole de transfert.

Contrôle app

Le Contrôle app est nécessaire pour les applications qui :

  • sont utilisées par des personnes qui ne possèdent aucun rôle dans l’application ;
  • permettent à un agent humain de répondre à la clientèle.

Fonctionnalité Agent humain

Une application peut envoyer un message même si elle ne contrôle pas la conversation dès lors qu’elle a été approuvée, via le Contrôle app, à utiliser la fonctionnalité d’agent humain et que le message est identifié avec le tag de l’agent. C’est le seul cas où une application peut envoyer un message alors qu’elle ne contrôle pas la conversation.

Autorisations

L’autorisation pages_messaging est nécessaire pour que les applications puissent demander l’autorisation aux clients et clientes d’accéder aux données de messagerie.

Webhooks

Dans le protocole de transfert, il existe deux ensembles de webhooks auxquels une application peut s’abonner : les webhooks messaging et les webhooks standby. Les notifications qu’une application reçoit dépendent du contrôle de la conversation. Si une application contrôle la conversation, elle reçoit les notifications de webhooks messaging. Si une application ne contrôle pas la conversation, elle reçoit les notifications de webhooks standby.

Usages courants

Service clientèle

Une entreprise utilise une application pour offrir des expériences automatisées et répondre aux questions posées, mais transfère sa clientèle vers une autre application pour lui permettre d’obtenir une assistance en direct si le système automatisé ne résout pas le problème signalé. L’application automatisée est définie comme destinataire principale, de sorte qu’elle détient toutes les conversations. Quand un agent ou une agente d’assistance en direct a besoin de rejoindre la conversation, l’application d’assistance concernée peut demander le contrôle de la conversation. Dès que l’application utilisée par l’agent ou l’agente d’assistance a terminé la conversation, le contrôle de celle-ci est relâché et revient à l’application d’automatisation. Si l’application utilisée par l’agent ou l’agente d’assistance a besoin de plus de temps pour traiter le problème du client ou de la cliente, elle peut demander une extension. Les deux applications doivent s’abonner aux webhooks pour garantir la fluidité de la conversation.

Campagne marketing - Prospects produit

Une entreprise lance une campagne marketing et utilise une expérience automatisée pour qualifier ses prospects ou fournir des recommandations sur les produits. Elle s’appuie pour cela sur un questionnaire. Une fois la qualification des prospects effectuée, l’entreprise utilise la messagerie de la Page Facebook ou d’Instagram pour effectuer le suivi des clientes et clients potentiel·les. L’application automatisée est définie comme destinataire principale, de sorte qu’elle détient toutes les conversations. Dès que l’application automatisée a terminé la phase de qualification des prospects, le contrôle de la conversation est transmis à la messagerie de la Page Facebook ou Instagram. Dès que la conversation est terminée dans la messagerie de la Page Facebook ou Instagram, il convient de la marquer comme étant terminée. Cela aura pour effet de relâcher le contrôle de la conversation pour le redonner à l’application principale. Les deux applications doivent s’abonner aux webhooks pour garantir la fluidité de la conversation.

Campagne marketing - Publicités qui renvoient à Messenger

Une entreprise lance une campagne marketing et renvoie les client·es éventuel·les vers une application automatisée afin de leur offrir une expérience spécifique dans Messenger. L’application automatisée est définie comme destinataire principale, de sorte qu’elle détient toutes les conversations. Quand un agent ou une agente d’assistance en direct a besoin de rejoindre la conversation, l’application d’assistance concernée peut demander le contrôle de la conversation. Dès que l’application utilisée par l’agent ou l’agente d’assistance a terminé la conversation, le contrôle de celle-ci est relâché et revient à l’application d’automatisation. Si l’application utilisée par l’agent ou l’agente d’assistance a besoin de plus de temps pour traiter le problème du client ou de la cliente, elle peut demander une extension. Les deux applications doivent s’abonner aux webhooks pour garantir la fluidité de la conversation.

Recommandations

  1. Nous recommandons de définir les applications proposant une expérience automatisée en tant que destinataires principales et toutes applications d’agent en direct en tant que destinataires secondaires. Il est recommandé de faire en sorte que l’application de l’agent en direct écoute les évènements de veille et n’intervienne qu’en cas de nécessité.
  2. Utilisez toujours l’API Get Thread Control pour vérifier si vous avez le contrôle du fil de discussion ou non, puis appelez les autres API en fonction du scénario. N’intervenez pas et ne l’interrompez pas si vous n’avez pas le contrôle.
  3. Ne tentez pas d’envoyer des messages dans le fil de discussion lorsqu’une autre application contrôle la conversation. Si vous êtes une application principale, n’utilisez l’API permettant de prendre le contrôle qu’en cas de besoin. Dans les cas non urgents ou si vous êtes une application secondaire, demandez à obtenir le contrôle des fils de discussion.
  4. Dès que cela est possible, respectez un évènement de demande de contrôle de fil de discussion émanant d’une autre application et passez le contrôle du fil de discussion à l’application qui en fait la demande. Si pour une raison quelconque, il vous est impossible de transférer immédiatement le contrôle du fil de discussion, utilisez l’API Pass Metadata pour envoyer davantage de contexte à l’application qui en fait la demande, puis conservez une file d’attente pour transférer le contrôle du fil de discussion en temps voulu.
  5. Si vous avez terminé la conversation, veuillez transférer le contrôle du fil de discussion à une application qui en a déjà fait la demande et qui se trouve encore dans la file d’attente, ou laissez le contrôle du fil de discussion en veille, afin que toute autre application puisse reprendre le fil de discussion. Sinon, le fil de discussion sera automatiquement détaché de votre application et passera en mode veille après 24 heures. Codez ce scénario et les changements d’état associés en conséquence.
  6. Si vous constatez que le fil de discussion est inactif en appelant l’API Get Thread Control, utilisez l’API Request Thread Control pour prendre le contrôle du fil de discussion, envoyer un message exclusif à l’utilisateur·ice sans être dérangé·e et le libérer une fois que vous avez terminé.