API de perfil de usuario

La API de perfiles de usuario te permite usar un identificador específico de la página (PSID) con el fin de recuperar información del perfil. Esta se puede usar para personalizar la experiencia de las personas que interactúan con tu Messenger.

Disponibilidad

Para obtener la información del perfil de un usuario, debes contar con acceso avanzado a la función Acceso al perfil del usuario del activo comercial. Para acceder a algunos campos, es necesario contar con permisos adicionales.

Si bien un PSID puede ser válido, es posible que en algunos casos no se pueda usar para obtener la información del perfil de una persona. Por ejemplo, no se puede acceder a los PSID asociados con páginas de juegos a través de la API de perfil de usuario.

Consentimiento explícito del usuario

Los siguientes eventos le darán a tu bot de Messenger autorización para acceder a la información del perfil de una persona:

  • La persona inicia la conversación en una pantalla de bienvenida y toca el botón "Empezar".
  • La persona hace clic en el botón "Enviar a Messenger" para iniciar la conversación.
  • La persona envía un mensaje para iniciar la conversación.
  • La persona acepta la solicitud de mensaje de una página para iniciar la conversación.
  • Tu bot de Messenger usa la función askPermission() del SDK de extensiones de Messenger en la vista web para solicitar el permiso user_profile.
  • En el caso de las apps de negocios, la función Acceso al perfil del usuario del activo comercial es un requisito adicional y se puede solicitar mediante la revisión de apps.

Algunos puntos de entrada permiten a las apps iniciar una conversación, pero no les dan autorización para acceder al perfil público de la persona. En esos casos, la app recibirá el permiso para acceder al perfil de la persona una vez que esta responda al mensaje inicial. Entre las situaciones en que una persona inicia una conversación con una app, pero no otorga permiso para acceder al perfil, se encuentran las siguientes:

Perfil no disponible

Por el momento, la API de perfil de usuario no permite obtener información de perfil de cuentas de Messenger que se crearon con un número de teléfono.

En este caso, la API devuelve el código de error 2018218 junto con el mensaje "No hay ningún perfil disponible para este usuario".

Campos de perfil disponibles

Las apps que recibieron la aprobación mediante la revisión de apps para la función y el permiso obligatorios pueden obtener la información de los siguientes campos de los usuarios que la hicieron pública y dieron su consentimiento en tu página.

Nombre del campoDescripciónPermiso

id

PSID del usuario

N/D

name

Nombre y apellido del usuario

N/D

first_name

Nombre

N/D

last_name

Apellido

N/D

profile_pic

Foto del perfil

N/D

locale

Configuración regional del usuario en Facebook

pages_user_locale

timezone

Zona horaria, número en relación con GMT

pages_user_timezone

gender

Sexo

pages_user_gender

Solicitar acceso de una función a los campos de usuario de la página

  1. Ve a Configuración de la página > Mensajes avanzados.
  2. En "Información sobre las personas", selecciona el campo y haz clic en el botón "Solicitar".

Obtener información del perfil de una persona

Para usar la API de perfil de usuario, envía una solicitud GET con los campos de perfil que buscas obtener de esa persona:

curl -X GET "https://graph.facebook.com/<PSID>?fields=first_name,last_name,profile_pic&access_token=<PAGE_ACCESS_TOKEN>"

Si la app puede acceder al perfil de la persona, la API de perfil de usuario devolverá una cadena JSON con los campos solicitados del 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 app no puede acceder al perfil de la persona, se devolverá un objeto vacío.