slince/shipment-tracking-dhl-ecommerce

A flexible and shipment tracking library for DHL eCommerce.

1.0.0 2017-07-28 01:37 UTC

This package is not auto-updated.

Last update: 2020-10-23 05:41:23 UTC


README

Build Status Coverage Status Latest Stable Version Scrutinizer

A flexible and shipment tracking library for DHL eCommerce and DHL eCommerce(Registered)

Installation

Install via composer

$ composer require slince/shipment-tracking-dhl-ecommerce

Basic Usage

$tracker = new Slince\ShipmentTracking\DHLECommerce\DHLECommerceTracker(CLIENT_ID, PASSWORD);

try {
   $shipment = $tracker->track('CNAQV100168101');
   
   if ($shipment->isDelivered()) {
       echo "Delivered";
   }
   echo $shipment->getOrigin();
   echo $shipment->getDestination();
   print_r($shipment->getEvents());  //print the shipment events
   
} catch (Slince\ShipmentTracking\Exception\TrackException $exception) {
    exit('Track error: ' . $exception->getMessage());
}

The above code will get access token automatically for shipment information.

Access Token

$shipment = $tacker->track('CNAQV100168101);
$accessToken = $tracker->getAccessToken(); //You can save this for the next query

//... to do

try{
    $tracker->setAccessToken($accessToken); //Set the access token; the tracker will not send requst for the access token
    $shipment = $tacker->track('CNAQV100168101);
} catch (Slince\ShipmentTracking\DHLECommerce\Exception\InvalidAccessTokenException $exception) {
     $accessToken = $tracker->getAccessToken(true); // If the access token is invalid, refresh it.
     $shipment = $tacker->track('CNAQV100168101);
     //... to do
} catch (Slince\ShipmentTracking\Exception\TrackException $exception) {
    exit('Track error: ' . $exception->getMessage());
}

License

The MIT license. See MIT