PHP code example of szymsza / ppl-create-package-label-api
1. Go to this page and download the library: Download szymsza/ppl-create-package-label-api library . Choose the download type require .
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
szymsza / ppl-create-package-label-api example snippets
$clientId = 'XXX';
$clientSecret = 'YYY';
$development = true;
$ppl = new PPL($clientId, $clientSecret, $development);
var_dump($ppl->versionInformation());
var_dump($ppl->getSwagger());
var_dump($ppl->requestJson('codelist/product?limit=50&offset=0'));
// Initialize the label batch
$batchUrl = $ppl->requestHeader('shipment/batch', 'post', [
"labelSettings" => [
"format" => "Pdf",
"completeLabelSettings" => [
"isCompleteLabelRequested" => true,
"pageSize" => "A4"
]
],
"shipments" => [
[
"referenceId" => "fe125c3a-3a36-487b-9e2b-e8919910ff63",
"productType" => "BUSS",
"sender" => [
"street" => "Novoveská 1262/95",
"city" => "Ostrava",
"zipCode" => "70900",
"country" => "CZ",
"phone" => "+420777888999",
"email" => "[email protected] "
],
"recipient" => [
"street" => "Františka a Anny Ryšových 1168",
"city" => "Ostrava-Svinov",
"zipCode" => "72100",
"country" => "CZ",
"phone" => "+420666777888",
"email" => "[email protected] "
]
]
],
"shipmentsOrderBy" => "ShipmentNumber"
]);
// Wait for the label to be created on the server
// Note - you probably want to use some smarter solution on production...
do {
sleep(1);
// Get the batch result
$batchStatus = $ppl->requestJson($batchUrl);
} while ($batchStatus->items[0]->importState !== "Complete");
// Save the two types of labels for the first shipment
$bigLabelUrl = $ppl->relativizeUrl($batchStatus->completeLabel->labelUrls[0]);
$singleLabelUrl = $ppl->relativizeUrl($batchStatus->items[0]->labelUrl);
file_put_contents("big.pdf", $ppl->request($bigLabelUrl)->getBody()->getContents());
file_put_contents("single.pdf", $ppl->request($singleLabelUrl)->getBody()->getContents());