Pedido (Checkout)
Efetuar o checkout de um carrinho
Primeiro é necessário instanciar o objeto MagazineLuizaAPI
, passando o seu ID:
const magazineLuiza = new MagazineLuizaAPI('000');
Após isso, use o método checkout()
em order
, passando os dados da compra:
magazineLuiza.order.checkout(order);
Esse método deve ser usado somente após a simulação do frete, com o carrinho já criado.
O objeto order
deve ter as seguintes informações:
{
sessionKey: '0000000',
cpf: '91185043373',
cep: '17120000',
address: {
street: 'Rua Miguel Mentem',
number: '100',
complement: 'Sala 2',
district: 'Vila Guilherme',
city: 'São Paulo',
state: 'SP',
referency: 'Próximo à algum lugar'
},
phone: {
ddd: '11',
number: '999991234'
},
name: 'Maria Antonieta Silva',
email: '[email protected]',
stateRegistration: 'ISENTO',
partnerOrderNumber: '1188856'
};
sessionKey
deve ser a chave recebida do método calculateShipping()
. 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.
sessionKey
, cpf
e cep
vêm do retorno do método calculateShipping()
. O parâmetro stateRegistration
deve ser passado como ISENTO
se um CPF for utilizado no campo cpf
. Caso o campo cpf
receba um CNPJ, o número da Inscrição Estadual deve ser passado em stateRegistration
.
Esse método retorna uma Promise. O resultado da Promise é um objeto no formato:
{
"address": {
"street": "Rua Miguel Mentem",
"number": "100",
"complement": "Sala 2",
"district": "Vila Guilherme",
"city": "S\u00e3o Paulo",
"state": "SP"
},
"phone": {
"ddd": "11",
"number": "999991234"
},
"cep": "02050010",
"cpf": "01010101078",
"deliveryForecast": "07/10/2015 00:00:00",
"email": "[email protected]",
"message": "Opera\u00e7\u00e3o realizada com sucesso",
"orderNumber": "20656901",
"orderTotalValueBrl": "29.90",
"orderTotalValueCurrency": "29.90",
"partnerId": "000",
"products": [
{
"available": true,
"id": "2033019",
"model": "00",
"quantity": 1,
"stock": 1,
"valueBrl": "29.90",
"valueCurrency": "29.90"
}
],
"quantityItems": 1,
"sessionKey": "1188856",
"shippingValueBrl": "5.15",
"shippingValueCurrency": "5.15",
"status": 0,
"valueBrl": "35.05",
"valueCurrency": "35.05"
}
Tipos e referências de valores do objeto retornado com a API
{
address: {
street: <String> Endereco,
number: <String> Numero,
complement: <String> Complemento,
district: <String> Bairro,
city: <String> Cidade,
state: <String> Estado
},
phone: {
ddd: <String> DDD,
number: <String> Telefone
},
cep: <String> CEP,
cpf: <String> CPF,
sessionKey: <String> Chave_sessao,
email: <String> Email,
partnerId: <String> IdResgateCampanha,
message: <String> Mensagem,
orderNumber: <String> Pedido,
deliveryForecast: <String> Previsao,
quantityItems: <Number> Quantidade_itens,
shippingValueBrl: <String> Valor_Frete ,
shippingValueCurrency: <String> Valor_Frete_Moeda,
valueCurrency: <String> Valor_Moeda,
valueBrl: <String> Valor_Reais,
orderTotalValueBrl: <String> Valor_Tot_Produto,
orderTotalValueCurrency: <String> Valor_Tot_Produto_Moeda,
status: <Number> idStatus,
products: <Array> ListaProdutos.Produto [
{
id: <String> Codigo,
model: <String> Modelo,
stock: <Number> Estoque,
available: <Boolean> Liberado,
quantity: <Number> Quantidade,
valueCurrency: <String> valor_moeda_produto,
valueBrl: <String> valor_reais_produto
}
]
}