Pierwsza otwartoźródłowa biblioteka PHP do integracji z API spedycyjnym SUUS (Rohlig Logistics). Tworzenie przesyłek, śledzenie statusów, pobieranie etykiet - z pełnym typowaniem.
SUUS (obecnie część Rohlig Logistics) to spedytor i kurier działający w Europie Środkowo-Wschodniej, powszechnie stosowany do przesyłek B2B - zarówno paczek, jak i palet - w Polsce, Niemczech i krajach sąsiednich. Platformy i systemy wysyłające towary przez SUUS muszą komunikować się z ich API.
Problem polega na tym, że SUUS udostępnia stary interfejs SOAP ze skąpą dokumentacją, nieoczywistymi kodami statusów i bez oficjalnego SDK dla PHP. suus-php to pierwsza otwartoźródłowa biblioteka PHP owijająca to API w czysty, nowoczesny interfejs - typowane DTO dla każdego żądania i odpowiedzi, znormalizowany enum statusów przesyłek, tryb sandbox i pełne typowanie na poziomie PHPStan 8.
Dostępna na Packagist, instaluje się jednym poleceniem Composera. Działające tworzenie przesyłki mieści się w mniej niż dziesięciu liniach kodu.
Zlecenia wysyłki buduje się przy użyciu typowanych obiektów PHP - nadawca, odbiorca, wymiary paczki, incoterms. Dane są walidowane lokalnie zanim trafią na serwery SUUS, co pozwala wykryć błędy na wczesnym etapie.
Zdarzenia przesyłki są pobierane i tłumaczone na znormalizowany enum ShipmentStatus - Created, InTransit, Delivered, Failed - zamiast kryptycznych kodów natywnych jak ROZF czy WTRF.
Etykiety wysyłkowe zwracane są jako surowe bajty PDF - format A4 lub termiczny A6. Zlecenia wysyłki i listy załadunkowe dostępne przez ten sam typowany interfejs.
Pełne typowane wsparcie dla usług dodatkowych: pobranie (COD), ubezpieczenie przesyłki, powiadomienia SMS dla odbiorcy i usługa wjazdu windą dla ciężkiego towaru.
Klient można skierować na środowisko sandbox SUUS podczas developmentu. Żadne prawdziwe przesyłki nie są tworzone i nie są potrzebne produkcyjne dane logowania do wstępnych prac integracyjnych.
Każda metoda, DTO i enum jest w pełni typowana. IDE wie dokładnie z czym pracuje - żadnych magicznych tablic, żadnego zgadywania jakie pola wracają w odpowiedzi.
composer require very-code-com/suus-php
$client = SuusClient::sandbox('ws_yourlogin', 'your_password');
$result = $client->createShipment(new ShipmentOrder(
reference: 'ORDER-2025-001',
sender: new Address('Sender GmbH', 'Musterstr.', '1', '10115', 'Berlin', 'DE'),
receiver: new Address('Odbiorca Sp. z o.o.', 'Marszalkowska', '100', '00-026', 'Warszawa', 'PL'),
packages: [new Package(PackageSymbol::EUR, weightKg: 120.0)],
incoterms: Incoterm::DAP,
));
echo $result->shipmentNo; // OPLKRI2600895
echo $result->trackingUrl; // https://portal.suus.com/order-details/OPLKRI2600895
suus-php jest przeznaczona dla programistów PHP integrujących swoją platformę - sklep online, system ERP, narzędzie do zarządzania magazynem lub dowolny niestandardowy przepływ logistyczny - z siecią przewozową SUUS. Dla zespołów wysyłających towar B2B przez SUUS z backendem w PHP, biblioteka eliminuje tygodnie inżynierii wstecznej interfejsu SOAP SUUS z procesu integracji.