loevgaard/consignor-shipment-server-php-sdk

This package is not installable via Composer 1.x, please make sure you upgrade to Composer 2+. Read more about our Composer 1.x deprecation policy.

A PHP SDK for Consignor

v2.0.0 2020-04-16 13:37 UTC

This package is auto-updated.

Last update: 2021-05-16 16:13:45 UTC


README

Latest Version on Packagist Software License Build Status Coverage Status Quality Score

A library for making requests to the Consignor Shipment Server API.

Install

Via Composer

$ composer require loevgaard/consignor-shipment-server-php-sdk

Usage

Here is the example also used on Consignors own page. It submits a shipment and saves the labels as PDF's.

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

$actor = '63';
$key = 'sample';
$env = \Loevgaard\Consignor\ShipmentServer\Client\Client::ENV_DEV;
$client = new \Loevgaard\Consignor\ShipmentServer\Client\Client($actor, $key, [], null, null, $env);

$data = [
    'Kind' => 1,
    'ActorCSID' => $actor,
    'ProdConceptID' => 1032,

    'Addresses' => [
        [
            'Kind' => 2,
            'Name1' => 'Test sender',
            'Street1' => 'Test Address',
            'PostCode' => '0580',
            'City' => 'Oslo',
            'CountryCode' => 'NO'],
        [
            'Kind' => 1,
            'Name1' => 'Ola Testmann',
            'Street1' => 'Test Address 1',
            'PostCode' => '0580',
            'City' => 'Oslo',
            'CountryCode' => 'NO'
        ]
    ],

    'Lines' => [
        [
            'PkgWeight' => 5000,
            'Pkgs' => [
                [
                    'ItemNo' => 1
                ]
            ]
        ]
    ]
];

$options = [
    'Labels' => 'PDF'
];

$request = new \Loevgaard\Consignor\ShipmentServer\Request\SubmitShipmentRequest($data, $options);

/** @var \Loevgaard\Consignor\ShipmentServer\Response\SubmitShippingResponse $response */
$response = $client->doRequest($request);

if ($response->wasSuccessful()) {
    echo "The request was successful, labels saved in: ".getcwd()."\n";
    $response->saveLabels('label-', getcwd());
} else {
    echo "The request was not successful\n";
    print_r($response->getErrors());
}

Framework integration

There is a Symfony bundle available that integrates this SDK:

Testing

$ composer test

License

The MIT License (MIT). Please see License File for more information.