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.

Magazine Luiza - 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 Magazine Luiza. Este artigo está dividido em 3 seções: "Anúncios/Produtos", "Pedidos" e "Configurações".

Anúncios/Produtos

Sku não integra: Mensagem de erro: “Não é permitido alteração do campo IdSkuErp.”

O campo “IdSkuErp” na Magalu corresponde ao “código de referência” na VTEX. Uma vez que o sku foi integrado não é mais permitido fazer uma alteração dessa informação. Caso o cliente realize uma alteração, essa mensagem será logada no bridge.

 

Sku não integra: Mensagem de erro: “Sku não está na política comercial XX.”

Para enviar o sku, a integração faz validação se o sku está na política comercial, se possui estoque e se possui preço.

Para validar todas as configurações do sku, o ideal é realizar uma simulação de fulfillment para o sku na política comercial da Magalu.

API de fulfillment:

POST https://{{accountName}}.vtexcommercestable.com.br/api/fulfillment/pvt/orderForms/simulation?sc={{PolíticaComercial}}&affiliateId={{Afiliado}}

Preço do sku não foi atualizado no Marketplace.

Primeiro passo:
Avaliar se o sku possui preço fixo cadastrado no catalogo e se foi atualizado.

SIM, PREÇO FIXO FOI ATUALIZADO > Pular este passo e seguir com a próxima analise (Estoque/Preço não estão sendo atualizados (como investigar))

NÃO POSSUI PREÇO FIXO > Neste caso a integração não é notificada sobre alteração de preço. Somente alterações de "Preço Fixo geram notificações ao broadcaster.

Ainda tenho duvidas sobre atualização do preço fixo
Esta é a documentção do time de Merch que explica como funciona atualização preço fixo.

https://help.vtex.com/pt/tracks/precos-101--6f8pwCns3PJHqMvQSugNfP/3HxF2u5VwidqnUGnFoKdDy?locale=pt

Mas o Seller não usa "Preço Fixo" o que fazer neste caso?
Caso o seller queira que os preços notifiquem para atualizações de preços não fixos, ele pode definir uma regra de preço, mesmo que vazia para essa política específica e o workflow do pricing de notificação de preços irá chamar o broadcaster.

Como Configurar esta regra de preço?
Acesse o Admin > Produtos > Preços > Regras de Preço > Nova Regra >

mceclip0.png

Nova Regra >

Quais os dados gerais dessa regra? Selecione a politica comercial (recomendamos criar uma regra para cada politica comercial existente na loja)

Em quais itens esta regra será aplicada?  Selecione a opção "Aplicar em todos os produtos"

mceclip1.png
Para os outros campos nenhuma seleção é necessária > Clique em "Salvar"
Realizei o mesmo procedimento para as outras politicas comerciais. 
mceclip2.png


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 = Channels

É 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=NotifyAffiliatesAboutInventoryChangeAsync 

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://magazineluizaintegration.vtexinternal.com.br/api/magazineluizaintegration/indexedstockkeepingunit?an={{accountName}}” é necessário ajustar para esse endpoint, provavelmente o cliente fez alguma alteração manual.

 

  • Caso esse log esteja com algum erro não identificável, a falha no fluxo deve ser tratada com o time de Channels, 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 Magalu, é preciso verificar nos logs do splunk o envio dessa informação:

Se for estoque, pesquisar pela seguinte query:

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

Se for preço, pesquisar pela seguinte query:

index=magazineluizaintegration 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 Channels, 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.



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

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://.vtexcommercestable.com.br/api/fulfillment/pvt/orderForms/simulation?sc={{Pol%C3%ADticaComercial}}&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
}'

No resultado dessa simulação, é necessário analisar os campos:

  1. “Price” para validar seo sku possui preço válido;
  2. “Sla” para validar se há algum retorno de SLA para o sku no CEP indicado;
  3. “Stockbalance” para validar se o sku possui estoque;
  4. “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 Channels, sendo imprescindível constar no ticket a simulação de fullfilment realizada e os detalhes identificados na análise.

 

Pedidos com erro. Mensagem de erro: “Há produtos desse pedido que não podem ser entregues com o Sla Normal”

Geralmente, esse erro está ligado com o tipo de entrega mapeamento do cliente. É necessário olhar as configurações de “Mapeamento de SLA Customizável” no card de config.

OBS: Valores aceitos pela Magalu:

      1 - "NORMAL"

      2 - "EXPRESSA"

      3 - "Convencional"

Se o mapeamento no Card não estiver exatamente como acima, a configuração não entende que existe o mapeamento. 

Caso, após a correção, o reprocessamento do pedido não funcionar é necessário fazer as validações explicadas no ponto anterior.

 

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

Configurações

Erro ao salvar configuração. Mensagem de erro: “Erro! Ação com erro”

Esses casos são mais comuns na Magazine luiza quando se trata da configuração de uma loja que é uma migração (account já estava na Magalu por outro integrador e quer utilizar VTEX).

Esse tipo de configuração deve ser feita diretamente pelo time de Connections, por isso é necessário abrir um ticket enviando as seguintes informações no formato Json:

OBS: Não repassar o modelo pois se trata de um cliente real

{
    "accountName": "moikana",
    "invoiceSeriesNumber": 1,
    "isActive": true,
    "affiliateId": "MGZ",
    "saleChannelId": "2",
    "orderAllowanceRate": 60.0,
    "user": "",
    "password": "",
    "minStock": 1,
    "slaMap": {},
    "creationDate": "",
    "companyName": "MK E-store Comercio Eletronico LTDA",
    "cnpj": "14146448000122",
    "corporateName": "Moikana",
    "distributionCenterZipcode": "87050220",
    "soldAndDeliveredBy": "moikana1",
    "paydayFrequency": "monthly",
    "dayOfPayday": 1,
    "maxNumberOfInstallmentsForClients": 6,
    "sellsToALegalPerson": false,
    "contactName": "Marcos Barreto",
    "contactEmail": "marcos.barreto@moikana.com.br",
    "contactPhone": "4430328900",
    "bankCode": "341",
    "bankName": "341 - Itaú Unibanco S.A.",
    "bankBranch": "3739",
    "bankBranchDigit": null,
    "bankAccount": "18658",
    "bankAccountDigit": "7",
    "siteUrl": "https://www.moikana.com.br",
    "isPriceIntegrationBlocked": false,
    "isInventoryIntegrationBlocked": false,
    "isCatalogIntegrationBlocked": false
}

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

Questions

Q: Na integração é possivel excluir SKUs da plataforma sem precisar inativar no catálogo?

R: Agora é possível desativar e não só zerar estoque. Oq ele faz basicamente é jogar para um método que vai trocar a flag de SKU ativado de true pra false e ai vai fazer o update de SKU normal só que desativando o SKU.



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

Comentários