Código abaixo ainda funciona, mas nem sabia dessa nota mencionada pelo @huandersonmachado não:
// conjunto necessário para simulacao do frete
var items = [{
id: skuid, // sku do item
quantity: $.urlParam('qty'),
seller: $.urlParam('seller')
}];
// O `country` deve ser a sigla de 3 letras do país
var country = localeInfo.CountryCode;
var simulate = vtexjs.checkout.simulateShipping(items, cep, country);
Obrigado mais uma vez por me ajudar… mas esse código já tentei também e não deu certo, segue abaixo meu código e a mensagem que aparece no console.
`
vtexjs.checkout
.getOrderForm()
.then(function (data) {
console.log(data)
let orderform = data
var itemsVtex = orderform.items
var items = []
itemsVtex.forEach(itemvtex => {
var item = {
id: itemvtex.id,
quantity: itemvtex.quantity,
seller: "1"
}
return items.push(item)
})
var postalCodeInput = $("#miniCart-V2-Spping").val();
console.log(items)
var postalCode = postalCodeInput;
console.log(postalCode)
var country = "BRA";
vtexjs.checkout.simulateShipping(items, postalCode, country);
})
.done(function (result) {
console.log(result);
});
`
Mensagem no console:
vtex.js:697 Calling simulateShipping with a list of items and postal code is deprecated.
Call it with shippingData and orderFormId instead.
Cara funcionou, mas o objeto não retorna um valor que esteja batendo com a simulação da vtex e que aparece quando vai fazer o pagamento. Não sei se é o valor sem a cubagem, o fato é que no objeto o valor está um exemplo R$ 2,71 e no carrinho final e simulando dentro da área de administrador sai por R$ 10,26.
Como faço para pegar esse valor?
E dai teria que percorrer todos os valores e depois somar para saber o total? Não tem nenhuma propriedade que já tenha essa informação?
@marketing33 Conseguiu resolver?
Caso não, por acaso a diferença entre o admin (10,26) e a API (2,71), não seria alguma promoção? Pergunto isso, porque o simulador do admin não considera as promoções e a leitura da API considera.
Em relação ao valor total do frete no orderForm, utilize:
Sendo que como uso o objeto da api para calcular o frete, ele não estava atualizando o postalcode e ai quando alterava a quantidade ou fazia qualquer alteração ele voltava a pegar o postalcode antigo.
Até o momento não encontrei erros, qualquer coisa retorno, e muito obrigado galera! @andremiani@huandersonmachado@fabio.santos