The DHL Paket Retoure API SDK package offers an interface to the following web services:
- API Retoure
- PHP 7.2+ with JSON extension
php-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
nyholm/psr7
: PSR-7 HTTP message factory & message implementationphpunit/phpunit
: Testing frameworkphp-http/mock-client
: HTTPlug mock client implementationphpstan/phpstan
: Static analysis toolsquizlabs/php_codesniffer
: Static analysis tool
$ composer require dhl/sdk-api-bcs-returns
$ composer remove dhl/sdk-api-bcs-returns
$ ./vendor/bin/phpunit -c test/phpunit.xml
The DHL Paket Retoure API SDK supports the following features:
- Book return labels (
BookLabel
)
Create a return label PDF or QR code to be scanned by a place of committal (e.g. post office). For return shipments from outside of the EU, a customs document can also be requested.
The library's components suitable for consumption comprise of
- service:
- service factory
- return label service
- data transfer object builder
- data transfer objects:
- authentication storage
- booking confirmation with label data
$authStorage = new \Dhl\Sdk\Paket\Retoure\Auth\AuthenticationStorage(
'applicationId',
'applicationToken',
'user',
'signature'
);
$logger = new \Psr\Log\NullLogger();
$serviceFactory = new \Dhl\Sdk\Paket\Retoure\Service\ServiceFactory();
$service = $serviceFactory->createReturnLabelService($authStorage, $logger, $sandbox = true);
$requestBuilder = new \Dhl\Sdk\Paket\Retoure\Model\ReturnLabelRequestBuilder();
$requestBuilder->setAccountDetails($receiverId = 'deu');
$requestBuilder->setShipperAddress(
$name = 'Jane Doe',
$countryCode = 'DEU',
$postalCode = '53113',
$city = 'Bonn',
$streetName = 'Sträßchensweg',
$streetNumber = '2'
);
$returnOrder = $requestBuilder->create();
$confirmation = $service->bookLabel($returnOrder);