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.
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'];
?>
You can find the official library at Github