Skip to content

📦 Unified shipment tracking data from FedEx, UPS, and USPS APIs.

License

Notifications You must be signed in to change notification settings

anatelli10/ts-shipment-tracking

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ts-shipment-tracking

Unified shipment tracking data from FedEx, UPS, and USPS APIs.

Table of Contents
  1. About
  2. Installation
  3. Usage
  4. Built With
  5. Acknowledgements

About

Returns a unified response from FedEx, UPS, and USPS tracking APIs.

Installation

$ npm install ts-shipment-tracking

Usage

Courier API credentials are stored using dotenv. If you do not have dotenv installed:

$ npm install dotenv

Add the following credentials to your .env file:

FEDEX_KEY=
FEDEX_PASSWORD=
FEDEX_ACCOUNT_NUMBER=
FEDEX_METER_NUMBER=
UPS_ACCESS_LICENSE_NUMBER=
USPS_USER_ID=

Example input:

import 'dotenv/config';
import { TrackingInfo, track, trackByCourier, trackFedex } from 'ts-shipment-tracking';

(async () => {
  const exampleOne: TrackingInfo | undefined = await track('<any_tracking_number>');
  console.log(exampleOne);

  // or

  const exampleTwo: TrackingInfo | undefined = await trackByCourier('ups', '<ups_tracking_number>');
  console.log(exampleTwo);

  // or

  const exampleThree: TrackingInfo | undefined = await trackFedex('<fedex_tracking_number>');
  console.log(exampleThree);
})();

Example output:

{
  events: [
    {
      status: 'IN_TRANSIT',
      label: 'Arrived at FedEx location',
      location: 'LEBANON TN US 37090',
      date: 1616823540000
    },
    ...
  ],
  estimatedDeliveryDate: 1616996340000
}

⚠️ Currently the output will be undefined when the courier api does not have tracking info for the given tracking number or when any error occurs (including courier api not responding). Better error handling will be added in the future.

Statuses:

'UNAVAILABLE'
'LABEL_CREATED'
'IN_TRANSIT'
'OUT_FOR_DELIVERY'
'DELIVERY_ATTEMPTED'
'RETURNED_TO_SENDER'
'EXCEPTION'
'DELIVERED'

Built With

Acknowledgements

About

📦 Unified shipment tracking data from FedEx, UPS, and USPS APIs.

Topics

Resources

License

Stars

Watchers

Forks