Общение с людьми в приложениях и в Messenger с помощью ботов

Компании нередко используют для общения с клиентами несколько каналов, например сайт, мобильное приложение и Messenger. Когда человек использует «Вход через Facebook» на сайте или в мобильном приложении, для конкретного приложения Facebook создается ID, который называется «ID внутри приложения». Когда человек взаимодействует с компанией через Messenger, для конкретной Страницы, связанной с ботом в Messenger, создается ID, который называется «ID внутри Страницы». Это означает, что для одного и того же человека в разных каналах общения назначаются разные ID. Помните, что ID внутри приложения создаются при входе в приложение. Для пользователей, которые не установили ваше приложение и не выполнили вход с его помощью, ID внутри приложения не отображаются.

При желании компания может упростить взаимодействие с людьми в разных каналах. Например, когда кто-то общается с компанией через бота в Messenger, интерфейс может быть более персонализированным, если компания узнает, что человек пользуется их приложением Facebook (например, вошел на сайт или в мобильное приложение с помощью «Входа через Facebook»). Мы предлагаем API, который позволяет получать ID одного и того же человека в разных приложениях и ботах Messenger, принадлежащих одной компании.

Во-первых, необходимо сообщить Facebook, что ваши приложения и Страницы, связанные с ботом, принадлежат одной и той же компании. Для этого с помощью Facebook Business Manager вам необходимо:

Затем вы можете запросить границу ids_for_apps или ids_for_pages для узла user, чтобы получить ID.

Первоначальный вызов API может активировать проверку приложения, которая занимает примерно 48 часов.

В этом документе рассматриваются следующие темы:

Примеры

Есть несколько вариантов использования этого API:

С учетом ID пользователя для бота в Messenger вы можете получить ID приложений, которые принадлежат одной компании

  • Узел пользователя: ID внутри Страницы, связанный с ботом в Messenger.
  • Граница:ids_for_apps
  • Требования: Необходим маркер доступа страницы и appsecret_proof, которые необходимо создать с помощью приложения, которое управляет Страницей. Кроме того, приложение, которое управляет Страницей, и другое(-ие) приложение(-ия) должно(-ы) принадлежать одной компании.

Примеры.

  1. Выдает ID всех приложений, которые принадлежат одной и той же компании
    GET /{user-id}/ids_for_apps
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Выдает ID конкретного приложения с ID приложения 10152368852405295
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

С учетом ID пользователя для приложения вы можете получить ID ботов в Messenger, которые принадлежат одной компании

  • Узел пользователя: ID внутри приложения.
  • Граница:ids_for_pages
  • Требования: Необходим маркер доступа страницы и appsecret_proof, которые необходимо создать с помощью приложения, которое управляет Страницами и в котором будет использоваться ID. Кроме того, приложение и Страница(-ы) должны принадлежать одной компании.

Примеры.

  1. Выдает ID всех ботов в Messenger, Страницы которых принадлежат одной компании
    GET /{user-id}/ids_for_pages
        ?access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Выдает ID конкретного бота в Messenger с ID Страницы 380374449010653
    GET /{user-id}/ids_for_pages
        ?page=380374449010653
        &access_token=[app_access_token]
        &appsecret_proof=[appsecret_proof]

С учетом ID пользователя для приложения вы можете получить ID других приложений, которые принадлежат одной компании

  • Узел пользователя: узел пользователя — это ID в приложении.
  • Граница:ids_for_apps
  • Требования: Необходим маркер доступа приложения, который создается с помощью приложения, где будет использоваться ID. Кроме того, приложения должны принадлежать одной компании.

Примеры.

  1. Выдает ID всех приложений, которые принадлежат одной и той же компании
    GET /{user-id}/ids_for_apps
        ?access_token=[app_access_token]
  2. Выдает ID конкретного приложения с ID приложения 10152368852405295
    GET /{user-id}/ids_for_apps
        ?app=10152368852405295
        &access_token=[app_access_token]

С учетом ID пользователя для Страницы (связанной с ботом) вы можете получить ID других Страниц, которые принадлежат одной компании

  • Узел пользователя: ID внутри Страницы, связанный с ботом в Messenger.
  • Граница:ids_for_pages
  • Требования: Необходим маркер доступа страницы и appsecret_proof, которые необходимо создать с помощью приложения, которое управляет Страницей. Кроме того, Страницы должны принадлежать одной компании.

Примеры.

  1. Выдает ID всех Страниц, которые принадлежат одной и той же компании
    GET /{user-id}/ids_for_pages
        ?access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]
  2. Выдает ID конкретной страницы с ID приложения 380374449010653
    GET /{user-id}/ids_for_pages
        ?app=380374449010653
        &access_token=[page_access_token]
        &appsecret_proof=[appsecret_proof]

Примеры запросов

Вы можете получить связанные ID из ID приложения

GET /{user-id}
    ?fields=name,age_range,ids_for_apps,ids_for_pages
    &access_token=[app_access_token]

Пример ответа:

{
  "name": "John Smith",
  "age_range": {
    "min": 21
  },
  "ids_for_apps": {
    "data": [
      {
        "id": "10152368852405295",
        "app": {
          "category": "Business",
          "link": "https://www.facebook.com/games/?app_id=1419232575008550",
          "name": "John's Game App",
          "id": "1419232575008550"
        }
      },
      {
        "id": "645195294",
        "app": {
          "link": "https://apps.facebook.com/johnsmovieappns/",
          "name": "JohnsMovieApp",
          "namespace": "johnsmovieappns",
          "id": "259773517400382"
        }
      }
    ],
    "paging": ...
  },
  "ids_for_pages": {
    "data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ],
    "paging": ...
  },
  "id": "645195294"
}

Вы можете получить связанные ID из ID бота в Messenger

GET /{user-id}
    ?fields=name,is_payment_enabled,ids_for_apps,ids_for_pages
    &access_token=[page_access_token]
    &appsecret_proof=[appsecrete_proof]

Пример ответа:

{
  "name": "John Smith",
  "is_payment_enabled": true,
  "ids_for_apps": {
    "data": [
      {
        "id": "10152368852405295",
        "app": {
          "category": "Business",
          "link": "https://www.facebook.com/games/?app_id=1419232575008550",
          "name": "John's Game App",
          "id": "1419232575008550"
        }
      },
      {
        "id": "645195294",
        "app": {
          "link": "https://apps.facebook.com/johnsmovieappns/",
          "name": "JohnsMovieApp",
          "namespace": "johnsmovieappns",
          "id": "259773517400382"
        }
      }
    ],
    "paging": ...
  },
  "ids_for_pages": {
    "data": [
      {
        "id": "12345123", // The psid for the user for that page
        "page": {
          "category": "Musician",
          "link": "https://www.facebook.com/Johns-Next-Great-Thing-380374449010653/",
          "name": "John's Next Great Thing",
          "id": "380374449010653"
        }
      }
    ],
    "paging": ...
  },
  "id": "645195294"
}

    

Политика

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

Ваши запросы API будут проверяться, и в случае нарушения этого правила появится сообщение об ошибке «(#200) Your business is currently going through review to access this API» (Ваша компания проходит проверку на доступ к этому API).