Conectar con personas en varias aplicaciones y bots en Messenger

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:

Casos de uso

Hay una serie de casos de uso principales para esta API:

A partir del identificador de usuario de un bot en Messenger, recuperar los identificadores de las aplicaciones pertenecientes a la misma empresa

  • Nodo de usuario: un identificador específico de la página que está asociada a un bot en Messenger.
  • Perímetro:ids_for_apps.
  • Requisitos: se requiere un identificador de acceso a la página y un parámetro appsecret_proof; ambos se tienen que generar utilizando la aplicación que administra la página. Además, la aplicación que administra la página y las demás aplicaciones que se van a conectar deben pertenecer a la misma empresa.

Ejemplos:

  1. Esto devuelve los identificadores de todas las aplicaciones que pertenecen a la misma empresa:
    GET /{user-id}/ids_for_apps
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Esto devuelve el identificador de la aplicación específica que posee el identificador de aplicación 10152368852405295:
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

A partir del identificador de usuario de una aplicación, recuperar los identificadores de los bots de Messenger pertenecientes a la misma empresa

  • Nodo de usuario: un identificador específico de la aplicación.
  • Perímetro:ids_for_pages.
  • Requisitos: se requiere un identificador de acceso a la página y un parámetro appsecret_proof; ambos se tienen que generar utilizando la aplicación que administra las páginas y de la que el identificador es específico. Además, la aplicación y las páginas deben pertenecer a la misma empresa.

Ejemplos:

  1. Esto devuelve identificadores de todos los bots de Messenger cuya página asociada pertenece a la misma empresa:
    GET /{user-id}/ids_for_pages
        ?access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Esto devuelve el identificador del bot específico de Messenger cuya página asociada posee el identificador de página 380374449010653:
    GET /{user-id}/ids_for_pages
        ?page=380374449010653
        &access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]

A partir del identificador de usuario de una aplicación, recuperar los identificadores de las demás aplicaciones pertenecientes a la misma empresa

  • Nodo de usuario: el nodo de usuario es un identificador específico de la aplicación.
  • Perímetro:ids_for_apps.
  • Requisitos: se requiere un identificador de acceso a la aplicación, que se genera utilizando la aplicación de la que el identificador es específico. Además, las aplicaciones deben pertenecer a la misma empresa.

Ejemplos:

  1. Esto devuelve los identificadores de todas las aplicaciones que pertenecen a la misma empresa:
    GET /{user-id}/ids_for_apps
        ?access_token=[app_access_token]
  2. Esto devuelve el identificador de la aplicación específica que posee el identificador de aplicación 10152368852405295:
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[app_access_token]

A partir del identificador de usuario de una página (asociada a un bot), recuperar los identificadores de las demás páginas pertenecientes a la misma empresa

  • Nodo de usuario: un identificador específico de la página que está asociada a un bot en Messenger.
  • Perímetro:ids_for_pages.
  • Requisitos: se requiere un identificador de acceso a la página y un parámetro appsecret_proof; ambos se tienen que generar utilizando la aplicación que administra la página. Además, las páginas deben pertenecer a la misma empresa.

Ejemplos:

  1. Esto devuelve los identificadores de todas las páginas que pertenecen a la misma empresa:
    GET /{user-id}/ids_for_pages
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Esto devuelve el identificador de la página específica que posee el identificador de aplicación 380374449010653:
    GET /{user-id}/ids_for_pages
        ?app=380374449010653
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

Consultas de ejemplo

Recuperar identificadores asociados a partir del identificador de una aplicación

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

Respuesta de ejemplo:

{
  "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"
}

Recuperar identificadores asociados a partir del identificador de un bot en Messenger

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

Respuesta de ejemplo:

{
  "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"
}

    

Política

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”.