Integração de criativos da FBE

A Extensão do Facebook para Empresas (FBE) permite que seus usuários carreguem facilmente ativos de criativo na família de apps da Meta por meio da conexão com um Gerenciador de Negócios novo ou existente. Ao usar o Gerenciador de Negócios retornado após a conclusão desse fluxo, os parceiros podem carregar ativos de criativo no Facebook em nome dos clientes:

Este documento descreve os principais pré-requisitos para o fluxo de criativos da FBE, juntamente com as etapas necessárias para concluir o processo. Consulte o guia da Extensão do Facebook para Empresas para obter detalhes específicos sobre integrações gerais.

Exemplo - Fluxo de integração da superfície do parceiro (Login de Empresa)

Antes de começar

  1. Inscreva-se como desenvolvedor do Facebook para acessar nossas ferramentas para desenvolvedores e criar apps do Facebook.

  2. Caso ainda não tenha feito isso, crie um app da Meta.

  3. Seu app da Meta precisa pertencer a um Gerenciador de Negócios que seja uma empresa verificada. Saiba mais sobre como verificar sua empresa.

  4. Crie um app de teste e use-o para executar todos os novos desenvolvimentos e testes. Não se esqueça de atribuir um Gerenciador de Negócios diferente para seu app de teste.

  5. Permissões privadas/recurso:

  • manage_business_extension: acesso à Extensão do Facebook para Empresas. Quando esse recurso for disponibilizado para o app, você poderá encontrar o Painel do Desenvolvedor da FBE em Produtos.

  • Business_creative_asset_management: acesso às APIs de gerenciamento de ativos relacionados a criativos. Depois que esse recurso for disponibilizado, você poderá ter acesso às seguintes permissões:

    • business_creative_insights: acesso aos insights sobre os ativos de criativo da empresa.

    • business_creative_management: permite que seu app crie, edite e compartilhe novas pastas, além de carregar ativos nelas dentro do contexto da sua própria entidade comercial.

    • business_creative_insights_share (em desenvolvimento): permissão opcional usada no fluxo de compartilhamento de pasta. Se for concedida pelo usuário, seu app poderá compartilhar a pasta de criativos com outras empresas e permitir que elas visualizem insights sobre os ativos.

Após a conclusão da análise do app

Gere um token de acesso do parceiro:

  • Para gerar um token de acesso de usuário administrador do sistema no Gerenciador de Negócios, siga estas instruções.

  • Verifique se as permissões business_creative_insights, business_creative_management e business_management foram selecionadas na etapa "escopos disponíveis" para esse token.

Implemente o botão "Enviar meu design ao Facebook"

Este botão é usado para enviar um ativo à Biblioteca de Mídia do Facebook diretamente do seu app. Durante esse processo, seu app precisará permitir que o usuário selecione ou crie uma pasta para a qual enviar o ativo.

Recomendamos duas abordagens para isso:

1. (No mínimo) O usuário só tem a opção de escolher ou criar uma pasta de nível superior. Sob o contexto de negócios selecionado, consulte todas as pastas de nível superior às quais o usuário tem acesso. Peça que o usuário escolha uma pasta de nível superior existente ou crie uma nova. Os usuários podem especificar o nome da pasta ou usar o nome de pasta padrão <YourBusinessName>_<UserBusinessName>_<UserName>. Carregue os ativos na pasta selecionada ou na pasta nova de nível superior. Essa abordagem exige um trabalho mínimo com a interface do usuário, e os detalhes da API podem ser encontrados na Etapa 3 abaixo.

2. (Opcional) O usuário tem controle total de navegação sobre a pasta e subpastas. Sob o contexto de negócios selecionado, consulte todas as pastas de nível superior às quais o usuário tem acesso e solicite ao usuário que escolha uma pasta de nível superior ou crie uma nova. Para uma nova pasta, solicite ao usuário que dê um nome ou use o nome padrão <YourBusinessName>_<UserBusinessName>_<UserName>. Sob a pasta de nível superior selecionada, o usuário tem a opção de navegar até uma subpasta existente, criar uma nova subpasta ou carregar ativos. Com essa opção, será necessário implementar a navegação na pasta na sua interface do usuário. As instruções sobre integração da API estão na Etapa 3 e na Etapa 4 abaixo.

As etapas específicas necessárias para implementar esse fluxo são as seguintes:

  1. Implementar a Extensão do Facebook para Empresas
  2. Obter o contexto de negócios
  3. Selecionar ou criar uma pasta de nível superior
  4. Selecionar ou criar uma subpasta
  5. Carregar imagens/vídeos
  6. Solicitar o compartilhamento da pasta com você (opcional)
  7. Visualizar insights de imagens/vídeos (opcional)

1. Implementar a Extensão do Facebook para Empresas

Quando o usuário envia pela primeira vez um ativo de criativo ao Facebook, é necessário solicitar à Extensão do Facebook para Empresas que solicite ao usuário para autenticar e conceder ao app as permissões e o acesso necessários aos ativos, na forma de tokens de acesso, para acessar os dados no Facebook. Confira Extensão do Facebook para Empresas: primeiros passos para implementar a Extensão do Facebook para Empresas no seu app. Siga o guia Apps de Negócios para permitir que seu app apareça neles.

Para solicitar o fluxo de Criativo:

  • Passe channel: CREATIVE e business_vertical: CREATIVE no objeto setup.
  • Use as permissões business_creative_management e business_creative_insights.
    • Obrigatórias para consultar identificações de empresas, criar pastas e carregar ativos de criativo na pasta.
  • Use a permissão business_creative_insights_share (opcional).
    • Permite que o usuário compartilhe com você a pasta com a permissão para a tarefa VIEW_INSIGHTS.

Com o token de acesso de usuário que essa solicitação retorna, é possível fazer chamadas de API em nome do usuário.

Configurações obrigatórias

Extras

CampoTipoDescrição

setup

setup

Obrigatório

A configuração do Facebook do vendedor, como o identificador único (external_business_id) ou a moeda do catálogo (currency). Consulte detalhes de objetos de configuração.

business_config

business_config

Obrigatório

Objeto de configuração que a Extensão do Facebook para Empresas usa para configurar o fluxo de trabalho da Extensão do Facebook para Empresas. Consulte detalhes do objeto business_config.

repeat

booliano

Obrigatório

Defina esse valor como false.

Setup

Use esse objeto para definir as configurações para a presença do usuário final no Facebook

CampoDescrição

external_business_id
Tipo: string

Obrigatório.
identificação da empresa única para representar a empresa do seu cliente. Usamos isso como um identificador único. Por exemplo, se a empresa do vendedor se chama "Fubar", "fubar-123" poderá ser seu external_business_id.

timezone
Tipo: string

Obrigatório.
O fuso horário em que a empresa está localizada. Consulte possíveis valores de fuso horário.

currency
Tipo: string

Obrigatório.
Código de moeda ISO de três letras da moeda-padrão usada para os itens do catálogo da empresa. Consulte os códigos de moeda compatíveis.

business_vertical
Tipo: enumeração

Obrigatório.
Vertical associado à empresa
. Valores:CREATIVE

channel
Tipo: enumeração

Obrigatório.
Oferece uma forma para o parceiro expressar a intenção do usuário em relação aos recursos que exigem etapas ou restrições adicionais. Valor: CREATIVE.

  • CREATIVE: fluxo que permite aos usuários gerarem criativos nas plataformas de parceiros e compartilhá-los com o Gerenciador de Negócios.

business_manager_id
Tipo: string

Opcional.
Identificação do Gerenciador de Negócios existente do usuário que um parceiro pode inserir para fazer a pré-seleção no fluxo de configuração.

Configuração da empresa

Use este objeto para definir as configurações da empresa para um usuário final. Isso inclui CTAs, cartão de serviços e muito mais. Cada campo inclui um "tipo" vinculado às respectivas tabelas abaixo.

CampoDescrição

business
Tipo: FBEBusinessPropertiesConfigData

Obrigatório.
Informações para a empresa do usuário final.

FBEBusinessPropertiesConfigData

Use esse objeto para configurar os nomes das empresas.

CampoDescrição

name
Tipo: string

Obrigatório.
Nome da empresa.

2. Obter o contexto de negócios

Assim que o usuário concluir o fluxo de integração da FBE acima, você receberá a identificação do Gerenciador de Negócios do usuário e o token de acesso da API de instalação da FBE ou da notificação do Webhook.

3. Selecionar ou criar uma pasta de nível superior

Os usuários podem carregar os ativos na pasta de nível superior ou criar subpastas sob a pasta de nível superior.

Primeiro, verifique a quais pastas de nível superior o usuário tem permissão para a tarefa CREATE_CONTENT. Para isso, faça uma solicitação para o ponto de extremidade <business_id>/creative_folders (em desenvolvimento).

Obter a pasta de nível superior da empresa do usuário

Solicitação

curl -X GET \
    -F 'access_token={user-access-token}' \
https://graph.facebook.com/<API_VERSION>/<user_business_id>/creative_folders?filtering=[{field:"permitted_tasks", operator: "EQUAL", value:"create_content"}]

Resposta

{
 "id": "<folder_id>"
}

Solicite ao usuário que escolha uma pasta de nível superior existente ou crie uma no contexto do Gerenciador de Negócios. No caso de uma nova pasta de nível superior, é possível solicitar que o usuário dê um nome para ela ou use <YourBusinessName>_<UserBusinessName>_<UserName> por padrão. Se o usuário compartilhar a pasta com você, ela ficará visível para sua empresa e para a empresa do usuário na biblioteca de ativos do Facebook.

Nota: o nome da empresa do usuário pode ser obtido por meio de uma solicitação GET ao ponto de extremidade {business-id} em que {business-id} é a identificação da empresa do usuário.

Obter solicitação de informações da empresa do usuário

Solicitação

curl -X GET \
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>

Resposta

{
 "id": {business-id}
 "name": {user-business-name}
}

Solicitação para criar uma pasta de nível superior

Solicitação

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

Resposta

{
 "id": {top-level-folder-id}
}

4. Selecionar ou criar uma subpasta

Se você quiser dar suporte ao fluxo completo de navegação da pasta, solicite ao usuário que escolha uma subpasta existente ou crie uma nova sob a pasta de nível superior com as seguintes solicitações:

Obter subpasta

  • Exige a permissão business_creative_management.

Solicitação

curl -X GET \
    -F 'access_token={user-access-token}' \
    https://graph.facebook.com/<API_VERSION>/<parent_folder_id>/subfolders?fields=name

Resposta

{
 "data": [
   {
     "name": "<subfolder_name>",
     "id": "<subfolder_id>"
   }
 ]
}

Criar subpasta

  • Exige a permissão business_creative_management.

Solicitação

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F "parent_folder_id={parent-folder-id}"
    -F 'access_token={user-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

Resposta

{
    "id": {sub-folder-id}
}

A pasta e a subpasta podem ser excluídas por meio de uma solicitação DELETE ao ponto de extremidade <folder_id> ou <subfolder_id>.

5. Carregar imagens e vídeos na subpasta

Carregue os ativos de criativo do usuário na subpasta.

  • Exige a permissão business_creative_management.

Carregar imagens

Solicitação

curl -X POST \
    -F 'bytes={image-content-in-bytes-format}' \
    -F 'name={image-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    https://graph.facebook.com/{version}/{business-id}/images

Resposta

{
    "images":{
         "{image-name}":{
             "id":"{business-creative-image-id}",
             "hash":"{hash}",
             "url":"{image-url}"
         }
    }
}

Carregar vídeos

Carregue um vídeo em uma única solicitação se ele tiver poucos megabytes, ou carregue-o em partes (veja a seção a seguir). Faça a chamada de API para o carregamento do vídeo em graph-video.facebook.com em vez de graph.facebook.com.

Exemplo — Envie um POST para {business-id}/video e inclua o nome do seu vídeo, a origem e a identificação da subpasta.

Solicitação

curl -X POST \
    -F 'name={video-name}' \
    -F 'source='&#064;&#123;video-path&#125;'' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    https://graph-video.facebook.com/{version}/{business-id}/videos

Resposta

{
  "success": true,
  "business_video_id": "<business_video_id>"
}

Carregar vídeos em partes

Para os vídeos maiores, envie uma solicitação de início, uma ou várias solicitações de transferência e uma solicitação de conclusão.

Para fazer uma solicitação de início e criar uma sessão de carregamento de vídeo, envie uma solicitação POST para /{business-id}/videos, defina o campo upload_phase para iniciar e especifique file_size em bytes

Solicitação

curl -X POST \
 -F 'title={video-name}' \
 -F 'creative_folder_id={subfolder-id}' \
 -F 'access_token={user-access-token}' \
 -F 'upload_phase=start' \
 -F 'file_size={video_file_size_in_bytes}' \
 https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Resposta

{
    "upload_session_id": "{session-id}",
    "video_id": "{video-id}",
    "start_offset": "0",
    "end_offset": "52428800"
}

Para carregar [0, 52428800] do seu vídeo, divida o arquivo em partes de acordo com os deslocamentos de início e de conclusão, depois envie essas partes com solicitações de transferência. Enviamos a você novos deslocamentos para cada parte. Use esses novos deslocamentos para carregar cada uma.

Exemplo: enviar sua primeira parte

Solicitação

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    -F 'upload_phase=transfer' \
    -F 'upload_session_id={session-id}' \
    -F 'start_offset=0' \
    -F 'video_file_chunk=@{binary-chunk-filename}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Resposta

Em caso de sucesso, responderemos com os deslocamentos para sua próxima parte:

{
  "start_offset": "52428800", //Start byte position of the next file chunk
  "end_offset": "104857601" //End byte position of the next file chunk
}

Recorte e carregue a segunda parte com o intervalo [52428800, 104857601] do seu arquivo e faça o envio:

Solicitação

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={subfolder-id}' \
    -F 'upload_phase=transfer' \
    -F 'start_offset=52428801' \
    -F 'upload_session_id={your-upload-sesson-id}' \
    -F 'video_file_chunk={binary-chunk-filename}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Resposta

Envie todas as partes adicionais até que start_offset seja igual a end_offset:

{
 "start_offset": "152043520",
 "end_offset": "152043520"
}

A resposta acima significa que você carregou todo o arquivo. Agora você precisa publicar esse vídeo e fechar a sessão de carregamento.

Solicitação

curl -X POST \
    -F 'title={video-name}' \
    -F 'access_token={user-access-token}' \
    -F 'creative_folder_id={business-creative-folder-id}' \
    -F 'upload_phase=finish' \
    -F 'upload_session_id={session-id}' \
    https://graph-video.facebook.com/<API_VERSION>/<BUSINESS_ID>/videos

Se você receber erros durante o carregamento, poderá tentar carregar a parte novamente. Normalmente, os erros ocorrem por problemas de resposta. Tente carregar novamente a parte que falhou. Para saber mais sobre os erros, consulte:

Seu app deverá informar ao usuário de que o carregamento teve sucesso e apresentar um deep link para esse criativo por trás de uma chamada para ação "Visualizar criativo em minha biblioteca de ativos do Facebook". O deep link da pasta ou ativo é:

https://business.facebook.com/asset_library/business_creatives/?object_id={asset_id or folder id} (em desenvolvimento)

Esse link direciona o usuário até a página de seleção de empresa se o usuário tiver vários Gerenciadores de Negócios. Para remover a ambiguidade de empresas, forneça um contexto de negócios na URL, da seguinte maneira:

https://business.facebook.com/asset_library/business_creatives/?object_id={asset_id or folder id}&business_id={client_business_id}

A URL do deep link também pode ser obtida por meio de uma solicitação GET no ponto de extremidade:

curl -X GET \
    /<folder_id or asset_id>
        ?fields=['media_library_url']
        &access_token=<user_access_token>

O link permite que o usuário acesse a pasta ou o ativo diretamente na biblioteca de ativos do Facebook.

6. Solicitar o compartilhamento da pasta com você (Opcional)

Você pode solicitar que a pasta de nível superior seja compartilhada com você se quiser gerenciá-la ou visualizar insights para os ativos. Envie uma solicitação POST para: {business-creative-folder-id}/agencies e atribua permitted_tasks a CREATE_CONTENT.

Nota: também é possível atribuir a tarefa permitida VIEW_INSIGHTS se o usuário conceder business_creative_insights_share ao seu app (em desenvolvimento).

Compartilhar pasta

  • Exige a permissão business_creative_management.

Solicitação

curl -X POST \
    -F 'permitted_tasks=['CREATE_CONTENT','VIEW_INSIGHTS']' \
    -F 'business={partner-business-id} ' \
    -F 'access_token={user-access-token}' https://graph.facebook.com/<API_VERSION>/<BUSINESS_CREATIVE_FOLDER_ID>/agencies

A resposta pode ser de dois tipos, dependendo da função do usuário na organização da empresa:

1) Se o token do cliente representar um administrador da empresa:

A API estabelecerá um acordo de parceria entre a empresa do usuário e a empresa do cliente.

Resposta

Se houver um acordo de parceria em vigor entre a empresa do usuário e sua empresa (a empresa do usuário compartilhou uma pasta com você, e você aceitou a solicitação de compartilhamento antes):

{ 
    "success": true
}

Se você ainda não tiver aceitado qualquer solicitação de compartilhamento da empresa do usuário:

{
    "success": true,
    "share_status": "In Progress"
}

Nesse cenário, sua empresa deverá aceitar a solicitação de compartilhamento antes de poder acessar todos os recursos habilitados pelo compartilhamento (visualizar, criar e assim por diante).

Para listar todos os acordos de parceria com aprovação pendente, envie uma solicitação para {business-id}/received_sharing_agreements usando seu token de acesso de parceiro e defina request_status como IN_PROGRESS. Você precisa das permissões business_creative_management e business_management para essa ação.

Listar todos os acordos de parceria

Solicitação

curl -i -X GET https://graph.facebook.com/<API_VERSION>/<PARTNER_BUSINESS_ID>/received_sharing_agreements
    ?request_status=IN_PROGRESS
    &access_token={partner-access-token}"

Você pode aceitar uma solicitação de compartilhamento enviando um POST para business_sharing_agreement_request_id e definindo request_status como APPROVE. Só é necessário fazer isso na primeira vez que alguém compartilha uma pasta com sua empresa. Você precisa da permissão business_management para essa ação:

Aceitar acordos de parceria

Solicitação

curl -X POST \
    -F 'request_status=APPROVE' \
    -F 'access_token={partner-access-token}' \
https://graph.facebook.com/<API_VERSION>/<BUSINESS_SHARING_AGREEMENT_REQUEST_ID>

Resposta

{ 
    "success": true
}

Como alternativa, é possível aprovar as solicitações de compartilhamento pendentes na interface do usuário do Gerenciador de Negócios. Para ver as solicitações pendentes no Gerenciador de Negócios, acesse Configurações > Solicitações > Solicitações recebidas e veja mais informações sobre a solicitação.


2) Se o token do cliente representar um funcionário de empresa:

A API disparará um fluxo de trabalho de Notificação para enviar uma notificação por email aos administradores da empresa para aprovação da solicitação.

Resposta

{
   "success": true,
   "share_status": "Pending"
}

Em resposta a esse estado, seu app deve informar ao usuário que:

  • uma solicitação foi enviada ao administrador da empresa por email para a aprovação da solicitação de compartilhamento
  • outro email sobre a solicitação foi enviado ao usuário

Para listar todos os acordos pendentes iniciados pela empresa do usuário, envie uma solicitação para {business-id}/attempted_sharing_agreements e defina request_status como IN_PROGRESS, e requesting_business_id como a identificação do Gerenciador de Negócios do usuário. Você precisa das permissões business_creative_management e business_management para essa ação.

Listar todos os acordos pendentes de compartilhamento de pasta

Solicitação

curl -i -X GET \ https://graph.facebook.com/<API_VERSION>/<PARTNER_BUSINESS_ID>/attempted_sharing_agreements
    ?request_status=IN_PROGRESS
    &requesting_business_id=<user_business_id>
    &access_token={partner-access-token}

Listar todos os acordos pendentes de compartilhamento de pasta com a identificação da solicitação

Como alternativa, se você tiver a identificação da solicitação, poderá obter diretamente o status enviando uma solicitação para {request_id}.

  • Exige a permissão business_creative_management.

Solicitação

curl -i -X GET  \
    https://graph.facebook.com/<API_VERSION>/<REQUEST_ID>?fields=status

Quando um administrador da empresa aprovar a solicitação, o status mudará para APPROVE e a pasta será compartilhada de volta com seu Gerenciador de Negócios, caso a empresa do usuário e a sua tenham estabelecido um relacionamento de acordo de compartilhamento (a empresa do usuário compartilhou uma pasta com você, e você aceitou a solicitação de compartilhamento). Caso contrário, share_status será atualizado para IN_PROGRESS. É possível listar todos os acordos de parceria com o status IN_PROGRESS e aceitá-los via API ou na interface do usuário do Gerenciador de Negócios.

7. Visualizar insights de imagens/vídeos (opcional)

Quando o usuário compartilha uma pasta com você com a permissão para a tarefa VIEW_INSIGHTS, é possível ler os insights de imagens e vídeos da empresa sob a pasta compartilhada fazendo uma solicitação GET no ponto de extremidade <business_asset_id>/insights.

Insights sobre criativo da empresa

  • Exige as permissões business_creative_management e business_creative_insights.

Solicitação

curl -i -X GET  \
https://graph.facebook.com/<API_VERSION>/<BUSINESS_ASSET_ID>/insights
    ?breakdowns=["age","gender"]
    &fields=impressions,inline_link_clicks,age,gender,date_start,
    &time_range={"since":"2019-08-01","until":"2019-08-22"}
    &access_token={partner-access-token}"

Resposta

{
 "data": [
   {
     "impressions": 99,
     "inline_link_clicks": 1,
     "age": "18-24",
     "gender": "female",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
   {
     "impressions": 198,
     "inline_link_clicks": 2,
     "age": "18-24",
     "gender": "male",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
   {
     "impressions": 464,
     "inline_link_clicks": 2,
     "age": "25-34",
     "gender": "female",
     "date_start": "2019-08-01",
     "date_end": "2019-08-22"    },
 ]
}

O detalhamento pode ser por:

  • gender
  • age
  • country
  • publisher_platform
  • platform_position
  • device_platform
  • ad_id
  • objective
  • optimization_goal
  • time_range (exige uma data no formato "AAAA-MM-DD", que significa a partir da meia-noite daquele dia.)

Gerenciar pasta compartilhada usando diretamente o token do parceiro

Para os parceiros de serviço gerenciado, é possível gerenciar a pasta de nível superior com um token de acesso de parceiro se a pasta tiver sido compartilhada com você com as permissões apropriadas a tarefas que lhe concedam:

  • Permissão para a tarefa CREATE_CONTENT na pasta, que permite que seu app crie subpastas e carregue imagens e vídeos na pasta.
  • (Opcional para usuários) Permissão para a tarefa VIEW_INSIGHTS, que seu app pode usar para ver insights sobre o desempenho de qualquer ativo de criativo armazenado na pasta.

1. Verificar permissão na pasta principal

Chame o ponto de extremidade <business_id>/creative_folders para obter todas as pastas principais compartilhadas com você sob a empresa do usuário.

  • Exige a permissão business_creative_management.

Obter pastas da empresa do usuário

Solicitação

curl -X GET \
     -F 'access_token={partner-access-token}' \  https://graph.facebook.com/<API_VERSION>/<partner_business_id>/creative_folders?filtering=[{field:"owner_business_id", operator:"EQUAL", value:"user_business_id"}]

Resposta

{ 
    "data": [
       { 
            "id": "<shared_folder_id>" 
       }
    ]
}

Obter suas tarefas permitidas na pasta

Solicitação

curl -X GET \
 -F 'access_token={partner-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<folder_id>/agencies

Resposta

{
 "data": [
   {
     "id": "<partner_business_id>",
     "name": "<partner business name>",
     "permitted_tasks": [
       "VIEW_INSIGHTS",
       "VIEW_CONTENT",
       "CREATE_CONTENT",
       "MANAGE_CONTENT",
       "MANAGE_PERMISSIONS"]
   }
 ],
}
  • A permissão para a tarefa CREATE_CONTENT é necessária para carregar imagens e vídeos em uma pasta compartilhada
  • A permissão para a tarefa VIEW_INSIGHTS é necessária para consultar insights de criativo de imagens ou vídeos sob uma pasta compartilhada

2. Criar subpasta sob a pasta principal

Com a permissão para a tarefa CREATE_CONTENT na pasta principal, é possível criar uma subpasta em uma pasta compartilhada.

  • Exige a permissão business_creative_management.

Criar subpasta

Solicitação

curl -X POST \
    -F "name={folder_name}"
    -F "description={description}"
    -F "parent_folder_id={parent-folder-id}"
    -F 'access_token={partner-access-token}' \
 https://graph.facebook.com/<API_VERSION>/<BUSINESS_ID>/creative_folders

Resposta

{
 "id": {subfolder-id}
}

3. Carregar imagens e vídeos na subpasta

Execute as mesmas etapas listadas na Etapa 5. Carregar imagens e vídeos em subpasta com token de parceiro.

Rastreamento da identificação de ativo do Facebook de imagem/vídeo

Quando seu app carregar uma imagem ou vídeo na biblioteca de ativos do Facebook, a API do Facebook retornará uma identificação para esse ativo.

Para facilitar a continuidade, seu app precisará rastrear a identificação do ativo com base no projeto/espaço de trabalho que produziu essa imagem/vídeo no seu app.

Isso permitirá uma "edição" otimizada e "atualizará" os casos de uso, os quais terão suporte no futuro, por exemplo:

  • Um usuário no seu app que decide continuar editando um ativo após a publicação no Facebook e utilização em um anúncio. O usuário receberá a solicitação de fluxos otimizados de "atualização" ou de "execução de um teste A/B", se o seu app enviar a identificação do ativo original ao carregar uma versão atualizada da imagem/vídeo.
  • Um usuário no painel de insights sobre anúncios do Facebook pode "editar" o criativo, incluindo a edição da imagem/vídeo que enviará o usuário ao seu app, aprovando a identificação do ativo. Em resposta a isso, seu app poderá abrir o projeto que criou esse ativo, permitindo que o usuário retome de onde parou.

Fornecer a URL do deep link ao ativo e criar ações de anúncio e publicação

URL do deep link para o ativo

  • Consultar o campo media_library_url do ativo de imagem/vídeo carregado

Solicitação

curl -X GET \
    -F 'access_token={partner-access-token}' \
https://graph.facebook.com/<API_VERSION>/<asset_id>?fields=media_library_url

URL do deep link para criação de um anúncio ou publicação da Página

  • Anexe &action=CREATE_AD ou &action=CREATE_POST ao final do deep link da etapa acima.

Exemplo:

https://business.facebook.com/asset_library/business_creatives/?object_id=2838437832929622&action=CREATE_AD

Próximas etapas