You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

parcel-tracker-api

Package Overview
Dependencies
Maintainers
1
Versions
8
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

parcel-tracker-api

Parcel tracker for Node.js

1.2.0
latest
Source
npmnpm
Version published
Weekly downloads
13
225%
Maintainers
1
Weekly downloads
 
Created
Source

Parcel Tracker Api

npm version download

Parcel tracker for Node.js

Installation

Using npm:

npm install parcel-tracker-api

Supported carrier

  • DHL
  • UPS
  • Colissimo
  • Chronopost
  • Royal Mail

Usage

  • Node.js
const Tracker = require('parcel-tracker-api');
  • ES6 Import
import {Tracker} from "parcel-tracker-api";

API

Tracker configuration

You can configure the tracker by using a TrackerConfig object.

Api keys

Many carriers needs a api key to use their API's. You need to put them in the config object !.

Example:

const config = {
    apiKeys: {
        laPoste: 'API_KEY', // For Colissimo and Chronopost API
        DHL: 'API_KEY',
        royalMail: 'CLIENT_ID;CLIENT_SECRET',
    }
};

const tracker = new Tracker(config);

Disable CORS

Many carrier api's do not support CORS, which can be a problem if we want to use the API on front-end applications.

To bypass this problem you can use the enableCrossOrigin. With this option requests may be longer than expected, it's because a proxy to put CORS headers is used.

Example:

const config = {
    enableCrossOrigin: true,
};

const tracker = new Tracker(config);

getTrackingInformations(trackingNumber, carrier[, config])

  • Return tracking informations for a given tracking number and carrier
    • @param {string} trackingNumber: Tracking number
    • @param {string} carrier: Carrier name
    • @param {TrackerConfig} config: Tracking configaration can be optionnal
    • @return {ParcelInformations} parcel's informations
const config = {
    apiKeys: {
        DHL: 'API_KEY'
    }
};

const tracker = new Tracker(config);

tracker.getTrackingInformations('TRACKING_NUMBER', 'DHL').then((response) => {
    // DO WORK
})

You can use a specific tracker configuration for a unique request, it will override the default one

const defaultConfig = {
    apiKeys: {
        DHL: 'API_KEY'
    }
};

const specificOne = {
    enableCrossOrigin: true
};

const tracker = new Tracker(config);

tracker.getTrackingInformations('TRACKING_NUMBER', 'DHL', specificOne).then((response) => {
    // DO WORK
})

ParcelInformations

{
    //  Carrier used to get data
    carrier: string;

    // True if the parcel is delivered
    isDelivered: boolean;

    // Tracking events
    events: ParcelEvent[];

    // Tracker number
    trackingNumber: string;

    // The last status provided by the carrier
    status?: string;

    // Date of the last event
    lastUpdate?: Date;

    // Date of the first event
    entryDate?: Date;

    // Raw response from the api
    raw: any;
}

ParcelEvent

{
    // Label of the event
    label: string;
    
    // Event's date
    date: Date;
    
    // Event's location if it provided by the carrier
    location?: string;
}

getCarrier(trackingNumber)

  • Return the possible carriers for a given tracking number
    • @param {string} trackingNumber: Tracking number
    • @return {Array} possible carriers founds
const tracker = new Tracker();

tracker.getCarrier('1Z9999999999999999') // => ['UPS']

getCarriersList()

  • Return all available carriers
    • @return {Array} carriers
const tracker = new Tracker();

tracker.getCarriersList() // => ['UPS', 'DHL', 'Colissimo', ...]

License

MIT

Keywords

parcel

FAQs

Package last updated on 03 May 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts