两层式商务管理平台解决方案的初衷是让每个用户访问口令只能创建一个子级商务管理平台。但是现在,只要在每个子级商务管理平台上都设置一个首选公共主页,用户就可以创建多个子级商务管理平台。
注意:您可能需要在每次调用中都加入 appsecret_proof 作为参数之一,具体取决于您的应用设置中是否启用了 appsecret_proof。请参阅保护图谱 API 请求的安全文档,了解如何设置此选项以及如何生成 appsecret_proof。
在您开始之前,建议您先查看以下要求和信息:
business_management
ads_management
PARENT_BM_ID
:拥有应用的合作伙伴的商务管理平台编号。CHILD_BM_ID
:父级商务管理平台为客户创建的商务管理平台编号。USER_Personal_Access_Token
:提供用于创建子级商务管理平台凭据的用户访问口令。
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 步。接受《额度法律条款》。
第 3 步:获取额度编号,并与子级商务管理平台共享
PARENT_BM_Line_Of_Credit_ID
。网址应与以下内容类似:
https://business.facebook.com/settings/payment-methods/<PARENT_BM_Line_Of_Credit_ID>?business_id=<BUSINESS_ID>
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
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=
使用子级商务管理平台中的支付方式编号作为 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
的应用范围用户编号(客户端用户访问口令)。