A partir del 8 de junio de 2021, el acceso a estos puntos de conexión es limitado. Las app que no cuenten con acceso mostrarán un error.
Un administrador comercial puede solicitar acceso a una cuenta publicitaria o a una página que pertenezca a otro administrador comercial. Debe especificar las tareas que desean asignar en la solicitud.
Para asignar un negocio a una página, se necesita un token de página, por ejemplo:
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 acceso de AGENCY
, debes proporcionar permitted_tasks
en la solicitud. Solo puedes enviar solicitudes al administrador comercial para activos que tienes la intención de aprobar, y es necesario que el administrador comercial ya conozca tu negocio.
Por ejemplo, un negocio que necesita acceso a adaccount_id
y poder asignar a sus empleados como ['ADVERTISE', 'ANALYZE']
realizará esta llamada 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>"
Del mismo modo que lo que sucede en relación con una página, si quieres asignar tareas ['ADVERTISE', 'ANALYZE']
para una página que no es de tu propiedad:
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 respectivos administradores de la cuenta publicitaria o página, que solicitan aceptar la solicitud de acceso. Los administradores respectivos verán la notificación en el administrador de anuncios o en el administrador de páginas. También pueden aceptar la solicitud desde la interfaz de usuario. Si quieres ver solicitudes pendientes mediante la API, haz una solicitud GET
para buscar PENDING
en el campo access_status
.
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"
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" },
Este proceso también se conoce como agregar una agencia a tu objeto.
Para aceptar una solicitud de acceso a un objeto de tu propiedad de parte de otro administrador comercial, o para conceder acceso a un objeto tuyo a otro administrador comercial, debes especificar el negocio y la lista de tareas a las que necesitan obtener acceso.
Si el token de acceso que se utilizó para realizar la llamada a la API pertenece a un usuario o a un usuario del sistema que posee acceso al activo solicitado a través de un negocio, el acceso al activo solo se puede conceder si el negocio es el OWNER
del activo en cuestión. No puedes conceder acceso a activos en los que solo figuras como AGENCY
.
Por ejemplo, para conceder a alguien el acceso a una cuenta publicitaria con las tareas [
ADVERTISE,
ANALYZE]
, usa 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 un negocio el acceso a tu página con las tareas [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>"
Si se concede acceso a una cuenta publicitaria, a veces se requiere una revisión por parte de otro administrador de negocios como medida de seguridad. Esta revisión puede aprobarse en https://business.facebook.com/settings/requests/admin_reviews. En este caso, la respuesta tendrá un campo adicional en el que se indica que se debe realizar una revisión.
{ "success": true, "requires_admin_approval": true }
Los administradores de páginas también pueden aceptar las solicitudes de acceso de una agencia en la pestaña Manage Admin Roles
en la configuración de la página en facebook.com.
Este proceso también se describe como eliminar agencias de tu negocio. Para eliminar el acceso de un administrador comercial desde 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 modo similar, para eliminar el acceso de un negocio desde 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 todos los negocios que tienen acceso a tu cuenta publicitaria, haz una llamada GET
:
curl "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver los negocios que tienen acceso a tu página:
curl "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver los negocios que tienen acceso a tus activos comerciales:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todos los negocios que te otorgaron acceso a una o más de sus cuentas publicitarias o páginas, haz 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" } ] }