Originalmente, o objetivo da solução de Gerenciador de Negócios de dois níveis era que cada token de acesso do usuário pudesse criar somente um Gerenciador de Negócios secundário. Agora, o usuário pode criar diversos Gerenciadores de Negócios secundários, desde que a página principal seja definida em cada um deles.
Observação: se appsecret_proof estiver ativo nas configurações do app, pode ser necessário especificá-lo como parâmetro em cada chamada. Consulte Securing Graph API Requests para ver como ativar essa opção e gerar o appsecret_proof.
Antes de começar, recomendamos que você leia os requisitos e as informações abaixo:
business_management
ads_management
PARENT_BM_ID
: o ID do Gerenciador de Negócios do parceiro que tem a propriedade do app.CHILD_BM_ID
: o ID do Gerenciador de Negócios secundário que o Gerenciador de Negócios principal cria para o cliente.USER_Personal_Access_Token
: o token de acesso da pessoa que fornece as credenciais para criar o Gerenciador de Negócios secundário.
business_management
nas empresas e Páginas do usuário, em vez de escopos detalhados.PARENT_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN
: o token de acesso do usuário administrador do sistema no Gerenciador de Negócios principal.
CHILD_BM_SYSTEM_USER_ACCESS_TOKEN
: o token de acesso do usuário administrador do sistema criado no Gerenciador de Negócios secundário.
Com o USER_Personal_Access_Token, crie um Gerenciador de Negócios secundário.
Exemplo – retorna o ID de um Gerenciador de Negócios secundário
curl \ -F 'id=<Parent_Business_Manager_ID>' \ -F 'name=Advertisers child BM (recommend naming similar to page)' \ -F 'vertical=OTHER' \ // Specify the Business vertical -F 'shared_page_id=<PAGE_ID_FROM_USER>' \ //Optional parameter but needed if you want to publish ads promoting this page //Note: the user must be an admin of the BM that owns this page if this page is owned -F 'page_permitted_tasks=["ADVERTISE", "ANALYZE"]' \ -F 'timezone_id=1' \ -F 'access_token=<USER_Personal_Access_Token>' \ -F 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/<PARENT_BM_Id>/owned_businesses
Resposta:
{ “ID” : “12312812123132” //store this child business manager ID and associate to user }
Se o usuário quiser criar vários Gerenciadores de Negócios secundários usando as mesmas credenciais, a primary_page
precisará ser definida nos Gerenciadores de Negócios secundários existentes criados para esse usuário. Faça outra chamada POST
para definir a primary_page
no Gerenciador de Negócios secundário existente:
curl \ -F 'primary_page=<PAGE_ID>' \ -F 'access_token=<USER_Personal_Access_Token>' \ -F 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/<BM_ID>
Ao criar outro Gerenciador de Negócios secundário:
primary_page
.shared_page_id
precisará ser definida no novo Gerenciador de Negócios secundário.shared_page_id
for usada para criar um novo Gerenciador de Negócios secundário, ela não poderá ser uma primary_page
em nenhum dos Gerenciadores secundários existentes.Para pagar pela publicidade dos Gerenciadores de Negócios secundários, você precisará compartilhar sua linha de crédito com cada um deles.
Etapa 1. Abra uma linha de crédito. Entre em contato com seu representante do Facebook e abra uma linha de crédito nesse Gerenciador de Negócios (se ainda não tiver uma). A linha de crédito será exibida como forma de pagamento no Gerenciador de Negócios principal.
Etapa 2. Aceite os termos legais da linha de crédito.
Etapa 3. Obtenha o ID da linha de crédito e compartilhe-o com o Gerenciador de Negócios secundário.
PARENT_BM_Line_Of_Credit_ID
da URL. A estrutura da URL será semelhante a esta:
https://business.facebook.com/settings/payment-methods/<PARENT_BM_Line_Of_Credit_ID>?business_id=<BUSINESS_ID>
amount
é opcional.
curl \ -F 'receiving_business_id=<CHILD_BUSINESS_MANAGER_ID>' \ -F 'amount=<OPTIONAL_PARAMETER>' \ -F 'access_token=<Parent_BM_Admin_System_User_Access_Token>' \ -F 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/<PARENT_BM_Line_Of_Credit_ID>/owning_credit_allocation_configs
Se você não especificar um montante, sua linha de crédito será dividida igualmente entre os Gerenciadores de Negócios secundários.
Ao incluir apenas um montante, esse valor especificado da linha de crédito será atribuído ao Gerenciador de Negócios secundário.
No Gerenciador de Negócios secundário, use a seguinte chamada de API para criar um usuário do sistema e obter o token de acesso. O token será usado em todas as chamadas subsequentes do Gerenciador de Negócios secundário para criar ou gerenciar anúncios para esse usuário.
curl \ -F 'id=<CHILD_BUSINESS_MANAGER>' \ -F 'app_id=<App_ID>' \ -F 'scope=ads_management,business_management' \ -F 'access_token=<Parent BM Admin System User Access Token>' \ -F 'appsecret_proof=<APP_SECRET>' \ https://graph.facebook.com/<API_VERSION>/<CHILD_BUSINESS_MANAGER_ID>/access_token
Ao obter o token de acesso, é possível usá-lo para descobrir o ID do usuário específico do app. É importante ter este dado guardado para usar no futuro.
curl -G \ -d 'access_token=<Child BM System User Access Token>' \ -d 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/<CHILD_BM_ID>/system_users
curl -G \ -d 'fields=id,max_balance' \ -d 'access_token=<Child BM Admin System User Access Token>' \ -d 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/<CHILD_BUSINESS_MANAGER_ID>/extendedcreditsOutra opção é obter a forma de pagamento acessando o Gerenciador de Negócios secundário e selecionando Pagamentos e o método Pagamento por linha de crédito. Assim, a URL receberá o parâmetro de pagamento da seguinte forma:
payment-methods/<CHILD_PAYMENT_METHOD_ID>?business_id=
Use o ID da forma de pagamento do Gerenciador de Negócios secundário como o parâmetro funding_id
.
Não será possível alterar o funding_id
depois que a conta de anúncios for criada.
curl \ -F 'name=Advertisers Ad Account' \ -F 'currency=USD' \ -F 'timezone_id=1' \ -F 'end_advertiser=<PAGE_ID>' \ -F 'media_agency=NONE' \ -F 'partner=NONE' \ -F 'funding_id=<PAYMENT_METHOD_ID(from above)>' \ -F 'access_token=<Child BM Admin System User Access Token>' \ -F 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/CHILD_BM_ID/adaccount
Adicione o usuário do sistema como administrador da nova conta de anúncios no Gerenciador de Negócios secundário:
curl \ -F 'user=<SYSTEM_USER_ID(from above)>' \ -F 'tasks=MANAGE,ADVERTISE,ANALYZE' \ -F 'business=<CHILD_BM_ID>' \ -F 'access_token=<Child BM Admin System User Access Token>' \ -F 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings https://graph.facebook.com/<API_VERSION>/<act_ACCOUNT_ID>/assigned_users
Parabéns! Essa é a última etapa para configurar um Gerenciador de Negócios secundário a fim de criar e gerenciar as campanhas do seu cliente.
Para encontrar os IDs de todos os Gerenciadores de Negócios secundários, execute o comando a seguir para filtrar pelo número de identificação do usuário no escopo do app do cliente:
curl -i -X GET \ -F 'access_token=<PARENT_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN>' \ -F 'appsecret_proof=<APP_SECRET_PROOF>' \ // Optional, depending on your app's security settings "https://graph.facebook.com/<API_VERSION>/<parent_bm_id>/owned_businesses?client_user_id=<Client’s app scoped user ID>
Encontre o número de identificação do usuário específico do app com /me?fields=ids_for_apps
(token de acesso de usuário do cliente).
Os próximos tópicos envolvem outros recursos/ações que você pode usar para ampliar a experiência no Gerenciador de Negócios.
Consulte também os guias de compartilhamento de ativos para acessar ativos de clientes em Gerenciadores de Negócios secundários: