대행 비즈니스

비즈니스 대행 API를 사용하는 파트너는 다음과 같은 작업을 할 수 있습니다.

  • 고객을 대신하여 행동하기 위한 액세스 권한 받기
  • 고객의 비즈니스 관리자 아래에 시스템 사용자를 만들고 액세스 토큰을 가져옵니다.

시스템 사용자는 제품 카탈로그를 업데이트하거나, 서버 간 이벤트를 보내거나, 맞춤 타겟을 업데이트하는 등, 반복적인 프로그래밍 방식 작업을 수행할 수 있는 사람으로 정의됩니다.

이 시나리오에서 시스템 사용자는 직원 액세스 권한을 가지며, 관리자 사용자의 액세스 토큰을 사용하여 (생성 시점에) 할당된 자산에만 액세스할 수 있습니다.

사용자 자신의 액세스 토큰 대신 시스템 사용자 액세스 토큰을 사용할 때의 이점은 사용자는 비즈니스를 이탈할 수 있지만 시스템 사용자 액세스 토큰은 만료되지 않는다는 것입니다. 이 접근 방법을 통해 고객은 계속해서 비즈니스의 소유자로 남고 파트너가 시스템 사용자를 통해 고객의 비즈니스 관리자와 그 자산에 액세스하도록 할 수 있습니다. 고객은 비즈니스 관리자로 이동하여 시스템 사용자를 취소하거나 파트너의 자산 액세스 권한을 프로그래밍 방식으로 삭제할 수 있습니다.

시작하기

시작하기 전에 다음 요구 사항과 정보를 검토하는 것이 좋습니다.

고객의 비즈니스 관리자

고객이 커머스 관리자를 통해 커머스 계정을 만든 경우 이미 비즈니스 관리자에 연결되어 있습니다. 이 지침에 따라 고객의 비즈니스 관리자 ID를 찾을 수 있습니다.

이 고객에게 비즈니스 관리자가 없는 경우계속하기 전에 비즈니스 관리자를 만들어야 합니다.비즈니스 관리자 API에서 지침을 확인하세요.

앱 권한

  • business_management

ID

  • PARTNER_BM_ID: 앱을 소유해야 하는 파트너의 비즈니스 관리자 ID입니다.
  • CLIENT_BM_ID: 고객의 커머스 계정과 연결된 Facebook 페이지를 소유하는 고객의 비즈니스 관리자 ID입니다.

액세스 토큰

  • 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 참고 자료를 참조하세요.

사용한 액세스 토큰: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단계

시스템 사용자의 ID를 가져옵니다.

사용한 액세스 토큰: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에 액세스하는 데 사용합니다(예: 주문 관리재무 보고).

FAQ

저에게 할당된 고객 비즈니스 관리자 아래의 시스템 사용자를 삭제하기 위해 대행 관계를 삭제하려면 어떻게 해야 하나요?


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>"
		

고객이 연결과 파트너의 시스템 사용자를 삭제하기를 원하는 경우 비즈니스 관리자의 앱 보기에서 삭제할 수 있습니다.