La vinculación de cuentas es distinta de otras funciones de vista web disponibles en la plataforma de Messenger. Solo se puede iniciar mediante los botones "Iniciar sesión" y no desde el menú persistente del bot, los botones de URL ni desde un proceso de vista web o extensión del chat ya abiertos.
Los desarrolladores que usen estas funciones ahora pueden obtener el identificador de usuario de manera segura usando la función getContext()
en las extensiones de Messenger y los bots pueden usarlo para vincular la cuenta del usuario o personalizar la experiencia.
Actualmente, la vinculación de cuentas solo se admite en la app de Messenger de iOS y Android.
Cuando un usuario inicia una conversación con tu negocio, tal vez quieras identificarlo como un cliente que ya tiene una cuenta en tu negocio. Para ayudarte a hacer esto, creamos un protocolo seguro para vincular y desvincular la identidad de usuario de Messenger con la identidad de usuario de tu negocio.
La vinculación de cuentas te permite invitar a los usuarios a que inicien sesión mediante tu propio proceso de autenticación y recibir un identificador de usuario específico de la página (PSID) de Messenger al final del proceso. Esto te permite brindar una experiencia más segura, personalizada y relevante a los usuarios.
El proceso de vinculación de cuentas comprende unos pocos pasos sencillos.
redirect_uri
y account_linking_token
se agregan a la devolución de llamada registrada.redirect_uri
y agrega un parámetro authorization_code
(definido por ti) para confirmar la vinculación.La desvinculación de cuentas se puede iniciar de las siguientes maneras:
La plataforma de Messenger invoca una URL de vinculación de cuentas cuando un usuario activa la vinculación de cuentas. Los parámetros redirect_uri
y account_linking_token
se agregan a la devolución de llamada de URL.
<yourAccountLinkingUrl> ?account_linking_token=ACCOUNT_LINKING_TOKEN &redirect_uri=CALLBACK_URL
Si la vinculación de cuentas se realiza correctamente, debes completar el proceso. Para ello, redirige el navegador a la URL especificada en el parámetro redirect_uri
y agrega un parámetro authorization_code
definido por ti. Ten en cuenta que posiblemente la URL ya contenga parámetros, por lo que debes agregar el código de autorización en consecuencia:
<redirect_uri> &authorization_code=AUTHORIZATION_CODE
Si la vinculación de cuentas no se realiza correctamente, redirige el navegador al valor de redirect_uri
que recibiste como parámetro, pero no agregues authorization_code
.
Nombre del parámetro | Descripción |
---|---|
| URI de redireccionamiento que Messenger agrega. Al final del proceso de autenticación, debes redirigir el navegador a esta ubicación. Puede contener parámetros codificados de URL. |
| Token de corta duración que Messenger pasa y que debes devolver como parte del esquema de redireccionamiento. Este token solo es válido durante cinco minutos, está cifrado y es único para cada usuario. |
| Código que proporcionas para confirmar una vinculación correcta. La plataforma de Messenger pasará este código junto con el PSID del usuario nuevamente al evento de webhook de vinculación de cuentas. Si no se pasa este parámetro, el proceso de vinculación se cancelará. |
Cuando un proceso de vinculación se efectúa correctamente, se activa el evento de vinculación de cuentas para entregar el identificador específico de la página (PSID) del usuario.
Debes registrar el evento de devolución de llamada de vinculación de cuentas. Si este evento del webhook no se reconoce, el proceso de vinculación se cancelará.
En algunos casos, debes recuperar el identificador específico de la página (PSID) del usuario durante el proceso de vinculación. Para ayudarte en estas circunstancias, ofrecemos un punto de conexión de recuperación de PSID que te permite extraer el PSID del usuario con un token account_linking_token
válido y vigente.
curl -X GET "https://graph.facebook.com/v2.6/me?access_token=PAGE_ACCESS_TOKEN \ &fields=recipient \ &account_linking_token=ACCOUNT_LINKING_TOKEN"
{ "id": "PAGE_ID", "recipient": "PSID" }
En algunos casos, debes desvincular el identificador específico de la página (PSID) del usuario de tu backend de manera programática. Para ayudarte en estas circunstancias, ofrecemos un punto de conexión de desvinculación de PSID que te permite desvincular la cuenta del usuario con un PSID válido.
curl -X POST -H "Content-Type: application/json" -d '{ "psid":"PSID" }' "https://graph.facebook.com/v2.6/me/unlink_accounts?access_token=PAGE_ACCESS_TOKEN"
{ "result": "unlink account success" }
Usa la vinculación de cuentas si tu sistema de cuentas de usuario se extiende más allá de Messenger.
Permite que las personas creen una cuenta desde Messenger para que esté disponible en otros lugares.
Invita a los usuarios a iniciar sesión cuando sea relevante en el contexto (es decir, cuando el usuario de tu bot pueda advertir el beneficio de hacerlo).
Considera cómo debe ser el comportamiento de tu bot si un usuario no quiere iniciar sesión.
Proporciona una confirmación clara y un mensaje de bienvenida amable después del inicio de sesión.
No uses la vinculación de cuentas si las personas solo interactuarán contigo a través de Messenger. Puedes almacenar la información de su cuenta mediante el identificador del hilo de mensajes.
Si puedes evitarlo, no exijas la vinculación de cuentas de inmediato. Permite que las personas se familiaricen primero con tu bot.