La API de perfiles de usuario te permite utilizar un identificador específico de la página (PSID) para recuperar información del perfil de un usuario con la que podrás personalizar la experiencia de los usuarios que interactúan contigo por Messenger.
Para recuperar la información del perfil de un usuario, necesitas tener acceso avanzado para la función de acceso al perfil de usuario del activo comercial. Algunos campos requieren permisos adicionales para acceder.
Aunque un PSID puede ser válido, en algunos casos es posible que no se pueda utilizar para recuperar la información del perfil de un usuario. Por ejemplo, no se puede acceder a los PSID asociados a las páginas de Juegos instantáneos mediante la API de perfiles de usuario.
Los siguientes eventos autorizarán a tu bot de Messenger a acceder a la información del perfil de un usuario:
askPermission()
del SDK de extensiones de Messenger en la vista web para solicitar el permiso user_profile
.Algunos puntos de acceso permiten a las aplicaciones iniciar una conversación sin conceder a la aplicación autorización para acceder al perfil público de un usuario. En estos casos, se concederá permiso a la aplicación para acceder al perfil del usuario cuando este haya respondido al mensaje inicial. A continuación se indican algunas situaciones relevantes en las que un usuario puede iniciar una conversación con la aplicación, pero no autorizar el permiso de perfil:
En estos momentos, la API de perfiles de usuario no admite la recuperación de información de perfiles para cuentas de Messenger que se hayan creado con un número de teléfono.
En este caso, la API devolverá el código de error 2018218
junto con el mensaje “No hay ningún perfil disponible para este usuario”.
Las aplicaciones que hayan recibido la aprobación de la revisión de la aplicación para la función y el permiso necesarios pueden recuperar los siguientes campos para los usuarios que hayan hecho pública esta información y se hayan suscrito voluntariamente a tu página.
Nombre del campo | Descripción | Permiso |
---|---|---|
| PSID del usuario | No aplicable |
| Nombre y apellidos del usuario | No aplicable |
| nombre | No aplicable |
| apellidos | No aplicable |
| Foto del perfil | No aplicable |
| Idioma del usuario en Facebook |
|
| Zona horaria (número relativo a GMT) |
|
| Sexo |
|
Para usar la API de perfiles de usuario, envía una solicitud GET
con los campos del perfil que quieres consultar del usuario:
curl -X GET "https://graph.facebook.com/<PSID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"
Si la aplicación puede acceder al perfil del usuario, la API de perfiles de usuario devolverá una cadena JSON con los campos solicitados de dicho perfil.
{
"first_name": "Peter",
"last_name": "Chang",
"profile_pic": "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xpf1/v/t1.0-1/p200x200/13055603_10105219398495383_8237637584159975445_n.jpg?oh=1d241d4b6d4dac50eaf9bb73288ea192&oe=57AF5C03&__gda__=1470213755_ab17c8c8e3a0a447fed3f272fa2179ce",
"locale": "en_US",
"timezone": -7,
"gender": "male",
"last_ad_referral": {
"source": "ADS",
"type": "OPEN_THREAD",
"ad_id": "6045246247433"
}
}
Si la aplicación no puede acceder al perfil del usuario, se devuelve un objeto vacío.