O que pode fazer com que itens sejam removidos do carrinho durante a navegação?

Quando o cliente coloca produtos no carrinho, toda vez que retorna à Home os itens são removidos do carrinho.

Isso não é normal, deve ter alguma customização na loja que está fazendo isso, provavelmente chamando alguma API do Checkout. Você consegue compartilhar a URL da loja para tentarmos replicar o comportamento?

https://www.minipreco.com.br/

Ainda não terminei minha investigação, mas notei que o orderFormId da página muda toda vez que a Home é carregada. Esse comportamento não acontece em outras páginas do site, o que me faz acreditar que algo no template da Home está causando isso.

Experimenta abrir o Chrome DevTools e filtrar os requests por “order”. Você vai notar que todo carregamento de página está fazendo duas chamadas POST para:

https://www.minipreco.com.br/api/checkout/pub/orderForm?refreshOutdatedData=true

A imagem abaixo é o que você deve tentar replicar no seu browser para ver isso:

Quando você navega de uma página de produto para uma de página de categoria, ou então do checkout para uma página de produto, o orderFormId continua o mesmo. Somente ao carregar a home é que isso muda.

@georgebrindeiro, realmente é isso.
O dev que desenvolveu a loja deixou um script no template da home. Removi esse script e resolveu.

Muito obrigado!

1 Like

Só pra deixar registrado: o problema era que o script do template da Home tentava criar o cookie CookieScriptConsent conforme abaixo:

{"firstpage":"` `https://www.minipreco.com.br/` `","action":"accept","categories":"[\"unclassified\",\"functionality\"]"}`

Não se armazena nada além de ASCII básico em cookies. A documentação Por que os Cookies não suportam caracteres especiais do Help Center fala disso.

Nessa tentativa de armazenar um JSON completo, o cookie CookieScriptConsent impediu que o cookie checkout.vtex.com fosse carregado. Sem ele, a chamada para a API do Checkout retornava um novo carrinho.

Mais do que isso, não se armazena nada em cookies, exceto você tenha a necessidade deles chegarem até o servidor por trás do domínio. Importante evitar esse tipo de solução!

:warning: De forma geral, qualquer cookie não criado pela VTEX (terceiros como tags de marketing, JS custom) são um risco grande à loja, porque se fugir do esquadro quebra a navegação!

1 Like

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.