node-correios v3.0.2
Correios Node.js
Módulo de Node.js que utilizar a API SOAP dos Correios para calcular frete de envio e buscar endereço pelo CEP. API dos Correios
Como instalar
npm install node-correios --save
Como utilizar o calculo de frete
let Correios = require('node-correios');
let correios = new Correios();
correios.calcPreco(args)
.then(result => {
console.log(result);
})
.catch(error => {
console.log(error);
});
Respostas
Com sucesso:
[{
Codigo: 40010,
Valor: '23,30',
ValorMaoPropria: '0,00',
ValorAvisoRecebimento: '0,00',
ValorValorDeclarado: '0,00',
Erro: '0',
MsgErro: {}
}]
Com erro:
[{
Codigo: 40215,
Valor: '0',
ValorMaoPropria: '0',
ValorAvisoRecebimento: '0',
ValorValorDeclarado: '0',
Erro: '008',
MsgErro: 'Serviço indisponível para o trecho informado.',
ValorSemAdicionais: '0'
}]
Para consultar mais de um serviço na mesma requisição, basta passar vários códigos de serviço, separados por vírgula,
para o parâmetro nCdServico
(ver descrição dos parâmetros abaixo). Neste caso, o array da resposta conterá um objeto
por cada código informado, sendo que alguns podem apresentar erro e outros podem ter tido sucesso.
let args = {
nCdServico: '40010,41106,40215',
// demais parâmetros ...
}
correios.calcPreco(args)
.then(result => {
console.log(result);
})
.catch(error => {
console.log(error)
});
[{
Codigo: 40010,
Valor: '24,10',
ValorMaoPropria: '0,00',
ValorAvisoRecebimento: '0,00',
ValorValorDeclarado: '0,00',
Erro: {},
MsgErro: {},
ValorSemAdicionais: '24,10'
},{
Codigo: 41106,
Valor: '16,80',
ValorMaoPropria: '0,00',
ValorAvisoRecebimento: '0,00',
ValorValorDeclarado: '0,00',
Erro: {},
MsgErro: {},
ValorSemAdicionais: '16,80'
},{
Codigo: 40215,
Valor: '0',
ValorMaoPropria: '0',
ValorAvisoRecebimento: '0',
ValorValorDeclarado: '0',
Erro: '008',
MsgErro: 'Serviço indisponível para o trecho informado.',
ValorSemAdicionais: '0'
}]
Métodos
Os métodos implementados são: calcPreco e calcPrecoPrazo
correios.calcPreco(args);
correios.calcPrecoPrazo(args);
Para executar o comando tem que enviar os campos obrigatórios. Para mais detalhes e informações veja o PDF da API dos correios
Obrigatórios
nCdServico
- StringCódigo do serviço: - 04014 = SEDEX à vista - 04065 = SEDEX à vista pagamento na entrega - 04510 = PAC à vista - 04707 = PAC à vista pagamento na entrega - 40169 = SEDEX12 ( à vista e a faturar) - 40215 = SEDEX 10 (à vista e a faturar) - 40290 = SEDEX Hoje Varejo
sCepOrigem
- StringCEP de Origem sem hífen. Exemplo: **05311900**
sCepDestino
- StringCEP de Destino sem hífen
nVlPeso
- StringPeso da encomenda, incluindo sua embalagem. O peso deve ser informado em quilogramas. Se o formato for Envelope, o valor máximo permitido será 1 kg
nCdFormato
- InteiroFormato da encomenda (incluindo embalagem) - 1 = Formato caixa/pacote - 2 = Formato rolo/prisma - 3 = Envelope
nVlComprimento
- DecimalComprimento da encomenda (incluindo embalagem), em centímetros
nVlAltura
- DecimalAltura da encomenda (incluindo embalagem), em centímetros. Se o formato for envelope, informar zero (0)
nVlLargura
- DecimalLargura da encomenda (incluindo embalagem), em centímetros
nVlDiametro
- DecimalDiâmetro da encomenda (incluindo embalagem), em centímetros
Não obrigatórios
nCdEmpresa
- StringSeu código administrativo junto à ECT. O código está disponível no corpo do contrato firmado com os Correios
sDsSenha
- StringSenha para acesso ao serviço, associada ao seu código administrativo. A senha inicial corresponde aos 8 primeiros dígitos do CNPJ informado no contrato
sCdMaoPropria
- StringIndica se a encomenda será entregue com o serviço adicional mão própria - S = sim - N = não **PADRÃO**
nVlValorDeclarado
- DecimalIndica se a encomenda será entregue com o serviço adicional valor declarado. Neste campo deve ser apresentado o valor declarado desejado, em Reais
sCdAvisoRecebimento
- StringIndica se a encomenda será entregue com o serviço adicional mão própria - S = sim - N = não **PADRÃO**
Como utilizar a buscar por CEP
let Correios = require('node-correios');
let correios = new Correios();
correios.consultaCEP({ cep: '00000000' })
.then(result => {
console.log(result);
})
.catch(error => {
console.log(error;)
});
Resposta
{
bairro: 'Ipanema',
cep: '22421030',
localidade: 'Rio de Janeiro',
logradouro: 'Rua Redentor',
uf: 'RJ'
}
Testes unitários
Para rodas os testes unitários:
$ npm test
Autor
Vitor Leal |
Licença
Veja LICENSE.txt
6 years ago
6 years ago
6 years ago
6 years ago
9 years ago
9 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
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago