lsv / pd-parcelshop-api
PostNord ParcelShop 的 Web 服务
v1.6.2
2019-05-03 10:29 UTC
Requires
- php: ^5.6|^7.0
- ext-json: *
- doctrine/collections: ~1.0
- guzzlehttp/guzzle: ^6.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0|^2.5
- pdepend/pdepend: ^2.0
- phing/phing: ^2.0
- phploc/phploc: ^4.0
- phpmd/phpmd: ^2.0
- phpunit/phpunit: ^5.0
- sebastian/phpcpd: ^3.0
- squizlabs/php_codesniffer: ^3.0
README
从以下方式获取包裹店信息
- 包裹店编号
- 丹麦邮编
- 地址附近
连接
您需要 ApiKey 才能访问 API
通过 Id 获取单个包裹店
<?php require 'vendor/autoload.php'; use Lsv\PdDk\Client; $p = new Client( API_KEY ); $shop = $p->getParcelshop( ZIPCODE , ID ); // Yes zipcode is unfortunately mandatory
如果未找到,则抛出 Exceptions\ParcelNotFoundException
异常
返回 $shop
是一个 Entity\Parcelshop
对象
通过邮编获取包裹店信息
<?php require 'vendor/autoload.php'; use Lsv\PdDk\Client; $p = new Client( API_KEY ); $shops = $p->getParcelshopsFromZipcode( ZIPCODE );
如果没有找到任何包裹店,则抛出 Exceptions\NoParcelsFoundInZipcodeException
异常
返回 $shops
是一个包含 Entity\Parcelshop
的数组
通过地址获取包裹店信息
<?php require 'vendor/autoload.php'; use Lsv\PdDk\Client; $p = new Client( API_KEY ); $shops = $p->getParcelshopsNearAddress( STREET , ZIPCODE, 20 );
第三个参数是您想要的数量
如果地址未知,则抛出 Exceptions\MalformedAddressException
异常
返回 $shops
是一个包含 Entity\Parcelshop
的数组
添加 retry guzzle 客户端
首先使用 composer 安装它
composer require guzzlehttp/retry-subscriber
现在创建我们的客户端
<?php require 'vendor/autoload.php'; use Lsv\PdDk\Client; use GuzzleHttp\Subscriber\Retry\RetrySubscriber; $retry = new RetrySubscriber([ 'filter' => RetrySubscriber::createStatusFilter() ]); $httpClient = new GuzzleHttp\Client(); $httpClient->getEmitter()->attach($retry); $p = new Client($httpClient); $shops = $p->getParcelshopsNearAddress( STREET , ZIPCODE, 20 );