Request:
vtexjs.checkout.getOrderForm().then(() => vtexjs.checkout.addToCart([{id: 3422, quantity: 1, seller: '1'}]))
Resultado:
O que estou fazendo errado?
Request:
vtexjs.checkout.getOrderForm().then(() => vtexjs.checkout.addToCart([{id: 3422, quantity: 1, seller: '1'}]))
Resultado:
O que estou fazendo errado?
Me parece que está certo.
O erro continua?
Abra um chamado neste caso
@Victor Hugo Schmidt
Veja se esse exemplo te ajuda? o addToCart tem mais parametros para passar no vtexJs.... o básico é nesse formato que vc está tentando mesmo.
var item = {
id: 26,
quantity: 1,
seller: 1
};
vtexjs.checkout.addToCart([item])
.done(function(orderForm) {
alert('Item adicionado!');
console.log(orderForm);
});
https://github.com/vtex/vtex.js/tree/master/docs/checkout#addtocartitems-expectedorderformsections-saleschannel
****explicação mais completa no gitHub
OBS:
"id do item" é o idSku do seu ambiente ai...
Mais estranho é que semana passada, na sexta feira, quando o mesmo foi implementado, estava adicionando itens ao carrinho normalmente. Segunda feira parou de funcionar.
Outros erros que aparecem junto do console:
O último erro ali representa o erro no qual comento sobre.
@Nathan Prestes Chamado aberto.
Eu executei esse seu comando em outras lojas e funcionou, possivelmente é algo com o Catalogo ou com a Politica Comercial, talvez não é o padrão SC=1, ai tem que declarar no addToCart, conforme está no gitHub.
Se eu tento passar (ex: item,null,2) dá erro 400 bad request em uma loja que usa SC=1. Veja se é isso no seu caso ou Declara dessa forma para testar.
Bem pensado, mas nossa loja é em sc=1
Já tentei dessa forma, infelizmente sem resultado :(
@Victor Hugo Schmidt Conseguiu resolver o problema?
@Douglas araujo Sim.
só via chamado? consegue passar mais detalhes, algumas lojas estão enfrentando o msm problema.
Acontece que trabalho com multi-lojas, ao inserir um item no carrinho, eu precisava especificar a política comercial da loja na qual o código estava rodando. No meu caso deveria escrever assim:
vtexjs.checkout.getOrderForm().then(() => vtexjs.checkout.addToCart([{id: 3422, quantity: 1, seller: '1'}], null, 6))
6 é a política comercial da minha loja, por não colocar valor nenhum, o método addToCart assumiu outra política, no caso, a política 1. Assim gerando o erro acima.
Entendi, obrigado, infelizmente não é o erro que estamos enfrentando, valeu!!
Pessoa, boa noite. Adicionei mais um seller em minha loja e meu carrinho só funciona para os meus produtos. Eu pesquisei bastante e consegue chegar neste cenário:
Não sei como deixar a aopção para o scripit de add ao carrinho, usar ambos os sellers:
$(this).parent().find("input").val();var t={id:$(this).parents("li").find(".SKU .first input.insert-sku-checkbox").attr("rel"),quantity:"1",seller:"1"};
No script acima, eu gostaria de nao limitar ao Seller: 1, pois tenho outros sellers. Já tentei usar a string, mas nao consegui.
A mesma coisa neste trecho:
t="/checkout/cart/add?sku="+e.parents("li").find(".skus li.ativo").attr("rel")+"&qty=1&seller=1&seller=1&redirect=false&sc=1";$("#ajaxBusy").fadeIn(),
- Eu tentei suistibuir o numero "1" por "ID_SELLER" mas nao funcionou