slonline/dhl-express-sdk-api

与DHL Express网络服务进行API通信。

v0.1.4 2021-06-30 12:56 UTC

This package is auto-updated.

Last update: 2024-09-29 06:03:00 UTC


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。