sylapi/courier

v3.0.0 2024-03-13 09:51 UTC

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();