dhl/sdk-api-location-finder

DHL 提货/投递地点搜索

1.0.0 2020-01-27 14:11 UTC

This package is auto-updated.

Last update: 2024-08-28 20:22:44 UTC


README

DHL 地点查找 API SDK 包提供了对 DHL Standortsuche 的接口。使用此 SDK,您可以获取指定地址或一组坐标周围的 DHL 包裹箱、包裹站和邮政局列表。

SDK 当前使用 DHL Standortsuche Deutschland API 来检索位置,尽管这可能在未来的版本中发生变化。您可以在 https://entwickler.dhl.de/group/ep/wsapis/standortsuche 找到 DHL Standortsuche Deutschland API 的开发者文档。

需求

系统要求

  • PHP 7.0+ 且带有 SOAP 扩展

包需求

  • psr/log: PSR-3 日志接口

开发包需求

  • phpunit/phpunit: 测试框架

安装

$ composer require dhl/sdk-api-location-finder

卸载

$ composer remove dhl/sdk-api-location-finder

测试

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

特性

SDK 提供以下服务方法

  • getPickUpLocations
    • 从指定地址找到 15 公里半径内的提货地点。
  • getPickUpLocationsByCoordinate
    • 从指定坐标找到 15 公里半径内的提货地点。
  • getDropOffLocations
    • 从指定地址找到 15 公里半径内的投递地点。
  • getDropOffLocationsByCoordinate
    • 从指定坐标找到 15 公里半径内的投递地点。

使用示例

$sandboxMode = false;
$serviceFactory = new \Dhl\Sdk\LocationFinder\Service\ServiceFactory();
$service = $serviceFactory->createLocationFinderService(
    'appId',
    'appToken',
    new \Psr\Log\NullLogger(),
    $sandboxMode
);

try {
    /** @var \Dhl\Sdk\LocationFinder\Api\Data\LocationInterface $locations  */
    $locations = $service->getPickUpLocations(
        'DE',
        '04129',
        'Leipzig',
        'Nonnenstraße',
        '11d'
    );
} catch (\Dhl\Sdk\LocationFinder\Exception\ServiceException $e) {
    // handle errors
}

foreach ($locations as $location) {
    echo $location->getName();
    echo $location->getType();
    echo $location->getLatitude();
    echo $location->getLongitude();
    // ...
}

错误处理

SDK 只会抛出类型为 \Dhl\Sdk\LocationFinder\Exception\ServiceException 的异常。可以用于描述发生的错误类型的 ServiceException 的子类。

\Dhl\Sdk\LocationFinder\Exception\DetailedServiceException 表示异常包含一个适合显示给最终用户的可读错误消息。