trudslev/pakkelabels-php-sdk

This package is abandoned and no longer maintained. No replacement package was suggested.

API implementation for pakkelabels.dk v2.

Installs: 25

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 13

Type:project

1.0.0 2017-10-26 06:04 UTC

This package is not auto-updated.

Last update: 2022-09-17 17:11:16 UTC


README

Getting started

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

<?php
    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',
      'shipping_product_id' => '51',
      'services' => '11,12',
      'receiver_mobile' => '004560708090',
      'receiver_email' => 'john@doe.com',
      'test' => 'true' // Change to false when going live
    );

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

You’ll notice that we supply a shipping_product_id and a list of services. In this case, 51 is the ID of “Privatpakke u. omdeling” (without delivery) The service with ID 11 is email notification, and 12 is sms notification.

To find the IDs of the products and services:

<?php
    $data = array(
      'country' => 'DK',
    );
    print_r($label->freight_rates($data));
?>

To find pickup point within a zipcode for a certain shipping agent:

<?php
    $data = array(
      'agent' => 'pdk',
      'zipcode' => '5240',
      'country' => 'DK',
    );
    print_r($label->pickup_points($data));
?>