discimport/pakkelabels

PHP-SDK to communicate with Pakkelabels.dk

1.1.1 2017-07-23 14:38 UTC

This package is auto-updated.

Last update: 2024-03-25 00:23:42 UTC


README

Build Status Coverage Status Scrutinizer Code Quality Latest Stable Version Total Downloads License

PHP SDK for Pakkelabels.dk API from the Danish shipping service Pakkelabels.dk.

This is a modified version of the officially supported version on Pakkelabels.dk API. This version has composer integration, tests, following PSR2 coding standards and better error handling.

Getting started

Below is a simple PHP script which illustrate the minimum amount of code needed to getting started.

<?php
    use Pakkelabels\Pakkelabels;

    try {
      $label = new Pakkelabels('api_user', 'api_key');
    } catch (PakkelabelsException $e) {
      echo $e->getMessage();
    }
?>

Once the $label object is created, you can begin to use the API.

To see the current balance:

<?php
    echo $label->balance();
?>

To list all Post Danmark shipments sent to to Denmark:

<?php
    $labels = $label->shipments(array('shipping_agent' => 'pdk', 'receiver_country' => 'DK'));
    print_r($labels);
?>

To display the PDF for the shipment ID with 42 inline in the browser:

<?php
    $base64 = $label->pdf(42);
    $pdf = base64_decode($base64);
    header('Content-type: application/pdf');
    header('Content-Disposition: inline; filename="label.pdf"');
    echo $pdf;
?>

To create a test shipment with Post Danmark, and then output the Track&Trace number of the newly created shipment:

<?php
    $data = array(
      'shipping_agent' => 'pdk',
      'weight' => '1000',
      'receiver_name' => 'John Doe',
      'receiver_address1' => 'Some Street 42',
      'receiver_zipcode' => '5230',
      'receiver_city' => 'Odense M',
      'receiver_country' => 'DK',
      'sender_name' => 'John Wayne',
      'sender_address1' => 'The Batcave 1',
      'sender_zipcode' => '5000',
      'sender_city' => 'Odense C',
      'sender_country' => 'DK',
      'delivery' => 'true',
      'test' => 'true' // Change to false when going live
    );

    $shipment = $label->createShipment($data);
    echo 'Track&Trace: ' . $shipment['pkg_no'];
?>

Official library

You can find the official library at Github