Desde 8 de junho de 2021, o acesso a esses pontos de extremidade é limitado. Os apps que não tiverem acesso receberão um erro.
Um Gerenciador de Negócios pode solicitar acesso a uma conta de anúncios ou Página de propriedade de outro Gerenciador de Negócios. Ele deve especificar as tarefas que deseja atribuir na solicitação.
Para atribuir uma empresa a uma Página, é preciso ter um token de página. Por exemplo:
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 acesso AGENCY
, é preciso fornecer permitted_tasks
na solicitação. Você só pode enviar uma solicitação de acesso aos ativos para o Gerenciador de Negócios que pretende aprovar e que já conheça sua empresa.
Por exemplo, uma empresa que necessita de acesso ao adaccount_id
e precisa atribuir seus funcionários como ['ADVERTISE', 'ANALYZE']
, deverá fazer a seguinte chamada 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>"
Assim como para uma Página, se você desejar atribuir tarefas ['ADVERTISE', 'ANALYZE']
para uma Página da qual uma pessoa não é proprietária:
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>"
Essas chamadas enviam uma notificação para os respectivos administradores da conta de anúncios ou Página, pedindo para aceitar a solicitação de acesso. Os respectivos administradores verão a notificação no Gerenciador de Anúncios ou no Gerenciador de Páginas. Eles também podem aceitar a solicitação na interface do usuário. Caso queira ver as solicitações pendentes por meio da API, faça uma solicitação GET
e marque PENDING
para o campo access_status
.
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/clients?access_token=<ACCESS_TOKEN>"
A resposta:
"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" },
Isso também é conhecido como adicionar uma agência ao seu objeto.
Para aceitar uma solicitação de acesso a um objeto que é seu de outro Gerenciador de Negócios, ou para conceder acesso a um dos seus objetos a outro Gerenciador de Negócios, é preciso especificar a empresa e a lista de tarefas às quais ele terá acesso.
Se o token de acesso usado para fazer a chamada da API pertencer a um usuário ou usuário do sistema que tenha acesso ao ativo solicitado por meio de uma empresa, o acesso ao ativo poderá ser concedido somente se essa empresa for a OWNER
do ativo. Não é possível conceder acesso a ativos dos quais você é apenas uma AGENCY
.
Por exemplo, para conceder a uma pessoa acesso a uma conta de anúncios usando as tarefas [
ADVERTISE,
ANALYZE]
, use esta solicitação 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 uma empresa acesso à sua página com [ADVERTISE]
, [MODERATE]
e [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>"
No caso de conceder acesso a uma conta de anúncios, ocasionalmente, uma análise de outro administrador de negócios é necessária como medida de segurança. Para aprovar essa análise, acesse https://business.facebook.com/settings/requests/admin_reviews. Nesse caso, a resposta terá um campo adicional indicando que a análise é necessária.
{ "success": true, "requires_admin_approval": true }
Os administradores de páginas também podem aceitar solicitações de acesso de uma agência nas abas Manage Admin Roles
das configurações de uma página no site facebook.com.
Isso também é chamado de remover uma agência da sua empresa. Para remover o acesso de um Gerenciador de Negócios da sua conta de anúncios:
curl \ -X DELETE \ -F "business=<BUSINESS_ID>" \ "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
Da mesma forma, para remover o acesso de uma empresa da sua 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 as empresas que têm acesso à sua conta de anúncios com uma chamada GET
:
curl "https://graph.facebook.com/<API_VERSION>/act_<AD_ACCOUNT_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas as empresas que têm acesso à sua página:
curl "https://graph.facebook.com/<API_VERSION>/<PAGE_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas as empresas que têm acesso aos seus ativos de negócios:
curl "https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/agencies?access_token=<ACCESS_TOKEN>"
Para ver todas as empresas que concederam a você o acesso a uma ou mais das respectivas contas de anúncios ou páginas, use a seguinte chamada 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" } ] }