Communiquer avec des personnes sur l’ensemble des applications et bots dans Messenger

Il est courant pour une entreprise d’utiliser plusieurs canaux pour communiquer avec ses clients : site web, app mobile et Messenger. Lorsqu’une personne utilise Facebook Login sur un site web ou une app mobile, un identifiant appelé ID spécifique d’app est créé spécialement pour l’app Facebook. Lorsqu’une personne interagit avec une entreprise depuis Messenger, un identifiant appelé ID spécifique de Page est créé pour la Page particulière associée au bot dans Messenger. Cela signifie que, pour la même personne, les identifiants des différents canaux de communication ne sont pas les mêmes. N’oubliez pas que les ID app spécifiques sont créés lorsqu’un utilisateur se connecte avec votre app, vous ne verrez donc pas les ID app spécifiques pour les utilisateurs qui n’ont pas installé votre app et ne s’y sont pas inscrits.

Une entreprise souhaite offrir aux personnes une expérience fluide sur tous les différents canaux. Par exemple, lorsqu’une personne communique avec une entreprise grâce à un bot dans Messenger, l’expérience peut être davantage personnalisée si l’entreprise reconnaît que la personne est un client existant dans son app Facebook (par ex., site web ou app mobile avec Facebook Login). Nous fournissons une API pour récupérer les identifiants de la même personne à travers les apps et les bots dans Messenger appartenant à la même entreprise.

Tout d’abord, vous devez indiquer à Facebook que vos apps et les Pages associées à votre bot dans Messenger sont la propriété d’une même entreprise. Pour ce faire, utilisez le Business Manager de Facebook pour :

Vous pouvez ensuite interroger l’arête ids_for_apps ou ids_for_pages pour le nœud utilisateur afin de récupérer les identifiants.

Votre appel initial de l’API peut générer une certification d’app qui peut prendre environ 48 heures de création.

Thèmes du document :

Cas d’utilisation

Il existe quelques principaux cas d’utilisation pour cette API :

Avec l’ID utilisateur d’un bot dans Messenger, récupérer les ID pour les apps appartenant à la même entreprise

  • Nœud utilisateur : un ID spécifique à la Page associée à un bot dans Messenger.
  • Arête : ids_for_apps
  • Conditions requises : nécessite un token d’accès à la page et un paramètre appsecret_proof devant être générés grâce à l’app qui gère la page. De plus, l’app qui gère la page et les autres apps à connecter doivent appartenir à la même entreprise.

Exemples :

  1. Renvoie les ID pour toutes les apps appartenant à la même entreprise.
    GET /{user-id}/ids_for_apps
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Renvoie l’ID pour l’app spécifique avec l’ID d’app 10152368852405295.
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

Avec l’ID utilisateur pour une app, récupérer les ID pour les bots dans Messenger appartenant à la même entreprise

  • Nœud utilisateur : un ID spécifique à une app.
  • Arête :ids_for_pages
  • Conditions requises : nécessite un token d’accès à la Page et un paramètre appsecret_proof devant être générés grâce à l’app qui gère la ou les Pages et l’étendue de l’ID. De plus, l’app et les Pages doivent appartenir à la même entreprise.

Exemples :

  1. Renvoie les ID pour tous les bots dans Messenger dont la Page associée appartient à la même entreprise.
    GET /{user-id}/ids_for_pages
        ?access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Renvoie l’ID pour le bot spécifique dans Messenger dont la Page associée possède l’ID de Page 380374449010653.
    GET /{user-id}/ids_for_pages
        ?page=380374449010653
        &access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]

Avec l’ID d’utilisateur pour une app, récupérer les ID pour les autres apps appartenant à la même entreprise

  • Nœud utilisateur : le nœud utilisateur est un ID spécifique à l’app.
  • Arête : ids_for_apps
  • Conditions requises : nécessite un token d’accès d’app, généré grâce à l’app qui utilise l’app spécifique à l’ID. De plus, l’app doit appartenir à la même entreprise.

Exemples :

  1. Renvoie les ID pour toutes les apps appartenant à la même entreprise.
    GET /{user-id}/ids_for_apps
        ?access_token=[app_access_token]
  2. Renvoie l’ID pour l’app spécifique avec l’ID d’app 10152368852405295.
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[app_access_token]

Avec l’ID d’utilisateur d’une Page (associée à un bot), récupérer les ID pour les autres Pages appartenant à la même entreprise

  • Nœud utilisateur : un ID spécifique à la Page associée à un bot dans Messenger.
  • Arête :ids_for_pages
  • Conditions requises : nécessite un token d’accès à la page et un paramètre appsecret_proof devant être générés grâce à l’app qui gère la page. De plus, les Pages doivent appartenir à la même entreprise.

Exemples :

  1. Renvoie les ID pour toutes les Pages appartenant à la même entreprise.
    GET /{user-id}/ids_for_pages
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Renvoie l’ID pour la Page spécifique avec l’ID d’app 380374449010653.
    GET /{user-id}/ids_for_pages
        ?app=380374449010653
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

Exemple de demandes

Récupérer des ID associés à partir d’un ID pour une app

GET /{user-id}
    ?fields=name,age_range,ids_for_apps,ids_for_pages
    &access_token=[app_access_token]

Exemple de réponse :

{
  "name": "John Smith",
  "age_range": {
    "min": 21
  },
  "ids_for_apps": {
    "data": [
      {
        "id": "10152368852405295",
        "app": {
          "category": "Business",
          "link": "https://www.facebook.com/games/?app_id=1419232575008550",
          "name": "John's Game App",
          "id": "1419232575008550"
        }
      },
      {
        "id": "645195294",
        "app": {
          "link": "https://apps.facebook.com/johnsmovieappns/",
          "name": "JohnsMovieApp",
          "namespace": "johnsmovieappns",
          "id": "259773517400382"
        }
      }
    ],
    "paging": ...
  },
  "ids_for_pages": {
    "data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ],
    "paging": ...
  },
  "id": "645195294"
}

Récupérer des ID associés à partir d’un ID pour un bot dans Messenger

GET /{user-id}
    ?fields=name,is_payment_enabled,ids_for_apps,ids_for_pages
    &access_token=[page_access_token]
    &appsecret_proof=[appsecrete_proof]

Exemple de réponse :

{
  "name": "John Smith",
  "is_payment_enabled": true,
  "ids_for_apps": {
    "data": [
      {
        "id": "10152368852405295",
        "app": {
          "category": "Business",
          "link": "https://www.facebook.com/games/?app_id=1419232575008550",
          "name": "John's Game App",
          "id": "1419232575008550"
        }
      },
      {
        "id": "645195294",
        "app": {
          "link": "https://apps.facebook.com/johnsmovieappns/",
          "name": "JohnsMovieApp",
          "namespace": "johnsmovieappns",
          "id": "259773517400382"
        }
      }
    ],
    "paging": ...
  },
  "ids_for_pages": {
    "data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ],
    "paging": ...
  },
  "id": "645195294"
}

    

Politique

L’API peut uniquement être utilisée par une entreprise pour connecter les ID de l’app ou de la Page de l’entreprise à une autre app ou Page appartenant à la même entreprise et gérée en son nom. Par exemple, les prestataires de service ne peuvent pas utiliser l’API pour aider plusieurs clients.

En cas de violations potentielles de cette politique, vos demandes d’API seront soumises à vérification et afficheront le message d’erreur « (#200) L’accès de votre entreprise à cette API est actuellement en cours de vérification ».