Parcel Tracker Api
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 = ;
- ES6 Import
;
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 = 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 = 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 = config; tracker
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 = config; tracker
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 = ; tracker // => ['UPS']
getCarriersList()
- Return all available carriers
- @return {Array} carriers
const tracker = ; tracker // => ['UPS', 'DHL', 'Colissimo', ...]