Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
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
  • npm
  • Socket score

Version published
Maintainers
1
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

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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc