الوظائف بين الأنشطة التجارية

اعتبارًا من 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"
    }
  ]
}