Przejdź do treści

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 (księgowość, magazyn, kadry, majątek) i zwraca odpowiedź w tej samej sesji HTTP.

Charakterystyka

  • Jeden endpoint na zasób — kolekcja /v1/<zasób> z ustandaryzowanym kontraktem (Kontrakty API), niezależnym od tego, który system dziedzinowy faktycznie obsługuje dany zasób; zasób wskazuje parametr identifier=system|value, a profil — profile.
  • Zdefiniowany schemat żądania — parametry filtrowania/wyszukiwania (karta GET /v1/metadata, rest[].resource[].searchParam[] — obiekty { "name", "type" }) i treść żądania (dla operacji zapisu) są opisane schematami JSON profili.
  • 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 (księgowość / magazyn / kadry / majątek)

    I->>A: Żądanie (np. GET /v1/parties?identifier=system|value)
    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