设置新的子级商务管理平台

两层式商务管理平台解决方案的初衷是让每个用户访问口令只能创建一个子级商务管理平台。但是现在,只要在每个子级商务管理平台上都设置一个首选公共主页,用户就可以创建多个子级商务管理平台。

注意:您可能需要在每次调用中都加入 appsecret_proof 作为参数之一,具体取决于您的应用设置中是否启用了 appsecret_proof。请参阅保护图谱 API 请求的安全文档,了解如何设置此选项以及如何生成 appsecret_proof

入门指南

在您开始之前,建议您先查看以下要求和信息:

应用权限

  • business_management
  • ads_management

编号

  • PARENT_BM_ID:拥有应用的合作伙伴的商务管理平台编号。
  • CHILD_BM_ID:父级商务管理平台为客户创建的商务管理平台编号。

访问口令

  • USER_Personal_Access_Token:提供用于创建子级商务管理平台凭据的用户访问口令。
    • 此口令通过 Facebook 登录而生成。
    • 合作伙伴应对用户的企业和公共主页请求全局 business_management 范围,而非精细范围。
    • 此用户应对共享到子级商务管理平台的公共主页具有管理员权限。
    • 如果公共主页由其他商务管理平台拥有,则此用户应对拥有公共主页的商务管理平台具有管理员权限。
    • 此口令用于授权创建子级商务管理平台并将公共主页共享到子级商务管理平台以投放广告。
  • PARENT_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN:父级商务管理平台管理员级系统用户的访问口令。
    • 此口令用于创建和管理子级商务管理平台。
  • CHILD_BM_SYSTEM_USER_ACCESS_TOKEN:子级商务管理平台管理员级系统用户的访问口令。
    • 此口令用于创建和管理子级商务管理平台中的广告系列及其他动态。

创建子级商务管理平台

使用 USER_Personal_Access_Token 创建子级商务管理平台

示例 — 返回一个子级商务管理平台编号

curl \
  -F 'id=<Parent_Business_Manager_ID>' \
  -F 'name=Advertisers child BM (recommend naming similar to page)' \
  -F 'vertical=OTHER' \ // Specify the Business vertical
  -F 'shared_page_id=<PAGE_ID_FROM_USER>' \  //Optional parameter but needed if you want to publish ads promoting this page
                                             //Note: the user must be an admin of the BM that owns this page if this page is owned
  -F 'page_permitted_tasks=["ADVERTISE", "ANALYZE"]' \
  -F 'timezone_id=1' \
  -F 'access_token=<USER_Personal_Access_Token>' \
  -F 'appsecret_proof=<APP_SECRET_PROOF>' \  // Optional, depending on your app's security settings
  https://graph.facebook.com/<API_VERSION>/<PARENT_BM_Id>/owned_businesses

响应

{
    “ID” : “12312812123132”  //store this child business manager ID and associate to user
}

每位用户创建多个子级商务管理平台

如果用户想要使用同一个用户凭据创建多个子级商务管理平台,该用户创建的现有子级商务管理平台上必须设置 primary_page。请再次发出 POST 调用,为现有的子级商务管理平台设置 primary_page

curl \
  -F 'primary_page=<PAGE_ID>' \
  -F 'access_token=<USER_Personal_Access_Token>' \
  -F 'appsecret_proof=<APP_SECRET_PROOF>' \  // Optional, depending on your app's security settings
  https://graph.facebook.com/<API_VERSION>/<BM_ID>

创建其他子级商务管理平台时:

  • 所有现有子级商务管理平台都需要有一个独立的 primary_page
  • 新的子级商务管理平台上必须设置 shared_page_id
  • 如果 shared_page_id 用于新建子级商务管理平台,该编号不能是任何现有子级商务管理平台上的 primary_page

设置支付方式

如要支付子级商务管理平台的广告费用,您需要与每个子级商务管理平台共享额度


第 1 步。开通额度。联系您的 Facebook 代表,在该商务管理平台中开通额度(如未开通)。这样一来,额度便会作为一种支付方式显示在您的父级商务管理平台中。

第 2 步。接受《额度法律条款》。

  1. 打开商务管理平台 > 业务设置 > 支付方式
  2. 依次点击额度设置和“法律条款”。接受法律条款

第 3 步:获取额度编号,并与子级商务管理平台共享

  1. 前往父级商务管理平台,点击业务设置 > 支付方式。点击支付方式。存储网址中的 PARENT_BM_Line_Of_Credit_ID。网址应与以下内容类似:
    https://business.facebook.com/settings/payment-methods/<PARENT_BM_Line_Of_Credit_ID>?business_id=<BUSINESS_ID>
  2. 在下方 API 调用中使用该父级商务管理平台的额度编号,将父级商务管理平台额度编号与子级商务管理平台共享。amount 为可选项。
    curl \
      -F 'receiving_business_id=<CHILD_BUSINESS_MANAGER_ID>' \
      -F 'amount=<OPTIONAL_PARAMETER>' \  
      -F 'access_token=<Parent_BM_Admin_System_User_Access_Token>' \
      -F 'appsecret_proof=<APP_SECRET_PROOF>' \  // Optional, depending on your app's security settings
      https://graph.facebook.com/<API_VERSION>/<PARENT_BM_Line_Of_Credit_ID>/owning_credit_allocation_configs

如果您不指定金额,额度会在各子级商务管理平台之间平均分配。

如果您只指定一个金额,这部分额度将分配到相应子级商务管理平台。


获取子系统用户口令

在子级商务管理平台下,使用此 API 调用创建系统用户并获取其访问口令。此口令用于后续向该子级商务管理平台发出的所有调用,以为此用户创建或管理广告。

curl \
  -F 'id=<CHILD_BUSINESS_MANAGER>' \
  -F 'app_id=<App_ID>' \
  -F 'scope=ads_management,business_management' \
  -F 'access_token=<Parent BM Admin System User Access Token>' \
  -F 'appsecret_proof=<APP_SECRET>' \
  https://graph.facebook.com/<API_VERSION>/<CHILD_BUSINESS_MANAGER_ID>/access_token

获取系统用户编号

获得访问口令之后,您可以用该口令来获取应用范围用户编号。请务必存储该用户编号以备后用。

curl -G \
  -d 'access_token=<Child BM System User Access Token>' \
  -d 'appsecret_proof=<APP_SECRET_PROOF>' \  // Optional, depending on your app's security settings
  https://graph.facebook.com/<API_VERSION>/<CHILD_BM_ID>/system_users

获取资金来源编号(额度)

  1. 在子级商务管理平台中获取新的资金来源。对于以下示例,稍后在创建广告账户时,请使用此资金来源。
  2. curl -G \
      -d 'fields=id,max_balance' \
      -d 'access_token=<Child BM Admin System User Access Token>' \
      -d 'appsecret_proof=<APP_SECRET_PROOF>' \   // Optional, depending on your app's security settings
      https://graph.facebook.com/<API_VERSION>/<CHILD_BUSINESS_MANAGER_ID>/extendedcredits
    或者,您可以通过前往子级商务管理平台,选择支付并点击额度支付方式,以获取资金来源。这会在网址中填入一个支付参数,如下所示:
    payment-methods/<CHILD_PAYMENT_METHOD_ID>?business_id=
  3. 请存储该支付方式编号,以备日后使用。

使用默认资金来源新建广告账户

使用子级商务管理平台中的支付方式编号作为 funding_id 参数的值。

成功创建广告账户后,funding_id 将无法更新。

curl \
  -F 'name=Advertisers Ad Account' \
  -F 'currency=USD' \
  -F 'timezone_id=1' \
  -F 'end_advertiser=<PAGE_ID>' \
  -F 'media_agency=NONE' \
  -F 'partner=NONE' \
  -F 'funding_id=<PAYMENT_METHOD_ID(from above)>' \
  -F 'access_token=<Child BM Admin System User Access Token>' \
  -F 'appsecret_proof=<APP_SECRET_PROOF>' \  // Optional, depending on your app's security settings
  https://graph.facebook.com/<API_VERSION>/CHILD_BM_ID/adaccount

将系统用户添加为新广告账户的管理员

在子级商务管理平台下,将系统用户添加为新广告账户的管理员:

curl \
  -F 'user=<SYSTEM_USER_ID(from above)>' \
  -F 'tasks=MANAGE,ADVERTISE,ANALYZE' \
  -F 'business=<CHILD_BM_ID>' \
  -F 'access_token=<Child BM Admin System User Access Token>' \
  -F 'appsecret_proof=<APP_SECRET_PROOF>' \   // Optional, depending on your app's security settings
  https://graph.facebook.com/<API_VERSION>/<act_ACCOUNT_ID>/assigned_users

恭喜!这是设置子级商务管理平台的最后一步,用于创建和管理您客户的广告系列。

查找子级商务管理平台

如要查找所有子级商务管理平台编号,请运行以下命令,按客户端应用范围用户编号进行筛选:

curl -i -X GET \
  -F 'access_token=<PARENT_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN>' \
  -F 'appsecret_proof=<APP_SECRET_PROOF>' \  // Optional, depending on your app's security settings
"https://graph.facebook.com/<API_VERSION>/<parent_bm_id>/owned_businesses?client_user_id=<Client’s app scoped user ID>

查找 /me?fields=ids_for_apps 的应用范围用户编号(客户端用户访问口令)。

后续步骤

接下来的主题包括可用来增强商务管理平台体验的更多功能/操作。

另外,请参阅有关访问子级商务管理平台中客户资产的资产分享指南: