비즈니스 간 기능

2021년 6월 8일부터 이러한 엔드포인트에 대한 액세스가 제한됩니다. 액세스 권한이 없는 앱에는 오류가 발생합니다.

자산에 대한 액세스 권한 요청

비즈니스 관리자는 다른 비즈니스 관리자가 소유한 광고 계정이나 페이지에 대한 액세스 권한을 요청할 수 있습니다. 요청에는 할당하고자 하는 작업을 지정해야 합니다.

페이지에 비즈니스를 할당하려면 페이지 토큰이 필요합니다. 예를 들면 다음과 같습니다.

curl 
  -F "business=<BUSINESS_ID>"
  -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']"   
  "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

AGENCY 액세스 권한을 요청하려면 요청에 permitted_tasks를 제공해야 합니다. 승인할 의사가 있고 이미 사용자의 비즈니스를 알고 있는 비즈니스 관리자에게만 자산에 대한 요청을 보낼 수 있습니다.

예를 들면 adaccount_id에 액세스해야 하고 직원을 ['ADVERTISE', 'ANALYZE']로 할당할 수 있어야 하는 비즈니스는 다음 POST 호출을 보냅니다.

curl \
  -F "adaccount_id=act_<AD_ACCOUNT_ID>" \
  -F "permitted_tasks=['ADVERTISE','ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_ad_accounts?access_token=<ACCESS_TOKEN>"

페이지의 경우에도 마찬가지로, 누군가가 소유하지 않은 페이지에 대해 ['ADVERTISE', 'ANALYZE'] 작업을 할당하는 방법은 다음과 같습니다.

curl \
  -F "page_id=<PAGE_ID>" \
  -F "permitted_tasks=['ADVERTISE','ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/client_pages?access_token=<ACCESS_TOKEN>" 

이러한 호출은 광고 계정 또는 페이지의 각 관리자에게 액세스 요청을 수락해 달라는 알림을 보냅니다. 각 관리자는 광고 관리자 또는 페이지 관리자에서 알림을 확인하게 됩니다. 관리자는 사용자 인터페이스에서 요청을 수락할 수도 있습니다. API를 통해 아직 해결되지 않은 요청을 보려면 GET 요청을 보내고 access_status 필드가 PENDING인지 확인하세요.

curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"

응답:

"data": [
 {
    "name": "Random Page", 
    "page_permissions": [
    {
    "id": "1900952844321", 
    "permitted_tasks": [
        'MANAGE',
        'CREATE_CONTENT', 
        'MODERATE',  
        'ADVERTISE', 
        'ANALYZE',
    ], 
    "access_status": "CLIENT_RESPONSE_PENDING", 
    "access_requested_time": "2014-01-07T23:26:09+0000", 
    "access_updated_time": "2014-01-07T23:26:09+0000"
    }
    ], 
    "id": "190137931178903"
 },

다른 비즈니스 관리자에 자산에 대한 액세스 권한 부여

개체에 에이전시를 추가하기라고도 합니다.

소유한 개체에 대해 다른 비즈니스 관리자의 액세스 요청을 수락하거나 해당 소유 개체 중 하나에 대한 액세스 권한을 다른 비즈니스 관리자에 부여하려면 비즈니스 및 해당 비즈니스에 액세스 권한이 필요한 작업의 리스트를 지정해야 합니다.

API 호출에 사용된 액세스 토큰이 비즈니스를 통해 요청된 자산에 액세스할 수 있는 사용자 또는 시스템 사용자에게 속하는 경우 이 비즈니스가 자산의 OWNER일 때만 자산에 대한 액세스 권한을 부여할 수 있습니다. AGENCY인 자산에 대해서는 액세스 권한을 부여할 수 없습니다.

예를 들어 [ADVERTISE,ANALYZE] 작업을 사용하여 광고 계정에 대한 액세스 권한을 누군가에게 부여하려면 다음 POST 요청을 사용합니다.

curl \
  -F "business=<BUSINESS_ID>" \
  -F "permitted_tasks=['ADVERTISE', 'ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"

[ADVERTISE], [MODERATE][ANALYZE]를 사용하여 페이지에 대한 비즈니스 액세스 권한을 부여하려면 다음을 참고하세요.

curl \
  -F "business=<BUSINESS_ID>" \
  -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']" \
  "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

광고 계정에 대한 액세스 권한을 부여하는 경우, 때로 보안을 위해 다른 비즈니스 관리자의 검토가 필요합니다. 이 검토는 https://business.facebook.com/settings/requests/admin_reviews에서 승인할 수 있습니다. 이 경우, 검토가 필요함을 나타내는 추가 필드가 응답에 포함됩니다.

{
  "success": true,
  "requires_admin_approval": true
}

페이지 관리자는 facebook.com의 페이지 설정에 있는 Manage Admin Roles 탭에서도 에이전시 액세스 요청을 수락할 수 있습니다.

자산에 대한 액세스 권한 삭제

비즈니스에서 에이전시를 제거하기라고도 합니다. 광고 계정에서 비즈니스 관리자의 액세스 권한을 삭제하려면 다음을 참고하세요.

curl \
  -X DELETE \
  -F "business=<BUSINESS_ID>" \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"

마찬가지로 페이지에서 비즈니스의 액세스 권한을 삭제하려면 다음을 참고하세요.

curl \
  -X DELETE \
  -F "business=<BUSINESS_ID>" \
  "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

에이전시 액세스 권한 조회

GET 호출을 사용하여 광고 계정에 액세스할 수 있는 모든 비즈니스를 조회하려면 다음을 참고하세요.

curl "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"

페이지에 액세스할 수 있는 모든 비즈니스를 조회하려면 다음을 참고하세요.

curl "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"

비즈니스 자산에 액세스할 수 있는 모든 비즈니스를 조회하려면 다음을 참고하세요.

curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/agencies?access_token=<ACCESS_TOKEN>"

클라이언트 액세스 권한 조회

하나 이상의 광고 계정 또는 페이지에 대한 액세스 권한이 부여된 모든 비즈니스를 보려면 다음 GET 호출을 사용하세요.

curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"

Managing Your Relationship as an Ad Agency Acting on Behalf of Another Business

These APIs allow you to manage the relationship between your Ad Accounts and the businesses for which you are acting on behalf of (OBO). Creating these relationships allows you to access custom audiences for the business and use of the audience overlap tool.

View OBO Request Details

To view the details of an OBO request, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<OBO_REQUEST_ID>?fields=id,receiving_business,requesting_business,status,business_owned_object"

The response contains the details of the OBO request and looks like this:

{
  "id": "1111111111",
  "receiving_business": {
    "id": "2222222222",
    "name": "Example Business Name"
  },
  "requesting_business": {
    "id": "3333333333",
    "name": "Example Business Name"
  },
  "status": "IN_PROGRESS",
  "business_owned_object": "1111111111"
}

Delete OBO Request

To cancel a pending request to act OBO another business, make this DELETE request:

curl \
  -X DELETE \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<OBO_REQUEST_ID>"

The response, indicating success or failure, looks like this:

{
  "success": "true" 
}

View the Status of OBO Requests for an Ad Account

To view the status of requests to act OBO another business for an Ad account, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/onbehalf_requests?
    fields=id,status,receiving_business,requesting_business&status=<STATUS>"

The status parameter in the request must be APPROVE, DECLINE, or IN_PROGRESS.

The response contains an array with the OBO request objects for an Ad account matching the requested status.

Example response:

{
  "data": [
    {
      "id": "1111111111",
      "status": "IN_PROGRESS",
      "receiving_business": {
        "id": "2222222222",
        "name": "Example Business Name"
      },
      "requesting_business": {
        "id": "3333333333",
        "name": "Example Business Name"
      }
    }
  ]
}

View OBO Requests Received From Other Businesses

To view requests of IN_PROGRESS OBO requests sent to your business, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/received_inprogress_onbehalf_requests"

The response contains the IN_PROGRESS OBO request IDs and looks like this:

{
  "data": [
    {
      "id": "1111111111"
    },
    {
      "id": "2222222222"
    },
    {
      "id": "3333333333"
    }
  ]
}

View Pending OBO Requests Sent by Your Business

To view OBO requests that were sent by your business that are still in the IN_PROGRESS state, make this GET request:

curl -G \
  -F "access_token=<ACCESS_TOKEN>" \
  "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/sent_inprogress_onbehalf_requests"

The response contains the IN_PROGRESS OBO request IDs and looks like this:

{
  "data": [
    {
      "id": "1111111111"
    },
    {
      "id": "2222222222"
    },
    {
      "id": "3333333333"
    }
  ]
}