lsv/pd-parcelshop-api

PostNord ParcelShop 的 Web 服务

v1.6.2 2019-05-03 10:29 UTC

This package is auto-updated.

Last update: 2024-08-29 04:08:49 UTC


README

Build Status

从以下方式获取包裹店信息

  • 包裹店编号
  • 丹麦邮编
  • 地址附近

连接

您需要 ApiKey 才能访问 API

您可以从这里获取 ApiKey

通过 Id 获取单个包裹店

<?php
require 'vendor/autoload.php';

use Lsv\PdDk\Client;

$p = new Client( API_KEY );
$shop = $p->getParcelshop( ZIPCODE , ID );
// Yes zipcode is unfortunately mandatory

如果未找到,则抛出 Exceptions\ParcelNotFoundException 异常

返回 $shop 是一个 Entity\Parcelshop 对象

通过邮编获取包裹店信息

<?php
require 'vendor/autoload.php';

use Lsv\PdDk\Client;

$p = new Client( API_KEY );
$shops = $p->getParcelshopsFromZipcode( ZIPCODE );

如果没有找到任何包裹店,则抛出 Exceptions\NoParcelsFoundInZipcodeException 异常

返回 $shops 是一个包含 Entity\Parcelshop 的数组

通过地址获取包裹店信息

<?php
require 'vendor/autoload.php';

use Lsv\PdDk\Client;

$p = new Client( API_KEY );
$shops = $p->getParcelshopsNearAddress( STREET , ZIPCODE, 20 );

第三个参数是您想要的数量

如果地址未知,则抛出 Exceptions\MalformedAddressException 异常

返回 $shops 是一个包含 Entity\Parcelshop 的数组

添加 retry guzzle 客户端

首先使用 composer 安装它

composer require guzzlehttp/retry-subscriber

现在创建我们的客户端

<?php
require 'vendor/autoload.php';

use Lsv\PdDk\Client;
use GuzzleHttp\Subscriber\Retry\RetrySubscriber;

$retry = new RetrySubscriber([
    'filter' => RetrySubscriber::createStatusFilter()
]);

$httpClient = new GuzzleHttp\Client();
$httpClient->getEmitter()->attach($retry);

$p = new Client($httpClient);
$shops = $p->getParcelshopsNearAddress( STREET , ZIPCODE, 20 );