Asignación de usuarios en apps y páginas

Si deseas compartir el mismo identificador de usuario específico en las versiones de prueba, desarrollo, preparación y control de calidad de una app, utiliza apps de prueba.

Facebook pone identificadores de usuarios específicos de la app a disposición de las personas que inician sesión por primera vez en una instancia de la app y de las personas que inician sesión con el inicio de sesión limitado. Para aquellos que utilizan por primera vez un bot de Messenger, Facebook asigna identificadores de usuario específicos para la página. Por definición, esto implica que el identificador de una persona puede ser diferente en estas apps y en los bots.

Un negocio puede utilizar varios bots o apps de Facebook (por ejemplo, en los estudios de juegos) para admitir casos de uso como la promoción cruzada o la detección de fraude, o bots para comunicarse con los usuarios. En estos casos, es posible que sea necesario asignar el mismo identificador de persona entre las apps y los bots.

Existen tres métodos para asignar el mismo usuario a varias apps:

Para poder utilizar cualquiera de estos mecanismos, primero debes informar a Facebook que la misma entidad comercial es la propietaria y la operadora de las apps. Para ello, usa el administrador comercial de Facebook para:

El campo token_for_business en el nodo User

Una vez que una app se asocia a un administrador comercial, puedes solicitar el campo token_for_business en el nodo User utilizando el identificador específico de la app que se obtiene al utilizar el inicio de sesión limitado o la primera vez que se inicia sesión en la instancia de una app. Como resultado, esta llamada devuelve una cadena que es igual para esta persona en todas las apps administradas por el mismo administrador comercial.

GET /me?fields=token_for_business

generaría:

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

Notas de uso:

  • La persona que se consulta debe haber iniciado sesión en esta app.
  • Se puede llamar a este campo con un token de acceso de app o un token de acceso de usuario. Si se utiliza un token de usuario, la persona que se consulta debe ser la misma para quien se generó el token.
  • Si usas un identificador específico de la app obtenido de un inicio de sesión limitado, debes utilizar el identificador de tu app para hacer la llamada, porque no cuentas con un token de usuario que sea válido para las llamadas a la API Graph. Ten en cuenta que las medidas de seguridad del inicio de sesión limitado no se admiten para este fin.
  • Si el negocio propietario cambia, el valor de token_for_business también cambia.
  • Si se solicita el campo token_for_business y la app no está asociada a un administrador comercial, la llamada devolverá un error.
  • El valor que devuelve token_for_business es un token, no un identificador; no se puede utilizar directamente en la API Graph para acceder a la información de una persona. El identificador se debe almacenar de todos modos en la base de datos y se debe utilizar para llamar a la API Graph y obtener la información de la persona en cuestión.

Por comodidad, el campo token_for_business se encuentra disponible en todas las versiones de la API.

La propiedad token_for_business en el objeto signed_request de Canvas

Para que una app con presencia en Canvas pueda asignar fácilmente un usuario a varias apps, si la aplicación está asociada a un administrador comercial y el usuario inició sesión en la aplicación, se agrega un campo token_for_business que se pasa a la aplicación a través del objeto signed_request pasado a las apps de Canvas en el momento de la carga. Por ejemplo:

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

El valor del campo token_for_business es igual al que se obtiene si se consulta directamente el nodo User, por ejemplo, mediante /me?fields=token_for_business. También sigue las mismas reglas; por ejemplo, si el negocio propietario cambia, el valor de token_for_business también cambia.

Si la app no está asociada a un administrador comercial, o si el usuario no inició sesión en la app, la propiedad token_for_business no estará presente en el objeto signed_request.

El perímetro ids_for_business en el nodo User

Para obtener identificadores de negocio asignados, llama al perímetro ids_for_business en el nodo User. La respuesta es una matriz de objetos donde cada uno representa una app asociada al mismo negocio que la app desde la cual se realiza la llamada y en la que la persona inició sesión.

GET /me/ids_for_business

Ejemplo de respuesta:

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

Para que la API devuelva datos, el usuario debe haber iniciado sesión en una o varias apps asociadas al mismo negocio que la app desde la cual se realiza la llamada a la API. Ejemplo: si una persona inicia sesión en 3 de las 5 apps asociadas con el mismo negocio, la API devolverá 3 objetos.

Preguntas frecuentes

¿Es necesario utilizar la API de asignación de negocios?

No. La API de asignación de negocios solo es útil para los negocios que manejan varias apps de Facebook y necesitan asignar el mismo identificador de usuario a cada una de ellas. Si tienes una sola app principal, es poco probable que necesites utilizar la API de asignación de negocios y, por consiguiente, no necesitas configurar un negocio ni asociar apps al negocio.

¿En qué consiste el administrador comercial?

El administrador comercial es una manera de ayudar a los negocios y las agencias a administrar sus páginas de Facebook, cuentas publicitarias, aplicaciones y métodos de pago en un solo lugar. Obtén más información sobre el administrador comercial.

No creo que necesite utilizar la API de asignación de negocios. ¿Debo asociar mis apps a un negocio de todos modos?

Si no necesitas utilizar la API de asignación de negocios, no es recomendable que configures un negocio por el momento. Como un negocio debe estar vinculado a la página principal de Facebook para el negocio, la persona mejor posicionada para configurar el negocio en Facebook es quien administra normalmente las cuentas publicitarias y los permisos de página de Facebook para la empresa. Si esa persona ya configuró el negocio dentro del administrador comercial, entonces sí puedes asociar apps a ese negocio.

¿Es posible asociar una app a varios negocios?

No. Solo se puede asociar una aplicación a un negocio a la vez.

¿Es posible transferir una aplicación a otro negocio?

Sí. Primero, debes eliminar la app del negocio al que está asociada actualmente. Puedes hacerlo desde el administrador comercial. Simplemente ve a la pestaña Aplicaciones en la configuración del negocio, selecciona la aplicación y haz clic en "Eliminar". A continuación, puedes asociar la app a un nuevo negocio.