Skip to content

Módulo completo consultar informações sobre o CEP, calcular o preço e os prazos das entregas das encomendas e também realizar o rastreio de multiplos produtos !

License

Notifications You must be signed in to change notification settings

flavioafa/Correios-Brasil

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Correios Brasil -- VERSÃO 2.0.4


Descomplicando os Correios! 📬

Made by Lucas Finoti License

NPM


O que é o Correios Brasil ?

O Correios Brasil é uma ferramenta completa para quem procura facilidade para sua aplicação, otimizando sua loja virtual e seu serviço como: consultar informações sobre o CEP, calcular o preço e os prazos das entregas das encomendas e também realizar seu rastreio tudo em um único lugar, agilizando assim os processos e demandas do dia a dia. Portanto, poupando seu tempo, por isso aproveite o pacote e não esqueça de deixar uma estrela no repositório, obrigado!

Medium storie explicando o pacote.

License

O que o Correios-Brasil é capaz de fazer ?

  • Obter informações de um CEP específico (Em dev: informações de multiplos CEPs);
  • Cálcular preços e prazos para uma entrega (Em dev: informações de multiplas entregas);
  • Rastreio uma ou mais encomendas.

Como instalar

npm install correios-brasil --save
 

Como consultar um CEP

const { consultarCep } = require("correios-brasil");

// Cep pode ser String ou Number
const cep = "21770200"; // 21770200 , '21770-200', '21770 200'.... qualquer um formato serve

consultarCep(cep).then((response) => {
  console.log(response);
});

Resposta

{
  cep: '21770-200',
  logradouro: 'Rua Claudino Barata',
  complemento: '',
  bairro: 'Realengo',
  localidade: 'Rio de Janeiro',
  uf: 'RJ',
  unidade: '',
  ibge: '3304557',
  gia: '' 
}

Como consultar o preço e o prazo de entrega de uma encomenda

const { calcularPrecoPrazo } = require("correios-brasil"); 

let  args = {
  // Não se preocupe com a formatação dos valores de entrada do cep, qualquer uma será válida (ex: 21770-200, 21770 200, 21asa!770@###200 e etc),
  sCepOrigem:  "81200100",
  sCepDestino:  "21770200",
  nVlPeso:  "1",
  nCdFormato:  "1",
  nVlComprimento:  "20",
  nVlAltura:  "20",
  nVlLargura:  "20",
  nCdServico:  "04014",
  nVlDiametro:  "0",
};

calcularPrecoPrazo(args).then((response) => {
  console.log(response);
});

Resposta

{
  Codigo: '04014',
  Valor: '53,10',
  PrazoEntrega: '13',
  ValorSemAdicionais: '53,10',
  ValorMaoPropria: '0,00',
  ValorAvisoRecebimento: '0,00',
  ValorValorDeclarado: '0,00',
  EntregaDomiciliar: 'S',
  EntregaSabado: 'S',
  obsFim: 'O CEP de destino está sujeito a condições especiais de entrega pela ECT e será realizada com o acréscimo de até 7 (sete) dias úteis ao prazo regular.',
  Erro: '011',
  MsgErro: 'O CEP de destino está sujeito a condições especiais de entrega pela ECT e será realizada com o acréscimo de até 7 (sete) dias úteis ao prazo regular.'
}

Como rastrear uma ou mais encomendas

const { rastrearEncomendas } = require('correios-brasil')

let  codRastreio = ['PW639018542BR', 'PW935793588BR'] // array de códigos de rastreios

rastrearEncomendas(codRastreio).then((response) => {
  console.log(response);
});

Resposta

{
  '0': [
    {
      status: 'Objeto postado',
      data: '14/04/2020',
      hora: '14:28',
      local: 'AGF VILA PREL - Sao Paulo / SP'     
    },
    {
      status: 'Objeto encaminhado',
      data: '15/04/2020',
      hora: '09:03',
      origem: 'AGF VILA PREL - Sao Paulo / SP',   
      destino: 'CTE CAJAMAR - Cajamar / SP'       
    },
    {
      status: 'Objeto encaminhado',
      data: '15/04/2020',
      hora: '22:18',
      origem: 'CTE CAJAMAR - Cajamar / SP',       
      destino: 'CTE BENFICA - Rio De Janeiro / RJ'
    },
    {
      status: 'Objeto encaminhado',
      data: '16/04/2020',
      hora: '10:04',
      origem: 'CTE BENFICA - Rio De Janeiro / RJ',
      destino: 'CDD ITAGUAI - Itaguai / RJ'
    },
    {
      status: 'Objeto saiu para entrega ao destinatário',
      data: '17/04/2020',
      hora: '08:06',
      local: 'CDD ITAGUAI - Itaguai / RJ'
    },
    {
      status: 'Objeto entregue ao destinatário',
      data: '17/04/2020',
      hora: '11:12',
      local: 'CDD ITAGUAI - Itaguai / RJ'
    },
    {
      status: 'Objeto entregue ao destinatário',
      data: '17/04/2020',
      hora: '11:12',
      local: 'CDD ITAGUAI - Itaguai / RJ'
    }
  ],
  '1': [
    {
      status: 'Objeto postado após o horário limite da unidade',
      data: '05/05/2020',
      hora: '18:17',
      local: 'AGF CIDADE DAS ROSAS - Sapiranga / RS'
    },
    {
      status: 'Objeto encaminhado',
      data: '05/05/2020',
      hora: '18:29',
      origem: 'AGF CIDADE DAS ROSAS - Sapiranga / RS',
      destino: 'CTCE PORTO ALEGRE - Porto Alegre / RS'
    },
    {
      status: 'Objeto encaminhado',
      data: '09/05/2020',
      hora: '03:05',
      origem: 'CTE CAJAMAR - Cajamar / SP',
      destino: 'CTE BENFICA - Rio De Janeiro / RJ'
    },
    {
      status: 'Objeto encaminhado',
      data: '12/05/2020',
      hora: '13:54',
      origem: 'CTE BENFICA - Rio De Janeiro / RJ',
      destino: 'CDD ITAGUAI - Itaguai / RJ'
    },
    {
      status: 'Objeto saiu para entrega ao destinatário',
      data: '13/05/2020',
      hora: '10:18',
      local: 'CDD ITAGUAI - Itaguai / RJ'
    },
    {
      status: 'Objeto entregue ao destinatário',
      data: '13/05/2020',
      hora: '13:22',
      local: 'CDD ITAGUAI - Itaguai / RJ'
    },
    {
      status: 'Objeto entregue ao destinatário',
      data: '13/05/2020',
      hora: '13:22',
      local: 'CDD ITAGUAI - Itaguai / RJ'
    }
  ]
}

Argumentos para a consulta da API

  • codRastreio - Array[String]

String com o código de rastreio

  • 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/Number

CEP de Origem. Exemplo: 05311900

  • sCepDestino - String/Number

CEP de Destino

  • 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

  • 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

O que está em desenvolvimento ?

  • Receber respostas de multiplas API's e retornar a primeira resposta 🟡.

  • Atualizar o package.json e o README.md 🟢.

👍 Contribuição

Want to contribute? Great!

  1. Fork it

  2. Create your feature branch (git checkout -b my-new-feature)

  3. Commit your changes (git commit -m 'Add some feature')

  4. Push to the branch (git push origin my-new-feature)

  5. Create new Pull Request

License


Apache License 2.0

Copyright (c) 2020 Lucas Finoti

See more about the license

About

Módulo completo consultar informações sobre o CEP, calcular o preço e os prazos das entregas das encomendas e também realizar o rastreio de multiplos produtos !

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%