node-correios
v3.0.2
Published
Node.js module for the Brazilian mail service, Correios
Downloads
566
Maintainers
Readme
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