Business On Behalf Of 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 建立 SU。
使用的存取權杖: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 參考資料,以瞭解存取這些 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,系統會拒絕呼叫。如需詳細資訊,請參閱產生證明。
回覆內含有系統工作人員權杖,而系統工作人員與 OBO 關係相互連結。您不需建立或使用其他任何系統工作人員身分,即可執行商務整合。
取得系統工作人員編號。
使用的存取權杖: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>"
如果客戶想移除合作夥伴的連結關係和系統工作人員身分,可前往企業管理平台的應用程式檢視畫面執行這項操作。