dhl / sdk-api-unified-location-finder
DPDHL Group Unified Location Finder API SDK
Installs: 209 437
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 9
Forks: 2
Open Issues: 0
Requires
- php: ^8.1.0
- ext-json: *
- netresearch/jsonmapper: ^4.0.0
- php-http/discovery: ^1.17.0
- php-http/httplug: ^2.2.0
- php-http/logger-plugin: ^1.2.1
- psr/http-client: ^1.0.1
- psr/http-client-implementation: ^1.0.0
- psr/http-factory: ^1.0.0
- psr/http-factory-implementation: ^1.0.0
- psr/http-message: ^1.0.0 || ^2.0.0
- psr/http-message-implementation: ^1.0.0 || ^2.0.0
- psr/log: ^1.1.0 || ^2.0.0 || ^3.0.0
Requires (Dev)
- fig/log-test: ^1.1.0
- nyholm/psr7: ^1.0.0
- php-http/mock-client: ^1.5.0
- phpstan/phpstan: ^1.5.0
- phpunit/phpunit: ^9.5 || ^10.0.0
- rector/rector: ^0.15.21
- squizlabs/php_codesniffer: ^3.4
README
The DPDHL Unified Location Finder API SDK package offers an interface to the following web services:
- Location Finder - Unified
Requirements
System Requirements
- PHP 8.1+ with JSON extension
Package Requirements
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
Virtual Package Requirements
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
Development Package Requirements
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 toolrector/rector
: Automatic refactoring tool to help with PHP upgradesfig/log-test
: Test utilities forpsr/log
Installation
$ composer require dhl/sdk-api-unified-location-finder
Uninstallation
$ composer remove dhl/sdk-api-unified-location-finder
Testing
$ ./vendor/bin/phpunit -c test/phpunit.xml
Features
The DPDHL Unified Location Finder API SDK supports the following features:
- Find DHL Service Points for sending and receiving packages.
Public API
The library's components suitable for consumption comprise
- service:
- service factory
- location finder service
- data transfer objects:
- service point location with address, geo coordinates, opening hours specifications
Usage
$consumerKey = 'Your application consumer key'; $logger = new \Psr\Log\NullLogger(); $serviceFactory = new \Dhl\Sdk\UnifiedLocationFinder\Service\ServiceFactory(); $service = $serviceFactory->createLocationFinderService($consumerKey, $logger); try { /** @var \Dhl\Sdk\UnifiedLocationFinder\Api\Data\LocationInterface $locations */ $locations = $service->getPickUpLocations( $countryCode = 'DE', $postalCode = '04129', $city = 'Leipzig', $street = 'Nonnenstraße 11d', $service = 'parcel-eu', $radius = 2000, $limit = 25 ); } catch (\Dhl\Sdk\UnifiedLocationFinder\Exception\ServiceException $e) { // handle errors }
Error handling
The SDK will only ever throw exceptions of type \Dhl\Sdk\UnifiedLocationFinder\Exception\ServiceException
.
Subclasses of ServiceException
may be used to describe the kind of error that occurred.
A \Dhl\Sdk\UnifiedLocationFinder\Exception\DetailedServiceException
indicates that the exception holds a
human-readable error message suitable for display to the end-user.