lsv/pd-parcelshop-api

Webservice for PostNord ParcelShop

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

This package is auto-updated.

Last update: 2024-11-29 04:52:12 UTC


README

Build Status

Get parcelshops from either

  • A parcelshop number
  • A danish zipcode
  • Nearby an address

Connecting

You will need an ApiKey to get access to the API

You can get the ApiKey here

Get single parcelshop by 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

Throws Exceptions\ParcelNotFoundException if not found

Returns $shop is a Entity\Parcelshop object

Get parcelshops from a zipcode

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

use Lsv\PdDk\Client;

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

Throws Exceptions\NoParcelsFoundInZipcodeException if none found

Returns $shops is a array of Entity\Parcelshop

Get parcelshops near address

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

use Lsv\PdDk\Client;

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

Third argument is how many you want

Throws Exceptions\MalformedAddressException if address is unknown

Returns $shops is a array of Entity\Parcelshop

Add retry guzzle client

First install it with composer

composer require guzzlehttp/retry-subscriber

Now create our client

<?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 );