业务应用身份验证


业务应用适用于各个 Facebook 平台,小型企业可以在平台中发现第三方业务应用并与之建立联系,以低廉的技术成本完成业务工具设置,从而发展壮大、实现业务目标。


企业登录不同,该流程是从我们的平台启动,因此您还需要执行一个额外步骤,即要求用户通过弹出式浏览器登录您的平台,然后执行身份验证并选择为其建立连结的企业(由您定义的 external_business_id 确定)。成功通过身份验证后,用户将被重定向回此流程以完成入门流程。

如果您希望在我们的业务应用平台上展示您的应用,那么您需要构建一个身份验证网址和 Webhooks 端点,并通过开发者面板进行设置和验证。

所有应用都必须申请集成审查。FBE 集成获得批准后,您的应用便可供公共用户使用。

请注意:企业登录可代替业务应用进行身份验证。请参阅相关文档了解如何使用企业登录。

身份验证网址实现

业务应用可以在 Facebook 公共主页界面、Instagram 和 Facebook Business Suite 内启动类似于企业登录的流程。如要启用此流程并在其中列出您的应用,您必须提供一个自定义身份验证用户界面,支持用户在您的网站上选择其企业,并将他们重定向回 Facebook、Instagram 或 Facebook Business Suite 流程。

运作方式

  1. 提供一个自定义网址端点(身份验证网址)来加载平台的身份验证流程。
    • 身份验证网址应将用户(企业主)引导至您平台上的登录流程。
    • 提供一个在您的平台注册新帐户的选项(即“注册”)。注册后,系统应将用户带回 Facebook 完成帐户关联流程。
    • 如果您的平台支持每个帐户有多个企业,则在用户成功登录后,身份验证网址会显示用户界面,以便用户选择将您平台上的哪个企业关联至其 Facebook 资产。
    示例 — 身份验证网址
    https://yourwebsite.com/fbe-auth
  2. 在入门流程期间,Facebook 会加载您提供的身份验证网址,并在其尾部附加 redirect_uri 查询参数(这是可能包含其他查询参数的重定向 URI):
    https://yourwebsite.com/fbe-auth?redirect_uri=<an_encoded_redirect_uri_with_query_params>
    示例 — 可能附加在 redirect_uri 查询参数的经过编码的重定向 URI:
    https://www.facebook.com/local/dev/transaction_tool_selector/redirect?app_id=<int_value>&app_name=<string_value>&page_id=<int_value>
    此步骤的最后,Facebook 会加载您的身份验证网址,并在其末尾附加经过编码的 redirect_uri 查询参数(可能如下所示):
    https://yourwebsite.com/fbe-auth?redirect_uri=https%3A%2F%2Fwww.facebook.com%2Flocal%2Fdev%2Ftransaction_tool_selector%2Fredirect%3Fapp_id%3D123%26app_name%3DSample%26page_id%3D456

    重要事项:为确保您不会意外与其他方共享任何用户数据,请仅在 redirect_uri 与以下正则表达式相符时重定向至此网址:

    https?:\/\/(www\.|m\.|l\.|web\.|business\.)?(\d{4,5}\.od\.)?(business\.)?(facebook|instagram|whatsapp)\.com(\/.*)?
  3. 在用户完成登录或注册流程并在您的平台上选择企业(如适用)后,将用户重定向至 redirect_uri 中的网址,该网址此时已附加经过编码的 extras 对象作为查询参数(与企业登录所用相同),且其中的 business_configsetup 已定义(取决于您希望实现的入门配置):
    https://www.facebook.com/local/dev/transaction_tool_selector/redirect?app_id=<int_value>&app_name=<string_value>&page_id=<int_value>&extras=<an_encoded_json_string>

注意:在您的身份验证网址中提供在您平台上新建帐户的选项时,请确保显示的用户界面符合以下至少其中一个条件:1) 便于移动端使用,或者反应迅速;2) 打开时,高度或宽度足以正确显示您的合作伙伴注册流程(建议的最小尺寸:600 像素 x 600 像素)。

iframe 身份验证

如需在业务应用中实现更无缝的用户体验,更好地支持在您的平台上新建帐户,您应该确保可在 Facebook 界面的 iframe 中加载身份验证网址。请参阅 iframes 文档中的实现指南和消息发送后规范。

Webhooks 实现

Webhooks 可以让您收到 Facebook 社交关系图谱内特定对象相关变更的实时 HTTP 通知。对于 FBE 而言,这代表用户使用您的应用(例如通过业务应用)安装或卸载 FBE 后,您将通过 Webhooks 收到这项操作的详细信息。

您应在安全的服务器上构建端点,服务器应能处理来自 Facebook 的要求。所有希望在业务应用上提供自己应用的平台合作伙伴都必须执行此操作。请参阅 Webhooks 实现指南,详细了解如何构建此端点。

Webhooks 设置和验证

Webhooks 端点准备就绪后,其设置和验证要求您执行以下操作:

  1. 在“应用面板”中,前往 Facebook Business 扩展程序 -> 设置版块,使用 Webhooks 图卡验证此端点,然后订阅 fbe_install Webhooks。详情请参阅 Webhooks 实现指南
  2. 正确配置 Webhooks 产品后,图卡右上角的圈应该会变为绿色,并显示一个勾号图标。

通过开发者面板进行设置和验证

Facebook Business 扩展程序开发者面板是开发者应用面板中的一款产品。您的应用获批 FBE 功能后,您应该使用开发者面板设置并验证您的身份验证网址、Webhooks 端点,同时详细描述您的应用程序能为企业提供哪些服务。

身份验证网址设置和验证

身份验证网址准备就绪后,其设置和验证要求您:

  1. 在应用面板中,前往 FBE 开发者面板。注意:如果您还未配置 Webhooks,请遵照此说明进行添加。
  2. 点击设置选项卡,然后找出业务应用界面图卡。
  3. 勾选在业务应用界面上显示我的应用复选框。
  4. 身份验证网址输入字段,输入身份验证网址。
  5. 点击测试身份验证按钮。
    • 系统会打开弹出窗口并加载您的网址,以模仿 Facebook 在业务应用界面使用该网址的方式。
    • 继续执行登录和企业选择流程(如适用)。
    • 完成重定向后,弹出窗口会关闭。如果您的实现有误(例如 extras 值无效),这些错误将在图卡底部展示,以便您查看需要解决的问题。测试身份验证功能只会验证 redirect_uri 的输入,并不会安装 FBE。
  6. 实现步骤和 extras 配置如期完成后,系统会将此步骤标记为有效(图卡右上角有绿色勾号)。这样就能直接从 Facebook 对此入门流程(安装 FBE)进行端到端测试(请参阅下文)

端到端测试

在开发者面板成功完成身份验证网址和 Webhooks 端点的设置和验证后,您即可在应用发布前,对由您应用支持的入门流程开展端到端测试。您可以直接从 Facebook Business Suite 或 Facebook 公共主页界面完成该操作,详情如下:

通过 Facebook Business Suite 完成

  1. 前往 Facebook Business Suite
  2. 在左侧栏上,点击更多工具,然后点击业务应用
  3. 此处会列出所有可用应用。根据您在开发者面板设置选项卡中选择的行业,您的应用将在相应类别下列出。
  4. 您的应用将带有仅供测试 - 并非公开标签。这意味着应用仅供拥有应用身份的用户测试使用,尚不对用户公开。
  5. 点击连接,开始测试由您的身份验证网址提供的体验:
    • 入门流程才会真正进行 FBE 安装,还会触发 Webhooks 通知。

通过 Facebook 公共主页界面完成

  1. 前往您拥有管理员权限的 Facebook 公共主页。
  2. 在 Facebook 公共主页的左侧栏上,点击业务应用
  3. 此处会列出所有可用应用。根据您在开发者面板设置选项卡中选择的行业,您的应用将在相应类别下列出。
  4. 您的应用将带有仅供测试 - 并非公开标签。这意味着应用仅供拥有应用身份的用户测试使用,尚不对用户公开。
  5. 点击连接,开始测试由您的身份验证网址提供的体验:
    • 入门流程才会真正进行 FBE 安装,还会触发 Webhooks 通知。