Correios Brasil -- VERSÃO 2.2.2


Descomplicando os Correios! 📬

Made by Lucas Finoti License

[![NPM](https://nodei.co/npm/correios-brasil.png?mini=true)](https://www.npmjs.com/package/correios-brasil/)


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 ?

Como instalar

npm install correios-brasil --save

Typescript

Por padrão essa bibilioteca inclui uma definição de tipo para o Typescript. Para utilizá-la, basta importar da seguinte maneira.

import {calcularPrecoPrazo, consultarCep, rastrearEncomendas} from 'correios-brasil';

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',
  ibge: '3304557',
  gia: '',
  ddd: '21',
  siafi: '6001'
}

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', '04510'], //Array com os códigos de serviço
  nVlDiametro: '0',
};

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

Resposta

[
  {
    Codigo: '04014',
    Valor: '53,10',
    PrazoEntrega: '8',
    ValorSemAdicionais: '53,10',
    ValorMaoPropria: '0,00',
    ValorAvisoRecebimento: '0,00',
    ValorDeclarado: '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.',
  },
  {
    Codigo: '04510',
    Valor: '27,80',
    PrazoEntrega: '13',
    ValorSemAdicionais: '27,80',
    ValorMaoPropria: '0,00',
    ValorAvisoRecebimento: '0,00',
    ValorDeclarado: '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

[
  [
    {
      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 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',
      },
    ];
]

Argumentos para a consulta da API

String com o código de rastreio

Código do serviço:

CEP de Origem. Exemplo: 05311900

CEP de Destino

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

Formato da encomenda (incluindo embalagem)

Comprimento da encomenda (incluindo embalagem), em centímetros

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

Largura da encomenda (incluindo embalagem), em centímetros

Diâmetro da encomenda (incluindo embalagem), em centímetros

Indica se a encomenda será entregue com o serviço adicional mão própria

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

Indica se a encomenda será entregue com o serviço adicional mão própria

O que está em desenvolvimento ?

:recycle: Como contribuir

:memo: Licença

Apache License 2.0

Copyright (c) 2020 Lucas Finoti

See more about the license

💪 Contribuidores

br><sub>@jonabf1</sub br><sub>@francopan</sub

🚀 Autor

br><sub>@finotilucas</sub