Вход от имени компании (часто называемый входом через Facebook) — это входная точка, которая позволяет владельцам компаний связывать свои компании на вашей платформе со своими профилями Facebook или Instagram с помощью кнопки на вашем сайте.
Вход от имени компании реализуется на вашей платформе (обычно во внутренней панели администратора на вашем сайте) и запускает процесс входа через Facebook. С помощью этого процесса входа владельцы компаний смогут связать свои профили Facebook с представлениями компаний на вашем сайте и начать пользоваться функциями расширения Facebook Business.
Во время установки расширения Facebook Business создается бизнес-решение делегирования (On-Behalf-Of Solution, OBO), которое связывает компании партнера и клиента. Оно позволяет партнеру получить маркер доступа системного пользователя расширения Facebook Business с указанием учетных данных системного пользователя-администратора партнерского аккаунта Business Manager, а не только учетных данных администратора клиентского аккаунта Business Manager (текущий метод).
Примечание. В качестве альтернативы входу от имени компании для аутентификации можно использовать бизнес-приложения. См. документацию по работе с бизнес-приложениями.
Ваше приложение должно пройти проверку, чтобы получить следующие разрешения:
catalog_management
— только если приложение будет использовать функции каталога (чтобы управлять рекламой продавца от лица клиента, можно также запросить разрешение ads_management
);business_creative_management
— если ваше приложение использует API Draper.Для входа можно использовать один из следующих методов:
Загрузка входа от имени компании через URL — рекомендуется, если вы не планируете использовать Facebook SDK для JavaScript. В этом случае вам нужно будет связать кнопку на вашем сайте с динамически генерируемым URL для каждой компании.
Загрузка входа от имени компании через Facebook SDK — Facebook SDK позволяет использовать стандартные функции на стороне клиента. Этот вариант рекомендуется для разработчиков, имеющих соответствующий опыт, так как в данном случае предлагается более стандартизированный подход к запуску процесса входа.
Чтобы запустить вход от имени компании через URL, разместите на своем сайте кнопку, нажатие которой приводит к переходу по URL.
В запрос URL входа от имени компании нужно включить следующие параметры:
Поле | Описание |
---|---|
Тип: строка | Обязательный параметр. ID приложения Meta |
Тип: строка | Обязательный параметр. Тип отображения входа от имени компании: |
Тип: строка | Обязательный параметр. URI перенаправления после завершения процесса входа. |
Тип: строка | Обязательный параметр. Указывает, где будет содержаться ответ на запрос входа от имени компании при перенаправлении обратно в приложение: в параметрах или во фрагментах URL. Используйте значение |
Тип: строка | Обязательный параметр. Необходимые разрешения или области: В зависимости от сценария использования это также могут быть Для приложения с креативом область также должна содержать |
Тип: строка | Обязательный параметр. Содержит информацию о процессах и параметрах, которые пользователь будет видеть в процессе входа. К ним относятся |
Тип: строка | Обязательный параметр. Настройки Facebook для продавца, например его уникальный ID ( |
Тип: строка | Обязательный параметр. Объект, с помощью которого настраивается рабочий процесс FBE. См. поддерживаемые поля |
Если приложению требуются динамические URI перенаправления, используйте параметр состояния, чтобы отправлять динамическую информацию на URI перенаправления после завершения входа.
Подробные сведения о том, как форматировать этот URL и его обязательные параметры, см. в списке полей в разделе Объекты и типы API расширения Facebook Business.
В примере ниже правильно отформатированный параметр запроса extras
определяет объекты business_config
и setup
.
Пример URL
https://facebook.com/dialog/oauth? client_id=<FB_APP_ID> &display=page &redirect_uri="https://partner-site.com/redirectlanding" &response_type=token &scope=manage_business_extension // alternatively use catalog_management or ads_management // &scope=manage_business_extension,catalog_management,ads_management &extras={ "setup": { "external_business_id": "foo-123", "timezone": "America/Los_Angeles", "currency": "USD", "business_vertical": "APPOINTMENTS" }, "business_config": { "business": { "name": "Foo Business" }, "page_cta": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business", "below_button_text": "Powered by FBE Partner" }, "page_card": { "enabled": true, "see_all_text": "See All", "see_all_url": "https://partner-site.com/foo-business", "cta_button_text": "Book" }, "ig_cta": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business" }, "messenger_menu": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business" }, "thread_intent": { "enabled": true, "cta_button_url": "https://partner-site.com/foo-business" } }, "repeat": false }
Чтобы создать процесс входа вручную, укажите URL перенаправления в панели приложений.
URL перенаправления — это механизм защиты для перенаправлений FBE. Если адрес перенаправления из расширения Facebook Business не совпадает с доменом в поле URL перенаправления в приложении, расширение не будет открывать этот адрес после завершения входа.
Как и при обычном входе через Facebook, в конце процесса возвращается маркер access_token
, который позволяет получить ID пикселя, ID Страницы и ID Instagram Business.
1. Загрузите Facebook SDK для JavaScript.
Вы можете скачать SDK и разместить его на своей платформе или воспользоваться SDK, размещенным на Facebook. Рекомендуем использовать SDK на Facebook.
2. Добавьте в объект Window
функцию fbAsyncInit
, чтобы настроить SDK.
Чтобы можно было загрузить SDK для JavaScript, в объекте window
должна присутствовать функция fbAsyncInit
. SDK вызовет функцию window.fbAsyncInit()
для настройки.
Для настройки используются следующие параметры:
appId
— ID приложения Facebook;cookie
— включает файлы cookie и предоставляет серверу доступ к этому сеансу;xfbml
— обрабатывает социальные плагины на этой странице;version
— сообщает SDK, какую версию API Graph нужно использовать (на момент написания этого документа последней была версия 10).Перед загрузкой SDK для JavaScript добавьте в объект window
функцию fbAsyncInit
.
3. Запустите расширение Facebook Business с помощью функции входа от имени компании FB.login()
.
После загрузки и правильной инициализации SDK загрузите функцию FB.login()
. В FB.login()
нужно передать следующие важные параметры:
scope
и extras
.Поле | Описание |
---|---|
| Обязательный параметр. Необходимые разрешения или области: |
| Обязательный параметр. Содержит информацию о процессах и параметрах, которые пользователь будет видеть в процессе входа в расширение Facebook Business. К ним относятся |
| Обязательный параметр. Определяет настройки Facebook для продавца, например его уникальный идентификатор ( |
| Обязательный параметр. Объект, с помощью которого настраивается рабочий процесс расширения Facebook Business. См. поддерживаемые поля |
Подробные сведения см. в разделе Объекты и типы API расширения Facebook Business.
<script> window.fbAsyncInit = function() { //2. FB JavaScript SDK configuration and setup FB.init({ appId : '<app_id>', // FB App ID cookie : true, // enable cookies to allow the server to access the session xfbml : true, // parse social plugins on this page version : 'v4.0' // uses graph api version v4.0 }); }; //1. Load the JavaScript SDK asynchronously (function(d, s, id) { var js, fjs = d.getElementsByTagName(s)[0]; if (d.getElementById(id)) return; js = d.createElement(s); js.id = id; js.src = "https://connect.facebook.net/en_US/sdk.js"; fjs.parentNode.insertBefore(js, fjs); }(document, 'script', 'facebook-jssdk')); //3. Facebook login with JavaScript SDK function launchFBE() { FB.login(function (response) { if (response.authResponse) { // returns a User Access Token with scopes requested const accessToken = response.authResponse.accessToken; const message = { 'success':true, 'access_token':accessToken, }; // store access token for later } else { console.log('User cancelled login or did not fully authorize.'); } }, { scope: 'catalog_management,manage_business_extension', // refer to the extras object table for details extras: { "setup":{ "external_business_id":"<external_business_id>", "timezone":"America\/Los_Angeles", "currency":"USD", "business_vertical":"ECOMMERCE" }, "business_config":{ "business":{ "name":"<business_name>" }, "ig_cta": { "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business" } }, "repeat":false } }); } </script>
4. Создайте кнопку или ссылку для запуска расширения Facebook Business.
Чтобы загрузить экран, добавьте для кнопки или ссылки функцию onClick
, вызывающую метод launchFBE()
:
<button onclick="launchFBE()"> Launch FBE Workflow </button>
URL перенаправления — это механизм защиты для перенаправлений расширения Facebook Business. Если адрес перенаправления из расширения Facebook Business не совпадает с доменом в поле URL перенаправления в приложении, расширение не будет открывать этот адрес после завершения входа.
Информацию о том, как использовать расширение Facebook Business на мобильных устройствах, см. в документации.