The Shipment Tracking API provides up-to-the-minute shipment status reports. Users of this API can:
- Retrieve tracking information for shipments.
- Identify the Deutsche Post DHL (DPDHL) service provider involved with the shipment.
- Verify DPDHL is using the correct delivery address. This can reduce the number of misdelivered shipments.
- PHP 8.1+ with JSON extension
netresearch/jsonmapper
: Mapper for deserialization of JSON response messages into PHP objectsphp-http/discovery
: Discovery service for HTTP client and message factory implementationsphp-http/httplug
: Pluggable HTTP client abstractionphp-http/logger-plugin
: HTTP client logger plugin for HTTPlugpsr/http-client
: PSR-18 HTTP client interfacespsr/http-factory
: PSR-7 HTTP message factory interfacespsr/http-message
: PSR-7 HTTP message interfacespsr/log
: PSR-3 logger interfaces
psr/http-client-implementation
: Any package that provides a PSR-18 compatible HTTP clientpsr/http-factory-implementation
: Any package that provides PSR-7 compatible HTTP message factoriespsr/http-message-implementation
: Any package that provides PSR-7 HTTP messages
fig/log-test
: PSR-3 logger implementation for testing purposesnyholm/psr7
: PSR-7 HTTP message factory & message implementationphpunit/phpunit
: Testing frameworkphp-http/mock-client
: HTTPlug mock client implementationphpstan/phpstan
: Static analysis toolrector/rector
: Automatic refactoring tool to help with PHP upgradessquizlabs/php_codesniffer
: Static analysis toolsymfony/finder
: file utility for loading pre-recorded web service responses
$ composer require dhl/sdk-api-unified-tracking
$ composer remove dhl/sdk-api-unified-tracking
$ ./vendor/bin/phpunit -c test/phpunit.xml
$ ./vendor/bin/phpstan --level=7 analyze ./src/
$ ./vendor/bin/phpcs --standard=PSR12 src/ test/
The DPDHL Group unified shipment tracking API SDK supports the following features:
- Fetch advanced information about a trackable shipment
Fetch information about shipment status of a trackable shipment no matter which business unit of DHL is actually processing the shipment. Additional search parameters can be provided to narrow down possible search results.
The library's components suitable for consumption comprise
- service:
- service factory
- tracking service
- data transfer objects:
- track information with detailed shipment events
<?php
$consumerKey = 'Your application consumer key';
$logger = new \Psr\Log\NullLogger();
$defaultTimeZone = new \DateTimeZone('Europe/Berlin'); // or date_default_timezone_get()
$trackingNumber = '9876543210';
$serviceFactory = new \Dhl\Sdk\UnifiedTracking\Service\ServiceFactory();
$service = $serviceFactory->createTrackingService($consumerKey, $logger, $defaultTimeZone);
$response = $service->retrieveTrackingInformation($trackingNumber);