Tryb żądaniowy (REST)
Tryb żądaniowy to klasyczny, synchroniczny model request/response: integrator wysyła żądanie do API.ERP, API.ERP odpytuje właściwy system dziedzinowy (FK, WMS, HR, ESM) i zwraca odpowiedź w tej samej sesji HTTP.
Charakterystyka
- Jeden endpoint na zasób — zdefiniowany, ustandaryzowany kontrakt (OpenAPI), niezależny od tego, który system dziedzinowy faktycznie obsługuje dany zasób.
- Zdefiniowany schemat żądania — parametry filtrowania/wyszukiwania i treść żądania (dla operacji zapisu) są opisane w kontrakcie maszynowym (OpenAPI/JSON Schema).
- Określony zakres odpowiedzi — odpowiedź to zawsze zasób kanoniczny (lub kolekcja zasobów), niezależnie od wewnętrznego kształtu danych w systemie źródłowym.
Przepływ informacji
flowchart LR
I["Aplikacja integratora"]:::integrator -- "Żądanie" --> A["API.ERP"]:::api
A -- "Odpowiedź" --> I
A <--> D1["FK"]:::domain
A <--> D2["WMS"]:::domain
A <--> D3["HR"]:::domain
classDef integrator fill:#8BC34A,stroke:#558B2F,color:#000
classDef api fill:#03A9F4,stroke:#0277BD,color:#000
classDef domain fill:#FFA000,stroke:#E65100,color:#000
Sekwencja wywołań w ramach jednej sesji HTTP:
sequenceDiagram
participant I as Aplikacja integratora
participant A as API.ERP
participant D as Systemy dziedzinowe (FK / WMS / HR / ESM)
I->>A: Żądanie (np. GET /v1/parties/{id})
A->>D: Zapytanie o dane źródłowe
D-->>A: Dane źródłowe
A-->>I: Odpowiedź (zasób kanoniczny)
API.ERP nie przechowuje własnej kopii danych — każde żądanie jest tłumaczone na zapytanie do systemu dziedzinowego w czasie rzeczywistym, a wynik konwertowany na model kanoniczny przed zwróceniem integratorowi.
Kiedy używać
Tryb żądaniowy pasuje do integracji, gdzie integrator sam decyduje, kiedy i jakich danych potrzebuje — np. wprowadzanie zmian w danych (operacje zapisu), obsługa umów/kontraktów, deklaracji, produktów abonamentowych — wszędzie tam, gdzie odpowiedź musi być natychmiastowa i jednorazowa, a nie ciągły strumień zmian (do tego służy tryb rozgłoszeniowy).
Odniesienia
- api-contracts.md — pełna lista endpointów i kontraktów OpenAPI
- Konwencje techniczne
- Tryb rozgłoszeniowy, Tryb raportowy