frete v0.4.8
Frete
Modulo para consumo da API
dos correios de calculo remoto de precos e prazos:
- http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx
- https://www.correios.com.br/atendimento/ferramentas/sistemas/arquivos/manual-de-implementacao-do-calculo-remoto-de-precos-e-prazos/view
Implementação de todos os metodos disponiveis na API, com acessores simples e fáceis. :)
Para ganharmos um pouco de performance, usamos o wsdl salvo no folder ./correios-data/CalcPrecoPrazo.xml
, ao invés de fazermos o request inicial para isso.
Também mantemos uma lista de todos os serviços disponíveis pelos correio em ./correios-data/listaServicos.json
, você pode atualizar essa lista juntamente com as definiçōes de TypeScript rodando o arquivo ./scripts/dump-services.js
Todas as opções do wsdl
estao disponíveis via os mesmos comandos, e os metodos estão disponíveis nos mesmos nomes mas em camelCase
e sem o prefixo Calc
, (e.g. .precoPrazo()
).
Para maiores detalhes de usage, você pode checar os nossos tests em frete.spec.js
Exemplos
Calculo simples de prazo usando promises:
const frete = require('frete');
(async function() {
const results = await frete()
.cepOrigem('13467460')
.servico(frete.servicos.sedex)
.prazo('13466321');
console.log(results);
})();
Calculo simples de prazo:
const frete = require('frete');
frete()
.cepOrigem('13467460')
.servico(frete.servicos.sedex)
.prazo('13466321', function (err, results) {
console.log(err);
console.log(results);
})
Calculo simples de preco:
const frete = require('frete');
frete()
.cepOrigem('13467460')
.peso(1)
.formato(frete.formatos.caixaPacote)
.comprimento(16)
.altura(2)
.largura(11)
.diametro(1)
.maoPropria(frete.maoPropria.nao)
.valorDeclarado(50)
.avisoRecebimento(frete.avisoRecebimento.sim)
.servico(frete.servicos.sedex)
.preco('13466321', function (err, results) {
console.log(err);
console.log(results);
});
Calculo simples de preco e prazo:
const frete = require('frete');
frete()
.cepOrigem('13467460')
.peso(1)
.formato(frete.formatos.caixaPacote)
.comprimento(16)
.altura(2)
.largura(11)
.diametro(1)
.maoPropria(frete.maoPropria.nao)
.valorDeclarado(50)
.avisoRecebimento(frete.avisoRecebimento.sim)
.servico(frete.servicos.sedex)
.precoPrazo('13466321', function (err, results) {
console.log(err);
console.log(results);
});
Default options:
const frete = require('frete');
frete.cepOrigem('13467460').servico([ frete.servicos.sedex, frete.servicos.pac ]);
frete().prazo('13466321', function (err, results) {
console.log(err);
console.log(results);
frete().prazo('13466321', function (err, results) {
console.log(err);
console.log(results);
});
});
Objeto as config / More usages
const frete = require('frete');
frete.cepOrigem('13467460').servico([ frete.servicos.sedex, frete.servicos.pac ]);
frete({
cepDestino: '13466321',
peso: 1,
formato: frete.formatos.caixaPacote,
comprimento: 16,
altura: 2,
largura: 11,
diametro: 1,
maoPropria: frete.maoPropria.nao,
valorDeclarado: 50,
avisoRecebimento: frete.avisoRecebimento.sim
}).prazo(function(err, result) {
console.log(err);
console.log(result);
});
Utilities
const frete = require('frete');
console.log(frete.servicos.list);
console.log(frete.servicos.search('sedex'));
console.log(frete.servicos.byCode[81876]);
Dependency
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
4 years ago
5 years ago
5 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago