Configurar catálogo

Para configurar Anúncios Dinâmicos, você precisará de um catálogo, de feeds do catálogo e de conjuntos de produtos.

Seu catálogo é um arquivo de dados estruturados com uma lista de itens que você quer anunciar. Cada linha contém todas as informações necessárias para criar um Anúncio dinâmico. Feeds de produtos são uploads dinâmicos dos seus dados para manter o catálogo de produtos atualizado.

Neste documento, vamos explicar como configurar um catálogo:

Consulte também Introdução aos Anúncios Dinâmicos e Configuração de Anúncios Dinâmicos por meio da interface de usuário.

Etapa 1: Criar catálogo

Para criar um catálogo para os Anúncios Dinâmicos:

use FacebookAds\Object\ProductCatalog;
use FacebookAds\Object\Fields\ProductCatalogFields;

$product_catalog = new ProductCatalog(null, <BUSINESS_ID>);

$product_catalog->setData(array(
  ProductCatalogFields::NAME => "Catalog",
));

$product_catalog->create();
from facebookads.adobjects.productcatalog import ProductCatalog

product_catalog = ProductCatalog(parent_id=<BUSINESS_ID>)

product_catalog[ProductCatalog.Field.name] = 'Catalog'

product_catalog.remote_create()
ProductCatalog catalog = new Business(<BUSINESS_ID>, context).createProductCatalog()
  .setName("Catalog")
  .execute();
String catalog_id = catalog.getId();
curl \
  -F 'name=Catalog' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<BUSINESS_ID>/product_catalogs

Para usar a API do catálogo, você precisa ter o Nível de acesso da API de Marketing apropriado e aceitar os Termos de Serviço criando seu primeiro catálogo por meio do Gerenciador de Negócios. Consulte Referências do Catálogo.

Etapa 2: Configurar feed

Este é um conjunto de itens carregados ou obtidos de uma empresa para que seu catálogo de produtos fique atualizado. Um item de produto é um item único na sua loja online, como uma SKU. Um só feed de produtos pode representar todos os produtos do seu catálogo ou pode haver vários feeds de produtos em que cada feed representa os produtos de um único país ou divisão. Consulte as Referências do feed e as Referências do item.

Depois de criar um catálogo de produtos, use catalog id para criar e agendar um Feed de produtos:

use FacebookAds\Object\ProductFeed;
use FacebookAds\Object\Fields\ProductFeedFields;
use FacebookAds\Object\Fields\ProductFeedScheduleFields;

$product_feed = new ProductFeed(null, <PRODUCT_CATALOG_ID>);

$product_feed->setData(array(
  ProductFeedFields::NAME => 'Test Feed',
  ProductFeedFields::SCHEDULE => array(
    ProductFeedScheduleFields::INTERVAL => 'DAILY',
    ProductFeedScheduleFields::URL =>'http://www.example.com/sample_feed.tsv',
    ProductFeedScheduleFields::HOUR => 22,
  ),
));

$product_feed->create();
from facebookads.adobjects.productfeed import ProductFeed

product_feed = ProductFeed(parent_id=<PRODUCT_CATALOG_ID>)

product_feed[ProductFeed.Field.name] = 'Test Feed'
product_feed[ProductFeed.Field.schedule] = {
    'interval': 'DAILY',
    'url': 'http://www.example.com/sample_feed.tsv',
    'hour': 22,
}

product_feed.remote_create()
ProductFeed productFeed = new ProductCatalog(<PRODUCT_CATALOG_ID>, context).createProductFeed()
  .setName("Test Feed")
  .setSchedule("{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}")
  .execute();
String product_feed_id = productFeed.getId();
curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv", 
    "hour": 22 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_feeds

Formatos compatíveis

Forneça o feed de produtos em um destes formatos:

Formato do feed Descrição Exemplo de feed

CSV

Valores separados por vírgula. A primeira linha é o título da coluna. Coloque os campos que contêm vírgulas entre "aspas duplas".

Baixar (clique com o botão direito do mouse e salve o link como)

TSV

Valores separados por tabulação. A primeira linha é o título da coluna. Coloque os campos que contêm vírgulas entre "aspas duplas".

Baixar (clique com o botão direito do mouse e salve o link como)

RSS XML

Formato normalmente gerado por sistemas de provedores de feeds ou servidores web automatizados. Um conjunto de nós XML do item representa uma lista de produtos e deve começar com a tag de declaração <?xml.

Baixar (clique com o botão direito do mouse e salve o link como)

ATOM XML

Formato normalmente gerado por sistemas de provedores de feeds ou servidores web automatizados. Um conjunto de nós XML do item representa uma lista de produtos e deve começar com a tag de declaração <?xml.

Baixar (clique com o botão direito do mouse e salve o link como)

Campos obrigatórios

Insira todos os nomes de colunas em inglês.

Nome Tipo Descrição

id


Tamanho máximo: 100

string

ID único do item. Pode ser a variante de um produto. Se houver várias instâncias do mesmo ID, vamos ignorar todas elas. Isso vincula o retailer_id depois que o produto é importado.

availability

string

Se o item estiver em estoque. Os valores aceitos são:


in stock: o item é enviado imediatamente.


out of stock: não existe previsão de novo estoque.


preorder: disponível no futuro.


available for order: será enviado entre 1 e 2 semanas.


discontinued: descontinuado.


condition

string

Condição do produto: new, refurbished ou used.

description


Tamanho máximo: 5.000

string

Texto breve descrevendo o produto.

image_link


string

Link para a imagem do item usada no anúncio. O formato carrossel usa imagens quadradas com taxa de proporção de 1:1 (600 x 600 px), e um anúncio de produto único usa uma imagem com taxa de proporção de 1,91:1 (1.200 x 630 px). Forneça as imagens corretas para o uso pretendido.

link


string

Link para o site do vendedor onde é possível comprar o item.

title


Tamanho máximo: 100

string

Título do item.

price

string

Custo do item e moeda. A moeda deve seguir os códigos de moeda da norma ISO 4217, como 9.99 USD.

gtin, mpn ou brand


Tamanho máximo: 70

string

gtin: os identificadores globais para itens comerciais (GTINs, Global Trade Item Numbers) podem incluir UPC, EAN, JAN e ISBN.



mpn: ID único do fabricante para o produto.



brand: nome da marca.



gtin, mpn ou brand é obrigatório.

Campos opcionais, deep links de produtos

Forneça deep links no Feed de Produtos de acordo com a especificação de App Links. As informações de deep links no Feed de produtos têm prioridade sobre qualquer informação que o Facebook coletar com os metadados de App Links usando nosso rastreador da web.

Se você já tiver informações de deep links do App Links, não precisará especificar esses dados. O Facebook usa as informações do App Links para exibir o deep link certo. Para mostrar deep links nos seus anúncios, consulte Modelo de anúncio em Anúncios Dinâmicos.

Nome Descrição Exemplo

ios_url

Esquema personalizado de um aplicativo para iOS como URL

example-ios://electronic

ios_app_store_id

ID do aplicativo na App Store

1234

ios_app_name

Nome do aplicativo para exibição

Electronic Example iOS

iphone_url

Esquema personalizado de um aplicativo iPhone como URL

example-iphone://electronic

iphone_app_store_id

ID do aplicativo na App Store

5678

iphone_app_name

Nome do aplicativo para exibição

Electronic Example iPhone

ipad_url

Esquema personalizado de um aplicativo iPhone

example-ipad://electronic

ipad_app_store_id

ID do aplicativo na App Store

9010

ipad_app_name

Nome do aplicativo para exibição

Electronic Example iPad

android_url

Esquema personalizado de um aplicativo Android como URL

example-android://electronic

android_package

Nome totalmente qualificado do pacote para geração de intenções

com.electronic

android_app_name

Nome do aplicativo para exibição

Electronic Example Android

windows_phone_url

Esquema personalizado de um aplicativo Windows Phone como URL

example-windows://electronic

windows_phone_app_id

ID do aplicativo (por exemplo, um GUID) para a loja de aplicativos

ee728e01-7727-4168-9c8f-85c7eef40112

windows_phone_app_name

Nome do aplicativo para exibição

Electronic Example Windows

Para iOS, somente forneça as informações do aplicativo iPhone ou iPad se elas forem diferentes das informações do seu aplicativo geral para iOS.

Use o grupo de produtos para agrupar todas as variantes de produto. Informe o grupo de produtos para identificar os produtos que são quase idênticos, mas apresentam variações, como cor, material, tamanho ou padrão. Os grupos facilitam a divulgação de cores, estilos ou padrões adicionais para um determinado produto. Todos os produtos de um grupo compartilham o mesmo item_group_id. Nos Anúncios Dinâmicos, selecionamos apenas um item do grupo com base no sinal que recebemos do pixel ou do aplicativo.

Estes são campos opcionais que você pode incluir:

Nome Tipo Tamanho máximo

additional_image_link


Tamanho máximo: 2.000

string

Inclua até 10 imagens adicionais, fornecendo as imagens como URLs separados por vírgula.

age_group

string

Grupo de idade para o produto. Os valores aceitos são: newborn, infant, toddler, kids e adult.

color


Tamanho máximo: 100

string

Cor do item.

expiration_date

ISO‑8601 (YYYY‑MM‑DD)

Validade do produto. Se estiver expirado, o Facebook excluirá o produto de todos os conjuntos de produtos e não exibirá nos anúncios.

gender

string

Entre as opções estão: male, female e unisex.

item_group_id

string

Para os itens que são variantes de um produto. Forneça o mesmo item_group_id a todos os itens que são variantes. Por exemplo, "camisa polo vermelha" é uma variante de "camisa polo". O Facebook associa esses dados ao retailer_product_group_id quando obtemos seu feed. Nos Anúncios Dinâmicos, selecionamos apenas um item do grupo com base no sinal que recebemos do pixel ou do aplicativo.

google_product_category


Tamanho máximo: 250

string

Valores predefinidos segundo a taxonomia de produtos do Google. Por exemplo, Apparel & Accessories > Clothing > Dresses.

material


Tamanho máximo: 200

string

O material é de leather, denim ou cotton.

pattern


Tamanho máximo: 100

string

Estampa ou impressão gráfica de um produto.

product_type


Tamanho máximo: 750

string

Categoria do produto definida pelo varejista.

Por exemplo, em TSV:
Home & Garden > Kitchen & Dining > Appliances > Refrigerators

Por exemplo, em XML:<product_type>Home & Garden > Kitchen & Dining > Appliances > Refrigerators</product_type>

sale_price

string

Preço com desconto se o item estiver em promoção. A moeda deve ser especificada de acordo com o código de moeda da norma ISO 4217, como 9.99 USD.

sale_price_effective_date

ISO‑8601 (YYYY‑MM‑DD)

Datas de início e encerramento da promoção, separadas por barra:


2014-11-01T12:00-0300/2014-12-01T00:00-0300

shipping

string

Blob com preços diferentes para cada país ou região. As regiões diferentes são separadas por vírgula. O formato deve ser COUNTRY:STATE:SHIPPING_TYPE:PRICE.

Por exemplo:

US:CA:Ground:9.99 USD,US:NY:Air:15.99 USD

shipping_weight

string

Peso de envio do item. Aceitamos somente estas unidades de medida de peso: lb, oz, g e kg. Exemplo: 3 lbs

size

string

Tamanho do item. Por exemplo, uma camiseta deve ser Small ou XL.

custom_label_0


Tamanho máximo: 100

string

Opcional; mais informações sobre o item.

custom_label_1


Tamanho máximo: 100

string

Opcional; mais informações sobre o item.

custom_label_2


Tamanho máximo: 100

string

Opcional; mais informações sobre o item.

custom_label_3


Tamanho máximo: 100

string

Opcional; mais informações sobre o item.

custom_label_4


Tamanho máximo: 100

string

Opcional; mais informações sobre o item.

Teste seu feed de produtos na nossa página de depuração de feed de produtos. Para CSV/TSV, copie a primeira linha (linha do cabeçalho da coluna) e alguns produtos. Para XML, copie o XML com alguns itens/entradas, cole as linhas na área de texto e valide.

Etapa 3: Opções de atualização

Para manter as informações do produto atualizadas, use uma destas opções:

  1. Buscas agendadas de feeds de produtos
  2. Upload direto de um feed de produtos
  3. Atualização de um produto

Buscas agendadas de feeds de produtos

O Facebook busca feeds de produtos no seu sistema de acordo com um agendamento definido por você. Cada busca é uma operação completa de atualização do seu feed. Excluímos os produtos que não estão no arquivo, atualizamos os existentes e criamos novos produtos:

use FacebookAds\Object\ProductFeed;
use FacebookAds\Object\Fields\ProductFeedFields;
use FacebookAds\Object\Fields\ProductFeedScheduleFields;

$product_feed = new ProductFeed(null, <PRODUCT_CATALOG_ID>);

$product_feed->setData(array(
  ProductFeedFields::NAME => 'Test Feed',
  ProductFeedFields::SCHEDULE => array(
    ProductFeedScheduleFields::INTERVAL => 'DAILY',
    ProductFeedScheduleFields::URL =>'http://www.example.com/sample_feed.tsv',
    ProductFeedScheduleFields::HOUR => 22,
  ),
));

$product_feed->create();
from facebookads.adobjects.productfeed import ProductFeed

product_feed = ProductFeed(parent_id=<PRODUCT_CATALOG_ID>)

product_feed[ProductFeed.Field.name] = 'Test Feed'
product_feed[ProductFeed.Field.schedule] = {
    'interval': 'DAILY',
    'url': 'http://www.example.com/sample_feed.tsv',
    'hour': 22,
}

product_feed.remote_create()
ProductFeed productFeed = new ProductCatalog(<PRODUCT_CATALOG_ID>, context).createProductFeed()
  .setName("Test Feed")
  .setSchedule("{\"interval\":\"DAILY\",\"url\":\"http://www.example.com/sample_feed.tsv\",\"hour\":\"22\"}")
  .execute();
String product_feed_id = productFeed.getId();
curl \
  -F 'name=Test Feed' \
  -F 'schedule={ 
    "interval": "DAILY", 
    "url": "http:\/\/www.example.com\/sample_feed.tsv", 
    "hour": 22 
  }' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<PRODUCT_CATALOG_ID>/product_feeds

A resposta é:

{ "id" : {PRODUCT_FEED_ID} }

Consulte Agendamento de feeds de produtos, Referência.


Upload direto de um feed de produtos

Além das buscas agendadas de feeds, você pode realizar uploads únicos manualmente:

curl \
-F "url=http://www.example.com/sample_feed.xml" \
-F "access_token={ACCESS_TOKEN}" \
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads

Opcionalmente, defina update_only como true. Criamos novos itens e atualizamos os existentes, mas não excluímos itens do seu feed. Você só precisa inserir o id para atualizar itens existentes. Isso reduz o tempo necessário para buscar e processar seu arquivo.

Por exemplo, para atualizar somente o preço e as etiquetas personalizadas de 100 itens de um feed, use o upload direto. Forneça um arquivo somente com id, price e custom_label_0 para esses itens e update_only definido como true. Temos compatibilidade com todos os formatos de arquivo listados. Os mais comuns são TSV e CSV.

Exemplos de arquivos:

Formato do feed Caso de uso Exemplo de feed

CSV

Atualize price e availability para um subconjunto de itens.

Baixar

TSV

Redefina sale_price e atualize custom_label_0 para um subconjunto de itens.

Baixar

Consulte Uploads manuais, Referência.

Se houver erros no seu feed de produtos, consulte Erros de upload do feed de produtos, Referência.


Atualizar produto individual

Atualize os dados de um produto em tempo real. Inclua os campos atualizados em um HTTP POST:

https://graph.facebook.com/catalog:{PRODUCT_CATALOG_ID}:{base64urlencode(retailer_id)}

Onde retailer_id é o ID do produto do seu feed de produtos. Ele deve ser codificado como base64url. Confira os campos que podem ser alterados em Produtos do catálogo de produtos, Referência.

Não insira feeds de produtos com atualizações, criações ou exclusões de produtos individuais com a API. Isso pode interromper as atualizações ou exclusões dos itens criados com a API porque nós não fazemos seu rastreamento com o feed.

Consulte também: * Buscas agendadas de feeds, Referência * Upload direto de um feed, Referência * Feed de produtos, Referência * Feeds de produtos no catálogo * Item de produto, Referência * Pesquisa de produtos no catálogo

Upload em lotes para catálogos grandes

Faça upload de catálogos grandes com milhões de produtos e estoque que muda rapidamente. Você pode criar, atualizar e excluir inúmeros produtos em uma solicitação HTTP única. A API tem dois endpoints:

  • POST [/{product_catalog_id}/batch](#send-batch-request): envie um lote de solicitações para criar, atualizar e excluir itens de um catálogo.
  • GET [/{product_catalog_id}/check_batch_request_status](#batch-request-status): verifique o status da solicitação.

Enviar atualizações de produtos

Para criar, atualizar e excluir itens de um catálogo, faça um HTTP POST com as alterações desejadas. Você pode efetuar até 500 atualizações em uma chamada. Para cada catálogo, é possível fazer até 100 chamadas por hora.

use FacebookAds\Api;
use FacebookAds\Http\RequestInterface;

$requests =  array(
    array(
        'method' => 'CREATE',
        'retailer_id' => 'retailer-product-id-123',
        'data' => array(
          'availability' => 'in stock',
          'brand' => 'Niky',
          'category' => 't-shirts',
          'currency' => 'USD',
          'description' => 'This is the product description.',
          'image_url' => 'http://www.images.example.com/t-shirts/1.png',
          'name' => 'My product name',
          'price' => '100',
          'url' => 'http://www.example.com/t-shirts/1.html',
        ),
    ),
);


$data = Api::instance()->call(
  '/'.<CATALOG_ID>.'/batch',
  RequestInterface::METHOD_POST,
  array('requests' => $requests))->getContent();
curl \
  -F 'requests=[ 
    { 
      "method": "CREATE", 
      "retailer_id": "retailer-product-id-123", 
      "data": { 
        "availability": "in stock", 
        "brand": "Niky", 
        "category": "t-shirts", 
        "currency": "USD", 
        "description": "This is the product description.", 
        "image_url": "http:\/\/www.images.example.com\/t-shirts\/1.png", 
        "name": "My product name", 
        "price": "100", 
        "url": "http:\/\/www.example.com\/t-shirts\/1.html" 
      } 
    } 
  ]' \
  -F 'access_token=<ACCESS_TOKEN>' \
  https://graph.facebook.com/v2.11/<CATALOG_ID>/batch

Essa chamada gera um controle que pode ser usado para verificar o status da solicitação em lote. Consulte Obter status da solicitação:

{
  "handles": ["AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I"]
}
Parâmetro Tipo Descrição

requests

Object

Objeto JSON que contém todas as solicitações.

requests.method

string

CREATE, UPDATE ou DELETE.

requests.retailer_id

string

id do produto fornecido pelo varejista.

requests.data

Object

Objeto JSON que contém os campos e valores do produto. Quando method for CREATE, ele deverá conter todos os campos necessários para o produto. Quando method for UPDATE, poderá conter qualquer campo. O Facebook atualiza apenas os campos que você fornece.

Os valores compatíveis do campo data que você pode usar para itens CREATE e UPDATE são:

  • additional_image_urls
  • availability
  • age_group
  • applinks
  • brand
  • category
  • color
  • condition
  • currency
  • custom_label_0
  • custom_label_1
  • custom_label_2
  • custom_label_3
  • custom_label_4
  • description
  • gender
  • gtin
  • image_url
  • manufacturer_part_number
  • name
  • pattern
  • price
  • product_type
  • sale_price
  • sale_price_end_date
  • sale_price_start_date
  • shipping
  • size
  • url

Você pode usar applinks para as informações de deep link, que funciona de maneira semelhante aos Deep links de produtos. O formato é:

"applinks" : {
  "ios": [{
    "url":"example-ios://electronic",
    "app_store_id":42,
    "app_name":"Electronic Example iOS"
  }],
  "iphone": [{
    "url":"example-iphone://electronic",
     "app_store_id":43,
     "app_name":"Electronic Example iPhone"
  }],
  "ipad": [{
    "url":"example-ipad://electronic",
     "app_store_id":44,
     "app_name":"Electronic Example iPad"
  }],
  "android": [{
    "url":"example-android://electronic",
     "package":"com.electronic",
     "class":"com.electronic.Example",
     "app_name":"Electronic Example Android",
  }],
  "windows_phone": [{
    "url":"example-windows://electronic",
     "app_id":"64ec0d1b-5b3b-4c77-a86b-5e12d465edc0",
     "app_name":"Electronic Example Windows"
  }]
}

Consulte Catálogo de produtos, Como criar, Referência.

Obter status da solicitação

Para obter o status de uma solicitação em lote, use o controle gerado pela chamada para {product_catalog_id}/batch:

curl -G \
-d 'handle=AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26I'
-d 'access_token={ACCESS_TOKEN}'
https://graph.facebook.com/{API_VERSION}/{PRODUCT_CATALOG_ID}/check_batch_request_status

Resposta:

{
  "data": [
    {
      "handle": "AczwaOW7j_EuQ5peV3kGq8X9qc7cDiv_kFrrHkdKuG7LkpkkqK5939wgdoduSQ45FGK5vKdVqOaSDJEun-fvbsR1kk8Rd53AZyD1WThSemo26Q",
      "status": "finished",
      "errors_total_count": 1,
      "errors": [
        {
          "line": 0,
          "id": "retailer-4",
          "message": "Invalid value: Value passed at position 0 (id=retailer-199) is invalid: \"You cannot create a EntProductItem without required field Availability\""
        }
      ]
    }
  ]
}

Consulte Catálogo de produtos, Referência, Verificar status do lote.

Regras do feed de produtos

Corrija e evite erros de um upload de feed em andamento usando regras. Você pode definir regras que o Facebook aplicará a cada upload de feed. Determine suas regras pelo atributo (coluna) ao qual elas devem ser aplicadas, pelo tipo de regra e pelos parâmetros. No momento, não é possível usar regras com a API em lote. Você pode fornecer estes tipos de regra:

  • Regra de Mapeamento: associa os atributos (nomes das colunas) de um arquivo de feed aos atributos que podemos reconhecer.
  • Regra de Mapeamento de Valores: associa os campos (valores das colunas) de um arquivo de feed aos campos que podemos reconhecer.
  • Regra de Capitalização das Letras: altera as letras maiúsculas e minúsculas das palavras em um campo. Por exemplo, altera todas as descrições em letras maiúsculas para minúsculas.

Por exemplo, você pode corrigir estes problemas com a Regra de Mapeamento e a Regra de Mapeamento de Valores:

  • Erros ortográficos em atributos de gavailability para availability.
  • Enumerações não reconhecidas de InStock para in stock.
  • Formato de preço de 45$ para 45.00 USD.
  • Traduzir a condição: Neu na Condição: New.

Você pode usar as Regras de Capitalização das Letras para resolver estes tipos de problema:

  • Alterar descrições que estão em caixa alta de BRAND NEW WITH LEATHER DETAIL... para Brand new with leather detail....
  • Corrigir títulos escritos em caixa alta de FACEBOOK T-SHIRT para Facebook T-shirt.

Regras sugeridas

Obtenha regras sugeridas do Facebook para corrigir erros no seu feed. Para ver as regras sugeridas para sua sessão de upload, siga as próximas etapas.

  • Recupere sessões de upload:
https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/uploads
  • Recupere os erros da sessão de upload:
https://graph.facebook.com/{API_VERSION}/{UPLOAD_SESSION_ID}/errors
  • Recupere regras sugeridas para o erro de upload:
curl -i -X GET 
 "https://graph.facebook.com/{API_VERSION}/{UPLOAD_ERROR_ID}/suggested_rules?access_token={ACCESS_TOKEN}

Um exemplo de resposta com uma sugestão é assim:

"data": [
  
    "attribute": "description",
    "type": "letter_case_rule",
    "params": [
      
        "key": "type",
        "value": "capitalize_first"
      
    ]
  
]

Para obter detalhes, consulte API de regras sugeridas, Referência.

Endpoints

Como adicionar regras aos feeds

Para aplicar regras a um feed, você precisa associar a regra ao feed. Faça uma chamada HTTP POST para:

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules?attribute={ATTRIBUTE}&amp;rule_type={RULE_TYPE}&amp;params={PARAMS}

Por exemplo:

curl -i -X POST 
 -d "attribute=google_product_category" 
 -d "rule_type=mapping_rule" 
 -d "params=%7B'map_from'%3A%20'gcategory'%7D" 
 -d "access_token={ACCESS_TOKEN}" 
 "https://graph.facebook.com/v2.9/{PRODUCT_FEED_ID}/rules" 
 // sample response
 
  "id": "{RULE_ID}"

Formate os params da seguinte forma:

Tipo de regra Formato Exemplo Notas

Regra de Mapeamento

"map_from": <string>

"map_from": "gavailability"

Regra de Mapeamento de Valores

<string> : <string>

"InStock": "in stock"

Na Regra de Mapeamento de Valores, o número de mapeamentos é limitado a 10 e o comprimento das strings é 20.

Regra de Capitalização das Letras

"type": um entre: "capitalize_first", "capitalize_all", "to_upper", "to_lower"

"type": "capitalize_first"

Para obter detalhes, consulte API de regras de feed de produtos, Referência.

Obter regras atuais

Para listar todas as regras associadas a um feed, faça uma chamada HTTP GET para:

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_ID}/rules

Para obter detalhes, consulte API de regras de feed de produtos, Referência.

Como atualizar e excluir regras

Para alterar uma regra associada a um feed, faça uma chamada HTTP POST para atualizar todos os parâmetros e HTTP DELETE para excluí-la. Você só pode atualizar parâmetros. Se quiser alterar attribute ou rule_type, deverá excluir e recriar a regra.

https://graph.facebook.com/{API_VERSION}/{PRODUCT_FEED_RULE_ID}?params={PARAMS}

Para obter detalhes, consulte API de regras de feed de produtos, Referência.

Avançar: Reunir Sinais do público e Criar Público do produto

Criar Públicos dos produtos