Es habitual que una empresa utilice varios canales para comunicarse con sus clientes, por ejemplo, un sitio web, una aplicación para móviles y Messenger. Cuando una persona utiliza el inicio de sesión con Facebook en un sitio web o una aplicación para móviles, se crea un identificador de la aplicación de Facebook concreta, que se denomina “identificador específico de la aplicación”. Cuando una persona interactúa con una empresa a través de Messenger, se crea un identificador para la página específica asociada al bot de Messenger, que se denomina “identificador específico de la página”. Para una misma persona, esto significa que los identificadores de canales de comunicación diferentes son distintos. Ten en cuenta que los identificadores específicos de la aplicación se generan cuando un usuario inicia sesión con tu aplicación, por lo que no verás este tipo de identificadores con usuarios que no hayan descargado tu aplicación e iniciado sesión con ella.
Puede ocurrir que una empresa quiera proporcionar una experiencia sin interrupciones para las personas en canales diferentes. Por ejemplo, cuando alguien se comunica con una empresa a través de un bot en Messenger, la experiencia podría ser más personalizada si la empresa reconoce que esa persona es un cliente existente en su aplicación de Facebook (por ejemplo, un sitio web o una aplicación para móviles que incluye inicio de sesión con Facebook). Proporcionamos una API para recuperar identificadores de la misma persona en diferentes aplicaciones y bots de Messenger pertenecientes a la misma empresa.
En primer lugar, debes comunicar a Facebook que tus aplicaciones y las páginas asociadas a tu bot en Messenger pertenecen a la misma entidad empresarial. Para ello, tienes que usar Business Manager de Facebook con el fin de:
Después, puedes consultar el perímetro ids_for_apps
o ids_for_pages
del nodo de usuario para recuperar los identificadores.
Tu llamada inicial a la API puede activar una revisión de la aplicación que puede tardar unas 48 horas en completarse.
Este documento incluye:
Hay una serie de casos de uso principales para esta API:
ids_for_apps
. GET /{user-id}/ids_for_apps ?access_token=[page_access_token] &appsecret_proof=[appsecret_proof]
GET /{user-id}/ids_for_apps ?app=10152368852405295 &access_token=[page_access_token] &appsecret_proof=[appsecret_proof]
ids_for_pages
.GET /{user-id}/ids_for_pages ?access_token=[app_access_token] &appsecret_proof=[appsecret_proof]
GET /{user-id}/ids_for_pages ?page=380374449010653 &access_token=[app_access_token] &appsecret_proof=[appsecret_proof]
ids_for_apps
. GET /{user-id}/ids_for_apps ?access_token=[app_access_token]
GET /{user-id}/ids_for_apps ?app=10152368852405295 &access_token=[app_access_token]
ids_for_pages
.GET /{user-id}/ids_for_pages ?access_token=[page_access_token] &appsecret_proof=[appsecret_proof]
GET /{user-id}/ids_for_pages ?app=380374449010653 &access_token=[page_access_token] &appsecret_proof=[appsecret_proof]
GET /{user-id} ?fields=name,age_range,ids_for_apps,ids_for_pages &access_token=[app_access_token]
{ "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" }
GET /{user-id} ?fields=name,is_payment_enabled,ids_for_apps,ids_for_pages &access_token=[page_access_token] &appsecret_proof=[appsecrete_proof]
{ "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" }
Una empresa solo puede utilizar la API para conectar los identificadores de la aplicación o la página de la propia empresa a otra aplicación o página perteneciente a la misma empresa y cuyo mantenimiento se realice en nombre de esta. Por ejemplo, los proveedores de servicios no pueden usar la API para dar servicio a varios clientes.
Para evitar posibles vulneraciones de esta política, las solicitudes de la API estarán sujetas a revisión y devolverán un mensaje de error “(#200) Tu empresa está en fase de revisión para acceder a esta API”.