A flexible and shipment tracking library for DHL eCommerce and DHL eCommerce(Registered)
Install via composer
$ composer require slince/shipment-tracking-dhl-ecommerce
$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.
$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());
}
The MIT license. See MIT