User Profile API

User Profile API позволяет извлекать из пользовательского профиля данные по ID внутри страницы (PSID), чтобы персонализировать переписку в Messenger.

Доступность

Чтобы получить информацию о пользователе, вам необходим расширенный уровень доступа для функции доступа к профилю пользователя объектов компании. Для доступа к некоторым полям требуются дополнительные разрешения.

В некоторых случаях получить информацию о профиле пользователя по PSID невозможно, даже если идентификатор действителен. Например, PSID, связанные со Страницами моментальных игр, недоступны через User Profile API.

Согласие пользователя на получение сообщений

Ваш бот Messenger получает разрешение на доступ к информации о профиле пользователя в результате следующих событий:

Некоторые точки входа позволяют приложениям начинать переписку без получения разрешения на получение общедоступной информации о профиле пользователя. В таких случаях приложение получает разрешение на доступ к профилю человека, когда он ответит на изначальное сообщение. Следует отметить ситуации, когда человек начинает переписку с приложением, но не дает разрешение на доступ к профилю. Примеры таких ситуаций:

Недоступный профиль

Сейчас User Profile API не поддерживает получение информации о профиле для аккаунтов Messenger, созданных по номеру телефона.

В этом случае API возвращает ошибку с кодом 2018218 и сообщением "У этого пользователя нет профиля".

Доступные поля профиля

Приложения, успешно прошедшие проверку для необходимой функции или разрешения, могут получать следующие поля для пользователей, которые сделали эту информацию доступной всем и дали согласие на получение сообщений от вашей Страницы.

Название поляОписаниеРазрешение

id

PSID пользователя

Нет

name

Имя и фамилия пользователя

Нет

first_name

имя

Нет

last_name

фамилия

Нет

profile_pic

Фото профиля

Нет

locale

Локаль пользователя на Facebook

pages_user_locale

timezone

Часовой пояс — число, связанное с GMT

pages_user_timezone

gender

Пол

pages_user_gender

Запрос доступа функции к полям пользователя на Странице

  1. Перейдите в раздел Настройки Страницы > Расширенный обмен сообщениями.
  2. В разделе "Информация о пользователях" выберите поле и нажмите кнопку "Запросить".

Получение информации о профиле пользователя

Чтобы использовать User Profile API, отправьте запрос GET с полями профиля пользователя, которые вы хотите получить:

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

Если у приложения есть доступ к профилю человека, User Profile API вернет строку JSON с запрошенными полями этого профиля.

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

Если у приложения нет доступа к профилю, будет возвращен пустой объект.

Дополнительная информация