Como criar um novo Gerenciador de Negócios secundário

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.

Primeiros passos

Antes de começar, recomendamos que você leia os requisitos e as informações abaixo:

Permissões do app

  • business_management
  • ads_management

IDs

  • 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.

Tokens de acesso

  • USER_Personal_Access_Token: o token de acesso da pessoa que fornece as credenciais para criar o Gerenciador de Negócios secundário.
    • Esse token é gerado por meio do Login do Facebook.
    • O parceiro deve solicitar escopos gerais de business_management nas empresas e Páginas do usuário, em vez de escopos detalhados.
    • Essa pessoa deve ter privilégios de administrador na Página que está sendo compartilhada no Gerenciador de Negócios secundário.
    • Se a Página for de propriedade de outro Gerenciador de Negócios, essa pessoa deverá ter privilégios de administrador no Gerenciador de Negócios proprietário da Página.
    • Esse token é usado para autorizar a criação do Gerenciador de Negócios secundário e compartilhar a Página para fins de publicidade.
  • PARENT_BM_ADMIN_SYSTEM_USER_ACCESS_TOKEN: o token de acesso do usuário administrador do sistema no Gerenciador de Negócios principal.
    • Esse token é usado para criar e administrar Gerenciadores de Negócios secundários.
  • CHILD_BM_SYSTEM_USER_ACCESS_TOKEN: o token de acesso do usuário administrador do sistema criado no Gerenciador de Negócios secundário.
    • Esse token é usado para criar e gerenciar campanhas e outras atividades no Gerenciador de Negócios secundário.

Como criar um 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
}

Como criar diversos Gerenciadores de Negócios secundários por usuário

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:

  • Todos os Gerenciadores de Negócios secundários existentes precisarão ter uma única primary_page.
  • A shared_page_id precisará ser definida no novo Gerenciador de Negócios secundário.
  • Se a 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.

Como configurar a forma de pagamento

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.

  1. Abra Gerenciador de Negócios > Configurações do negócio > Formas de pagamento.
  2. Clique em Configurações de crédito e selecione "Termos legais". Aceite os termos legais.

Etapa 3. Obtenha o ID da linha de crédito e compartilhe-o com o Gerenciador de Negócios secundário.

  1. Acesse o Gerenciador de Negócios principal, selecione Configurações do negócio > Formas de pagamento e clique na forma de pagamento. Armazene o 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>
  2. Use esse ID de linha de crédito do Gerenciador de Negócios principal na chamada de API abaixo para compartilhá-lo com o Gerenciador de Negócios secundário. O valor 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.


Obter o token secundário de usuário do sistema

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

Obter o ID do usuário do sistema

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

Obter o ID da forma de pagamento (linha de crédito)

  1. Obtenha a nova forma de pagamento no Gerenciador de Negócios secundário. No exemplo apresentado aqui, use essa forma de pagamento mais adiante ao criar uma conta de anúncios.
  2. 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>/extendedcredits
    Outra 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=
  3. Armazene o ID desta forma de pagamento para uso posterior.

Criar uma nova conta de anúncios com a forma de pagamento padrão

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

Adicionar o usuário do sistema como administrador da nova conta de anúncios

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.

Encontrar Gerenciadores de Negócios secundários

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).

Próximas etapas

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: