Conforme o apresentado na explicação do match, quando vamos enviar um produto para a Amazon, nós fazemos uma chamada informando o EAN do produto, para verificar se já existe no catalogo de toda a Amazon, se já existe algum produto cadastrado para este EAN. Se houver o seller precisa seguir como Match, se não houver o produto poderá ser cadastrado com um novo produto (New ASIN).
Categorias
Vínculo de categorias antigo
Anteriormente nós consultamos manualmente na Amazon todas as categorias/ProductType e RBN (Os RBN's (Recommended Browsing Node) são códigos que funcionam para elevar a especificidade aos demais níveis.), então fazíamos uma o cadastro manual no ANYMARKET, onde muitas vezes era necessário criar atividades de serviço fabrica para que fosse inserido no
ANYMARKET novos ProductTypes e RBNs.
A atualização desta lista de categorias é automaticamente uma vez ao mês.
Neste caso, era necessário que os seller selecionasse o RBN para concluir o vínculo de categorias.

Vínculo de categorias novo
Agora com a entrega do novo listing, o processo de consultar as categorias/ProductType e RBN, passa a ser totalmente automático, onde buscaremos toda a arvore de categorias disponível na Amazon através do report "GET_XML_BROWSE_TREE_DATA", e carregaremos essa lista para que o seller faça a vinculação de categorias.
Outro ponto importante neste novo fluxo é que o RBN passa a ser selecionado automaticamente pelo ANYMARKET de acordo com a seleção da arvore de categorias.

Para apoiar o seller temos o artigo sobre essa funcionalidade direto no painel do ANYMARKET.

Ponto de atenção
Para as categorias que já estavam vinculadas e o RBN continua ativo na Amazon, foi feita a migração, não sendo necessário fazer um novo vinculo.
Como estamos buscando periodicamente a lista de categorias na Amazon, algumas categorias e RBNs, foram descontinuados pela Amazon, assim o vínculo de categoria que havia sido realizado com esta categoria ficou obsoleto, sendo necessário fazer novamente o vínculo de categorias.
Variações
Vinculo de variação antigo

Vinculo de variação novo
No novo fluxo de listing da Amazon, o vínculo de variação passa a ser realizado por categoria, onde uma categoria do ANYMARKET, deverá ser vinculado a variação especifica para a categoria. Exemplo: A variação Tamanho do ANYMARKET, deverá ser vinculada ao Tamanho de Camiseta na categoria de Camisetas e também deverá ser vinculado ao Tamanho do
Tênis na categoria de Tenis.
Esse vínculo deixa de ser realizado no menu "Cadastro > Tipos de variação" e passa a ser realizado no menu "Cadastro > Categorias > Vincular categorias > Vincular Variação", para entender um pouco mais sobre essa funcionalidade, basta acessar este artigo

No canto superior direito, temos o artigo sobre a funcionalidade para apoiar o seller no entendimento.
Exemplo real da categoria de camisetas
Na primeira imagens mostra como é o cadastro do produto na Amazon e quais são as variações disponiveis para productType SHIRT.
Na segunda imagem mostra na nova experiência do ANYMARKET, as opções de variações disponíveis para vinculo nesta categorias. Perceba que os variações apresentadas são exatamente as mesmas do Seller center, podendo ter uma pequena mudança no nome da variação.


Exemplo real da categoria de tênis


Dependência de variações
O fluxo de vínculo de variação segue o mesmo padrão do cadastro de produtos no seller center da Amazon, onde ao informar que o produto que está sendo cadastrado possui variação, é necessário escolher o nível de variação, para que seguir com o cadastro.
No exemplo abaixo, temos o caso da categoria de Camisetas (productType: SHIRT), onde ao informar que o produto terá a variação de Tamanho, a Amazon exige que seja selecionado um segundo nível de variação, de acordo com as opções disponíveis para essa categoria.

No ANYMARKET, estamos trazendo a experiência semelhante, onde após ter feito o vínculo da variação, iremos apresentar quais são as opçoes são requeridas para compor a estrutura de variação do produto.

Na Amazon ao selecionar a segunda opção para completar a estrutura do produto, as demais opções passam a ser opcionais ou não permitem ser selecionadas.

No ANYMARKET, ainda não conseguimos trazer essa experiência, então as demais variações continuam sendo apresentadas como "Requeridas".
Entendemos que essa não é a melhor experiência, então estamos estudando maneiras de otimizar esse fluxo.

Para encontrar quais estruturas de variação estão disponíveis para esse produto, nós usamos o atributo VARIATION_THEME, que é disponibilizado pela Amazon no schema (Padrão de cadastro do produto deste productType), onde são listadas todas as possíveis combinações de variação para essa categoria/productType.
Exemplo
COLOCAR EXEMPLO DO VARIATION_THEME DE SHIRT
Vinculo dos valores de variação

Neste passo também estamos seguindo a mesma experiência da Amazon, onde para cada variação existem diversos atributos necessários para o vínculo de valor.
Como podemos ver na imagem abaixo, para vincular os valores da variação "Tamanho de Camisa", a princípio são exigidos os atributos "Sistema de tamanho - Partes superiores" e "Classe de tamanho - Partes Superiores". Então seguimos o mesmo padrão no ANYMARKET.


Porém para Amazon, conforme são preenchidos os atributos necessário para vincular o valor da variação, são apresentados novos atributos obrigatórios, estes são chamados de atributos condicionais, podendo a ter uma lista de atributos condicionais, conforme for sendo o feito o preenchimento.


No ANYMARKET ainda não conseguimos implementar essa experiência de ir marcando os atributos condicionais conforme a seleção dos atributos, porém já trazemos em tela todos os campos, onde é recomendado que seja feito o preenchimento.

Caso a combinação dos valores preenchidos nos campos não seja compatível com os valores esperados pela Amazon, será apresentada uma mensagem de erro, informando que o valor e preenchido naquele campo está inconsistente, exemplo: O produto com "Valor do tamanho - Partes superiores" de 4 Meses, é incompatível com "Classe de tamanho - Partes Superiores" numérico.
No seller center da Amazon, os campos são apresentados de acordo com a opção selecionada no campo anterior.

Após ter preenchidos os valores de variação, eles serão apresentados na tela abaixo.

Assim como no seller central da Amazon, será necessário fazer o preenchimento dos valores de variação para cada variação que está sendo cadastrada.
Exemplo: Ao ter feito o preenchimento para a variação de tamanho 25, será necessário preencher novamente estes campos para a variação 26.
Porém com a vantagem é que aqui no ANYMARKET ele está fazendo para aquela variação na categoria, ou seja, todos os produtos tamanho 25 desta categoria, já estarão contemplados.

Criação de produtos
Schema para o productType
Para falar sobre o envio do produtos da Amazon precisamos explicar sobre o Schema, após ter consultado toda a arvore de categorias/productTypes na Amazon, precisamos consultar o Schema, que nada mais é que um Json com toda a normalização do cada tipo de produto, onde são listados todos os campos obrigatórios, possiveis combinações de variações(variation_theme), valores de variação com seus dados de preenchimento.
Com base no Schema da Amazon, que estamos mapeando todos os atributos obrigatórios para o cadastro do produto, para apresentar na tela de característica do produto, variações e valores de variação. É com base no schema que validamos todos os dados e quais tipos de campos são aceitos para cada atributo.
A documentação da Amazon para consulta dos Schema, pode ser acessada neste link: https://pt-br-group.readme.io/amazon-latam/docs/caso-de-uso-defini%C3%A7%C3%B5es-de-tipo-de-produto#etapa-1-pesquisar-defini%C3%A7%C3%B5es-de-tipo-de-produto
O log com a consulta do Schema está no OUTPUT do Kibana, podendo ser pesquisado pela URL abaixo
No responseBody da consulta, é retornada a URL com o Schema, esta URL é válida por um pequeno espaço de tempo, então pegamos o conteudo presente nesta URL e salvamos essa informação em um banco de dados não relacional do ANYMARKET.

Passos para criação de um produto na Amazon
- Validação do vínculo de categoria
- Vinculo das variações
- Vinculo dos valores de variação
- Validação dos atributos obrigatórios para a categoria/productType
- Validação interna do produto, cruzando o Json do produto com o Schema do productType
- Validação no "VALIDATION_PREVIEW" da Amazon, enviando o Json do produto para a Amazon validar se está aderênte ao ProductType
- Cadastro do produto na Amazon
Validação de cínculos (1, 2, 3 e 4)
Acima falamos sobre os vínculos de Categorias, Variações e Valores de Variação, e com base no Schema da categoria/product type, iremos validar todos os campos que são obrigatórios no schema, logo ao criar o transmissão.
Esta validação consegue validar atributos como Título, Marca, EAN, Pontos de destaque (Bullet_points), EAN, e os demais campos que foram retornados no Schema.

Validação interna do produto, cruzando o Json do produto com o Schema do productType
Após ter validado todos estes campos, que são obrigatórios no Schema, iremos construir o JSON do produto, com todos os campos que estão preenchidos para o produto, após isso iremos passar pelo processo de validação, onde a Amazon disponibilizou uma ferramenta, onde podemos passar o Json criado pelo ANYMARKET e o Schema, e essa ferramenta retorna se existem atributos condicionais que não foram preenchidos, ou se algum atributo do produto ficou faltando.
Infelizmente não conseguimos identificar que estes atributos são obrigatórios antes desse passo, apenas após passar o Json do produto pela ferramenta de validação de produtos da Amazon, pois hoje estes não são listados como obrigatórios no Schema do ProductType do produto cadastrado.
Para validar se o produto foi enviado para a ferramenta de validação, procure no log LOGSTASH do Kibana por "Validando
atributos para o productType" AND "EAN do PRODUTO".

Na tela do ANYMARKET está sendo apresentado na transmissão
Exemplo de mensagem atual:
Ocorreu um erro ao criar anúncio com sku 1,121 na Amazon. external_testing_certification:
is missing but it is required
| is_assembly_required: is missing but it is required
| required_product_compliance_certificate: is missing but it is required
| color: is missing but it is required
| power_source_type: is missing but it is required
| power_source_type: is missing but it is required
| batteries_included: is missing but it is required

Iremos melhorar a apresentação desta mensagem nas proximas semanas na atividade #862824, onde passaremos a apresentar a mensagem formatada e com os nomes dos atributos preenchidos.

Para preencher estes atributos, basta acessar o cadastro de produtos e na Aba de "Característica" informar todos os atributos faltantes.
Os atributos destacados com * são os atributos obrigatórios no schema do produto, os atributos condicionais, não estarão destacados.

Validação no "VALIDATION_PREVIEW" da Amazon, enviando o Json do produto para a Amazon validar se está aderênte ao ProductType - (Disponível apenas final de junho 2024)
Após ter preenchido todos os atributos obrigatórios para publicar o produto, e ter passado pela ferramenta de validação, é feita uma nova validação do Json do cadastro do produto, desta vez enviamos esse JSON para o mesmo endpoint de criação de produto, porém passando como parâmetro na URL o "mode=VALIDATION_PREVIEW".
A Amazon irá fazer validação se todos os atributos estão preenchidos corretamente, e irá realizar validações adicionais, como Isenção de EAN e Autorização para publicação.
O log desta chamada e as mensagens de validação estão listadas no log OUTPUT do Kibana, podendo usar como base a URL abaixo.
https://sellingpartnerapi-na.amazon.com/listings/2021-08-01/items/AYV01WSGEPBGV/9136?issueLocale=pt_BR&mode=VALIDATION_PREVIEW&marketplaceIds=A2Q3Y263D00KWC
Cadastro do produto na Amazon
Ao passar por todos os passos anteriores iremos efetivamente enviar o produto para a Amazon, agora com maior chances do produto ser aceito.
O envio do produto para Amazon é feito através de uma chamada PUT no endpoint abaixo, e conforme a documentação da Amazon.
Para criação de novos produtos, enviaremos o PUT de criação de produto, passando primeiramente os parâmetros "productType":"COMPUTER" e "requirements":"LISTING", o log desta chamada está disponível no OUTPUT do Kibana.
Ao passar o termo "LISTING" estamos dizendo para a Amazon que se trata de um novo produto, lembrando que para produtos match passamos o "LISTING_OFFER_ONLY".
Após ter enviado o produto receberemos o retorno de erro síncrono, onde no response desta chamada já é retornado se o produto foi aceito ou recusado pela Amazon.
Exemplo de sucesso
{
"sku": "35201",
"status": "ACCEPTED",
"submissionId": "6d3b3f3c6b2c4e529d27d024834e0a53",
"issues": []
}
Exemplo de falha
{
"sku": "55119",
"status": "INVALID",
"submissionId": "549beed9c6a5433ca4892ea6aedb6f75",
"issues": [
{
"code": "90244",
"message": "Valor enumerado '\"27d40bdc-3d35-4264-8388-b903cf1861da\"' inválido para o atributo 'merchant_shipping_group'.",
"severity": "ERROR",
"attributeNames": [
"merchant_shipping_group"
],
"categories": [
"INVALID_ATTRIBUTE"
]
}
]
}
Após o produto enviado aceito, é possível que receba algum tipo de erro assíncrono, onde a Amazon irá nos notificar através da mensagem "LISTINGS_ITEM_ISSUES_CHANGE", onde identificaremos o erro e informaremos na transmissão. O recebimento desta mensagem está no log LOGSTASH do kibana.
Cadastrando produtos com variação
Atributo | Exemplo | Descrição |
|---|---|---|
parentage_level Obrigatório | Pai: "parentage_level": [ { "marketplace_id": "A2Q3Y263D00KWC", "value": "parent" } ],Filho:"parentage_level": [ { "marketplace_id": "A2Q3Y263D00KWC", "value": "child" } ],
| Especifica se o SKU é principal (pai - "parent") ou secundário (filho - "child"). parentage_level\marketplace_id: Identificador do markeplace na Amazon.Consulte o Guia do desenvolvedor da API do parceiro de vendas para obter a lista de identificadores da Amazon marketplace. parentage_level\value: Tipo enum (valores: child ou parent). |
child_parent_sku_relationship Obrigatório | Pai: "child_parent_sku_relationship": [ { "marketplace_id": "A2Q3Y263D00KWC", "child_relationship_type": "variation" } ],Filho:"child_parent_sku_relationship": [ { "marketplace_id": "A2Q3Y263D00KWC", "child_relationship_type": "variation", "parent_sku": "parent_SKU_123" } ],
| Define o tipo de relacionamento. child_parent_sku_relationship\marketplace_id: Identificador do markeplace na Amazon.Consulte o Guia do desenvolvedor da API do parceiro de vendas para obter a lista de identificadores da Amazon marketplace. Tipo: stringchild_parent_sku_relationship\child_relationship_type: Indica o tipo de relacionamento que o secundário tem com o principal.Tipo: enumValores: variationchild_parent_sku_relationship\parent_sku: Se o produto que está sendo listado for um dos filhos, deverá ser informado o SKU do pai neste campo. Caso seja o SKU pai, esse campo não deve ser enviado.
|
variation_theme Obrigatório | Tipo de produto SHIRT - variação por cor e tamanho "variation_theme": [ { "name": "COLOR_NAME/SIZE_NAME" } ] | Tema de variação. Os atributos do tema devem ser preenchidos para todos os itens da família de variação. variation_theme\name: Esse atributo é do tipo enum e os valores possíveis serão retornados no Schema de definição do tipo de produto a ser listado (Consulte mais informações em Tutorial: Recuperar Uma Definição de Tipo de Produto. |
Para criar um produto PAI nós enviamos os atributos abaixo no PUT
parentage_level: parent
child_parent_sku_relationship: Variation
fulfillment_availability: Encaminhamos estoque zero, pois o produto pai não possui estoque
"parentage_level":
[
{
"marketplace_id": "A2Q3Y263D00KWC",
"value": "child"
}
],
"child_parent_sku_relationship":
[
{
"marketplace_id": "A2Q3Y263D00KWC",
"child_relationship_type": "variation",
"parent_sku": "LMVX81C"
}
],
"fulfillment_availability":
[
{
"quantity": 15,
"fulfillment_channel_code": "DEFAULT"
}
],
"purchasable_offer":
[
{
"marketplace_id": "A2Q3Y263D00KWC",
"currency": "BRL",
"our_price":
[
{
"schedule":
[
{
"value_with_tax": 31.77
}
]
}
]
}
],
Para criar produtos FILHOS nós enviamos os atributos abaixo no PUT,
parentage_level: child
child_parent_sku_relationship: SKU do Produto pai criado na chamada anterior, por padrão estamos enviando "ANY-PARENT-idProdutoANY"
fulfillment_availability: Estoque disponível para o SKU
purchasable_offer: Valor de venda para o SKU
"parentage_level": [
{
"marketplace_id": "A2Q3Y263D00KWC",
"value": "child"
}
],
"child_parent_sku_relationship": [
{
"marketplace_id": "A2Q3Y263D00KWC",
"child_relationship_type": "variation",
"parent_sku": "LMVX81C"
}
],
"fulfillment_availability": [
{
"quantity": 15,
"fulfillment_channel_code": "DEFAULT"
}
],
"purchasable_offer": [
{
"marketplace_id": "A2Q3Y263D00KWC",
"currency": "BRL",
"our_price": [
{
"schedule": [
{
"value_with_tax": 31.77
}
]
}
]
}
],
Comentários
0 comentário
Por favor, entre para comentar.