A partir del 8 de junio de 2021, el acceso a estos extremos es limitado. Las aplicaciones que no tengan acceso recibirán un error.
Una cuenta de Business Manager puede solicitar acceso a una cuenta publicitaria o a una página propiedad de otra cuenta de Business Manager. Es necesario especificar las tareas que se quieren asignar en la solicitud.
Para asignar una empresa a una página, es necesario un identificador de la página como el que se muestra a continuación:
curl -F "business=<BUSINESS_ID>" -F "permitted_tasks=['MODERATE', 'ADVERTISE', 'ANALYZE']" "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para solicitar el acceso de tipo AGENCY
, debes incluir permitted_tasks
en la solicitud. Solo puedes enviar solicitudes de acceso a los activos de otra cuenta de Business Manager que tengas intención de aprobar. Además, debe conocer tu empresa con anterioridad.
Por ejemplo, una empresa que necesite acceso a adaccount_id
y necesite poder asignar ['ADVERTISE', 'ANALYZE']
a sus empleados deberá realizar la llamada POST
siguiente:
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>"
De manera similar a lo que sucede en el caso de una página, si quieres asignar tareas de tipo ['ADVERTISE', 'ANALYZE']
a una página de la que no se es propietario:
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>"
Estas llamadas envían una notificación a los administradores correspondientes de la cuenta publicitaria o la página en la que se solicita que se acepte la solicitud de acceso. Los administradores correspondientes pueden ver la notificación en el Administrador de anuncios o el Administrador de páginas. También pueden aceptar la solicitud en la interfaz de usuario. Si quieres ver las solicitudes pendientes con la API, realiza una solicitud GET
y especifica PENDING
para el campo access_status
.
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"
La respuesta:
"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" },
Esto también se conoce como añadir una agencia a un objeto.
Puedes aceptar una solicitud de acceso de otra cuenta de Business Manager a un objeto de tu propiedad, así como conceder acceso a un objeto de tu propiedad a otra cuenta de Business Manager. Para ello, especifica la empresa y la lista de tareas a las que quieres conceder acceso.
Si el identificador de acceso que se utiliza para realizar la llamada a la API pertenece a un usuario o un usuario del sistema que tiene acceso al activo solicitado mediante una empresa, el acceso a dicho activo solo se puede conceder si la empresa es la propietaria (OWNER
) del activo. No se puede conceder acceso a activos para los que solo se es agencia (AGENCY
).
Por ejemplo, para conceder acceso a una cuenta publicitaria usando las tareas [
ADVERTISE,
ANALYZE]
, utiliza esta solicitud 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>"
Para conceder a una empresa acceso a la página con [ADVERTISE]
, [MODERATE]
y [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>"
Para conceder acceso a una cuenta publicitaria, a veces es necesaria la revisión de otro administrador empresarial como medida de seguridad. Para aprobar la revisión, dirígete a https://business.facebook.com/settings/requests/admin_reviews. En este caso, la respuesta tendrá un campo adicional para indicar que se requiere una revisión.
{ "success": true, "requires_admin_approval": true }
Los administradores de las páginas también pueden aceptar solicitudes de acceso de agencias en la pestaña Manage Admin Roles
en la Configuración de la página de facebook.com.
Esto también se conoce como eliminar una agencia de una empresa. Para eliminar el acceso de una cuenta de Business Manager a tu cuenta publicitaria:
curl \ -X DELETE \ -F "business=<BUSINESS_ID>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
De manera similar, para eliminar el acceso de una empresa a tu página:
curl \ -X DELETE \ -F "business=<BUSINESS_ID>" \ "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas las empresas que tienen acceso a la cuenta publicitaria con una llamada GET
:
curl "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas las empresas que tienen acceso a la página:
curl "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas las empresas que tienen acceso a los activos comerciales:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas las empresas que te han concedido acceso a una o más cuentas publicitarias o páginas, utiliza esta llamada GET
:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"
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.
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" }
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" }
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" } } ] }
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" } ] }
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" } ] }