Association de compte

L’association de compte est différente des autres fonctionnalités webview disponibles sur la plateforme Messenger. Elle ne peut être démarrée que via les boutons de connexion, et non par le menu fixe du bot, par les boutons d’URL ni à partir d’un flux webview ou d’un plugin de discussion déjà ouvert.

Les développeur·ses qui utilisent ces fonctions peuvent désormais obtenir l’identifiant d’un utilisateur ou d’une utilisatrice d’une manière sécurisée grâce à la fonction getContext() dans les extensions Messenger. Les bots peuvent ensuite l’utiliser pour associer le compte de l’utilisateur·ice ou personnaliser l’expérience.

Actuellement, l’association de compte est prise en charge uniquement par l’application Messenger sur iOS et Android.

Lorsqu’un·e utilisateur·ice démarre une conversation avec votre entreprise, vous pouvez l’identifier en tant que client·e qui dispose déjà d’un compte auprès de votre entreprise. Pour vous aider, nous avons créé un protocole sécurisé qui vous permet d’associer ou de dissocier l’identité de l’utilisateur·ice pour Messenger et l’identité de l’utilisateur·ice pour votre entreprise.

L’association de compte vous permet d’inviter les utilisateur·ices à se connecter au moyen de votre propre processus d’authentification et de recevoir un ID spécifique de Page (PSID) Messenger à la fin du processus. Cela vous permet d’offrir aux utilisateur·ices une expérience plus sécurisée, personnalisée et pertinente.

Table des matières

Processus d’association

Le processus d’association de compte suit quelques étapes simples.

  1. Enregistrez une URL de rappel à l’aide du bouton Se connecter.
  2. La plateforme Messenger invoque l’URL enregistrée lorsqu’un·e utilisateur·ice entame le processus d’association de compte. Les paramètres redirect_uri et account_linking_token sont ajoutés à votre rappel enregistré.
  3. Une fois le processus d’association terminé, redirigez les utilisateur·ices vers l’emplacement indiqué par redirect_uri, puis ajoutez un paramètre authorization_code (défini par vous) pour confirmer l’association.
  4. Si vous le souhaitez, vous pouvez récupérer l’ID spécifique de Page (PSID) de l’utilisateur·ice au moyen du point de terminaison d’association de compte. N’ayez recours à cette étape que dans des cas exceptionnels, lorsque vous devez indiquer le PSID de l’utilisateur·ice lors du processus d’association.

L’annulation de l’association de compte peut être lancée :

Rappel

L’URL d’association de compte est invoquée par la plateforme Messenger lorsqu’un·e utilisateur·ice déclenche le processus d’association de compte. Les paramètres redirect_uri et account_linking_token sont ajoutés au rappel d’URL.

<yourAccountLinkingUrl>
  ?account_linking_token=ACCOUNT_LINKING_TOKEN
  &redirect_uri=CALLBACK_URL

Si l’association de compte est réussie, vous devrez terminer le processus en redirigeant le navigateur vers l’URL spécifiée dans le paramètre redirect_uri et ajouter un paramètre authorization_code que vous aurez défini. Veuillez noter que l’URL peut déjà contenir des paramètres, vous devez donc ajouter le code d’autorisation en conséquence :

<redirect_uri>
  &authorization_code=AUTHORIZATION_CODE

Si l’association de compte a échoué, redirigez le navigateur vers le redirect_uri transmis à votre attention en tant que paramètre, sans ajouter le paramètre authorization_code.

Paramètres

Nom du paramètre Description

redirect_uri

URI de redirection qui sera ajouté par Messenger. Vous devez rediriger le navigateur vers cet emplacement à la fin du processus d’authentification. Il peut contenir les paramètres codés de l’URL.

account_linking_token

Token de courte durée transmis par Messenger que vous devez renvoyer dans le cadre du processus de redirection. Ce token n’est valide que pendant cinq minutes. Il est chiffré et propre à l’utilisateur·ice.
Ce token vous permet d’appeler point de terminaison de récupération du PSID afin de récupérer le PSID correspondant.

authorization_code

Code que vous fournissez pour confirmer une association réussie. La plateforme Messenger renverra ce code, avec le PSID de l’utilisateur·ice, en tant qu’évènement webhook d’association de compte. Si vous ne transmettez pas ce paramètre, le processus d’association sera annulé.

Évènement webhook

Un processus d’association réussi déclenche l’envoi de l’ID spécifique de Page (PSID) de l’utilisateur·ice par l’évènement d’association de compte.

Vous devez enregistrer l’évènement de rappel d’association de compte. Si vous ne reconnaissez pas cet évènement webhooks, le processus d’association sera annulé.

Point de terminaison de récupération du PSID

Dans certains cas, vous devez récupérer l’ID spécifique de Page (PSID) de l’utilisateur·ice pendant le processus d’association. Pour vous aider, nous avons mis en place un point de terminaison de récupération du PSID qui vous permet de récupérer le PSID d’un·e utilisateur·ice, à condition de disposer d’un account_linking_token valide et non arrivé à expiration.

Requête

curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \
      &fields=recipient \
      &account_linking_token=ACCOUNT_LINKING_TOKEN"

Réponse

{
  "id": "PAGE_ID",
  "recipient": "PSID"
}    

Dans certains cas, vous devez programmer l’annulation de l’association de l’ID spécifique de Page (PSID) de l’utilisateur·ice depuis votre serveur principal. Pour vous aider, nous avons mis en place un point de terminaison d’annulation de l’association du PSID qui vous permet de dissocier le compte de l’utilisateur·ice avec un PSID valide.

Requête

curl -X POST -H "Content-Type: application/json" -d '{
   "psid":"PSID"
}' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"

Réponse

{
  "result": "unlink account success"
}

Recommandations

Utilisez l’association de comptes lorsque vous avez un système de compte utilisateur qui ne se limite pas à Messenger.

Laissez les personnes créer un compte depuis Messenger, pour pouvoir y accéder ailleurs.

Demandez à l’utilisateur·ice de votre bot de se connecter lorsque cela est pertinent compte tenu du contexte, c’est-à-dire, lorsqu’il ou elle peut voir les avantages d’une telle connexion.

Réfléchissez à la manière dont votre bot doit se comporter si un·e utilisateur·ice refuse de se connecter.

Fournissez une confirmation claire et un message d’accueil chaleureux après la connexion.

N’utilisez pas l’association de comptes si les personnes choisissent d’interagir uniquement avec vous via Messenger. Vous pouvez stocker des informations de compte au moyen de l’ID du fil de discussion.

Si possible, évitez d’exiger immédiatement une association de comptes ; laissez d’abord les personnes comprendre le fonctionnement de votre bot.

Processus de conception recommandé

  1. Invitez les personnes à se connecter en leur présentant un message contenant notre bouton Association de compte.
  2. Affichez votre page de connexion (notamment l’option Créer un compte) dans la webview Association de compte. Assurez-vous qu’elle s’affiche et fonctionne correctement sur les écrans d’appareils mobiles.
  3. Lorsqu’une personne s’est connectée, affichez un message de confirmation dans la webview. Les utilisateur·ices doivent ensuite le fermer eux-mêmes ou elles-mêmes.
  4. Poursuivez avec un message de remerciement chaleureux ou en indiquant les prochaines étapes à suivre dans le fil, et présentez l’option Se déconnecter.