Ops! Esse email nao possui permissão para abertura de ticket. Por favor, entre em contato com o responsável pela sua loja para providenciar o acesso.

Via Varejo (Cnova) - FAQ Interno

ESSE É UM FAQ PARA USO EXCLUSIVAMENTE INTERNO.

Este guia tem como objetivo indicar soluções para problemas que podem surgir na Integração com a Via Varejo. Este artigo está dividido em 2 seções: "Anúncios/Produtos" e "Pedidos".

Anúncios/Produtos

Categoria não encontrada na planilha de mapeamento.

A planilha de mapeamento de categorias disponibilizada no Help, por enquanto, é incompleta. Uma alternativa para ajudar o cliente a encontrar o id de categoria e seus atributos é via API.

A primeira API é essa para descobrir o Id da categoria em si:

curl --location --request GET 'http://api-mktplace.viavarejo.com.br/api/v4/api-front-categories-v3/jersey/categories/children' \
--header 'Accept: application/json' \
--header 'client_id: 2tiAHoMmT8xu' \
--header 'access_token: IyUZ2pZ8zRCD'

Nessa API você pode buscar o Id da categoria que mais se encaixa com a da VTEX. OBS: Não repassar essa API com esse access_token porque eles pertencem a outro cliente.

Exemplo, caso esteja procurando uma categoria para “Vinhos”:

"levelId": "2596",
"name": "Bebidas",
"children": [{
"levelId": "1948",
"levelIdFather": "2596",
"name": "Vinhos, Espumante e Champagne",
"hasChildren": true
}]

O próximo passo é encontrar se tem uma subcategoria ainda mais específica e olhar a parte de atributos também. Para isso, a API que vai utilizar é essa:

curl --location --request GET 'http://api-mktplace.viavarejo.com.br/api/v4/api-front-categories-v3/jersey/categories?id=1948' \
--header 'client_id: 2tiAHoMmT8xu' \
--header 'access_token: IyUZ2pZ8zRCD' \
--header 'Cookie: TS01687a5d=0130293aaada2f54d3dc5c242334fdf2a2ea338f95329a70435a08f03f5dfa18eecc594c25b84db43a6dc0d44a279219378a0425b4'

A resposta dessa API acima com o id de categoria = 1948 vai te trazer categorias mais específicas e as características de cada uma delas.OBS: Novamente, não repassar as informações do Header.

 Exemplo, digamos que dentro de "Vinhos, Espumante e Champagne" o cliente deseje classificar na subcategoria:

"id": "2650",
"name": "Tinto",

 Nesse caso, ele irá utilizar a API anterior e trocar o id para 2650 e pegar as características desta subcategoria:

Exemplo: Região

"id": "11744",
"name": "Região",
"type": "MVU",
"required": "N",
"variant": "N",
"values": [{
"id": "385383",
"text": "Alentejo"
},
{
"id": "385384",
"text": "Barossa Valley"
}]

Id da Categoria = 2650Fazendo a correspondência dos campos anteriores com a planilha disponibilizada do HELP fica assim:

Nome da Categoria = ​Tinto

É Obrigatório (olhar todas as características que possuem o campo "required" como "Y") = Não

É Variação (olhar se o campo "variant" é "N" ou "Y") = Não

Nome do atributo = Região

Valor do atributo (escolher entre as opções de "value") = Alentejo

Estoque/Preço não estão sendo atualizados (como investigar)

O Fluxo de atualização de preço e estoque nos marketplaces é:

Cliente altera estoque/preço no catálogo/pricing -> catálogo/pricing notifica o Broadcaster -> Broadcaster notifica a integração -> integração altera o estoque/preço no marketplace.

  • Primeira metade do fluxo = Merch
  • Segunda metade = Connections

É necessário investigar cada passo para identificar a falha no fluxo.

  1. Cliente altera estoque/preço no catálogo/pricing:

Se for estoque, verificar histórico de alteração da informação no admin.

Se for preço, verificar histórico de alteração da informação no splunk:

splunk

Assim, obter a informação de data e hora da última atualização de informação.

2. Catálogo/Pricing notifica o Broadcaster:

O Broadcaster (ou ccnotificator) é o sub-sistema responsável por distribuir e disparar notificações sobre alguma alteração de produto, preço ou estoque à cada um dos afiliados. Para que ele dispare essas informações, é necessário que ele seja notificado de alguma alteração ocorreu.

Sendo assim, é necessário pesquisar pelo log de notificação no splunk. 

Se for estoque, pesquisar pela seguinte query:

index=ccnotificator account={{accountName}} workflow_instance={{idSku}} workflow_type=EnqueueStockChangeNotification

Se for preço, pesquisar pela seguinte query:

index=ccnotificator account={{accountName}} workflow_instance={{idSku}} workflow_type=EnqueuePriceChangeNotification
  • Caso na data e hora em que houve a última alteração da informação (passo 1) não houver um log de notificação, a falha no fluxo deve ser tratada com o time de Merch.

3. Broadcaster notifica a integração:

Após o broadcaster ser notificado de que houve uma alteração de informação, é necessário que ele repasse essa informação para todos os afiliados.

Portanto, é preciso verificar se há logs no splunk de que essa informação foi repassada.

Se for estoque, pesquisar pela seguinte query:

index=ccnotificator account={{accountName}} {{affiliateID}} workflow_instance={{idSku}} workflow_type=NotifyAffiliatesAboutStockChangeAsync

Se for preço, pesquisar pela seguinte query:

index=ccnotificator account={{accountName}} workflow_instance={{idSku}} workflow_type=NotifyAffiliatesAboutPriceChangeAsync
  • Caso esse log esteja com a mensagem de erro “Ocorreu um erro de comunicação com o catálogo de produtos. Acesso não autorizado do seller 1  para o sales channel “x”.” é necessário verificar o binding para a política comercial cadastrada no marketplace (tanto da account quanto da subaccount).
  • Caso esse log esteja apontando para um endpoint diferente de “http://viavarejointegration.vtexinternal.com/api/viavarejointegration/broadcaster/notification?an={{accountName}}” é necessário ajustar para esse endpoint, provavelmente o cliente fez alguma alteração manual.
  • Caso não apareça resultados, pesquisar também pela query sem o Id do afiliado.
  • Caso esse log esteja com algum erro não identificável, a falha no fluxo deve ser tratada com o time de Connections, sendo imprescindível constar no ticket a query utilizada no splunk e o erro identificado

4. Integração altera o estoque/preço no marketplace:

Considerando que o passo 3 tenha sido realizado com sucesso no fluxo, é necessário verificar agora se a integração realizou a alteração necessária no marketplace. 

Para o caso da Via Varejo, é preciso verificar nos logs do splunk 72 o envio dessa informação:

Se for estoque, pesquisar pela seguinte query:

index=viavarejointegration account={{accountName}} workflow_instance={{skuId}} workflow_type=UpdateStockAsync

Se for preço, pesquisar pela seguinte query:

index=viavarejointegration account={{accountName}} workflow_instance={{skuId}} workflow_type=UpdatePriceAsync
  • Caso esse log não exista ou esteja com um erro não identificável, a falha no fluxo deve ser tratada com o time de Connections, sendo imprescindível constar no ticket a query utilizada no splunk
  • Caso esse log esteja com um valor diferente do cadastrado no admin da VTEX ou no módulo de Pricing, é necessário realizar uma simulação de fulfillment para analisar quais as informações de estoque e preço estão sendo repassadas para a integração , pois a integração utiliza a informação retornada pela simulação de fullfilment para consultar os valores de estoque e preço que serão enviados ao marketplace. 

API de fulfillment:

POST https://{{accountName}}.vtexcommercestable.com.br/api/fulfillment/pvt/orderForms/simulation?sc={{PolíticaComercial}}&affiliateId={{Afiliado}}
  1. Se a simulação de fulfillment retornar o valor que a integração enviou, então esse é o valor realmente cadastrado no sku. É necessário entender com o time de Checkout o motivo da divergência de valores.
  2. Se a simulação de fulfillment retornar um valor diferente do que a integração enviou, então é porque houve uma mudança recente nos valores do sku. Para atualizar a informação, basta realizar uma mudança no sku para que ele seja atualizado novamente no marketplace.

Sku não integra. Mensagem de erro: “VTEX specification ‘XX’ can not contain 2 non variation mappings. ‘YY’ and ‘YY’. Row ‘ZZ’”

A Via Varejo não está permitindo que duas especificações na VTEX tenham o mesmo “Value” na Via Varejo. Veja planilha com erro como exemplo:

mceclip0.png

Para solucionar será preciso excluir da planilha uma das especificações ("Aumento de volume" ou "Controle de volume") ou mudar o VV Specification Value, de uma delas, para um valor que ainda não esteja mapeado na planilha.

Sku não integra. Mensagem de erro: “A garantia é obrigatória para a categoria XX”

Esse erro indica que a Via Varejo exige uma especificação de garantia para todos os skus alocados naquela categoria.

Para fazer isso, o cliente deve seguir os seguintes passos:

Para inserir o atributo de garantia nos produtos que serão enviados à ViaVarejo você deve:

  1. Dentro de Catálogo, acesse Categorias
  2. Na lista de categorias, clique na categoria associada ao produto que deseja enviar à ViaVarejo
  3. Clique em ações e escolha a opção Campo(Produto)
  4. Clique em Novo Campo
  5. Preencha a tela com as informações abaixo:
    1. importante: o nome do campo deve ser viavarejogarantiamceclip1.png
  6. Por fim, para configurar o mapeamento da garantia, você deve preencher a planilha de mapeamento conforme link abaixo:.
    https://help.vtex.com/tracks/configurar-integracao-da-via-varejo--3E9XylGaJ2wqwISGyw4GuY/5QVZFYNfuRIQKdq34MbTxz


----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Pedidos

Pedidos com erro de SLA ou sku sem estoque

A integração sempre que identifica um novo pedido no marketplace que deve ser integrado para a loja realiza uma simulação de fulfillment, com o objetivo de selecionar o SLA do pedido, antes de efetivamente criar o pedido. Nesse momento, se a simulação retornar que o sku não possui estoque, está indisponível ou que não há SLA disponível para aquele item naquele CEP o pedido não será criado na loja e a integração irá logar um erro de SLA no bridge.

Para validar se o erro persiste, é necessário clicar em “Reprocessar pedido”. Caso o erro continue, para analisar o motivo específico (preço, estoque, SLA ou disponibilidade do item) é preciso realizar uma simulação de fulfillment.

cURL

curl --location --request POST 'https://{{accountName}}.vtexcommercestable.com.br/api/fulfillment/pvt/orderForms/simulation?sc={{PolíticaComercial}}&affiliateId={{Afiliado}}' \
--header 'Content-Type: application/json' \
--data-raw '{
 "items": [{
   "id": "32309",
   "quantity": 1,
   "seller": "1"
 }],
 "marketingData": null,
 "postalCode": "22250040",
 "country": "BRA",
 "selectedSla": null,
 "clientProfileData": null,
 "geoCoordinates": [],
 "isCheckedIn": false,
 "storeId": null
}'

“Price” para validar seo sku possui preço válido;No resultado dessa simulação, é necessário analisar os campos:

  1. “Sla” para validar se há algum retorno de SLA para o sku no CEP indicado;
  2. “Stockbalance” para validar se o sku possui estoque;
  3. “Message” para validar a disponibilidade do sku.
  • Caso alguma das informações acima não esteja válida, o pedido continuará com erro no Bridge. Neste caso deve-se analisar as configurações da loja ou verificar com o time de Checkout o motivo da informação não estar válida.
  • Após a correção, basta reprocessar o pedido. Caso o erro permaneça, a falha deverá ser tratada com o time de Connections, sendo imprescindível constar no ticket a simulação de fullfilment realizada e os detalhes identificados na análise.

Pedidos com erro tracking. Mensagem: "... A data selecionada é inválida. Favor selecionar uma data entre a Data de Aprovação do pedido e a Data Atual..."

Esse erro ocorre quando o ERP passa uma data errada. Geralmente, passa uma data "futura" então quando a integração tenta repassar a informação para o marketplace toma esse erro.

Reprocessar o pedido depois de um tempo, geralmente, resolve pois a Data Atual já passa a ser superior a data repassada pelo ERP.







Tem mais dúvidas? Envie uma solicitação

Comentários