Saiba como sincronizar o catálogo de produtos de sua loja

Importando o catálogo de produtos (Feed XML)

Por aqui nós utilizamos o formato Product Feed Specification do Google para integração do catálogo via XML. Sua loja deve disponibilizar uma URL e informar a frequência de atualização do arquivo, para que possamos fazer o download do feed e sincronizar os dados do catálogo.

O arquivo XML deve listar o catálogo completo da loja. Produtos que não existiam na última sincronização serão adicionados à nossa base de dados; produtos existentes serão atualizados e produtos que tornaram-se ausentes no XML serão removidos.

  • Note que os campos devem estar na **ordem definida neste documento.
  • Deve estar em "encoding" UTF-8

Namespaces do Feed XML

Os elementos do XML definidos pelos namespace serão validados com os seguintes Schemas:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss xmlns:g="http://base.google.com/ns/1.0"
     xmlns:c="http://www.chaordic.com.br/ns/catalog/1.0" version="2.0">
....

Campos do cabeçalho

<title>
opcional

Nome da loja.

<link>
opcional

URL da loja.

<description>
opcional

Breve descrição sobre a loja.

<last_build_date>
opcional

Data da última atualização do conteúdo do feed.

Campos do produto <item>

<g:item_group_id>
opcional

Identificador único do produto. Quando uma lista de SKUs pertencer a um produto, este campo funciona como agrupador dos SKUS.

<g:id>
obrigatório

Identificador único do SKU.

<title>
obrigatório

Título comum para todas as variações do mesmo produto.

<description>
opcional

Descrição do produto.

Categorias*
obrigatório

Conjunto de categorias relacionadas ao produto. Geralmente o mesmo que aparece no "breadcrumb" da navegação. Escolha um dos dois seguintes elementos para informar:

 

g:product_type – Elemento simplificado

Utilize esse elemento caso sua loja não possua mais de uma categoria/sub com o mesmo nome. Declare-as na ordem em que aparecem na navegação (Cat > Sub > Subsub, ...)

Ex: "Móveis > Sala > Cadeiras"

 

c:categories – Elemento alternativo

Utilize esse método caso sua loja possua mais de uma categoria/sub com o mesmo nome. Para cada categoria/sub da lista, declare um subelemento c:category com o nome da categoria dentro do elemento e os seguintes atributos:

 

id
obrigatório se parentId for informado.
String

Identificador da categoria/subcategoria. Pode ser um numeral ou o próprio nome da categoria/sub, desde que seja único no site.

Ex: "015"
parentId
obrigatório para subcategorias.
String

Identificador da categoria/sub a qual esta subcategoria pertence.

Ex: "014"
<link>
obrigatório

URL para página de detalhamento do produto ou SKU.

Imagens*
obrigatório

Conjunto de URLs para as imagens ou para a imagem principal do produto/SKU. Escolha um dos dois seguintes elementos para informar:

 

g:image_link – Elemento simplificado

Utilize esse elemento caso deseje informar apenas uma imagem para o produto/SKU.

 

c:images – Elemento alternativo

Utilize esse elemento caso deseje informar várias imagens em diferentes tamanhos. Para cada imagem da lista, declare um subelemento c:image com o nome a URL da imagem dentro do elemento e os seguintes atributos:

 

id
obrigatório
String

Identificador da imagem no formato largura x altura.

Ex: "250x250"
<g:sale_price>
obrigatório

Preço de venda atual, comumente apresentado no ecommerce como preço "por". O valor deve ser apresentado juntamente com a moeda no formato ISO 4217.

Ex: 79.99 BRL
<g:price>
opcional

Preço anterior de listagem do produto, comumente apresentado no ecommerce como preço "de”. O valor deve ser apresentado juntamente com a moeda no formato ISO 4217.

Ex: 100.00 BRL
<g:installment>
opcional

Deve conter o número máximo de parcelas ou número de parcelas padrão exibido na página do produto.

<g:availability>
obrigatório

Quando o produto/SKU estiver com estoque disponível para vendas esta tag deve conter "in stock", caso contrário, deve conter "out of stock".

<g:brand>
opcional

Marca do produto.

<g:gender>
opcional

Quando necessário, pode-se informar o gênero a que se destina o produto.

<g:color>
opcional

Cor do SKU.

<g:size>
opcional

Tamanhos disponíveis do SKU. Pode ser um valor numérico (36, 37, 38 ...) ou textual (P, M, G, ...)

<g:shipping>
opcional

Valor do frete, caso seja comum para qualquer localidade do país. O valor deve ser apresentado juntamente com a moeda no formato ISO 4217.

<g:condition>
opcional

Informa se o produto é novo “new”, usado “used” ou “refurbished”.

<g:custom_label_N>
opcional

Informações eventuais sobre o produto. Máximo de 5 labels, N iniciando em 0 (custom_label_0).

Tags*
opcional

Conjunto de tags do produto/SKU.

 

c:tags

Utilize esse elemento caso deseje informar uma ou mais tags para um produto. Para cada tag, declare um subelemento c:tag com o valor dentro dele.

Ex: Promoção
Outros detalhes do produto*
opcional

Conjunto de detalhes adicionais para o produto que não estão definidos nos elementos anteriores.

 

c:details

Utilize esse elemento caso deseje informar um ou mais detalhes para um produto. Para cada detalhe, declare um subelemento c:detail com o valor dentro dele e os seguintes atributos:

id
obrigatório
String

Indetificador da propriedade que está sendo informada.

Ex: "numPaginas"
Especificações do SKU*
opcional

Conjunto de especificações adicionais para o SKU que não estão definidos nos elementos anteriores.

 

c:specs

Utilize esse elemento caso deseje informar uma ou mais especificação para um SKU. Para cada especificação, declare um subelemento c:spec com o valor dentro dele e os seguintes atributos:

id
obrigatório
String

Indetificador da propriedade que está sendo informada.

Ex: "flavor", "color", "size", "media_type"

Exemplo de Feed no formato XML

Feed XML minímo

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss xmlns:date="http://exslt.org/dates-and-times"
     xmlns:g="http://base.google.com/ns/1.0"
     version="2.0">
  <channel>
    <title>YOUR store products</title>
    <link>http://www.yourstore.com.br/</link>     
    <description>This is a valid sample feed with minimum required data</description>
    <last_build_date>2015-08-29T18:50:51</last_build_date>
    <item>
      <g:id>123</g:id>
      <title>Casaco Feminino Jeans Com Bolsos</title>
      <g:product_type>Feminino &gt; Jaquetas</g:product_type>
      <!-- OR with CDATA <g:product_type><![CDATA[Feminino > Jaquetas]]></g:product_type> -->
      <link>http://www.yourstore.com.br/Jaquetas/Casaco-Feminino-Jeans-Com-Bolsos/p</link>
      <g:image_link>http://img-yourstore.com.br/images/AAA.jpg</g:image_link>
      <g:availability>in stock</g:availability>
      <g:price>159.99 BRL</g:price>
      <g:sale_price>159.99 BRL</g:sale_price>
      <g:installment>
        <g:months>5</g:months>
        <g:amount>31.99 BRL</g:amount>
      </g:installment>
    </item>
  </channel>
</rss>

Feed XML recomendado

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss xmlns:g="http://base.google.com/ns/1.0"
     version="2.0">
  <channel>
    <title>YOUR store products</title>
    <link>http://www.yourstore.com.br/</link>
    <description>This is a Feed with recommended fields</description>
    <item>
      <g:id>AAA01</g:id> <!-- The sku id -->
      <title>Casaco Feminino Jeans Com Bolsos</title>
      <description>Casaco feminino elaborado em jeans com composição 100% algodão.</description>
      <g:google_product_category>Vestuário e acessórios &gt; Roupas</g:google_product_category>
      <g:product_type>Feminino &gt; Jaquetas</g:product_type>
      <link>http://www.yourstore.com.br/Jaquetas/Casaco-Feminino-Jeans-Com-Bolsos/p</link>
      <g:image_link>http://img-yourstore.com.br/images/AAA.jpg</g:image_link>
      <g:condition>new</g:condition>
      <g:availability>in stock</g:availability>
      <g:price>159.99 BRL</g:price>
      <g:sale_price>159.99 BRL</g:sale_price>
      <g:gtin>7909245516136</g:gtin>
      <g:brand>Brand</g:brand>
      <g:item_group_id>AAA</g:item_group_id> <!-- The product id -->
      <g:color>AZUL</g:color>
      <g:gender>FEMALE</g:gender>
      <g:age_group>adult</g:age_group>
      <g:size>P</g:size>
      <g:shipping>
        <g:country>BR</g:country>
        <g:service>Frete Grátis</g:service>
        <g:price>0.0 BRL</g:price>
      </g:shipping>
      <g:installment>
        <g:months>5</g:months>
        <g:amount>31.99 BRL</g:amount>
      </g:installment>
    </item>
    <item>
      <g:id>AAA02</g:id> <!-- The sku id -->
      <title>Casaco Feminino Jeans Com Bolsos</title>
      <description>Casaco feminino elaborado em jeans com composição 100% algodão.</description>
      <g:google_product_category>Vestuário e acessórios &gt; Roupas</g:google_product_category>
      <g:product_type>Feminino &gt; Jaquetas</g:product_type>
      <link>http://www.yourstore.com.br/Jaquetas/Casaco-Feminino-Jeans-Com-Bolsos/p</link>
      <g:image_link>http://img-yourstore.com.br/images/AAA.jpg</g:image_link>
      <g:condition>new</g:condition>
      <g:availability>in stock</g:availability>
      <g:price>159.99 BRL</g:price>
      <g:sale_price>159.99 BRL</g:sale_price>
      <g:gtin>7909245516136</g:gtin>
      <g:brand>Brand</g:brand>
      <g:item_group_id>AAA</g:item_group_id> <!-- The product id -->
      <g:color>AZUL</g:color>
      <g:gender>FEMALE</g:gender>
      <g:age_group>adult</g:age_group>
      <g:size>P</g:size>
      <g:shipping>
        <g:country>BR</g:country>
        <g:service>Frete Grátis</g:service>
        <g:price>0.0 BRL</g:price>
      </g:shipping>
      <g:installment>
        <g:months>5</g:months>
        <g:amount>31.99 BRL</g:amount>
      </g:installment>
    </item>
  </channel>
</rss>

XML Feed com suporte para integração Chaordic JS (chaordic_meta.product)

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<rss xmlns:g="http://base.google.com/ns/1.0"
     xmlns:c="http://www.chaordic.com.br/ns/catalog/1.0" version="2.0">
<channel>
    <title>YOUR store products</title>
    <link>http://www.yourstore.com.br/</link>
    <description>This is a feed with recommended + Chaordic Schema fields</description>
    <item>
        <g:item_group_id>AAA</g:item_group_id><!-- ID PARA AGRUPAR SKUS -->
        <g:id>AAA02</g:id>
        <title>Casaco Feminino Jeans Com Bolsos</title>
        <description>Casaco feminino elaborado em jeans com composição 100% algodão. Contempla gola tradicional, recortes frente, bolsos com fechamento por botão localizados na altura do busto e desgastes na coloração. Peça chave para os dias frios da estação!</description>
        <c:categories>
            <c:category>Outra categoria</c:category>
            <c:category c:id="1">Casa</c:category>
            <c:category c:id="2" c:parentId="1">Banheiro</c:category>
            <c:category c:id="3" c:parentId="2"><![CDATA[Utensílios]]></c:category>
        </c:categories>
        <link>http://www.yourstore.com.br/Jaquetas/Casaco-Feminino-Jeans-Com-Bolsos/p</link>
        <c:images>
            <c:image c:id="250x250">http://wwww.yourhost.com/images/bla.png</c:image>
            <c:image c:id="320x320">http://wwww.yourhost.com/images/bla_large.png</c:image>
        </c:images>
        <g:condition>new</g:condition>
        <g:availability>in stock</g:availability>
        <g:price>159.99 BRL</g:price>
        <g:sale_price>159.99 BRL</g:sale_price>
        <g:gtin>7909245516136</g:gtin>
        <g:brand>Brand</g:brand>        
        <g:color>AZUL</g:color>
        <g:gender>FEMALE</g:gender>
        <g:age_group>adult</g:age_group>
        <g:size>P</g:size>
        <g:shipping>
            <g:country>BR</g:country>
            <g:service>Frete Grátis</g:service>
            <g:price>0.0 BRL</g:price>
        </g:shipping>
        <g:installment>
            <g:months>5</g:months>
            <g:amount>31.99 BRL</g:amount>
        </g:installment>
        <c:tags>
            <c:tag>lancamento</c:tag>
            <c:tag>Verão</c:tag>
            <c:tag>Mais vendido</c:tag>
            <c:tag>Super vendido</c:tag>
        </c:tags>
        <c:details>
            <c:detail c:id="numPages">123</c:detail>
            <c:detail c:id="volts">110v</c:detail>
        </c:details>
        <c:specs>
            <c:spec c:id="flavor">baunilha</c:spec>
            <c:spec c:id="voltage">220v</c:spec>
            <c:spec c:id="size">G</c:spec>
            <c:spec c:id="color">azul</c:spec>
            <c:spec c:id="mediaType">Ebook</c:spec>
        </c:specs>
    </item>
    <item>
        <g:item_group_id>AAA</g:item_group_id><!-- ID PARA AGRUPAR SKUS -->
        <g:id>AAA01</g:id>
        <title>Casaco Feminino Jeans Com Bolsos</title>
        <description>Casaco feminino elaborado em jeans com composição 100% algodão. Contempla gola tradicional, recortes frente, bolsos com fechamento por botão localizados na altura do busto e desgastes na coloração. Peça chave para os dias frios da estação!</description>
        <c:categories>
            <c:category>Outra categoria</c:category>
            <c:category c:id="1">Casa</c:category>
            <c:category c:id="2" c:parentId="1">Banheiro</c:category>
            <c:category c:id="3" c:parentId="2"><![CDATA[Utensílios]]></c:category>
        </c:categories>
        <link>http://www.yourstore.com.br/Jaquetas/Casaco-Feminino-Jeans-Com-Bolsos/p</link>
        <c:images>
            <c:image c:id="250x250">http://wwww.yourhost.com/images/bla.png</c:image>
            <c:image c:id="320x320">http://wwww.yourhost.com/images/bla_large.png</c:image>
        </c:images>
        <g:condition>new</g:condition>
        <g:availability>in stock</g:availability>
        <g:price>159.99 BRL</g:price>
        <g:sale_price>159.99 BRL</g:sale_price>
        <g:gtin>7909245516136</g:gtin>
        <g:brand>Brand</g:brand>
        <g:gender>FEMALE</g:gender>
        <g:age_group>adult</g:age_group>
        <g:shipping>
            <g:country>BR</g:country>
            <g:service>Frete Grátis</g:service>
            <g:price>0.0 BRL</g:price>
        </g:shipping>
        <g:installment>
            <g:months>5</g:months>
            <g:amount>31.99 BRL</g:amount>
        </g:installment>
        <c:tags>
            <c:tag>lancamento</c:tag>
            <c:tag>Verão</c:tag>
            <c:tag>Mais vendido</c:tag>
            <c:tag>Super vendido</c:tag>
        </c:tags>
        <c:details>
            <c:detail c:id="numPages">123</c:detail>            
        </c:details>
        <c:specs>
            <c:spec c:id="flavor">baunilha</c:spec>
            <c:spec c:id="voltage">110v</c:spec>
            <c:spec c:id="size">G</c:spec>
            <c:spec c:id="color">azul</c:spec>
            <c:spec c:id="mediaType">Ebook</c:spec>
        </c:specs>
    </item>
</channel>
</rss>

Validando o XML:

Para verificar se o XML é válido e está pronto para a importação é sugerido a utilização da ferramenta xmlstartlet

xmlstarlet fo meuarquivo.xml

📘

Opa! Está com a URL do feed em mãos?

Informe o responsável técnico de integração enviando um email para [email protected]