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.

Mercado Livre - FAQ Interno

ESSE É UM FAQ PARA USO EXCLUSIVAMENTE INTERNO.

Este FAQ tem como objetivo indicar soluções para problemas que podem surgir na Integração com o Mercado Livre. Este artigo está dividido em 2 seções: "Questions" e "Investigations"

QUESTIONS | ORDERS


Q: Por que os pedidos no MELi aparecem a mensagem no bridge: "Não é possível integrar esse pedido, pois ele foi criado manualmente no Mercado Livre. A plataforma VTEX recomenda fazer migração de anuncios para receber todos os pedidos da VTEX afim de manter as vendas, reputação e a posição orgânica de seus anúncios. Pedido: XXXXXXXXX
A: Essa mensagem foi ajustada para Warning no bridge, pois não é efetivamente um erro, mas um aviso que o a VTEX não pode importar o pedido pois o anúncio não foi criado pela VTEX.

Q: É possível receber as informações de parcelamento dos pedidos feitos no marketplace. No admin só aparece o valor inteiro, mesmo se o pedido for parcelado no marketplace (14/09/2021)
A: Por enquanto não trazemos essa informação de parcelamento do MELI, teria que entender com o Meli se é possível e se for o caso teria que ser implementado 

QUESTIONS | TRACKING

 

QUESTIONS | PRODUCTS


Q: Por que alguns skus retornan erro na integração?“Your authorization code or refresh token may be expired or it was already used.”
A: O token pode expirar no Mercado Livre por alguns motivos, um deles é a mudança de senha no painel do cliente. Para corrigir, é necessário deletar o card de configuração e refazer todo o processo, inclusive a etapa de autenticação.

Q: Por que alguns skus retornan erro “ProductId not found.”
A: Os skus que não estiverem com as flags “Mostrar produto esgotado” e “Exibir no site” ativas nas configurações de catálogo, não serão integrados no Mercado Livre.

QUESTIONS | SETTINGS

Q: É possível termos uma tabela de frete específica na VTEX para o Mercado Livre?  Posso fazer algo misto, como Mercado Envios para algumas categorias e frete dinâmico para outras?
A: A tabela de frete é subida diretamente no Mercado Livre, ele consulta de acordo com o que você preenche nela. Sobre fazer algo "misto" não é possivel, o FD funciona como uma camada acima da planilha, ele consulta todos os anúncios e retorna o frete. Caso de algum problema nessa consulta, ele retorna o que está na planilha.

Q: Estou recebendo o seguinte erro “Object Reference not set to an instance of an object.”
A: Essa mensagem de erro geralmente está relacionada a um problema no código. Uma das verificações a serem feitas antes de abrir um chamado com o time de Connections é validar se o país cadastrado na política comercial setada para o Mercado Livre é um país em que o Mercado Livre opera.

Q: Por que não consigo salvar meu card de configuração? Mensagem de erro: Erro! Ação com Erro!
A: Para identificar a origem da mensagem de erro, é preciso verificar o response via devTools. Exemplo, para o caso do erro: "Nome do afiliado não pode ser repetido" é preciso remover o afiliado do Meli, nas configurações de afiliado, e salvar a configuração novamente.

mceclip4.png

 

INVESTIGATIONS | PRODUCTS


Cenário: "Estoque/Preço não estão sendo atualizados"
Como Investigar: O Fluxo de atualização de preço e estoque nos funciona assim:

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

1. Primeira metade do fluxo = Merch(preço) ou Logistics(Catálogo)
2. 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

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}} workflow_instance={{idSku}} workflow_type=NotifyAffiliatesAboutInventoryChangeAsync


Se for preço, pesquisar pela seguinte query:

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


1. 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).

2. Caso esse log esteja apontando para um endpoint diferente de “http://meliintegration.vtexinternal.com/api/meliintegration/commercialcondition?an={{accountName}}&lt=gold_pro” para o caso de Meli Premium ou “http://meliintegration.vtexinternal.com/api/meliintegration/commercialcondition?an={{accountName}}&lt=gold_special” para o caso de Meli Classic é 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 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 do Mercado Livre, é preciso verificar nos logs do splunk o envio dessa informação:
Se for estoque, pesquisar pela seguinte query:

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


Se for preço, pesquisar pela seguinte query:

index=meliintegration 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

1. Caso esse log esteja com um valor diferente do cadastrado no admin da VTEX ou no módulo de Pricing, é necessário buscar o log da simulação de fulfillment para analisar quais as informações de estoque e preço foram repassadas para a integração no momento da atualizaçã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.

Para buscar esse log, é necessário buscar pela seguinte query no exato momento do log anterior (UpdateStockAsync / UpdatePriceAsync): index=meliintegration account={{accountName}} workflow_instance={{skuId}} workflow_type=GetInfoAsync 

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.

Cenário: "Sku não integra. Mensagem de erro: “The attributes [BRAND, MODEL] are required for category MLBXXXX”
Como Investigar: Essa mensagem significa que a categoria na qual o cliente está mapeando aquele sku exige o mapeamento de Marca e Modelo. Essas informações devem estar presentes na planilha de mapeamento e, para o caso de Modelo, nas especificações do sku. Formato de exemplo:

mceclip0.png

Cenário: "Sku não integra. Mensagem de erro: “Items in category MLXXXX cannot exceeds Y pictures.”
Como Investigar: Essa mensagem está relacionada com o seguinte comportamento da integração:
Existe o elemento principal do anúncio e ele contém as variações (que são os skus na VTEX). Sempre que um produto possui variações, todas as suas imagens são adicionadas nesse elemento principal.

Acontece que cada categoria tem sua especificação de quantidade de imagens que podem ser adicionadas.

Exemplo, para o caso da categoria MLA3697 são somente 12 imagens permitidas para esse elemento principal. Veja no link as condições dessa categoria:

https://api.mercadolibre.com/categories/MLA3697

mceclip1.png
Caso o sku esteja respeitando o limite de imagens e ainda assim apresenta esse erro, é necessário abrir um chamado com o time de Connections, apresentando as evidências mencionadas.

Cenário: "Sku não integra. Mensagem de erro: “Sku não integrado pois o mesmo não possui descrição.”
Como Investigar: Essa mensagem está relacionada com o seguinte comportamento da integração. Para os skus novos, ao enviarmos para o Meli a sua descrição o fluxo é:

1. Procurar se ele possui uma especificação de produto chamada plaintext_description_meli, se possuir enviamos ela como descrição;
2. Procurar se ele possui um template de Mercado Livre, se possuir enviamos ele como descrição (para garantir que o template está funcional, verificar se ele aparece no preview).
3. Procurar se ele possui uma descrição no catálogo, se possuir enviamos ela como descrição.
4. Caso não possua nenhum dos passos anteriores (ou eles estejam com erro), logamos o erro no Bridge de "Sku não integrado pois o mesmo não possui descrição." e o sku não é enviado.

Cenário: Por qual motivo meu anúncio BuyBox possui uma imagem diferente?
Como Investigar: Nos anúncios BuyBox não controlamos a imagem que aparece, justamente porque o mesmo item é vendido por mais de uma loja, essa informação vem do próprio Meli.

Para identificar se o anúncio é do tipo BuyBox, utilzar a seguinte API:
Se o campo “catalog_listing”=True então é um anúncio BuyBox.

GET https://api.mercadolibre.com/items/{{idAnúncio}}?include_attributes=all


Cenário: Sku enviado sem as informações de dimensões.
Como Investigar: Primeiro, é preciso analisar se, de fato, essas informações não foram enviadas pela integração. Para isso utilize essa query no splunk:

index=meliintegration account={{accountName}} workflow_instance={{skuId}} workflow_type={{ExportStockKeepingUnitAsync}}

Em seguida, analise a evidência do último envio do sku em questão no campo “dimensions”. 

Caso este campo esteja preenchido, é preciso que o cliente entre em contato com o Meli para entender porque não estão mostrando as informações que foram enviadas.

Caso este campo não esteja preenchido, é preciso analisar se o campo “shipping_mode“ está preenchido com os valores “me1”, “me2” ou os dois. Se este campo estiver como “not_specified” é preciso orientar o cliente a ajustar essa informação pelo lado do Meli e, após o ajuste, forçar o reenvio do sku.

mceclip2.png

Sku não integra. Mensagem de erro: Mensagem de erro Mercado Livre: {
"message":"seller.unable_to_list",
"error":"User is unable to list.",
"status":403,"cause":["phone_pending"]
}

Este erro significa que os  dados cadastrais na plataforma do Mercado Livre ainda não foram aprovados pela equipe. Ou então, que os dados cadastrais ainda não foram preenchidos por completo. (exemplo: Endereço incorreto, telefone etc).

Como Resolver?
Neste caso o Seller deve conferir se todos os dados estão cadastrados corretamente na plataforma do Mercado Livre. Assim que estiver tudo preenchido, reindexar a base para integrar os produtos novamente.

Cadastro esta correto e o erro continua?
Encaminhar um ticket para analise com o time de Connections.

Revisão dados cadastrais - Mercado Livre

mceclip0.png

INVESTIGATIONS | ORDERS


Cenário: Pedidos com erro de SLA ou sku sem estoque
Como investigar: 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 Connections, sendo imprescindível constar no ticket a simulação de fullfilment realizada e os detalhes identificados na análise.

Cenário:
Por que meus pedidos estão caindo na tabela de contingência em vez do frete VTEX?
Como Investigar: Ao calcular o frete de um pedido a integração faz uma simulação de fulfillment. Esse retorno demora, geralmente, 200ms. O Mercado Livre possui um limite de tempo de espera de 400ms e se o retorno da simulação ultrapassar esse tempo o frete será através da tabela de contingência. Geralmente, esse tempo é longo quando a operação logística da account é complexa (ex: muitas transportadoras cadastradas).

Para verificar o tempo de retorno, utilizar a seguinte API de 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
}'


Cenário:
Pedido não aparece no bridge da VTEX. 
Como Investigar: Antes de iniciar a investigação, é necessário frisar que para o Mercado Livre, os pedidos na VTEX são identificados através do ShippmentId e não do OrderId.

É necessário verificar, primeiramente, se há algum erro no splunk. Utilizar a seguinte query:

index=meliintegration account={{accountName}} {{orderId}} OR {{shippmentId}}


Caso não tenha erros evidentes (como tokens expirados, por exemplo) é necessário validar como está o pedido via API. Para isso é necessário a informação de OrderId.

API de GET order:

GET https://{{accountName}}.vtexcommercestable.com.br/api/meliintegration/order/internal/v2/{{orderId}}?lt=gold_special 


Nessa API é necessário analisar se o pedido possui o campo “Shipping” preenchido com um Id válido. (Isso só se aplicar para pedidos que não são do tipo Pick-up-poiny)

Casos em que o pedido não possui shipping (como na imagem abaixo), geralmente ocorrem quando o seller deixa habilitado no Meli a opção de entrega "Entrega a combinar". Segundo nossos artigos do help essa opção faz com que os pedidos não sejam integrados na VTEX:

https://help.vtex.com/tutorial/mercado-livre-faq--3w4IgSgKZOocGee8cgSWW0

mceclip3.png


Cenário: Pedido aparece duplicado (com id de afiliado diferente) na account e subaccount.
Como Investigar: Antes de inicar a investigação é necessário validar se o pedido da subaccount está aparecendo na account (ou vice-versa) mas com Id's de afiliado diferentes. Se o Id de afiliado for igual, o pedido não está duplicado, é apenas uma configuração de visualização do OMS entre as contas.

No cenário do Id ser diferente:
O fluxo de integração do pedido leva em consideração, basicamente, 3 informações principais para saber de qual conta o pedido pertence:

  • UserId
  • Token
  • Official_store_id

Se o officialStoreId do pedido (verificado diretamente na API de anúncio) não for o mesmo officialStoreId do storeConfig, a integração recoloca-o na fila de pedidos para ser consumido posteriormente por outra account, no caso a subaccount. Assim, pode ocorrer do pedido ficar duplicado.

 

INVESTIGATIONS | PRODUCTS


Cenário: Por que não consigo salvar meu Id de loja oficial? Mensagem de erro: Erro! Ação com Erro!
Como Investigar: Para identificar se o Id de loja oficial é válido, é preciso analisar a origem da mensagem de erro.

  1. Verificar o response do request de salvar as configurações em “DevTools” -> Network.
  2. Caso a mensagem seja “Invalid Official Store Id” verificar se o User Id conectado aquele Official store Id é o mesmo cadastrado na VTEX. Para isso, utilizar as seguintes APIs:

    API de configuração:
GET https://{{accountName}}.vtexcommercestable.com.br/api/meliintegration/store?lt={{listing_type}}

Obter a informação do “userId”

API de users:

GET https://api.mercadolibre.com/users/{{userId}}/brands

Obter a informação do Id da Loja oficial:
1. Se o userId estiver diferente daquele linkado ao Id da Loja oficial, é preciso repassar para o cliente o verdadeiro Id.
2. Se o userId estiver realmente linkado ao Id da loja oficial, é necessário abrir um chamado com o time de Connections, repassando as informações das APIs mencionadas.

Cenário: Rastreamento de pedidos MELI, abaixo as informações que são necessárias por tipo de logística:
Como Investigar: Cross_docking, Xd_drop_off, Self_service
- Shipment status: ready_to_ship
- Shipment SubStatus: invoice_pending
- Cfop preenchido
- InvoiceKey preenchido
- EmbeddedInvoice preenchido

Fulfillment
- Shipment SubStatus: invoice_pending
- EmbeddedInvoice preenchido

Drop_off
- EmbeddedInvoice preenchido
- Shipment Status: ready_to_shipdefault

Custom
- EmbeddedInvoice preenchido

 



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

Comentários