Program magazynowy WMS.net

Integracja WMS z kurierami przez API - etykiety i przesyłki

Jak połączyć magazyn z kurierami przez API: zlecenie przesyłki z etykietą ZPL lub PDF oraz numerem śledzenia, a potem odbiór paczek z protokołem przekazania.

Opublikowano · Aktualizacja
www.programmagazyn.pl/integracje/
Futurystyczna drukarka drukująca etykiety magazynowe
Futurystyczna drukarka drukująca etykiety magazynowe
W skrócie

Jak połączyć magazyn z kurierami przez API: zlecenie przesyłki z etykietą ZPL lub PDF oraz numerem śledzenia, a potem odbiór paczek z protokołem przekazania.

Etykieta kurierska to ostatni dokument, który powstaje w magazynie przed wyjazdem paczki. Gdy powstaje w API przewoźnika, WMS dostaje razem z nią numer przesyłki i musi go zapisać przy dokumencie WZ.

Wysyłkę przez firmy kurierskie opisuje strona o wysyłce z magazynu przez kurierów, przykład pliku dla jednego przewoźnika strona o generowaniu listu przewozowego DHL, a stanowisko pakowania strona o pakowaniu i kontroli wysyłki. Ta strona opisuje drogi integracji i to, co potwierdza dokumentacja przewoźników (stan na 6.10.2026). Cennik Studio WMS.net mówi o wymianie z firmami kurierskimi przez pliki Excel lub WebService i nie deklaruje gotowych konektorów do konkretnych kurierów, więc zakres dla danego przewoźnika potwierdza analiza przedwdrożeniowa.

Trzy drogi integracji z kurierem

Plik, API przewoźnika albo agregator.

Wybór drogi zależy od liczby przewoźników i od tego, kto zawiera umowę z kurierem. Plik jest drogą opisaną na stronie o DHL: przy tym przewoźniku dokument WZ generuje plik XML, który program DHL e-Case wczytuje i drukuje z niego list przewozowy. API zastępuje ręczny import wywołaniem wykonywanym w tle.

Trzy drogi wymiany danych z przewoźnikiem
DrogaJak działaKiedy pasujeKonsekwencja
Plik (Excel lub XML)WMS zapisuje plik z danymi odbiorcy, a program przewoźnika go wczytujePrzewoźnik ma własną aplikację do listówNumer listu rejestruje się w Studio Spedycja.net i kojarzy z WZ
API przewoźnika (WebService)Usługa integracji wywołuje API: zlecenie, etykieta, śledzenieDuży wolumen jednego przewoźnikaWłasne uwierzytelnianie i wersje API każdego kuriera
AgregatorJedno API zamiast kilku, a umowy leżą w agregatorzeWielu przewoźników narazLista kurierów zależy od umów agregatora

Przepływ przesyłki między WMS a przewoźnikiem

Numer przesyłki wraca do WMS, zanim paczka dostanie etykietę.

Zlecenie przesyłki powstaje po spakowaniu paczki i sprawdzeniu adresu. Odpowiedź przewoźnika niesie numer, a etykietę pobiera się w tym samym albo w osobnym wywołaniu. Dopiero zapis numeru przy WZ zamyka etap magazynowy i pozwala przekazać go dalej, na przykład do platformy sprzedażowej opisanej na stronie o integracji z marketplace.

Przepływ przesyłki między Studio WMS.net a API przewoźnika Schemat w dwóch torach i pięciu krokach. Tor Studio WMS.net: paczka spakowana z adresem i wagą sprawdzonymi, zapis numeru i etykiety ZPL lub PDF przy dokumencie WZ oraz statusy w WMS z webhooka lub odpytywania. Tor przewoźnika: zlecenie przesyłki, które zwraca numer i etykietę, oraz odbiór paczek z protokołem. Strzałki biegną naprzemiennie między torami. Studio WMS.net Przewoźnik (API) 1 Paczka spakowana adres i waga sprawdzone 3 Zapis przy WZ etykieta ZPL lub PDF 5 Statusy w WMS webhook lub odpytywanie 2 Zlecenie przesyłki numer i etykieta w API 4 Odbiór paczek zlecenie odbioru, protokół Numer przesyłki trafia do WMS przed pierwszym wydrukiem etykiety
Pięć kroków prowadzi od zlecenia przesyłki do statusów w WMS. Krok 3, zapis numeru przy WZ, jest wyróżniony, bo od niego zależy dalsza obsługa paczki.

Co dokumentują przewoźnicy i agregatory

Sześć dostawców, sześć różnych zestawów wywołań.

Tabela zestawia wyłącznie to, co stoi w publicznej dokumentacji. Brakujące komórki nie oznaczają braku funkcji, tylko to, że nie zostały sprawdzone. Kuriera dopisuje się do WMS jako ustawienie z danymi dostępowymi, a agregator zastępuje kilka takich ustawień jednym. Środowisko testowe potwierdza dokumentacja InPost i Furgonetki, więc pierwsze zlecenia da się sprawdzić bez prawdziwych przesyłek.

Co potwierdza dokumentacja przewoźników i agregatorów (stan na 6.10.2026)
DostawcaProtokół i dostępZlecenie i etykietaŚledzenie i odbiór
InPost (ShipX)REST z tokenem Bearer; środowiska: produkcyjne i sandboxUtworzenie przesyłki, wybór oferty i opłacenie, asynchronicznie; etykiety PDF, EPL lub ZPL, do 100 w żądaniuWebhooki shipment_confirmed i shipment_status_changed; zlecenie odbioru
DHL (DHL24 WebAPI2)SOAP z opisem WSDL, dane w strukturze AuthDatacreateShipments; getLabels zwraca list przewozowy i etykietę BLP w PDF lub ZPLgetTrackAndTraceInfo i bookCourier; deleteShipments
DPD PolskaLogin i hasło API oraz numer Master FID; środowisko produkcyjne lub testowePrzesyłki i etykiety w PDF (wg dokumentacji modułu DPD)Zamówienie kuriera i śledzenie; protokół w PDF
UPS (Developer Kit)Poświadczenia z portalu dla deweloperów UPSShipping APITracking API i Pickup API
FurgonetkaREST z OAuth2; serwery: produkcyjny i sandboxPOST /packages/validate i POST /packages; etykieta PDF albo ZPL i EPLGET /packages/{id}/tracking; protokół w PDF; webhook
ApaczkaAPI v2, podpis HMAC-SHA256order_send; waybill zwraca etykietę PDF w base64tracking; turn_in (zbiorcze potwierdzenie PDF); pickup_hours

Etykiety ZPL i PDF

Format etykiety wynika z drukarki na stanowisku pakowania.

ZPL trafia na drukarkę termiczną, a PDF na laserową. DHL24 podaje dla etykiety BLP oba formaty (metoda getLabels), a InPost przy pobieraniu etykiet pozwala wybrać PDF, EPL albo ZPL. Etykieta przewoźnika nie zastępuje etykiety logistycznej GS1, którą opisuje strona o etykiecie logistycznej: pierwsza prowadzi paczkę przez sieć kuriera, druga identyfikuje jednostkę w łańcuchu dostaw. InPost dopuszcza typ etykiety A6 300 dpi tylko w ZPL i tylko dla wybranych usług.

W obecnym przepływie plikowym kolejny krok wykonuje program kuriera: po wczytaniu pliku XML aplikacja DHL e-Case drukuje list przewozowy po podaniu liczby paczek. Przy API ten krok przejmuje usługa integracji, a magazynier dostaje etykietę na drukarce stanowiska.

Statusy i śledzenie przesyłek

Webhook wymaga adresu dostępnego z Internetu, odpytywanie nie.

InPost zgłasza zmiany przez webhook shipment_status_changed, a adres odbiorcy musi odpowiadać kodem HTTP 200 (dokumentacja webhooków). Historię przesyłki zwraca też zapytanie o tracking, przez 45 dni od utworzenia przesyłki, a na środowisku testowym śledzenie jest niedostępne (dokumentacja śledzenia). Apaczka zwraca historię statusów od najnowszego (tracking w API v2).

Usługa integracji z ruchem tylko wychodzącym nie przyjmie webhooka, więc odpytuje o statusy w ustalonych odstępach. Odpytywanie obejmuje paczki, które nie zostały jeszcze doręczone. Statusy przewoźnika odwzorowuje się na własne etapy w WMS, a paczki wracające trafiają do przyjęcia jak każdy zwrot.

Pobranie i protokół odbioru

Cztery zagadnienia, które każdy przewoźnik rozwiązuje inaczej.

Pobranie, protokół, odbiór kuriera i etykiety zwrotne to parametry zlecenia, a nie osobne procesy. Poniżej zestawiono to, co podaje dokumentacja:

  • Pobranie (COD) - InPost przyjmuje obiekt cod z kwotą i walutą, a przesyłka pobraniowa musi być ubezpieczona na co najmniej tę wartość; DPD wyróżnia metody dostawy za pobraniem.
  • Odbiór kuriera - InPost ma zlecenie odbioru (dispatch order), DHL metodę bookCourier, a Apaczka godziny odbioru pickup_hours.
  • Protokół - Furgonetka generuje protokół PDF dla wybranych przewoźników, DPD protokół zbiorczy, a Apaczka turn_in.
  • Etykiety zwrotne - InPost ma osobną sekcję etykiet zwrotnych, a moduł DPD potrafi je tworzyć.

Protokół przekazania paczek kurierowi zamyka dokument WZ, a rozliczenie wpłat pobraniowych zwykle zostaje w systemie finansowym.

Błędy adresów i ponowienia

Jeden dokument WZ odpowiada jednej zleconej przesyłce.

Najczęstszy błąd przy integracji z kurierem to drugie zlecenie po utracie odpowiedzi. Tabela pokazuje, jak się przed nim chronić.

Typowe sytuacje błędne przy zlecaniu przesyłek i reakcja integracji
SytuacjaSkutekReakcja integracji
Błędny lub niepełny adresPrzewoźnik odrzuca zlecenieWalidacja przed zleceniem (Furgonetka ma POST /packages/validate); WZ zostaje z komunikatem
Brak odpowiedzi na zlecenieNie wiadomo, czy przesyłka powstałaZapytanie o przesyłkę po zapisanym identyfikatorze przed ponowieniem
Asynchroniczny zakup przesyłki (InPost)Numer jeszcze nie istniejeZapis identyfikatora i odczyt numeru po webhooku lub zapytaniu
Pomyłkowo zlecona przesyłkaDwie przesyłki do jednego WZAnulowanie przez API przed odbiorem (DHL deleteShipments, Apaczka cancel_order)
Webhook nie docieraStatus nieaktualnyOdpytywanie awaryjne po identyfikatorze przesyłki
Identyfikator przesyłki zapisuj przed pierwszą próbą pobrania etykiety. Ponowienie zapytania po awarii łącza pobierze wtedy istniejącą etykietę, a nie utworzy drugiej przesyłki.

Kto wykonuje integracje po stronie Studio WMS.net

Usługa Windows na serwerze, a zakres dla przewoźnika potwierdza analiza.

Integracje w Studio WMS.net wykonuje usługa Windows SSService.exe, instalowana na serwerze klienta. Łączy się z przewoźnikiem wyłącznie ruchem wychodzącym HTTPS, bez publikowania punktu dostępowego w Internecie. Komunikaty trafiają do tabeli wysyłkowej z ponawianiem i unikalnym identyfikatorem, więc wznowienie łączności nie tworzy duplikatów, a log każdej wymiany zostaje w bazie.

Cennik wymienia wymianę z firmami kurierskimi przez pliki Excel lub WebService. Ta strona nie deklaruje gotowych konektorów do konkretnych kurierów. Opisuje drogi integracji, a zakres dla danego przewoźnika potwierdza analiza przedwdrożeniowa. Zamówienia ze sprzedaży internetowej opisuje strona o integracji z platformami e-commerce.

Co ustala analiza przedwdrożeniowa

Cztery decyzje, od których zależy zakres prac.

Zakres integracji z kurierem wynika z analizy przedwdrożeniowej. Lista decyzji ma cztery pozycje:

  • Droga integracji - plik, API przewoźnika albo agregator, osobno dla każdego kuriera.
  • Umowy i usługi - które umowy obowiązują, czy potrzebne jest pobranie i jakie punkty odbioru wchodzą w grę.
  • Etykiety - format ZPL czy PDF oraz drukarka na stanowisku pakowania.
  • Statusy - webhook czy odpytywanie oraz odwzorowanie statusów przewoźnika na etapy w WMS.
Słownik pojęć

Pojęcia z integracji z kurierami

Terminy z dokumentacji przewoźników, które padają przy łączeniu magazynu z API kurierskim, wyjaśnione w kontekście wymiany danych.

ZPLZPL
Język poleceń drukarek termicznych Zebra. Etykieta w tym formacie trafia wprost na drukarkę na stanowisku pakowania.
LPList przewozowy
Dokument przesyłki z danymi obu stron oraz paczki. Jego numer służy do śledzenia przesyłki.
WHKWebhook
Wywołanie wysyłane przez przewoźnika na adres klienta przy zmianie statusu. Wymaga adresu dostępnego z Internetu.
PRTProtokół odbioru
Zbiorcze potwierdzenie przekazania paczek kurierowi, zwykle w PDF. Zamyka etap wysyłki w magazynie.
CODPobranie (COD)
Usługa, w której kurier pobiera od odbiorcy należność za towar. Kwota jest parametrem zlecenia przesyłki.
DSPZlecenie odbioru
Zgłoszenie kurierowi, że paczki czekają do odbioru. W InPost nazywa się dispatch order.
AGRAgregator
Pośrednik z jednym API do wielu przewoźników. Umowy z kurierami leżą po stronie agregatora.
BLPEtykieta BLP
Etykieta przesyłki w usłudze DHL24 dostępna w PDF i ZPL. Pobiera się ją metodą getLabels.
FAQ

Integracja WMS z kurierami - najczęstsze pytania

01

Czy Studio WMS.net ma gotowe konektory do konkretnych kurierów?

Cennik opisuje wymianę z firmami kurierskimi przez pliki Excel lub WebService, a nie listę gotowych konektorów. Zakres dla danego przewoźnika potwierdza analiza przedwdrożeniowa. Integracje wykonuje usługa Windows SSService.exe.

02

Czy etykietę tworzy magazyn, czy przewoźnik?

Przewoźnik: etykieta wraca w odpowiedzi API albo jest pobierana osobnym wywołaniem, a magazyn ją drukuje. InPost zwraca PDF, EPL lub ZPL, a DHL24 etykietę BLP w PDF lub ZPL. Numer przesyłki trzeba zapisać przy dokumencie WZ.

03

Kiedy numer przesyłki trafia do WMS?

W InPost zakup przesyłki jest asynchroniczny, więc numer pojawia się po potwierdzeniu: odczytuje się go zapytaniem o przesyłkę albo z webhooka. W innych API numer wraca w odpowiedzi na zlecenie. Integracja powinna zapisać identyfikator od razu, a numer dopisać po potwierdzeniu.

04

Jak obsłużyć przesyłkę za pobraniem?

Kwota pobrania jest polem zlecenia: InPost przyjmuje obiekt cod z kwotą i walutą, a przesyłka musi być ubezpieczona na co najmniej tę wartość. DPD wyróżnia metody dostawy za pobraniem. Rozliczenie wpłat zwykle zostaje w systemie finansowym.

05

Czy webhooki przewoźnika działają przy usłudze z ruchem wychodzącym?

Nie, bo webhook wymaga adresu dostępnego z Internetu, który odpowiada kodem 200. Usługa z ruchem tylko wychodzącym odpytuje więc o statusy w ustalonych odstępach. InPost zwraca tracking przez 45 dni od utworzenia przesyłki.

Chcesz sprawdzić, jak paczka dostaje etykietę kuriera w magazynie?

Uruchom bezpłatne demo programu magazynowego WMS.net albo opisz swoich przewoźników w zapytaniu o wycenę.