rsemenyshyn/dhl-sdk-api-returns

DHL 包裹退回 API SDK,已修改以兼容 PHP 5.6

dev-master 2021-08-11 09:19 UTC

This package is auto-updated.

Last update: 2024-09-11 15:51:23 UTC


README

DHL 包裹退回 API SDK 包提供了以下网络服务接口

  • API 退回

要求

系统要求

  • PHP 5.6+ 且带有 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 rsemenyshyn/dhl-sdk-api-returns

卸载

$ composer remove rsemenyshyn/dhl-sdk-api-returns

测试

$ ./vendor/bin/phpunit -c test/phpunit.xml

特性

DHL 包裹退回 API SDK 支持以下特性

退回标签服务

创建 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 = 'DE');
$requestBuilder->setShipperAddress(
    $name = 'Jane Doe',
    $countryCode = 'DE',
    $postalCode = '53113',
    $city = 'Bonn',
    $streetName = 'Sträßchensweg',
    $streetNumber = '2'
);

$returnOrder = $requestBuilder->create();
$confirmation = $service->bookLabel($returnOrder);