Mise en correspondance des utilisateurs et utilisatrices entre des applications et des pages

Si vous souhaitez partager le même ID utilisateur spécifique entre les versions de test, de développement, de déploiement ou d’assurance qualité de votre application, utilisez des applications test.

Facebook génère des ID utilisateur spécifiques à une application pour les personnes qui se connectent pour la première fois à une instance d’application et pour celles qui se connectent avec Limited Login. Lors de la première utilisation d’un bot Messenger, Facebook génère un ID utilisateur spécifique à une page. Par définition, cela signifie que l’ID d’une même personne peut être différent entre les applications et les bots.

Une entreprise peut gérer plusieurs bots ou applications Facebook, ce qui est courant dans les studios de créations de jeux, par exemple, pour prendre en charge les scénarios de publicités croisées ou la détection des fraudes, ou dans les bots utilisés pour communiquer avec les utilisateurs et utilisatrices. Dans ces cas de figure, il se peut que vous deviez faire correspondre l’ID d’une même personne entre ces applications et ces bots.

Trois méthodes vous permettent de faire correspondre le même utilisateur ou la même utilisatrice dans plusieurs applications :

Avant de pouvoir utiliser l’un de ces mécanismes, vous devez indiquer à Facebook que vos applications appartiennent et sont gérées par la même entité commerciale. Dans cette optique, utilisez Facebook Business Manager pour :

Le champ token_for_business sur le nœud Utilisateur

Dès qu’une application a été associée à un compte Business Manager, vous pouvez demander le champ token_for_business sur le nœud User à l’aide de l’ID spécifique à une application obtenu via Limited Login ou la première connexion à l’instance d’une application. Cet appel renvoie une chaîne qui est identique pour cette personne dans toutes les applications gérées par le même compte Business Manager.

GET /me?fields=token_for_business

va générer :

{
  "id": "1234567890"
  "token_for_business": "weg23ro87gfewblwjef"
}

Remarques concernant l’utilisation :

  • La personne faisant l’objet de la requête doit s’être connectée à cette application.
  • Ce champ peut être appelé avec un token d’accès d’application ou un token d’accès d’utilisateur. En cas d’utilisation d’un token utilisateur, la personne qui fait l’objet de la requête doit être la même que celle pour qui le token a été généré.
  • Si vous utilisez un ID spécifique à une application obtenu via Limited Login, vous devez utiliser l’ID de votre application pour effectuer l’appel, car vous ne disposez pas d’un token d’utilisateur valide pour les appels de l’API Graph. Notez que les mesures de sécurité Limited Login ne sont pas prises en charge dans ce contexte.
  • Si l’entreprise propriétaire change, la valeur de token_for_business change également.
  • Si vous demandez le champ token_for_business et que l’application n’est pas associée à un compte Business Manager, l’appel générera une erreur.
  • La valeur renvoyée par token_for_business est un token, et non un ID ; elle ne peut pas être utilisée directement avec l’API Graph pour accéder aux informations d’une personne. Vous devez toutefois stocker l’ID dans votre base de données et l’utiliser pour appeler l’API Graph afin d’obtenir les informations de cette personne.

Pour des raisons pratiques, le champ token_for_business est disponible dans toutes les versions de l’API.

La propriété token_for_business dans l’objet signed_request de Canvas

Pour que les applications faisant partie de Canvas puissent facilement faire correspondre un utilisateur ou une utilisatrice entre plusieurs applications, si l’application est associée à un compte Business Manager et que l’utilisateur ou l’utilisatrice s’y est connecté·e, un champ token_for_business est ajouté et transmis à l’application via l’objet signed_request transmis aux applications Canvas lors du chargement. Par exemple :

{
  "algorithm": "HMAC-SHA256",
  "expires": 1414263600,
  "issued_at": 1414257389,
  "oauth_token": "CAAGEkq9GMZAkBAFnvvQ3M6msZBKITLa1gVZBVdnLTdJue2QeV6fMKRXn4G6fcEZB5ZAJyg3z6HdaKOJCCMJ1l9YFWmN4hq6nNnx77f9O7SYhsnPcJ6iH79xjFwqhrALgieDp7GiziMy5Y3Mol6RzHvCM5ceqQe9ZAijvrWZB5hEIwphbMQKEwZA4ZBozXP3NJgEZA3nZCMTTtvleWpxfmqIqO5XwxneCZBsZC4",
  "token_for_business": "AbwoGqummPbF3zp_",
  "user_id": "10154418713995634"
}

La valeur du champ token_for_business sera la même que si elle était demandée directement sur le nœud User, via /me?fields=token_for_business, par exemple. Elle suit également les mêmes règles ; en d’autres termes, si l’entreprise propriétaire change, la valeur de token_for_business change également.

Si l’application n’est pas associée à un compte Business Manager ou si l’utilisateur ou une utilisatrice ne s’y est pas connecté·e, la propriété token_for_business ne figurera pas dans l’objet signed_request.

L’arête ids_for_business sur le nœud Utilisateur

Pour obtenir des ID d’entreprise associés, appelez l’arête ids_for_business sur le nœud User. La réponse est un ensemble d’objets ; chacun d’eux représente une application qui est associée à la même entreprise que l’application appelante à laquelle la personne s’est également connectée.

GET /me/ids_for_business

Exemple de réponse :

{
  "data": [
    {
      "id": "10153949089790582", 
      "app": {
        "name": "Business's App 1", 
        "namespace": "business_app_1", 
        "id": "647733625268125"
      }
    }, 
    {
      "id": "605665581", 
      "app": {
        "name": "Business's App 2", 
        "namespace": "business_app_2", 
        "id": "370612223054807"
      }
    }, 
    {
      "id": "10154053730190582", 
      "app": {
        "name": "Business's App 3", 
        "namespace": "business_app_3", 
        "id": "194890427204075"
      }
    }
  ]
}

Pour que les données soient renvoyées par l’API, il faut que l’utilisateur ou l’utilisatrice se soit connecté·e à une ou plusieurs applications associées à la même entreprise que l’application à partir de laquelle vous effectuez l’appel d’API. Exemple : si une personne s’est connectée à 3 des 5 applications associées à la même entreprise, l’API renverra 3 objets.

Questions/réponses

Dois-je utiliser l’API Business Mapping ?

Non. L’API Business Mapping ne s’avère utile que pour les entreprises qui gèrent plusieurs applications Facebook et qui doivent faire correspondre le même ID d’utilisateur entre elles. Si vous avez une seule application principale, il est peu probable que vous deviez utiliser l’API Business Mapping. Vous ne devrez donc pas configurer une entreprise ni associer vos applications à l’entreprise.

Qu’est-ce que Business Manager ?

Business Manager est un outil qui permet d’aider les entreprises et les agences à gérer leurs pages Facebook, leurs comptes publicitaires, leurs applications et leurs méthodes de paiement depuis un seul endroit. En savoir plus sur Business Manager.

Je ne pense pas avoir besoin de l’API Business Mapping. Dois-je quand même associer mes applications à une entreprise ?

Si vous ne devez pas utiliser l’API Business Mapping, nous vous déconseillons de configurer une entreprise pour le moment. Dans la mesure où une entreprise doit être associée à la page Facebook principale de votre entreprise, la personne la mieux placée pour configurer ce type d’entité sur Facebook est celle qui gère généralement les autorisations de page et les comptes publicitaires Facebook pour votre entreprise. Si cette personne a déjà configuré votre entreprise dans Business Manager, vous êtes libre d’y associer des applications.

Puis-je associer mon application à plusieurs entreprises ?

Non. Une application ne peut être associée qu’à une seule entreprise à la fois.

Puis-je transférer une application à une autre entreprise ?

Oui. Vous devez d’abord supprimer l’application de l’entreprise à laquelle elle est actuellement associée. Vous pouvez effectuer cette opération dans Business Manager. Il vous suffit d’accéder à l’onglet Applications dans les paramètres de votre entreprise, de sélectionner l’app, puis de cliquer sur « Supprimer ». Vous pouvez ensuite transférer l’application à une nouvelle entreprise.