dhl / sdk-api-parcel-de-returns
DHL Parcel DE Returns API SDK
1.1.0
2024-05-24 10:13 UTC
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.0.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: ^10.1.0
- rector/rector: *
- squizlabs/php_codesniffer: ^3.4
This package is auto-updated.
Last update: 2024-08-27 15:41:40 UTC
README
DHL Parcel DE Returns API SDK 包提供了以下网络服务的接口
要求
系统要求
- PHP 8.1+ 并带有 JSON 扩展
包要求
netresearch/jsonmapper
: 将 JSON 响应消息反序列化为 PHP 对象的映射器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
: 静态分析工具fig/log-test
: 用于测试目的的 PSR-3 记录实现squizlabs/php_codesniffer
: 静态分析工具rector/rector
: 自动重构工具,帮助进行 PHP 升级
安装
composer require dhl/sdk-api-parcel-de-returns
卸载
composer remove dhl/sdk-api-parcel-de-returns
测试
./vendor/bin/phpunit -c test/phpunit.xml
功能
DHL Parcel DE Returns API SDK 支持以下功能
- 预订退货标签 (
POST /orders
)
身份验证
DHL Parcel DE Returns API 需要进行两级身份验证(参见 API 用户指南)
- 应用程序 通过在 DHL API 开发者门户 中创建的 Consumer Key Header("API 密钥")提交一个 Consumer Key Header。
- 用户 通过在 DHL 商业客户门户 中配置的凭据通过 HTTP Basic Authentication 进行身份验证。
这些凭据通过 \Dhl\Sdk\ParcelDe\Returns\Api\Data\AuthenticationStorageInterface
传递给 SDK。使用默认实现或创建自己的实现。
预订退货标签
创建一个退货标签 PDF 或一个 QR 码,以便由提交地点(例如邮局)扫描。对于来自欧盟外的退货,还可以请求海关文件。
退货货物的目的地地址通过 Receiver ID 参数确定。退货收件人和其 ID("退货收件人姓名")在 DHL 商业客户门户 的 退货设置 部分中进行配置。更多详细信息请参阅 API 常见问题解答。
公共 API
适用于消费的库组件包括
- 服务
- 服务工厂
- 退货标签服务
- 数据传输对象构建器
- 数据传输对象
- 认证存储
- 带有标签数据的预订确认
使用方法
$authStorage = new \Dhl\Sdk\ParcelDe\Returns\Auth\AuthenticationStorage( 'apiKey', 'user', 'password' ); $logger = new \Psr\Log\NullLogger(); $serviceFactory = new \Dhl\Sdk\ParcelDe\Returns\Service\ServiceFactory(); $service = $serviceFactory->createReturnLabelService($authStorage, $logger, $sandbox = true); $requestBuilder = new \Dhl\Sdk\ParcelDe\Returns\Model\ReturnLabelRequestBuilder(); $requestBuilder->setReceiverId($returnRecipient = 'deu'); $requestBuilder->setShipper( $name = 'Jane Doe', $countryCode = 'DEU', $postalCode = '53113', $city = 'Bonn', $streetName = 'Sträßchensweg', $streetNumber = '2' ); $returnOrder = $requestBuilder->create(); $confirmation = $service->createReturnOrder($returnOrder);