企業代表

合作夥伴可透過企業代表 API 進行以下作業:

  • 取得代表客戶行動的權限
  • 建立客戶企業管理平台的系統使用者,並擷取存取權杖

系統使用者的定義為可執行重複性程式設計任務的人員,例如更新產品目錄、發送伺服器對伺服器事件,或更新自訂廣告受眾等。

在此情況下,系統使用者具有員工存取權限,並且只能以管理使用者的存取權杖存取(在建立時)受指派的資產。

系統使用者存取權杖與使用者自身存取權杖的優點比較:使用者可以更換企業,但系統使用者存取權杖不會過期。透過此方式,客戶仍然是企業擁有者,並允許合作夥伴以系統使用者身分存取其企業管理平台和資產。客戶可前往企業管理平台,並透過程式編寫撤銷系統使用者,或移除合作夥伴的某些資產存取權限。

開始使用

開始之前,建議先查看以下要求和資訊:

客戶的企業管理平台

如果客戶已透過商務管理工具建立商務帳號,則該帳號即已連結至客戶的企業管理平台。您可以按照此指示尋找客戶的企業管理平台編號。

如果客戶沒有企業管理平台,您必須先建立平台才能繼續進行。如需相關指示,請參閱企業管理平台 API

應用程式權限

  • business_management

編號

  • PARTNER_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:客戶企業管理平台之系統使用者的粉絲專頁存取權杖。

建議的步驟

步驟 1

在合作夥伴和客戶的企業管理平台之間建立代表關係。

這會在合作夥伴和客戶的企業管理平台之間建立關係連線。合作夥伴便能在下個步驟中透過 API 建立 SU。

所使用的存取權杖:USERS_ACCESS_TOKEN


curl -i -X POST \
 "https://graph.facebook.com/v19.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
		

步驟 2

擷取客戶企業管理平台之系統使用者的存取權杖。這會在客戶的企業管理平台中安裝該應用程式,並建立系統使用者。系統使用者的預設名稱為 "{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/v19.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>"
 		

回應包含連結到 OBO 關係的系統使用者權杖。您不需要建立或使用任何其他系統使用者來進行商務整合。

步驟 3

取得系統使用者編號。

所使用的存取權杖:CLIENT_BM_SU_ACCESS_TOKEN

curl -i -X GET \
 "https://graph.facebook.com/v19.0/me?access_token=<CLIENT_BM_SU_ACCESS_TOKEN>"
 		

步驟 4

將資產(粉絲專頁和目錄)指派至客戶企業管理平台中的系統使用者。

所使用的存取權杖:USERS_ACCESS_TOKEN

curl -i -X POST \
 "https://graph.facebook.com/v19.0/<ASSET_ID>/assigned_users?user=<SYSTEM_USER_ID>&tasks=MANAGE&access_token=<USERS_ACCESS_TOKEN>"
 		

步驟 5

將此 CLIENT_BM_SU_ACCESS_TOKEN 儲存在安全資料庫中,並用於存取需要使用者存取權杖的 API,例如目錄管理

步驟 6

進行以下呼叫,以使用 CLIENT_BM_SU_ACCESS_TOKEN 產生粉絲專頁存取權杖

curl -i -X GET \
 "https://graph.facebook.com/v19.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/v19.0/<PARTNER_BM_ID>/managed_businesses?existing_client_business_id=<CLIENT_BM_ID>&access_token=<USERS_ACCESS_TOKEN>"
		

如果客戶想移除合作夥伴的連結和系統使用者,可以在企業管理平台的應用程式檢視中。