PHP code example of t3ko / dpd-pl-api-php
1. Go to this page and download the library: Download t3ko/dpd-pl-api-php 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/ */
t3ko / dpd-pl-api-php example snippets
$login = 'testlogin';
$password = 'testpassword';
$fid = 12345;
$api = new \T3ko\Dpd\Api($login, $password, $fid);
$api->setSandboxMode(true);
$api->setSandboxMode(false);
use \T3ko\Dpd\Request\GeneratePackageNumbersRequest;
/** @var GeneratePackageNumbersRequest $request */
$response = $api->generatePackageNumbers($request);
$singlePackageRequest = GeneratePackageNumbersRequest::fromPackage($package);
$multiplePackagesRequest = GeneratePackageNumbersRequest::fromPackages([$package1, $package2]);
use T3ko\Dpd\Objects\Sender;
use T3ko\Dpd\Objects\Receiver;
use T3ko\Dpd\Objects\Parcel;
use T3ko\Dpd\Objects\Package;
$sender = new Sender(12345, 501100100, 'Jan Kowalski', 'Puławska 1', '02566', 'Warszawa', 'PL');
$receiver = new Receiver(605600600, 'Piotr Nowak', 'Kwiatowa 2', '60814', 'Poznań', 'PL');
$parcel = new Parcel(30, 30, 15, 1.5);
$package = new Package($sender, $receiver, [$parcel]);
$sender = new Sender(
$fid, //numer FID
$phone, //telefon
$name, //imię i nazwisko
$address, //adres
$postalCode, //kod pocztowy
$city, //miasto
$countryCode, //kod kraju
$company, //nazwa firmy (opcjonalnie)
$email //email (opcjonalnie)
);
$receiver = new Receiver(
$phone, //telefon
$name, //imię i nazwisko
$address, //adres
$postalCode, //kod pocztowy
$city, //miasto
$countryCode, //kod kraju
$company, //nazwa firmy (opcjonalnie)
$email //email (opcjonalnie)
);
$parcel = new Parcel(
$sizeX, //szerokość w cm
$sizeY, //wysokość w cm
$sizeZ, //głębokość w cm
$weight, //masa w kg
$reference, //unikalna referencja paczki
$contents, //opis zawartości
$customerNotes //notatka dla kuriera
);
/** @var GeneratePackageNumbersResponse $response */
$response = $api->generatePackageNumbers($request);
/** @var RegisteredPackage[] $packages */
$packages = $response->getPackages()
list($package) = $packages;
/** @var RegisteredParcel[] $parcels */
$parcels = $package->getParcels();
list($parcel) = $parcels;
$parcel->getWaybill(); //numer listu przewozowego, np. 0000092494467Q
use \T3ko\Dpd\Request\GenerateLabelsRequest;
/** @var GenerateLabelsRequest $request */
$response = $api->generateLabels($request);
use \T3ko\Dpd\Request\GenerateLabelsRequest;
$request = GenerateLabelsRequest::fromWaybills(['0000092494467Q']);
use \T3ko\Dpd\Request\GenerateLabelsRequest;
$parcelId = $parcel->getId();
$request = GenerateLabelsRequest::fromParcelIds([$parcelId]);
use \T3ko\Dpd\Request\GenerateLabelsRequest;
$parcelRef = $parcel->getReference();
$request = GenerateLabelsRequest::fromReferences([$parcelRef]);
/** @var GenerateLabelsResponse $response */
$response = $api->generateLabels($request);
$response = $api->generateLabels($request);
$fp = fopen('etykieta.pdf', 'wb');
fwrite($fp, $response->getFileContent());
fclose($fp)
use \T3ko\Dpd\Request\GenerateProtocolRequest;
/** @var GenerateProtocolRequest $request */
$response = $api->generateProtocol($request);
use \T3ko\Dpd\Request\GenerateProtocolRequest;
$request = GenerateProtocolRequest::fromWaybills([...]);
$request = GenerateProtocolRequest::fromParcelIds([...]);
$request = GenerateProtocolRequest::fromReferences([...]);
/** @var GenerateLabelsResponse $response */
$response = $api->generateProtocol($request);
$response->getFileContent()); //treść pliku PDF z protokołem przekazania
$package->setPayerType(\T3ko\Dpd\Objects\Enum\PayerType::THIRD_PARTY());
$package->setThirdPartyFid(123);
use \T3ko\Dpd\Request\CollectionOrderRequest;
$singlePackageRequest = CollectionOrderRequest::fromPackage($package);
$multiplePackagesRequest = CollectionOrderRequest::fromPackages([$package1, $package2]);
use \T3ko\Dpd\Request\CollectionOrderRequest;
/** @var CollectionOrderRequest $request */
$response = $api->collectionOrder($request);
/** @var CollectionOrderResponse $response */
$response = $api->collectionOrder($request);
/** @var CollectionOrderedPackage[] $packages */
$packages = $response->getCollectionOrderedPackages();
list($package) = $packages;
$package->getPackageId(); //identyfikator przesyłki nadany przez DPD
$package->getReference(); //ewentualna referencja klienta nadana wiążąca paczkę z obiektem Package przesłanym w requeście
$package->getParcels(); //tablica obiektów typu CollectionOrderedParcel opisujących zlecona paczki tej przeysyłki
$package->getStatusInfo(); //status tego requestu
$package->getOrderNumber(); //numer zlecenia w systemie DPD
list($parcel) = $package->getParcels();
$parcel->getParcelId(); //identyfikator paczki nadany przez DPD
$parcel->getWaybill(); //numer listu przewozowego dla tej paczki
use \T3ko\Dpd\Request\GetParcelTrackingRequest;
/** @var GetParcelTrackingRequest $request */
$response = $api->getParcelTracking($request);
use \T3ko\Dpd\Request\GetParcelTrackingRequest;
$request = GetParcelTrackingRequest::fromWaybill(...);
use \T3ko\Dpd\Request\GetParcelTrackingRequest;
use T3ko\Dpd\Objects\Enum\TrackingEventsCount;
$request = GetParcelTrackingRequest::fromWaybill('01234567890U', TrackingEventsCount::ALL());
$request = GetParcelTrackingRequest::fromWaybill('01234567890U', TrackingEventsCount::ONLY_LAST());
use \T3ko\Dpd\Response\GetParcelTrackingResponse;
/** @var GetParcelTrackingResponse $response */
$response = $api->getParcelTracking($request);
/** @var GetParcelTrackingResponse $response */
$response = $api->getParcelTracking($request);
foreach ($response->getEvents() as $event) {
printf("%s - %s - %s - %s - %s (%s %s) (%s) %s",
$event->getEventTime()->format(DATE_ATOM), //data zdarzenia
$event->getWaybill(), //numer listu przewozowego
$event->getPackageReference(), //dowolne dane powiązane z przesyłką podane przez wysyłającego
$event->getParcelReference(), //j.w. związane z pojedynczą paczką
$event->getCountry(), //kod kraju operacji
$event->getDepot(), //numer oddziału DPD
$event->getDepotName(), //nazwa oddziału DPD
$event->getBusinessCode(), //kod zdarzenia
$event->getDescription() //opis słowny zdarzenia
);
$eventAdditionalData = [];
if (!empty($event->getAdditionalData())) { //dodatkowe dane zdarzenia
foreach ($event->getAdditionalData() as $additionalData) {
$eventAdditionalData[] = $additionalData->getValue();
}
}
if (!empty($eventAdditionalData)) {
printf(' [%s]', implode(', ', $eventAdditionalData));
}
echo "\n";
}
bash
composer
bash
composer