slonline / dhl-express-sdk-api
与DHL Express网络服务进行API通信。
v0.1.4
2021-06-30 12:56 UTC
Requires (Dev)
- phpstan/phpstan: ^0.12.2
- phpunit/phpunit: ^7.0.0
- squizlabs/php_codesniffer: ^3.4
README
描述
此库允许扩展开发者准备和解析DHL Express API通信的消息,并提供收集请求数据的功能。
此库源自Netresearch DTT GmbH的dhl/sdk-api-express。
要求
- PHP >= 7.1
- DHL Express客户账户能够访问生产端点(可选沙箱环境)
安装说明
composer require slonline/dlh-express-sdk-api
卸载
composer remove slonline/dlh-express-sdk-api
功能
DHL Express运输API SDK支持以下功能
- 检索运费
- 创建运单
- 带有出口项目的运单创建
运费
运费请求将返回DHL的产品能力(产品、服务、预计配送时间)和价格(如适用)。
公共API
适合消费的库组件包括
- 服务
- 服务工厂
- 计费服务
- 数据传输对象构建器
- 数据传输对象
- 计费请求
- 计费响应
用法
$logger = new \Psr\Log\NullLogger(); $serviceFactory = new SoapServiceFactory(); $service = $serviceFactory->createRateService('api-user', 'api-pass', $logger); $requestBuilder = new RateRequestBuilder(); $requestBuilder->setIsUnscheduledPickup($isUnscheduledPickup); $requestBuilder->setShipperAccount($accountNumber); $requestBuilder->setShipperAddress($countryCode, $postalCode, $city, $etc); $requestBuilder->setRecipientAddress($countryCode, $postalCode, $city, $etc); $requestBuilder->setWeightUOM($weightUOM); $requestBuilder->setDimensionsUOM($dimensionsUOM); $requestBuilder->setTermsOfTrade($termsOfTrade); $requestBuilder->setContentType($contentType); $requestBuilder->setReadyAtTimestamp($readyAtTimestamp); $requestBuilder->addPackage($weight, $weightUom, $length, $width, $height, $dimensionsUom, $readyAtDate); $requestBuilder->setInsurance($insuranceValue, $insuranceCurrency); $request = $requestBuilder->build(); $response = $service->collectRates($request);
运单
装运请求操作将允许您生成AWB号码和件ID,生成运单,将装运详情传输给DHL,并可选择预订快递员进行装运取件。
公共API
适合消费的库组件包括
- 服务
- 服务工厂
- 装运服务
- 数据传输对象构建器
- 数据传输对象
- 装运请求
- 装运响应
用法
$logger = new \Psr\Log\NullLogger(); $serviceFactory = new SoapServiceFactory(); $service = $serviceFactory->createShipmentService('api-user', 'api-pass', $logger); $requestBuilder = new ShipmentRequestBuilder(); $requestBuilder->setIsUnscheduledPickup($unscheduledPickup); $requestBuilder->setTermsOfTrade($termsOfTrade); $requestBuilder->setContentType($contentType); $requestBuilder->setReadyAtTimestamp($readyAtTimestamp); $requestBuilder->setNumberOfPieces($numberOfPieces); $requestBuilder->setCurrency($currencyCode); $requestBuilder->setDescription($description); $requestBuilder->setServiceType($serviceType); $requestBuilder->setPayerAccountNumber($accountNumber); $requestBuilder->setInsurance($insuranceValue, $insuranceCurrency); $requestBuilder->setShipper($countryCode, $postalCode, $city, $streetLines, $name, $company, $phone); $requestBuilder->setRecipient($countryCode, $postalCode, $city, $streetLines, $name, $company, $phone); $requestBuilder->setDryIce($unCode, $weight); $requestBuilder->addPackage($sequenceNumber, $weight, $weightUOM, $length, $width, $height, $dimensionsUOM, $customerReferences); $request = $requestBuilder->build(); $response = $service->createShipment($request);
开发者
Lubos Odraska | SLONline, s.r.o Christoph Aßmann | Netresearch GmbH & Co. KG | @mam08ixo
许可
有关许可详情,请参阅LICENSE.md。