To niewielki projekt integracyjny oparty o InPost ShipX API. Jego rdzeniem jest przeplyw:
- utworzenie przesylki kurierskiej
inpost_courier_standard - polling statusu przesylki do momentu
confirmed - utworzenie
dispatch_order, czyli zamowienia odbioru przez kuriera
Projekt dostal tez warstwe prezentacji, zeby mozna bylo pokazac go pracodawcy bez przechodzenia od razu do kodu CLI.
- PHP 8.1+
- Composer
- token API InPost do trybu live
composer install
cp .env.example .envW pliku .env uzupelnij:
PACZKOMATY_INPOST_APITOKEN=your_real_api_token_here
PACZKOMATY_INPOST_ORGANIZATIONID=1111Zgodnie z instrukcja InPost ShipX:
- Zaloguj sie do Managera Paczek.
- Przejdz do
Moje Konto. - Upewnij sie, ze uzupelnione sa:
- dane adresowe firmy
- dane do faktury
- Otworz panel zarzadzania dostepami API.
- W sekcji
API ShipXkliknijGeneruj. - Jesli masz numer klienta z umowy kurierskiej, zaznacz odpowiednia opcje i podaj ten numer. Jesli chcesz dostep tylko do uslug paczkomatowych, generuj bez numeru klienta.
- Po wygenerowaniu dostepu:
- w
Ustawienia organizacjiznajdzieszID organizacji - w sekcji
API ShipXznajdzieszToken
- w
Mapowanie do .env:
PACZKOMATY_INPOST_ORGANIZATIONID=<ID organizacji>
PACZKOMATY_INPOST_APITOKEN=<Token API ShipX>Uwagi:
- token
Geowidgetnie jest potrzebny w tym projekcie - webhook z panelu InPost nie jest wymagany dla obecnej wersji integracji
- dla jednej organizacji mozna wygenerowac do 10 tokenow ShipX
Zrodlo: Instrukcja konfiguracji API ShipX
Uruchom lokalny serwer PHP:
php -S localhost:8080 -t publicNastepnie otworz http://localhost:8080.
Ekran prezentacyjny wspiera dwa tryby:
demopokazuje symulowany, ale realistyczny przebieg integracjilivewykonuje realne requesty do sandboxowego ShipX, jesli w.envjest poprawny token- kody pocztowe dla
sender,receiveridispatchsa walidowane oraz normalizowane do formatu00-000
Projekt ma gotowy docker-compose.yaml z php-fpm i nginx.
Uruchomienie:
cp .env.example .env
docker compose up --build -d
docker compose exec -T php composer installShowcase bedzie dostepny pod adresem:
http://localhost:8090
Mozesz tez uruchomic go przez workspace Nx:
cd /home/marek/Projekty/portfolio/bitbucket
npm run nx -- run inpostapi:buildTryb demonstracyjny:
php create_shipment.phpTryb live:
php create_shipment.php --live