Enviar lote de itens localizados

Para enviar atualizações de localização, use o ponto de extremidade /{catalog_id}/localized_items_batch.

Se quiser criar, atualizar ou excluir produtos do seu catálogo, faça uma chamada HTTP POST para:

https://graph.facebook.com/<API_VERSION>/<CATALOG_ID>/localized_items_batch?requests=<REQUESTS> 

Parâmetros

Parâmetro Tipo Descrição

item_type

enumeração

O tipo de itens na solicitação. Valores compatíveis: DESTINATION, FLIGHT, HOME_LISTING, HOTEL, HOTEL_ROOM, PRODUCT_ITEM, VEHICLE e VEHICLE OFFER.

requests

objeto

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

requests.data

objeto

Um objeto JSON que contém campos e valores de um produto.

Quando o método é CREATE, esse objeto deve conter apenas campos localizados para o item_type especificado.

requests.method

string

CREATE, UPDATE ou DELETE.

requests.localization

objeto

Um objeto JSON que contém os dados de localização que você deseja aplicar ao item de catálogo especificado. Esse objeto deve conter os seguintes campos:

  • type — Valores compatíveis: LANGUAGE, COUNTRY ou LANGUAGE_AND_COUNTRY
  • value — Pode ser qualquer código de idioma ou país válido, dependendo do tipo selecionado. Os valores de LANGUAGE_AND_COUNTRY devem ser separados pelo caractere '|', por exemplo, en_XX|US. Veja a lista de códigos de país e idioma aqui.

A configuração do catálogo localizado contém as listas de idiomas e países compatíveis com substituições de catálogo, além de exemplos de tipos e valores de substituição ao localizar por LANGUAGE, COUNTRY OU LANGUAGE_AND_COUNTRY. Consulte Campos compatíveis: Catálogos localizados para obter uma lista dos campos de catálogo aceitos.

Observação: price, sale_price, unit_price, base_price, status (visibilidade) e availability só devem ser fornecidos em um feed de país. Esses campos não podem ser fornecidos em um feed de idiomas. Isso ajuda a garantir que os clientes vejam os dados corretos do produto localizado.

Limitações

  • O parâmetro requests pode conter até 1.000 itens.
  • O limite de número de chamadas por hora é definido conforme o caso de uso da empresa proprietária do lote de catálogo. Se o limite de volume não for suficiente, entre em contato conosco.
  • O código de erro 1 com a mensagem "Please reduce the amount of data you're asking for, then retry your request" indica que o tamanho dos dados (em bytes) recebidos na solicitação de API é muito grande. Para corrigir esse problema, reduza o número de itens no lote e tente novamente. Dessa forma, você garantirá que a solicitação esteja dentro dos limites de tamanho aceitáveis ​​e possa ser processada com sucesso.

Campos compatíveis

Veja a lista de campos compatíveis e as respectivas descrições para o ponto de extremidade /{catalog_id}/localized_items_batch:

Veja também

Exemplo

Exemplo de solicitação

POST /{catalog_id}/*localized_items_batch*
{
  "access_token": "<ACCESS_TOKEN>",
  "item_type": "PRODUCT_ITEM",
  "requests": [
    {
      "method": "CREATE",
      "localization": {
        "type": "LANGUAGE",
        "value": "fr_XX"
      },
       "data": {
         "id": "retailer-2",
         "title": "C'est un tshirt",
         "description": "Le t-shirt a un joli motif",
         "link": "http://www.fr.example.com/t-shirts/1.png"
       }
    },
    {
      "method": "CREATE",
      "localization": {
        "type": "COUNTRY",
         "value": "FR"
      },
       "data": {
         "id": "retailer-2",
         "availability": "in stock",
         "price": "9.99 EUR"
       }
    },
    {
      "method": "UPDATE",
      "localization": {
        "type": "LANGUAGE",
        "value": "fr_XX"
      },
      "data": {
        "id": "retailer-3",
        "availability": "out of stock",
        "link": "http://www.fr.example.com/t-shirts/2.png"
      }
    },
    {
      "method": "UPDATE",
      "localization": {
        "type": "COUNTRY",
        "value": "FR"
      },
      "data": {
        "id": "retailer-3",
        "price": "19.99 USD"
      }
    },
    {
      "method": "DELETE",
      "localization": {
        "type": "COUNTRY",
        "value": "FR"
      },
      "data": {
        "id": "retailer-4"
      }
    }
  ]
}

Exemplo de resposta

"handles": ["AczBWxwCxXv4s3xQpm0JwXBlhs-IPGatrWmDRBmc1wTYrV5JvtkuQRT_FOCmKZGmHvotvvX8UtQnwEgg16wTx14cqPYzWVzmxZiaZDLgMUmjSA"]

Este ponto de extremidade não cria novos itens de catálogo. Todas as solicitações devem conter um objeto JSON de dados que contém uma identificação para um item de catálogo existente.

Você pode usar o campo applink para especificar informações de deep link; ele funciona de maneira semelhante a deep links. Forneça as informações de deep link no formato JSON mostrado abaixo.

"applink" : {"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"}]}

Há uma pequena diferença nos nomes dos campos em comparação aos de deep links, pois cada tipo de app é um nó separado e incluído nos respectivos campos.

'data\[applink\]\[android\]' é uma matriz com apenas um valor especificado sob ela. É o mesmo caso para outros tipos de app.

Não damos suporte a links universais do iOS.

Para localizar quaisquer campos de applink, você deve fornecer todos eles. Saiba mais sobre deep links de produtos.