Carrinho / Simulação de Frete
Primeiro é necessário instanciar o objeto MagazineLuizaAPI
, passando o seu ID:
const magazineLuiza = new MagazineLuizaAPI('000');
Consultar frete de um novo carrinho
Após isso, use o método calculateShipping()
em order
, passando os dados do carrinho que será criado:
magazineLuiza.order.calculateShipping(cart);
O objeto cart
deve ter as seguintes informações:
const cart = {
sessionKey: 0,
cpf: '911.850.433-73',
cep: '17120-000',
products: [{
id: '2083101',
model: '00',
quantity: 1
},{
id: '0235175',
model: '00',
quantity: 1
}]
};
sessionKey
deve ser 0
quando estiver criando um novo carrinho. Em CPF, deve ser passado 11
dígitos para o CPF e, se for um CNPJ, deve-se passar os 14
digítos correspondentes. Não há problemas em passar caracteres especiais, desde que tenha os 11
ou 14
dígitos.
products
deve ser um array de produtos. Cada produto deve ser um objeto com id
, model
e quantity
.
Consultar frete para um carrinho existente
Utilize os mesmos campos do objeto cart
acima, mas passe sessionKey
com a chave do carrinho a ser consultado.
Esse método retorna uma Promise. O resultado da Promise é um objeto no formato:
{
"cep": "17120000",
"cpf": "91185043373",
"deliveryDate": "",
"deliveryTime": "0",
"message": "Existe(m) produto(s) do carrinho que est\u00e1 (\u00e3o) sem estoque",
"partnerId": "0000",
"products": [
{
"available": false,
"id": "2083101",
"model": "00",
"quantity": 1,
"stock": 1
},
{
"available": false,
"id": "0235175",
"model": "00",
"quantity": 1,
"stock": 1
}
],
"sessionKey": "1861737",
"shippingValueBrl": "0",
"shippingValueCurrency": "0",
"status": 1
}
Tipos e referências de valores do objeto retornado com a API
{
sessionKey: <String | Number> Chave_sessao,
cpf: <String> CPF,
partnerId: <String> IdResgateCampanha,
cep: <String> CEP,
shippingValueBrl: <String> Valor_Frete,
shippingValueCurrency: <String> Valor_Frete_Moeda,
deliveryTime: <String> Prazo,
deliveryDate: <String> Data_Entrega,
status: <Number> idStatus,
message: <String> Mensagem,
products: <Array> ListaProdutos.Produto [
{
id: <String> Codigo,
model: <String> Modelo,
quantity: <Number> Quantidade,
available: <Boolean> Liberado,
stock: <Number> Estoque
}
]
}