sylapi / courier
Courier
Installs: 14 145
Dependents: 10
Suggesters: 0
Security: 0
Stars: 0
Watchers: 3
Forks: 2
Open Issues: 0
Requires
- php: >=8.2.0
Requires (Dev)
- phpstan/phpstan: ^1.10
- phpunit/phpunit: ^10.4
README
Courier library
Installation
Courier to install, simply add it to your composer.json
file:
{ "require": { "sylapi/courier": "~1.0" } }
Utworzenie obiektu i autoryzacja
$courier = new Courier('GLS'); $courier->sandbox(true); $courier->setLogin('123456'); $courier->setPassword('abc12345def');
Wybór dostawdy w przypadku pośrednika przesyłek
Gdy korzystamy z pośrednika np. Olza, należy przekazać nazwę przewoźnika, który ma dostarczyć przesyłkę. W innych wypadakch poniższy parametr nie jest wymagany.
$courier->setProvider('GLS');
Adres wysyłkowy, dostawy oraz parametry przesyłki
$address = [ 'name' => 'Name Lastname', 'company' => 'Company Name', 'street' => 'Street 123/2A', 'postcode' => '12-123', 'city' => 'Warszawa', 'country' => 'PL', 'phone' => '602602602', 'email' => 'name@example.com' ]; $courier->setSender($address); $courier->setReceiver($address); ## Walidacja danych Istnieje możliwość weryfikacji poprawności wczytanych adresów. ```php $courier->validateAddress('sender') $courier->validateAddress('receiver'); $validateData = $courier->validateData();
Podanie danych o przesyłce oraz opcje dodatkowe
Wszystkie wymiary paczki podawane są w centymetrach, waga w kilogramach. Paramtery "custom", są niestandardowymi danymi, które są potrzebne do obsługi wybranego dostawcy.
$courier->setOptions([ 'weight' => 3.00, 'width' => 30.00, 'height' => 50.00, 'depth' => 10.00, 'amount' => 2390.10, 'cod' => true, 'custom' => [ 'parcel_cost' => 8, ], 'references' => 'order #4567', 'note' => 'Note' ]); // Dodanie nazwy parcelshop $courier->setParcelShop('ZGO01N');
Dodawanie opcji dodatkowych
- SAT : dostawa w sobotę
- H10 : Dostawa do godziny 10:00
- H12 : Dostawa do godziny 12:00
$courier->setService('SAT');
Dane do przesyłki i generowanie etykiery:
if ($validateData->isSuccess()) { $package = $courier->CreatePackage(); if ($package->isSuccess()) { $result = $package->getResponse(); } }
Pobranie etykiety
$label = $courier->getLabel([ 'tracking_id' => $result['tracking_id'], 'custom_id' => $result['custom_id'], 'format' => 'A6' ]); $tracking_label = $label->getResponse();