ts-shipment-tracking

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

Usage no npm install needed!

<script type="module">
  import tsShipmentTracking from 'https://cdn.skypack.dev/ts-shipment-tracking';
</script>

README

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
}

Statuses:

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

Built With

Acknowledgements