dhl / sdk-api-bcs-returns
DHL 包裹退回 API SDK
2.1.2
2023-03-27 09:23 UTC
Requires
- php: ^7.2.0 || ^8.0.0
- ext-json: *
- php-http/discovery: ^1.10.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
- psr/http-message-implementation: ^1.0.0
- psr/log: ^1.1.0
Requires (Dev)
- nyholm/psr7: ^1.0.0
- php-http/mock-client: ^1.5.0
- phpstan/phpstan: ^1.10.0
- phpunit/phpunit: ^8.0.0 || ^9.0.0
- squizlabs/php_codesniffer: ^3.4
README
DHL 包裹退回 API SDK 包提供以下网络服务的接口
- API 退回
要求
系统要求
- PHP 7.2+ 并带有 JSON 扩展
包要求
php-http/discovery
: HTTP 客户端和消息工厂实现的发现服务php-http/httplug
: 可插拔的 HTTP 客户端抽象php-http/logger-plugin
: HTTPlug 的 HTTP 客户端日志插件psr/http-client
: PSR-18 HTTP 客户端接口psr/http-factory
: PSR-7 HTTP 消息工厂接口psr/http-message
: PSR-7 HTTP 消息接口psr/log
: PSR-3 日志接口
虚拟包要求
psr/http-client-implementation
: 任何提供 PSR-18 兼容 HTTP 客户端的包psr/http-factory-implementation
: 任何提供 PSR-7 兼容 HTTP 消息工厂的包psr/http-message-implementation
: 任何提供 PSR-7 HTTP 消息的包
开发包要求
nyholm/psr7
: PSR-7 HTTP 消息工厂 & 消息实现phpunit/phpunit
: 测试框架php-http/mock-client
: HTTPlug 模拟客户端实现phpstan/phpstan
: 静态分析工具squizlabs/php_codesniffer
: 静态分析工具
安装
$ composer require dhl/sdk-api-bcs-returns
卸载
$ composer remove dhl/sdk-api-bcs-returns
测试
$ ./vendor/bin/phpunit -c test/phpunit.xml
特性
DHL 包裹退回 API SDK 支持以下特性
- 预订退回标签 (
BookLabel
)
退回标签服务
创建退回标签 PDF 或 QR 码,以便承诺地点(例如邮局)扫描。对于来自欧盟以外的退回货物,还可以请求海关文件。
公共 API
适用于消费的库组件包括
- 服务
- 服务工厂
- 退回标签服务
- 数据传输对象构建器
- 数据传输对象
- 认证存储
- 带有标签数据的预订确认
用法
$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);