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 >
Nova Regra >

Realizei o mesmo procedimento para as outras politicas comerciais.

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.
- 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:
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}}
- 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.
- 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:
- “Price” para validar seo sku possui preço válido;
- “Sla” para validar se há algum retorno de SLA para o sku no CEP indicado;
- “Stockbalance” para validar se o sku possui estoque;
- “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.
Comentários