Login do Facebook para Empresas

O Login do Facebook para Empresas é a solução de autorização e autenticação mais escolhida entre Provedores de Tecnologia e desenvolvedores de apps de empresa que precisam ter acesso aos ativos de clientes comerciais. É uma alternativa ao Login do Facebook. Caso você não seja um Provedor de Tecnologia nem esteja criando um app de empresa para ser usado por outras empresas, escolha o Login do Facebook como solução de autenticação.

Benefícios

Em comparação ao Login do Facebook, o Login do Facebook para Empresas permite especificar o tipo de token de acesso, os tipos de ativos, bem como as permissões necessárias ao seu app, e salvar essas escolhas como um conjunto (configuração). Dessa forma, você pode apresentar o conjunto aos clientes comerciais para que concluam o fluxo e concedam ao seu app acesso aos ativos de negócios deles. Isso remove a capacidade de uma empresa de conceder a você a permissão a certas categorias de informações que, geralmente, não são necessárias para um app de empresa. Dessa forma, você pode escolher entre diferentes tokens de acesso com base nas necessidades dos seus apps.

A maioria dos apps que podem acessar dados do usuário precisam passar por uma análise contínua. No entanto, se um app precisar apenas de permissões/recursos comerciais, você poderá ser elegível para instalar o Login do Facebook para Empresas, o que reduzirá a necessidade do app passar pela análise contínua.

Permissões compatíveis

Você pode solicitar as seguintes permissões dos seus clientes comerciais. Ao contrário do Login do Facebook, o Login do Facebook para Empresas exige que o cliente conceda todas as permissões especificadas na configuração.

As permissões email e public_profile são concedidas automaticamente a todos os apps. No entanto, elas precisam ser usadas com pelo menos uma outra permissão compatível em cada instalação do app.

A permissão public_profile será concedida automaticamente a todos os apps. No entanto, ela não será retornada no parâmetro scope, a não ser que pelo menos uma outra permissão compatível (exceto email) seja concedida pelo usuário do app.

Permissões disponíveisTokens de acesso do usuárioTokens de acesso do usuário do sistema de integração comercial

ads_management

ads_read

business_management

catalog_management

commerce_account_manage_orders

commerce_account_read_orders

commerce_account_read_reports

commerce_account_read_settings

commerce_manage_accounts

email *

N/A

instagram_basic

instagram_content_publish

instagram_manage_comments

instagram_manage_insights

instagram_manage_messages

instagram_shopping_tag_products

leads_retrieval

manage_fundraisers

pages_manage_cta

page_events

pages_manage_ads

pages_manage_engagement

pages_manage_instant_articles

pages_manage_metadata

pages_manage_posts

pages_messaging

pages_read_engagement

pages_read_user_content

pages_show_list

private_computation_access

public_profile *

N/A

publish_video

read_insights

read_audience_network_insights

whatsapp_business_management

whatsapp_business_messaging

Tokens de acesso compatíveis

É possível usar o Login do Facebook para Empresas a fim de obter tokens de acesso do usuário do sistema de integração comercial ou tokens de acesso do usuário. Seus tokens de acesso atuais não serão afetados com a troca para o Login do Facebook para Empresas.

Tokens de acesso do usuário do sistema de integração comercial

Os tokens de acesso do usuário do sistema de integração comercial são gerados pelo Login do Facebook para Empresas e devem ser usados em apps que executam ações programáticas e automatizadas nos objetos de anúncio ou nas Páginas dos clientes comerciais sem depender de uma entrada do usuário do app nem exigir uma nova autenticação em uma data futura. Por exemplo:

  • Chamadas automáticas da API de Conversões de servidor para servidor por hora
  • Envio de respostas automáticas como uma Página
  • Atualizações contínuas e automáticas em inventários de catálogos de produtos
  • Recuperação automática de insights sobre anúncios

Para obter os tokens de acesso do usuário do sistema de integração comercial dos seus clientes:

  • o app não pode solicitar logins de superfícies para dispositivos móveis (ou seja, Android, iOS, entre outros);
  • o cliente que conclui o fluxo do Login do Facebook para Empresas precisa ter ou estar disposto a criar uma conta empresarial da Meta;
  • o app precisa estar associado a uma conta empresarial da Meta sobre a qual você tenha controle total e que não seja a conta pertencente ao cliente;
  • o token de acesso do usuário do sistema de integração comercial é criado/atualizado e enviado para você quando um usuário final termina de instalar o app.

Para testar o fluxo do token de acesso do usuário do sistema de integração comercial, o testador deve ter uma função no app.

Usuário do sistema regularUsuário do sistema de integração comercial

Representação

Representa servidores ou softwares que fazem chamadas de API para ativos pertencentes a ou gerenciados por um Gerenciador de Negócios.

Parte da infraestrutura de integração do Provedor de Tecnologia, inicializada pela empresa do cliente por meio da instalação do app do Provedor de Tecnologia.

Acesso

Pode ser acessado apenas por usuários comerciais na mesma empresa.

Pode ser acessado apenas pelos Provedores de Tecnologia.

Invalidação de token

Não aplicável.

Os tokens de acesso não podem ser invalidados via aba Usuário do sistema no Gerenciador de Negócios. Em vez disso, os clientes comerciais devem acessar o Gerenciador de Negócios > Configurações do negócio > Integrações > Apps conectados e clicar no botão Remover app para desinstalar o app, o que invalidará os tokens.

Tokens de acesso do usuário do sistema de integração comercial detalhados

Para determinados Provedores de Tecnologia (geralmente organizações maiores) que talvez precisem de diferentes configurações de acesso para diferentes fins ou departamentos, em vez de usarem o token de acesso de usuário do sistema de integração comercial por empresa cliente, há diversos tokens de acesso detalhados de usuário do sistema de integração comercial por empresa cliente disponíveis para melhorar a escalabilidade/segurança das operações.

  • Os tokens de acesso detalhados ainda são específicos para a empresa de um cliente. Eles não podem ser compartilhados nem acessados por diferentes empresas clientes.
  • O escopo e a lista de ativos dos tokens de acesso detalhados devem ser um subconjunto do token de acesso do usuário do sistema de integração comercial original.
  • No caso de um token comprometido, apenas essa empresa cliente específica será afetada, e não todas as contas empresariais de todos os clientes. Isso ajuda a isolar possíveis incidentes de segurança e dissocia as interdependências entre contas empresariais e/ou empresas clientes.

API de gerenciamento de token de acesso do usuário do sistema de integração comercial

Este ponto de extremidade permite aos desenvolvedores gerenciar o token de acesso do usuário do sistema existente da seguinte forma:

  • Gerar tokens de acesso do usuário do sistema mais detalhados a partir do token de acesso do usuário do sistema de integração comercial existente.
  • Obter o token de acesso do usuário do sistema de integração comercial existente (tanto o original ou o mais detalhado).
Parâmetros:
ObjetoDescrição

Client business id

número inteiro

Obrigatório.

Quando um usuário final instala um app por meio do fluxo de Login do Facebook para Empresas que gera o token de acesso do usuário do sistema no final, esse token será o escopo na empresa selecionada pelo cliente. Client business id é o número de identificação de uma dessas empresas.

Appsecret_proof

string

Obrigatório.

Como se trata de uma API de gerenciamento de tokens, precisamos de Appsecret_proof de um hash sha256 do seu token de acesso para garantir que as chamadas de um servidor fiquem mais protegidas. Veja mais detalhes aqui.

Access_token

string

Obrigatório.

Access_token requer a permissão manage_business.

system_user_id

número inteiro

Opcional.

system_user_id é o número de identificação do usuário do sistema dentro do token de acesso.

fetch_only

booliano

Opcional.

fetch_only é o sinalizador que deve ser usado para obter o token existente e indicar que essa operação é apenas para leitura.

asset

número inteiro

Opcional.

Para gerar um token mais detalhado, defina uma lista de números de identificação asset, separados por vírgula. A lista de ativos precisa ser um subconjunto de ativos do token de acesso original.

scope

booliano

Opcional.

Para gerar um token mais detalhado, defina uma lista de números de identificação scope, separados por uma vírgula. A lista de ativos precisa ser um subconjunto de escopos do token de acesso original.

set_token_expires_in_60_days

booliano

Opcional.

Para gerar um novo token, é possível fazer com que o token expire em 60 dias.

Exemplo de solicitação
curl -i -X POST \ 
  'https://graph.intern.facebook.com/v17.0/2738613836382965/system_user_access_tokens?appsecret_proof=<app_secret_proof_sanitized>&
access_token=<access token sanitized>&   
system_user_id={system_user_id}&
fetch_only=true'
Exemplo de resposta
{
  "access_token": "{access_token}" 
}

Tokens de acesso do usuário

Os tokens de acesso do usuário devem ser usados em apps que realizam ações em tempo real, com base na entrada do usuário. Por exemplo, use um token de acesso do usuário se o app exigir que o usuário insira um texto e clique em um botão para publicar conteúdo na página dele. Os tokens de acesso do usuário também devem ser usados quando você precisa de uma API que exige permissões de administrador em uma conta empresarial da Meta.

Comparação

Tokens de acesso do usuário do sistemaTokens de acesso do usuário

Associação à conta

Associado à conta empresarial do cliente, não a um usuário específico. Qualquer administrador no grupo de administradores do cliente pode conceder um token de acesso de usuário do sistema ao app.

Associado à conta pessoal do usuário do app.

Tipo de concessão OAuth

Somente código de autorização.

Implícito por padrão. Usado principalmente para clientes baseados no agente do usuário, como navegadores da web e apps para celular.

Expiração e atualização

Definido por padrão como nunca expira para a comunicação offline comum de servidor para servidor.

Um token de curta duração para atividades online, como navegadores da web.

Designações de acesso

O acesso é designado explicitamente no momento da autorização. O app só pode acessar os ativos que foram designados pelo cliente comercial após ele concluir o fluxo do Login do Facebook para Empresas.

O acesso é herdado da conta atual do usuário do app. Ou seja, você pode ver os mesmos ativos de negócios aos quais o usuário do app tem acesso atualmente.

Tokens de acesso invalidados por clientes

Seus clientes empresariais podem invalidar os tokens de acesso do usuário do sistema de integração comercial. Para isso, eles devem acessar Gerenciador de Negócios > Configurações > Configurações do negócio > Integrações > Apps conectados e remover o app.

No caso de tokens de acesso do usuário, basta acessar Facebook, navegar até Configurações e privacidade > Configurações > Segurança e login > Integrações comerciais e remover o app.

Experiência do fluxo do instalador do app/login

Fluxo de login do token de acesso do usuárioFluxo de login do token de acesso do usuário de integração comercial
Ocorreu um erro
Estamos tendo problemas ao reproduzir este vídeo.
Ocorreu um erro
Estamos tendo problemas ao reproduzir este vídeo.

Primeiros passos

Para testar o Login do Facebook para Empresas, você precisa criar um app de teste do tipo empresa no qual o Login do Facebook para Empresas seja instalado automaticamente.

Criar uma configuração

Uma configuração é um agrupamento do tipo de token, ativos de negócios e permissões que o app exige dos clientes comerciais. Esse agrupamento será apresentado aos usuários como parte do fluxo de autenticação e autorização quando eles instalarem o app. É possível criar diversas configurações e apresentá-las a diferentes conjuntos de usuários, dependendo das necessidades do app. Para criar uma configuração:

  1. Carregue o app no Painel de Apps .
  2. Adicione o produto Login do Facebook para Empresas.
  3. Clique em Configurações.
  4. Clique em + Criar configuração.
  5. Defina um nome para a configuração.
  6. Escolha o tipo de token de acesso que você quer solicitar aos clientes.
  7. Se você escolher Token de acesso do usuário do sistema, selecione os ativos necessários para o app.
  8. Selecione as permissões exigidas pelo seu app.
  9. Clique em Criar.

A criação de uma configuração gerará uma identificação, que poderá ser usada com nossos SDKs (ou manualmente).

Configuração do Painel de Apps para um token de acesso do usuário do sistema de integração comercial:

Ocorreu um erro
Estamos tendo problemas ao reproduzir este vídeo.

Criar uma configuração de Cadastro Incorporado no WhatsApp

O recurso de Cadastro Incorporado do WhatsApp está disponível apenas para provedores de soluções de negócios (BSPs, pelas inicias em inglês).

  1. Carregue o app no Painel de Apps .
  2. Adicione o produto Login do Facebook para Empresas.
  3. Clique em Configurações.
  4. Clique em + Criar configuração.
  5. Defina um nome para a configuração.
  6. Escolha Cadastro Incorporado do WhatsApp para habilitar a integração do recurso no seu app. Apenas o token de acesso do usuário do sistema está disponível para uso com o Cadastro Incorporado do WhatsApp.
  7. Defina o tempo de expiração do token. O recomendado é 60 dias. Isso ajuda a minimizar o risco de vazamento do token e aumenta a segurança do seu sistema.
  8. Escolha os ativos que precisam ser acessados pelo app. Esta opção só estará disponível se você tiver escolhido "Token de acesso do usuário do sistema" na etapa anterior, e as contas do WhatsApp não poderão ser desmarcadas.
  9. Selecione as permissões a seguir para seu app: whatsapp_business_management e whatsapp_business_messaging.
  10. Clique em Criar.

Criar uma configuração do Instagram

O fluxo é otimizado apenas para o uso da Graph API do Instagram.

  1. Carregue o app no Painel de Apps .
  2. Adicione o produto Login do Facebook para Empresas.
  3. Clique em Configurações.
  4. Clique em + Criar configuração.
  5. Defina um nome para a configuração.
  6. Escolha a Graph API do Instagram, que permitirá a integração do seu app a um [fluxo de login específico do Instagram] (https://developers.facebook.com/docs/instagram/business-login-for-instagram/). Apenas o token de acesso do usuário está disponível para uso.
  7. Selecione as seguintes permissões para seu app.
  8. Clique em Criar.

Invocar o diálogo Entrar

Para invocar o diálogo Entrar do Login do Facebook para Empresas, você pode usar nossos SDKs ou criar o fluxo de login manualmente.

Invocação com SDKs

É possível usar qualquer um dos nossos SDKs para invocar o diálogo Entrar. Para isso, basta substituir a lista de escopos (permissões) necessários ao app pelo ID da sua configuração e o tipo de concessão OAuth do token de acesso.

Caso você não conheça nossos SDKs, recomendamos primeiro instalar o SDK do JavaScript e usá-lo com o produto Login do Facebook para consumidores antes de prosseguir, já que os exemplos a seguir fazem referência a esse SDK.

Configurações do token de acesso do usuário do sistema de integração comercial

Veja um exemplo do método FB.login() do SDK do JavaScript modificado para usar uma configuração do token de acesso do usuário do sistema. A config_id substituiu scope (que não deve ser usado). Além disso, o response_type foi definido como code, já que os tokens exigem o tipo de concessão de código de autorização, e override_default_response_type precisa ser definido como true. Se for verdadeiro, todos os tipos de resposta transmitidos no response_type terão precedência sobre os tipos-padrão.

FB.login(
  function(response) [
    console.log(response);
  ],
  [
    config_id: '<CONFIG_ID>',
    response_type: 'code',
    override_default_response_type: true
  ]
);

Quando o usuário concluir o fluxo do diálogo Entrar, o redirecionaremos para sua URL e incluiremos um código. Depois, você precisará trocar o código por um token de acesso fazendo uma chamada de servidor para servidor aos nossos servidores.

GET https://graph.facebook.com/v19.0/oauth/access_token?
  client_id=<APP_ID>
  &client_secret=<APP_SECRET>
  &code=<CODE>

Consulte Como trocar um código por um token de acesso para saber mais sobre essa etapa.

Configurações do token de acesso do usuário

Veja um exemplo do método FB.login() do SDK do JavaScript modificado para usar uma configuração do token de acesso do usuário. A config_id substituiu o scope. Embora scope ainda possa ser incluído, recomendamos que ele não seja usado.

FB.login(
  function(response) {
    console.log(response);
  },
  {
    config_id: '<CONFIG_ID>' // configuration ID goes here
  }
);

Veja um exemplo do botão Entrar do SDK do JavaScript modificado para usar uma configuração do token de acesso do usuário:

<fb:login-button config_id="<CONFIG_ID>" onlogin="checkLoginState();"></fb:login-button>

Invocação manual

Consulte Criar manualmente um fluxo de login para saber como invocar o diálogo Entrar manualmente. Ao invocar o diálogo Entrar e definir a URL de redirecionamento, inclua o ID da sua configuração como um parâmetro opcional. Embora o escopo possa ser incluído, recomendamos que ele não seja usado.

config_id=<CONFIG_ID>

Usar o Login do Facebook para Empresas

Recomendamos que você faça testes e identifique possíveis problemas antes de migrar para o Login do Facebook para Empresas.

O Login do Facebook para Empresas está disponível para todos os novos apps do tipo Empresa. Os apps existentes dos tipos Empresa e Nenhum que forem qualificados tiveram o Login do Facebook habilitado de forma automática ou podem habilitar o recurso.

Caso seu app esteja qualificado, você deverá ver uma banner para aceitar o uso do recurso seguindo estas etapas:

  1. Acessar o app no Painel de Apps
  2. Acessar ou adicionar o produto Login do Facebook
  3. Clicar na aba "Configurações" ou "Início rápido"

Para mudar para o Login do Facebook para Empresas, você precisa clicar no botão "Aceitar" no banner. Os apps de teste associados a esse app também terão o recurso ativado automaticamente.

Após a troca, seu app terá o tipo Empresa. Caso não esteja funcionando conforme o esperado, o app poderá retornar para o Login do Facebook em até 30 dias após a troca e só poderá fazer isso três vezes no máximo. Se o diálogo Entrar do Login do Facebook para Empresas for invocado pelo número de identificação da configuração, e se você decidiu retornar para o Login do Facebook, o diálogo Entrar pode não carregar, já que o Login do Facebook não é compatível com o parâmetro "config_id" e, em vez disso, você precisará substituir o parâmetro "config_id" pelo parâmetro "scope".

Solução de problemas

Os instaladores do app podem encontrar mensagens de erro pelas seguintes razões:

  • O número de identificação da configuração é inválido.
  • O token de acesso do usuário do sistema não é atualmente compatível em dispositivos móveis.
  • O token de acesso do usuário do sistema está configurado com response_type incorreto.

Possíveis alterações urgentes:

  • Caso seu tipo de app atualmente seja "Nenhum", mudar para o Login do Facebook para Empresas alterará o tipo dele para "Empresa"; e ele só poderá acessar permissões, recursos e produtos disponíveis por esse produto de login.
  • Se os instaladores do app existentes só tiverem acesso às permissões de email ou public_profile, mudar o app para Login do Facebook para Empresas levará à invalidação de todos os tokens previamente instalados.
  • Caso os instaladores do app existentes tenham acesso a permissões/recursos não compatíveis com o Login do Facebook para Empresas, tais permissões/recursos serão revogados imediatamente assim que o app migrar para o Login do Facebook para Empresas.
  • Caso seu app tenha os produtos Login do Facebook para Empresas e Extensão da Meta para Empresas, a experiência da Extensão da Meta para Empresas será limitada apenas às permissões compatíveis com o Login do Facebook para Empresas.

Mudar para o Login do Facebook

Caso seu app não esteja funcionando conforme o esperado após mudar para o Login do Facebook para Empresas, será possível desinstalá-lo revertendo-o para o Login do Facebook em Painel de Apps > Login do Facebook para Empresas > Configurações e clicando no link Mudar para Login do Facebook. Solicitaremos que você responda a uma pesquisa para nos ajudar a melhorar a experiência de configuração do Login do Facebook para Empresas. Cada app terá a oportunidade de reverter para o Login do Facebook em até 30 dias após troca e só poderá fazer isso três vezes no máximo.

Perguntas frequentes

Por que meu app não está qualificado para o Login do Facebook para Empresas?

O Login do Facebook para Empresas aceita apenas permissões e recursos específicos. Um app será inelegível se solicitar permissões ou recursos que não são compatíveis com o Login do Facebook para Empresas. As permissões email e public_profile precisam ser solicitadas com pelo menos uma outra permissão compatível.

Que etapas podem ser concluídas para tornar um app elegível?

Caso seu app seja inelegível, você poderá criar um novo app do tipo Empresa, para o qual o Login do Facebook para Empresas está automaticamente disponível e solicitar permissões comerciais compatíveis por meio da análise do app.

Quais permissões preciso solicitar ao implementar o Login do Facebook para Empresas?

Solicite apenas as permissões mínimas necessárias para a funcionalidade do seu app. Seja transparente com os usuários sobre por que você precisa de cada permissão e recurso. As permissões email e public_profile precisam ser solicitadas com pelo menos uma outra permissão compatível para cada instalação do app. Você pode criar uma configuração para ver permissões compatíveis e agrupar suas solicitações de permissão para uma integração mais personalizada.