Architektura API

Współczesny system WMS nie jest już wyłącznie narzędziem do ewidencji ruchów magazynowych. Staje się centralnym systemem wykonawczym logistyki, integrującym ERP, e-commerce, systemy kurierskie oraz automatykę magazynową. W odpowiedzi na te wymagania architektura API WMS systemu Inceptus WMS została zaprojektowana jako:

  • skalowalna,

  • rozdzielona domenowo,

  • stabilna kontraktowo,

  • gotowa na automatyzację i środowiska SaaS.

Kluczową decyzją projektową było rozdzielenie warstwy integracyjnej i operacyjnej.

Dwuwarstwowy model API

Architektura Inceptus WMS opiera się na wyraźnym podziale na część integracyjną oraz operacyjną.

API Integracyjne WMS

Warstwa przeznaczona do komunikacji z systemami zewnętrznymi:

  • ERP

  • platformy e-commerce

  • systemy TMS / kurierskie

  • EDI

  • systemy klientów

Charakterystyka

  • REST API

  • komunikacja POST

  • dane w formacie JSON

  • brak ujawniania lokalizacji magazynowych

  • zagregowane stany produktów

  • kontrakt stabilny wersyjnie

API Integracyjne przekazuje:

Dane wejściowe:

  • kartoteka towarowa

  • awizacja dostawy

  • zamówienie sprzedażowe

Dane wyjściowe:

  • wykonane operacje magazynowe

  • zagregowany stan produktu

Jest to warstwa biznesowa — systemy zewnętrzne nie muszą znać szczegółów organizacji magazynu.

Jednym z kluczowych obszarów integracji z systemem WMS jest obsługa zleceń magazynowych — w tym ich tworzenie, zatwierdzanie oraz weryfikacja. Szerzej zagadnienia te są dyskutowane tutaj:

API Operacyjne WMS

Warstwa przeznaczona do realizacji procesów magazynowych.

Użytkownicy:

  • aplikacje mobilne magazynierów

  • terminale radiowe

  • systemy voice

  • automatyka magazynowa

  • roboty / AMR

  • integracje techniczne wewnętrzne

Charakterystyka

  • wysoka szczegółowość danych

  • dostęp do lokalizacji, partii, statusów

  • obsługa operacji w czasie rzeczywistym

  • szybka ewolucja funkcjonalna

  • brak ekspozycji na systemy ERP

API Operacyjne odpowiada za wykonanie procesów:

  • przyjęcie

  • rozmieszczenie

  • kompletacja

  • pakowanie

  • wydanie

  • inwentaryzacja

To warstwa wykonawcza systemu.

Architektura API systemu WMS Inceptus

REST API w kontekście komunikacji zdarzeniowej

Interfejs REST API w systemie Inceptus WMS odpowiada za kontrolowany zapis i odczyt danych oraz świadome sterowanie operacjami magazynowymi. To podstawowa warstwa integracyjna wykorzystywana przez ERP, e-commerce
oraz inne systemy współpracujące z magazynem.

W nowoczesnej architekturze logistycznej samo API nie jest jednak jedynym mechanizmem komunikacji. Coraz większą rolę odgrywa model zdarzeniowy, w którym system WMS automatycznie informuje otoczenie o zmianach stanu operacji. Dlatego w Inceptus REST API działa równolegle z mechanizmem webhook,
tworząc wspólnie środowisko:

  • odporne na opóźnienia synchronizacji,

  • gotowe do pracy w czasie rzeczywistym,

  • przygotowane do automatyzacji procesów logistycznych.

Szczegółowe porównanie obu podejść, obejmujące różnice w modelu komunikacji, wydajności oraz zastosowaniach integracyjnych, znajduje się tutaj:

Architektura techniczna

Architektura API systemu Inceptus WMS została zaprojektowana jako dwuwarstwowa i niezależna, co oznacza, że:

API Integracyjne i API Operacyjne funkcjonują równolegle,
korzystając z tej samej warstwy domenowej i danych,
ale nie komunikują się ze sobą bezpośrednio.

Takie podejście:

  • upraszcza integracje zewnętrzne,

  • zwiększa bezpieczeństwo operacyjne,

  • umożliwia niezależne skalowanie obu warstw,

  • stabilizuje kontrakt integracyjny w czasie.

 

Fundament technologiczny

System API został zbudowany w oparciu o:

  • .NET (ASP.NET Core) — środowisko uruchomieniowe usług API,

  • NGINX jako reverse proxy — warstwa brzegowa komunikacji,

  • architekturę REST — model wymiany komunikatów,

  • dane przesyłane w body jako struktury JSON — standard komunikacji integracyjnej.

To zestaw technologii zapewniający:

  • wysoką wydajność,

  • skalowalność poziomą,

  • bezpieczeństwo transmisji,

  • łatwość integracji z ekosystemem systemów biznesowych.

Kluczowa zasada

Oba API są równorzędnymi wejściami do tej samej logiki domenowej.

Nie ma przepływu:

Integracyjne → Operacyjne

Każde z nich:

  • realizuje inny cel,

  • posiada inny kontrakt danych,

  • może być skalowane i zabezpieczane niezależnie.



Rola NGINX w architekturze

NGINX pełni funkcję warstwy brzegowej systemu, odpowiadającej za:

Terminację TLS

odszyfrowanie ruchu HTTPS przed przekazaniem do usług .NET.

Routing ruchu

kierowanie żądań do właściwej warstwy:

  • API Integracyjnego

  • API Operacyjnego

Kontrolę dostępu

filtrowanie ruchu na podstawie:

  • adresów IP,

  • nagłówków,

  • polityk bezpieczeństwa.

Limitowanie żądań

ochronę systemu przed:

  • przeciążeniem,

  • błędnymi integracjami,

  • atakami typu DoS.

Logowanie integracyjne

rejestrowanie ruchu API dla:

  • diagnostyki,

  • audytu,

  • analizy integracji.

Znaczenie architektoniczne niezależności API

Rozdzielenie API Integracyjnego i Operacyjnego nie jest detalem technicznym — to decyzja architektoniczna, która chroni stabilność całego środowiska magazynowego.

Integracje zewnętrzne

Systemy ERP, e-commerce czy TMS:

  • nie mają dostępu do szczegółów operacyjnych magazynu,

  • nie widzą lokalizacji ani struktury układu magazynu,

  • nie ingerują w logikę wykonawczą procesów.

Oznacza to, że system zewnętrzny nie steruje magazynem bezpośrednio.
Komunikuje się przez kontrolowany interfejs API, który udostępnia tylko to, co jest niezbędne biznesowo.

Efekt:
Zmiany w organizacji magazynu, reorganizacja procesów, wdrożenie automatyzacji czy zmiana strategii kompletacji nie destabilizują integracji.


Operacje magazynowe

Warstwa operacyjna działa niezależnie od ruchu integracyjnego:

  • procesy realizowane są w czasie rzeczywistym,

  • wydajność operacyjna nie zależy od obciążenia systemów zewnętrznych,

  • dostępna jest pełna szczegółowość danych operacyjnych (lokalizacje, partie, statusy, ścieżki wykonania).

Magazyn może więc pracować z maksymalną precyzją i wydajnością, nawet przy dużym wolumenie komunikacji integracyjnej.


Co to oznacza w praktyce?

  • Integracje nie blokują operacji.

  • Operacje nie destabilizują integracji.

  • Rozwój magazynu nie wymaga przebudowy połączeń zewnętrznych.

  • Skalowanie biznesu nie powoduje kaskadowych zmian architektonicznych.

To podejście buduje system odporny na wzrost złożoności i wolumenu operacji — a właśnie to w praktyce decyduje o trwałości architektury WMS.

Model danych w API integracyjnym

Jednym z kluczowych założeń architektonicznych jest:

Stany magazynowe w podziale na lokalizacje pozostają wewnętrzną domeną WMS i nie są udostępniane przez API Integracyjne.

Oznacza to, że systemy zewnętrzne otrzymują:

  • zagregowany stan produktu

  • informacje o dostępności sprzedażowej

  • informację o wykonanej operacji

Nie otrzymują:

  • lokalizacji magazynowej

  • struktury układu magazynu

  • informacji o ścieżkach kompletacji

To podejście zapewnia:

  • stabilność kontraktu API w czasie

  • możliwość zmiany układu magazynu bez wpływu na integracje

  • gotowość na wdrożenia automatyki magazynowej

Idempotencja i bezpieczeństwo

Bezpieczeństwo komunikacji

Autoryzacja tokenowa

Dostęp do API wymaga ważnego tokenu:

  • identyfikującego system zewnętrzny,

  • pozwalającego kontrolować uprawnienia,

  • umożliwiającego audyt komunikacji.

Bez tokenu:

➡ komunikacja jest odrzucana.

Kontrola rozmiaru danych przez NGINX

Warstwa NGINX chroni API przed:

  • zbyt dużymi komunikatami,

  • próbami przeciążenia systemu,

  • atakami typu DoS.

Dzięki limitom:

➡ system zachowuje stabilność nawet przy błędnej integracji.

Odporność operacyjna

Zastosowane mechanizmy sprawiają, że Inceptus WMS jest odporny na typowe problemy integracyjne:

Powtórne wysłanie zleceń

Nie powoduje duplikacji operacji magazynowych.

Przerwane połączenia

Można bezpiecznie ponowić komunikat.

Zawieszenia po stronie ERP

Po wznowieniu pracy dane pozostają spójne.

Idempotencja i bezpieczeństwo nie są jedynie elementem technicznym.
Stanowią fundament niezawodności operacyjnej magazynu.

Dzięki nim:

  • wysyłki nie są dublowane,

  • stany magazynowe pozostają poprawne,

  • integracje mogą działać automatycznie,

  • system spełnia wymagania środowisk produkcyjnych.

Idempotencja – odporność na powtórzenia

Czym jest idempotencja

Idempotencja oznacza, że:

wielokrotne wysłanie tego samego komunikatu powoduje tylko jeden rzeczywisty efekt w systemie.

Przykład:

  • ERP wysyła zamówienie sprzedażowe.

  • Połączenie zostaje przerwane.

  • ERP wysyła to samo zamówienie ponownie.

Efekt w WMS:

  • zamówienie zostaje zapisane tylko raz,

  • nie powstaje podwójna wysyłka,

  • stan magazynowy pozostaje poprawny.

To kluczowe dla systemów logistycznych.

Jak realizowana jest idempotencja

Identyfikatory komunikatów (requestId)

Każdy komunikat zawiera unikalny identyfikator:

  • generowany przez system zewnętrzny,

  • zapisywany w WMS,

  • używany do wykrywania duplikatów.

Jeśli ten sam requestId pojawi się ponownie:

➡ WMS nie wykonuje operacji drugi raz,
➡ zwraca informację o wcześniejszym przetworzeniu.


Zapobieganie duplikacji dokumentów

Dodatkowo kontrolowane są:

  • numery dokumentów zewnętrznych,

  • kombinacje kluczy biznesowych,

  • stan przetwarzania komunikatu.

Dzięki temu system chroni się przed:

  • podwójnym przyjęciem towaru,

  • podwójną wysyłką,

  • błędnym stanem magazynowym.

Zalety przyjętej architektury

1. Czyste rozdzielenie zadań

ERP planuje i inicjuje procesy biznesowe — definiuje zamówienia, dokumenty oraz kierunek przepływu towarów.
WMS wykonuje operacje fizyczne w magazynie, zarządzając lokalizacjami, kompletacją, przyjęciami i wydaniami w czasie rzeczywistym.

Takie rozdzielenie kompetencji eliminuje konflikt odpowiedzialności i zapewnia pełną kontrolę operacyjną po stronie systemu magazynowego.

2. Stabilność integracji

Brak ekspozycji lokalizacji magazynowych sprawia, że interfejs API pozostaje niezależny od zmian organizacyjnych wewnątrz magazynu. Reorganizacja układu regałów, zmiana stref, strategii kompletacji czy rozmieszczenia towarów nie wpływa na integracje z ERP i e-commerce.

Dzięki temu rozwój operacyjny może odbywać się bez ryzyka destabilizacji połączeń z systemami zewnętrznymi.

3. Skalowalność

Model dwuwarstwowy sprzyja architekturze multi-tenant oraz poziomemu skalowaniu środowiska wraz ze wzrostem liczby operacji i integracji. Warstwa integracyjna i operacyjna mogą być rozwijane oraz skalowane niezależnie, bez wzajemnego wpływu na wydajność.

Dzięki temu system może rosnąć wraz z biznesem — zarówno pod względem wolumenu danych, jak i złożoności procesów — bez konieczności przebudowy całej architektury.

Architektura API systemu Inceptus WMS została zaprojektowana jako:

  • dwuwarstwowa (Integracyjna + Operacyjna)

  • zgodna z podejściem domenowym

  • stabilna kontraktowo

  • bezpieczna produkcyjnie

  • gotowa na automatyzację i skalowanie

To nie jest jedynie interfejs komunikacyjny — to fundament integracyjny całego systemu logistyki operacyjnej.

Architektura API Inceptus WMS

Interfejs API w Inceptus WMS został zaprojektowany jako kontrolowana warstwa wymiany danych, która oddziela systemy zewnętrzne od logiki operacyjnej magazynu. Dzięki temu integracje z ERP, e-commerce czy systemami kurierskimi są stabilne i przewidywalne, a jednocześnie nie ingerują bezpośrednio w procesy magazynowe.

Takie podejście ogranicza ryzyko zmian po stronie integracji. Modyfikacja układu magazynu, reorganizacja procesów czy wdrożenie automatyzacji nie wymaga przebudowy połączeń z systemami zewnętrznymi. Interfejs API pozostaje spójny, a rozwój operacyjny może odbywać się niezależnie.

Architektura uwzględnia realne warunki pracy: dużą liczbę operacji, powtórzenia żądania, integracje z wieloma źródłami danych. Mechanizmy autoryzacji i kontroli komunikacji zapewniają bezpieczeństwo oraz odporność na błędy.

W praktyce oznacza to trzy kluczowe korzyści: stabilność integracji, niższy koszt utrzymania i gotowość do skalowania. System może rosnąć wraz z wolumenem operacji i poziomem automatyzacji, bez konieczności przebudowy fundamentów.

Interfejs API nie jest dodatkiem do systemu – jest elementem architektury, który zapewnia kontrolę, przewidywalność i długoterminową elastyczność operacyjną.