3.0.2 • Published 5 years ago

node-correios v3.0.2

Weekly downloads
390
License
MIT
Repository
github
Last release
5 years ago

Correios Node.js

Build Status npm

NPM

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 - String

    	Có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 - String

    	CEP de Origem sem hífen. Exemplo: **05311900**
  • sCepDestino - String

    	CEP de Destino sem hífen
  • nVlPeso - String

    	Peso 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 - Inteiro

    	Formato da encomenda (incluindo embalagem)
    	- 1 = Formato caixa/pacote
    	- 2 = Formato rolo/prisma
    	- 3 = Envelope
  • nVlComprimento - Decimal

    	Comprimento da encomenda (incluindo embalagem), em centímetros
  • nVlAltura - Decimal

    	Altura da encomenda (incluindo embalagem), em centímetros. Se o formato for envelope, informar zero (0)
  • nVlLargura - Decimal

    	Largura da encomenda (incluindo embalagem), em centímetros
  • nVlDiametro - Decimal

    	Diâmetro da encomenda (incluindo embalagem), em centímetros
Não obrigatórios
  • nCdEmpresa - String

    	Seu código administrativo junto à ECT. O código está disponível no corpo do contrato firmado com os Correios
  • sDsSenha - String

    	Senha 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 - String

    	Indica se a encomenda será entregue com o serviço adicional mão própria
    	- S = sim
    	- N = não **PADRÃO**
  • nVlValorDeclarado - Decimal

    	Indica se a encomenda será entregue com o serviço adicional valor declarado. Neste campo deve ser apresentado o valor declarado desejado, em Reais
  • sCdAvisoRecebimento - String

    	Indica 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

twitter/vitorleal
Vitor Leal

Licença

Veja LICENSE.txt

3.0.2

5 years ago

3.0.1

5 years ago

3.0.0

5 years ago

2.2.0

5 years ago

2.1.1

8 years ago

2.1.0

8 years ago

2.0.6

9 years ago

2.0.5

9 years ago

2.0.4

9 years ago

2.0.3

9 years ago

2.0.2

9 years ago

2.0.1

9 years ago

2.0.0

9 years ago

0.1.9

9 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago