通过企业代管 API,合作伙伴可以执行以下操作:
系统用户是指可以执行重复性编程任务(如更新商品目录、发送服务器到服务器事件或更新自定义受众等)的用户。
在这种情况中,系统用户具有工作人员权限,且只能使用管理员用户的访问口令访问(创建时)获配的资产。
使用系统用户相较于普通用户访问令牌的优势:普通用户可能会离职或变更企业权限,但系统用户的访问令牌不会过期。采用此方式,客户始终持有自身业务的所有权,并通过系统用户,授权合作方访问其商务管理平台以及该平台的资产。客户可以前往自己的商务管理平台,以编程方式撤销系统用户或移除合作伙伴对某些资产的访问权限。
在您开始之前,建议您先查看以下要求和信息:
如果您的客户已通过电商管理工具创建了电商账户,则该账户已与该客户的商务管理平台绑定。您可以按照此处说明,找到客户的商务管理平台编号。
如果客户没有商务管理平台,您必须创建一个商务管理平台,才能继续。有关说明,请参阅商务管理平台 API。
business_managementPARTNER_BM_ID:应拥有应用的合作伙伴的商务管理平台编号。 CLIENT_BM_ID:客户的商务管理平台编号(该客户拥有的 Facebook 公共主页应绑定了该客户的电商账户)。USERS_ACCESS_TOKEN:客户商务管理平台管理员的访问口令,使用合作伙伴商务管理平台拥有的应用而创建,并具有 business_manage 权限。此口令通过 Facebook 登录而生成。PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN:用于该应用的合作伙伴商务管理平台管理员级系统用户访问口令。CLIENT_BM_SU_ACCESS_TOKEN:客户商务管理平台下系统用户的访问口令。CLIENT_BM_SU_PAGE_ACCESS_TOKEN:客户商务管理平台下系统用户的公共主页访问口令。在合作伙伴商务管理平台与客户商务管理平台之间建立代管关系。
这便在这两个商务管理平台之间建立了一个关系连接,使合作伙伴可以在下个步骤中通过 API 创建一个系统用户。
使用的访问口令:USERS_ACCESS_TOKEN
curl -i -X POST \
"https://graph.facebook.com/v26.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
在客户商务管理平台下获取系统用户访问口令。这一步骤会在客户商务管理平台中安装相关应用,并创建一个系统用户。默认情况下,系统用户名称是“{Client_Business_Manager_Name} SYSTEM USER”。客户将可以在自己的商务管理平台中看到作为共享资产的合作伙伴应用。除了作为模拟用户的情况(最常见)以外,他们无权访问该应用。
在 scope 参数中,您应该加入您需要系统用户拥有的任何权限,才能访问相关 API 端点。请参阅各 API 参考文档,了解访问这些端点需要哪些相应权限。
使用的访问口令:PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN。此访问口令需要拥有 business_management 权限,以及上述 scope 参数中包含的所有权限。
curl -i -X POST \
"https://graph.facebook.com/v26.0/<CLIENT_BM_ID>/access_token?scope=ads_management,pages_read_engagement&app_id=<APP_ID>&access_token=<PARTNER_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN>&appsecret_proof=<APPSECRET_PROOF>"
appsecret_proof 参数是必要项。该参数是以应用密钥为密钥,对调用中所用访问口令进行 sha256 哈希处理后得到的结果。如果调用此端点时未提供有效的 appsecret_proof,则调用将被拒绝。详情请参阅生成证明。
响应中将包含与代管关系关联的系统用户的口令。您无需创建或使用任何其他系统用户来进行电商集成。
获取系统用户编号。
使用的访问口令:CLIENT_BM_SU_ACCESS_TOKEN
curl -i -X GET \
"https://graph.facebook.com/v26.0/me?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
在客户商务管理平台中,为系统用户分配资产(公共主页和目录)。
使用的访问口令:USERS_ACCESS_TOKEN
curl -i -X POST \
"https://graph.facebook.com/v26.0/<ASSET_ID>/assigned_users?user=<SYSTEM_USER_ID>&tasks=MANAGE&access_token=<USERS_ACCESS_TOKEN>"
将此 CLIENT_BM_SU_ACCESS_TOKEN 存储在安全的数据库中,并用来访问要求使用用户访问口令的 API,如目录管理。
通过发出以下调用,使用 CLIENT_BM_SU_ACCESS_TOKEN 生成公共主页访问口令:
curl -i -X GET \
"https://graph.facebook.com/v26.0/me/accounts?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
此请求将列出系统用户所管理的所有公共主页及其相应 access_token。响应示例:
{
"data": [
{
"access_token": "<access token sanitized>",
"category": "Retail Company",
"category_list": [
{
"id": "2239",
"name": "Retail Company"
}
],
"name": "Test_Shop_Page",
"id": "<content sanitized>",
"tasks": [
"ANALYZE",
"ADVERTISE",
"MODERATE",
"CREATE_CONTENT",
"MANAGE"
]
}
],
"paging": {
"cursors": {
"before": "<content sanitized>",
"after": "<content sanitized>"
}
}
}复制与客户电商账户所绑定公共主页对应的 access_token,并安全地存储起来。您需使用该口令来代表电商账户访问要求使用公共主页访问口令的 API,如订单管理和财务报告。
我如何删除代管关系,以移除分配给我的客户商务管理平台系统用户身份?
curl -i -X DELETE \
"https://graph.facebook.com/v26.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
如果客户想要移除与合作伙伴的绑定关系和合作伙伴的系统用户身份,他们可以在商务管理平台的“应用”视图中进行操作。