Depois que o usuário instalar a Extensão do Facebook para Empresas (FBE, pelas iniciais em inglês) e você tiver o token de acesso associado (usado para fazer chamadas de API), será preciso obter a identificação do pixel, da conta de anúncios ou da Página ou o ID do Instagram para Empresas, do Gerenciador de Negócios ou do catálogo (opcional) para configurar os recursos relevantes. Esses IDs serão usados para pontos de extremidade da API e configurações da empresa.
Com a solução Business On Behalf Of, o cliente pode obter o token de acesso, usando também o token de acesso do usuário administrador do sistema do Gerenciador de Negócios do parceiro, em vez de apenas o token de acesso do administrador do Gerenciador de Negócios do cliente.
Veja como obter essas informações:
Após a instalação da FBE, a extensão gera um usuário do sistema para o funcionário no Gerenciador de Negócios do cliente. A nomenclatura para esse novo usuário do sistema segue o esquema {App Name} System User (FBE)
.
Os usuários do sistema representam servidores ou softwares que fazem chamadas de API para ativos que pertencem a um Gerenciador de Negócios ou que são gerenciados por ele.
Esse usuário do sistema tem permissões para todos os ativos da FBE associados com as seguintes permissões de tarefas:
'MANAGE'
'MANAGE'
'MANAGE'
'EDIT'
Se você receber um token de acesso do usuário por meio de um webhook ou do Login de Empresa após a instalação da FBE, será possível usar essa chave para obter o token de acesso do usuário do sistema no Gerenciador de Negócios. Para isso, faça a seguinte chamada de API:
curl -X POST \ -F 'app_id={app_id}' \ -F 'scope={permissions}' \ -F 'access_token={access_token}' \ -F 'fbe_external_business_id={fbe_external_business_id}' \ https://graph.facebook.com/<API_VERSION>/<client_business_manager_id>/access_token
Para o campo scope
, use a permissão manage_business_extension
. Porém, dependendo do seu caso de uso, ads_management
ou catalog_management
também podem ser necessárias.
Para o campo access_token
, você pode transmitir um token de acesso do usuário (user_access_token
) ou um token de acesso do usuário administrador do sistema do Gerenciador de Negócios do parceiro (partner_bm_admin_system_user_token
). Saiba mais sobre o token de acesso da empresa.
O campo token_type
do Webhook indica se o access_token
recebido é um token de acesso do usuário ou um token de acesso do usuário do sistema.
Caso o usuário esteja instalando a FBE pelo Instagram, o Webhook retornará o token do usuário do sistema que foi gerado no Gerenciador de Negócios do cliente. Por isso, não é necessário fazer uma chamada para essa API.
Para receber atualizações imediatas sobre instalações, desinstalações e reconfigurações da FBE, disparamos eventos de Webhook toda vez que uma das suas empresas instala, modifica ou desinstala a extensão.
Quando um usuário instalar ou modificar a FBE, será necessário inspecionar a configuração do Webhook para entender quais ativos foram modificados, adicionados ou removidos da conexão com o seu app. O comportamento do app deve ser atualizado com base nos ativos conectados mais atuais.
GET
) e notificações de eventos (POST
).fbe_install
será assinado automaticamente. O cartão também exibirá um botão para desativar a assinatura, se necessário.Seu app precisará executar as ações a seguir toda vez que um webhook de instalação for recebido.
Conclua as seguintes etapas na desinstalação:
Campos da resposta
Campo | Descrição |
---|---|
ad_account_id Tipo: string | Identificação da conta de anúncios selecionada pelo usuário na FBE. Essa conta poderá ser usada para gerenciar anúncios caso o seu app tenha permissões |
business_manager_id Tipo: string | ID do Gerenciador de Negócios usado para a FBE. Confira os ativos conectados da lista |
catalog_id Tipo: string | ID do catálogo selecionado por um usuário na FBE. Um usuário pode usar esse ID para gerenciar o próprio catálogo de produtos. Confira os ativos conectados da lista |
fbe_event Tipo: string | Evento da FBE que indica se a notificação é sobre uma instalação ou desinstalação. Confira os ativos conectados da lista |
flow Tipo: string | Indica com qual fluxo o usuário fez a integração (por exemplo |
commerce_merchant_settings_id Tipo: string | ID usado para permitir que os parceiros leiam informações referentes às configurações do comerciante da FBE selecionadas. Confira os ativos conectados da lista |
onsite_eligible Tipo: booliano | Qualificação do comércio no site. Indica se os ativos selecionados estão qualificados para o comércio no site. O comerciante deve ter a intenção para o site e selecionar devoluções/envio/pagamentos no site do parceiro. Confira os ativos conectados da lista |
profiles Tipo: matriz | Lista de perfis (uma identificação da Página do Facebook e/ou do perfil empresarial do Instagram). Use essas identificações para criar solicitações específicas da Graph API para outras integrações do Facebook. Confira os ativos conectados da lista |
pages Tipo: matriz | Lista de identificações de Páginas do Facebook. Use essas identificações para criar solicitações específicas da Graph API para outras integrações da Página do Facebook. Confira os ativos conectados da lista |
instagram_profiles Tipo: matriz | Lista de identificações de perfis empresariais do Instagram. Use essas identificações para criar solicitações específicas da Graph API para outras integrações do Facebook/Instagram. Quando o campo não aparece, significa que o escopo está relacionado apenas ao Instagram. Por exemplo, |
pixel_id Tipo: string | Identificação única do pixel para a empresa que você deve armazenar e usar para acionar eventos de pixel. Confira os ativos conectados da lista |
token_type Tipo: string | Tipo de token. Indica se o |
installed_features Tipo: matriz | Lista de recursos que foram integrados/instalados pela empresa usando fluxos de integração. Veja a lista de recursos atual. |
feature_instance_id Tipo: matriz | ID que representa de forma única cada recurso instalado. Pode ser usado no futuro para modificar ou desinstalar uma instância específica. É igual à |
feature_type Tipo: string | Tipo do recurso instalado. A tabela da lista de recursos tem o conjunto completo de recursos disponíveis. Só é preciso rastrear os recursos que você habilitou. |
connected_assets Tipo: matriz | Lista de ativos específicos e relevantes para cada recurso. As descrições dos ativos correspondem às informações exibidas no topo da tabela. |
additional_info Tipo: matriz | Mais informações sobre o recurso conectado. |
Siga estas etapas quando receber um evento de Webhook para uma nova instalação: 1) mantenha um mapeamento de business_id
para a pixel_id
, já que a identificação do pixel é única para a empresa e deve ser usada para disparar eventos de pixel padrão e 2) atualize o inventário da empresa em questão usando uma das APIs de catálogo por PUSH, se o recurso estiver habilitado.
onsite_commerce_eligible
{ "data": [{ "ad_account_id": "<ad_account_id>", "business_manager_id": "<business_manager_id>", "catalog_id": "<catalog_id>", "commerce_merchant_settings_id": "<commerce_merchant_settings_id>", "onsite_eligible": true, "profiles": [ "<page_id>", "<instagram_profile_id>" ], "pages": [ "<page_id>" ], "instagram_profiles": [ "<instagram_profile_id>" ], "pixel_id": "<pixel_id>", "token_type": "<token_type>", "installed_features": [ { "feature_instance_id": "<unique_id>", "feature_name" : string, "feature_type": enum, "connected_assets": { "ad_account_id": "<ad_account_id>", "business_manager_id": "<business_manager_id>", "catalog_id": "<catalog_id>", "commerce_merchant_settings_id": "<commerce_merchant_settings_id>", "ig_profile_id": "<instagram_profile_id>" "page_id": "<page_id>", "pixel_id": "<pixel_id>", }, "additional_info": { "onsite_commerce_eligible": bool }, { "shop_status": array }, { "shop_status_info": array } } ] }] }
Para empresas que tenham instalado a FBE, você pode consultar as informações básicas de instalação (pixel_id
e uma lista de perfis com IG Business ID and/or Page ID
) usando este ponto de extremidade:
CURL -X GET 'https://graph.facebook.com/<API_VERSION>/fbe_business/fbe_installs?fbe_external_business_id=<fbe_external_business_id>&access_token=<access_token>'
{ "data": [{ "token_type": "<token_type>" "installed_features": [ { "feature_instance_id": "<unique_id>", “feature_name” : string, "feature_type": enum, "connected_assets": { “ad_account_id”: "<ad_account_id>", “business_manager_id”: "<business_manager_id>", “catalog_id”: "<catalog_id>", “commerce_merchant_settings_id”: "<commerce_merchant_settings_id>", “ig_profile_id”: "<instagram_profile_id>" "page_id": "<page_id>", "pixel_id": "<pixel_id>", }, "additional_info": { "onsite_commerce_eligible": bool }, { "shop_status": array }, { "shop_status_info": array } } ] }] }
A resposta inclui os campos a seguir. Agora, estes são a fonte da verdade nos ativos conectados da lista "installed_features":
Campo | Descrição |
---|---|
Tipo: string | Tipo de token que indica se o |
Tipo: matriz | Lista de recursos que foram integrados ou instalados pela empresa usando fluxos de integração. |
Tipo: string | Identificação única que representa cada recurso instalado. Pode ser usado no futuro para modificar ou desinstalar uma instância específica. É igual ao |
Tipo: string | Nome do recurso. |
Tipo: string | Tipo de recurso instalado. É preciso rastrear somente os recursos habilitados. |
Tipo: matriz | Lista de ativos específicos para cada recurso. |
Tipo: string | Informações adicionais sobre o recurso conectado (incluindo "Active" significa que a loja está visível. "Inactive_offsite" significa que a loja não está visível porque não usa a finalização da compra no site. "Inactive_other" significa que a loja não está visível devido a um motivo não relacionado ao estilo de finalização da compra. "No_longer_available" significa que a loja não está nos EUA ou em um mercado-chave e não está mais disponível. |
O modelo inclui a identificação da instância de cada recurso e campos que consistem em uma matriz de todos os recursos do mesmo tipo instalados pela empresa (exemplo: CTAs em várias páginas).
Para recursos que não podem ser personalizados, você verá apenas uma identificação da instância do recurso e uma sinalização com o status de habilitado. É possível atualizar somente os recursos personalizáveis com uma solicitação POST
.
Esse modelo é diferente da API de Instalação da FBE porque fornece informações de outros recursos além dos ativos conectados, incluindo o status Ativado e personalizações específicas. Depois de chamar a API de Instalação da FBE, você poderá usá-la para ver mais informações sobre o status Ativado ou as configurações do recurso.
Leitura
É possível ler o status atual de configuração do recurso de qualquer empresa com a seguinte solicitação:
CURL -X GET 'https://graph.facebook.com/<API_VERSION>/fbe_business/?fbe_external_business_id=<fbe_external_business_id>&access_token=<access_token>'
Atualização
Para atualizar todos os recursos, use esta solicitação POST
:
CURL -i -X POST \ -F 'fbe_external_business_id=<fbe_external_business_id>' \ -F 'business_config={business_config object}' \ -F 'access_token=<access_token>' "https://graph.facebook.com/<API_VERSION>/fbe_business"
Resposta
{ "page_cta": { "feature_instance_id": id1, "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business1", "below_button_text": "Powered by FBE Partner" }, "page_ctas": [ { "feature_instance_id": id1, "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business1", "below_button_text": "Powered by FBE Partner" }, { "feature_instance_id": id2, "enabled": true, "cta_button_text": "Book Now", "cta_button_url": "https://partner-site.com/foo-business2", "below_button_text": "Powered by FBE Partner" } ], “ig_cta”: {...} "ig_ctas": [{...}, {...}], “ads”: [ { "feature_instance_id": id3, “enabled”: true, }, { "feature_instance_id": id4, “enabled”: true, }, ], ... }