ฟังก์ชันการทำงานแบบธุรกิจต่อธุรกิจ

ตั้งแต่วันที่ 8 มิถุนายน 2021 ระบบจะจำกัดสิทธิ์การเข้าถึงตำแหน่งข้อมูลเหล่านี้ แอพที่ไม่มีสิทธิ์การเข้าถึงจะได้รับข้อผิดพลาด

ส่งคำขอรับสิทธิ์การเข้าถึงองค์ประกอบ

ตัวจัดการธุรกิจอาจส่งคำขอรับสิทธิ์การเข้าถึงบัญชีโฆษณาหรือเพจที่ตัวจัดการธุรกิจอื่นเป็นเจ้าของ โดยจะต้องระบุงานที่ต้องการกำหนดมาในคำขอ

การกำหนดธุรกิจให้กับเพจต้องใช้โทเค็นเพจ ตัวอย่างเช่น

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 และตรวจสอบ PENDING ของช่อง access_status

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
}

ผู้ดูแลเพจยังสามารถยอมรับคำขอรับสิทธิ์การเข้าถึงจากเอเจนซี่ได้ในแท็บ Manage Admin Roles ในการตั้งค่าเพจบน facebook.com

ลบสิทธิ์การเข้าถึงองค์ประกอบออก

การดำเนินการนี้เรียกอีกอย่างว่าการลบเอเจนซี่ออกจากธุรกิจของคุณ หากต้องการลบสิทธิ์การเข้าถึงของตัวจัดการธุรกิจออกจากบัญชีโฆษณาของคุณ:

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