loevgaard / consignor-shipment-server-php-sdk
A PHP SDK for Consignor
v2.0.0
2020-04-16 13:37 UTC
Requires
- php: ~7.1
- ext-json: *
- beberlei/assert: ^2.9
- kriswallsmith/buzz: ^1.1
- nyholm/psr7: ^1.2
- psr/http-message: ^1.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.0
- phpunit/phpunit: ^6.0
This package is auto-updated.
Last update: 2024-11-17 00:04:22 UTC
README
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.