/rastreio-correios

Biblioteca que permite o rastreio do objetos dos correios do Brasil

Primary LanguageTypeScript

📦 Rastreio Correios Brasil

Build Status Lint Status release-it

Rastreio correios é uma biblioteca que permite rastrear encomendas dos correios do Brasil

Conteúdo

Funcionalidades

  • Múltiplos serviços de rastreio (Consumimos 2 APIs)
  • Foco em performece (Buscamos a API que retorna mais rápido)
  • Padronização dos retornos das APIs
  • Possibilidade de rastrear mais de 1 encomenda

Instalando

npm i rastreio-correios

Como utilizar

const { rastrear } = require('rastreio-correios');

async myFn(){
  try{
    const result = await rastrear(['XX000000000BR', 'YY000000000BR']);

    // Também é possível passar uma string
    // await rastrear('XX000000000BR');

    console.log(result);
  } catch(error){
    console.log(error);
  }
}

myFn();

Utilizando o ES6

import { rastrear } from 'rastreio-correios';
...

Retorno dos dados

Os dados são sempre retornados em array (mesmo que seja passado apenas 1 código de rastreio);

RastreioResult {
  sucesso: boolean; // sucesso no rastreio
  rastreio: string; // código de rastreio
  responseTime: number; // tempo de resposta em ms
  mensagem?: string; // se houver erro, aqui estará a mensagem
  entregue?: boolean; // se o objeto foi entregue
  // array de eventos do rastreio
  type?: string; // tipo do pacote, por exemplo: PAC, SEDEX, etc.
  eventos?: {
    status: string; // status do evento
    data: string; // data do evento
    hora: string; // hora do evento
    origem?: string; // origem do evento (se existir)
    destino?: string; // destino do evento (se existir)
    local?: string; // local do evento (se existir)
  }[];
}

Validação

A lib possui um validador do formato do código de rastreio, quando o código informado não está de acordo com o padrão dos correios é retornado uma mansagem de erro:

const { rastrear } = require('rastreio-correios');

async myFn(){
  try{
    const result = await rastrear('XXA00000000BR');
    console.log(result);
    // {
    //   sucesso: false,
    //   rastreio: 'XXA00000000BR',
    //   mensagem: 'Código de rastreio inválido',
    //   responseTime: 0
    // }
  } catch(error){
    console.log(error);
  }
}

myFn();

Autor


@fernandonetom