Gerar Arquivo XML
Olá, neste tutorial vamos mostrar como gerar um XML .
Acesse o menu Ofertas > XML. Clique no botão + para adicionar um novo XML.
Ou na própria busca de pesquisa do console, digite XML.
Em "Nome do Arquivo" digite o nome do catálogo, como por exemplo: googleshopping.xml, googlemerchant.xml, etc. (Detalhe: é obrigatório inserir o .xml no nome do arquivo)
No campo Encoding selecione a opção UTF-8.
No campo Coleção selecione a coleção com os produtos para enviar no XML.
Abaixo tem um modelo do código do XML, altere o campo URL_DA_LOJA para seu domínio e copie e cole no campo de XML.
{% load shop_tags i18n l10n %}{% spaceless %}
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>
<![CDATA[{{ shop_settings.SEO_TITLE }}]]>
</title>
<link>
<![CDATA[ {{ shop_settings.URL_EMAIL }} ]]>
</link>
<description>
<![CDATA[{{ shop_settings.SEO_DESCRIPTION }}]]>
</description>
{% for object in object_list|dictsortreversed:"product_id" %}
{% if object.sku.product.category and object.sku.product.images.exists %}
{% get_data_json object.sku.product.specifications as json_specifications %}
<item>
<g:id>
<![CDATA[{{ object.sku.reference_code }}]]>
</g:id>
<title>
<![CDATA[{{ object.product_name }}]]>
</title>
<description>{% if object.product_detail %}
<![CDATA[{{ object.product_detail|safe }}]]>{% else %}
<![CDATA[{{ object.product_name|title }}]]>{% endif %}
</description>
<g:product_type>
<![CDATA[{% if object.sku.product.category %}{{ object.sku.product.category.get_root.title }} > {{ object.sku.product.category.parent.title }} > {{ object.sku.product.category.title }}{% else %}Sem categoria{% endif %}]]>
</g:product_type>
{% localize off %}
<link>
<![CDATA[https://www.URL_DA_LOJA.com.br{{ object.sku.product.get_absolute_url }}{% if object.sku.product.is_variation %}/{{ object.sku.id }}/{% endif %}]]>
</link>{% endlocalize %}
<g:image_link>{{ object.product_image }}
</g:image_link>
{% for img in object.sku.product.images.all|slice:"10" %}
{% if img.version_large not in object.product_image %}
<g:additional_image_link>https:{{ MEDIA_URL }}{{ img.version_large }}</g:additional_image_link>
{% endif %}
{% endfor %}
<g:condition>new
</g:condition>
<g:availability>{% if object.sku.has_stock and object.sku_available %}
<![CDATA[in stock]]>{% else %}
<![CDATA[out of stock]]>{% endif %}
</g:availability>
{% if object.category_global_code %}
<g:google_product_category>{{ object.category_global_code }}
</g:google_product_category>
{% endif %}
<g:price>{{ object.sku_unit_price }} BRL
</g:price>
<g:sale_price>{{ object.sku_price }} BRL
</g:sale_price>
{% if object.sku.ean_13 %}
<g:gtin >
<![CDATA[{{ object.sku.ean_13 }}]]>
</g:gtin>
{% endif %}
<g:brand>{{ object.product_brand_name }}
</g:brand>
<g:mpn>
<![CDATA[{{ object.sku.reference_code }}]]>
</g:mpn>
<g:identifier_exists>no
</g:identifier_exists>
<g:online_only>y
</g:online_only>
<g:installment>
<g:months>{{ object.sku_price|get_min_installments }}
</g:months>
<g:amount>{{ object.sku_price|get_card_price }} BRL
</g:amount>
</g:installment>
{% for s in object.sku.product.property_values.all %}
{% if s.value and s.specification.title|slugify == 'cor' %}
<g:color>
<![CDATA[{{ s.value }}]]>
</g:color>
{% elif s.value and s.specification.title|slugify == 'gender' %}
<g:gender>
<![CDATA[{{ s.value }}]]>
</g:gender>
{% elif s.value and s.specification.title|slugify == 'age_group' %}
<g:age_group>
<![CDATA[{{ s.value }}]]>
</g:age_group>
{% elif s.value and s.specification.title|slugify == 'material' %}
<g:material>
<![CDATA[{{ s.value }}]]>
</g:material>
{% elif s.value and s.specification.title|slugify == 'pattern' %}
<g:pattern>
<![CDATA[{{ s.value }}]]>
</g:pattern>
{% elif s.value and s.specification.title|slugify == 'is_bundle' %}
<g:is_bundle>
<![CDATA[{{ s.value }}]]>
</g:is_bundle>
{% elif s.value and s.specification.title|slugify == 'multipack' %}
<g:multipack>
<![CDATA[{{ s.value }}]]>
</g:multipack>
{% elif s.value and s.specification.title|slugify == 'adult' %}
<g:adult>
<![CDATA[{{ s.value }}]]>
</g:adult>
{% elif s.value and s.specification.title|slugify == 'tamanho' %}
<g:size>
<![CDATA[{{ s.value }}]]>
</g:size>
{% endif %}
{% endfor %}
</item>
{% endif %}
{% endfor %}
</channel>
</rss>{% endspaceless %}
{% load shop_tags i18n l10n %}{% spaceless %}
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:g="http://base.google.com/ns/1.0">
<channel>
<title>
<![CDATA[{{ shop_settings.SEO_TITLE }}]]>
</title>
<link>
<![CDATA[ {{ shop_settings.URL_EMAIL }} ]]>
</link>
<description>
<![CDATA[{{ shop_settings.SEO_DESCRIPTION }}]]>
</description>
{% for object in object_list|dictsortreversed:"product_id" %}
{% if object.sku.product.category and object.sku.product.images.exists %}
{% if not "chemical" in object.sku.modals %}
{% get_data_json object.sku.product.specifications as json_specifications %}
<item>
<g:id>
<![CDATA[{{ object.sku.reference_code }}]]>
</g:id>
<title>
<![CDATA[{{ object.product_name }}]]>
</title>
<description>{% if object.product_detail %}
<![CDATA[{{ object.product_detail|safe }}]]>{% else %}
<![CDATA[{{ object.product_name|title }}]]>{% endif %}
</description>
<g:product_type>
<![CDATA[{% if object.sku.product.category %}{{ object.sku.product.category.get_root.title }} > {{ object.sku.product.category.parent.title }} > {{ object.sku.product.category.title }}{% else %}Sem categoria{% endif %}]]>
</g:product_type>
{% localize off %}
<link>
<![CDATA[https://www.URL_DA_LOJA.com.br{{ object.sku.product.get_absolute_url }}{% if object.sku.product.is_variation %}/{{ object.sku.id }}/{% endif %}]]>
</link>{% endlocalize %}
<g:image_link>{{ object.product_image }}
</g:image_link>
<g:condition>new
</g:condition>
<g:availability>{% if object.sku.has_stock and object.sku_available %}
<![CDATA[in stock]]>{% else %}
<![CDATA[out of stock]]>{% endif %}
</g:availability>
{% if object.category_global_code %}
<g:google_product_category>{{ object.category_global_code }}
</g:google_product_category>
{% endif %}
<g:price>{{ object.sku_unit_price }} BRL
</g:price>
<g:sale_price>{{ object.sku_price }} BRL
</g:sale_price>
{% if object.sku.ean_13 %}
<g:gtin >
<![CDATA[{{ object.sku.ean_13 }}]]>
</g:gtin>
{% endif %}
<g:brand>{{ object.product_brand_name }}
</g:brand>
<g:mpn>
<![CDATA[{{ object.sku.reference_code }}]]>
</g:mpn>
<g:identifier_exists>no
</g:identifier_exists>
<g:online_only>y
</g:online_only>
<g:installment>
<g:months>{{ object.sku_price|get_min_installments }}
</g:months>
<g:amount>{{ object.sku_price|get_card_price }} BRL
</g:amount>
</g:installment>
{% for s in object.sku.product.property_values.all %}
{% if s.value and s.specification.title|slugify == 'cor' %}
<g:color>
<![CDATA[{{ s.value }}]]>
</g:color>
{% elif s.value and s.specification.title|slugify == 'gender' %}
<g:gender>
<![CDATA[{{ s.value }}]]>
</g:gender>
{% elif s.value and s.specification.title|slugify == 'age_group' %}
<g:age_group>
<![CDATA[{{ s.value }}]]>
</g:age_group>
{% elif s.value and s.specification.title|slugify == 'material' %}
<g:material>
<![CDATA[{{ s.value }}]]>
</g:material>
{% elif s.value and s.specification.title|slugify == 'pattern' %}
<g:pattern>
<![CDATA[{{ s.value }}]]>
</g:pattern>
{% elif s.value and s.specification.title|slugify == 'is_bundle' %}
<g:is_bundle>
<![CDATA[{{ s.value }}]]>
</g:is_bundle>
{% elif s.value and s.specification.title|slugify == 'multipack' %}
<g:multipack>
<![CDATA[{{ s.value }}]]>
</g:multipack>
{% elif s.value and s.specification.title|slugify == 'adult' %}
<g:adult>
<![CDATA[{{ s.value }}]]>
</g:adult>
{% elif s.value and s.specification.title|slugify == 'tamanho' %}
<g:size>
<![CDATA[{{ s.value }}]]>
</g:size>
{% endif %}
{% endfor %}
</item>
{% endif %}
{% endif %}
{% endfor %}
</channel>
</rss>{% endspaceless %}
Em seguida, clique em Salvar e Continuar Editando.
Após salvar, será gerado o XML. Para visualizar o XML e copiar o link, clique no botão "Ver no Site".
Caso for utilizar o valor do PIX troque pelo código abaixo
{% payment_price object.sku.price "pix" as pix_discount %}
<g:price>{{ object.sku_unit_price }} BRL</g:price>
<g:sale_price>{{ pix_discount.value }} BRL</g:sale_price>
Especificação dos dados do produto
Link de ajuda: https://support.google.com/merchants/answer/7052112
Campos utilizados no arquivo XML
age_group [idade]:
Use o atributo age_group [idade] para definir o grupo demográfico para o qual seu produto é direcionado.Você pode escolher os seguintes valores aceitos:
newborn [recém-nascido]
Até três meses de idade. Tamanhos para recém-nascidos são muitas vezes identificados pela faixa etária em meses (0 a 3) ou apenas "recém-nascido".
infant [3 a 12 meses]
3 a 12 meses de idade. Tamanhos para bebês são frequentemente indicados pela faixa etária em meses (3 a 12).
toddler [1 a 5 anos]
1 a 5 anos de idade. Tamanhos para crianças são muitas vezes identificados pela faixa etária em meses (12 a 24) ou anos (1 a 5).
kids [infantil]
5 a 13 anos de idade. Todos os tamanhos para essa idade destinam-se a crianças nessa faixa etária.
adult [adulto]
Normalmente adolescentes ou adultos. Todos os tamanhos para esta idade destinam-se a adultos ou adolescentes.gender [gênero]:
Especifique o gênero para o qual seu produto foi projetado usando o atributo gender [gênero].
male = masculino
female = feminino
unisex = unissexadult [para_adultos]:
Use o atributo adult [para_adultos] para indicar que produtos individuais são apenas para adultos porque têm conteúdo adulto como nudez e conteúdo com conotação sexual ou visam melhorar a atividade sexual.Envie yes [sim] ou no [não]. Se um produto individual não for voltado para o público adulto, você não precisará enviar no [não].
is_bundle [é_um_pacote]:
Use o atributo is_bundle [é_um_pacote] para indicar que você criou um pacote, ou seja, um produto principal foi agrupado com outros produtos diferentes, vendidos em conjunto como um pacote por um preço único.
Envie yes [sim] se seu produto for um pacote personalizado de produtos diferentes criado por você e se o pacote inclui um produto principal. Por exemplo, uma câmara combinada com uma lente e uma bolsa.multipack:
Use o atributo multipack para indicar que você agrupou vários produtos idênticos para venda como um item.
Valores aceitos: Números (dois ou mais)pattern [estampa]:
Use o atributo pattern [estampa] para descrever a estampa ou o desenho do seu produto.
Updated 7 months ago