W komunikacji między klientem a serwerem programu wykorzystywany jest protokół HTTP. Jest to protokół bezstanowy, czyli każde zapytanie jest niezależne od siebie. W celu pogrupowania zapytań jako pojedynczej pracy użytkownika w programie używa się sesji.
Widok sesji
Aby wyświetlić listę sesji, należy wejść w Ustawienia -> Użytkownicy -> Sesje użytkowników.
Lista przedstawia właściciela sesji, datę utworzenia i zamknięcia, informacje o urządzeniu, adresie IP klienta oraz ilości zapytań.
Wykorzystywane danych z sesji
Analizując dane zawarte w liście sesji, możemy wywnioskować informacje takie jak:
Kiedy logowali się poszczególni użytkownicy,
Przez jakie urządzenie komunikowali się z serwerem API,
Jaką skąd komunikowali się przez analizę adresu IP,
Weaver WMS działa w
oparciu o API w architekturze REST, które wykorzystuje protokół HTTP i jego
metody, takie jak:
– GET – służy do
pobierania danych (np. wyświetlania listy materiałów),
– POST – tworzy
nowe dane (np. dodaje nowego odbiorcę),
– PUT – aktualizuje
wcześniej dodane zasoby (np. wprowadza
zmiany do materiału),
– DELETE – służy
do usuwania danych.
Dane wchodzące i wychodzące z API są w formacie JSON. Każdy
obiekt zawarty jest pomiędzy nawiasami klamrowymi, a jego poszczególne elementy
oddzielane są przecinkami. Wartości elementów wpisywane są po ich nazwach oraz
dwukropku.
Podczas wysyłania zapytań do lokalnego API, program Weaver WMS musi być uruchomiony.
Swagger
Sprawdzenie działania poszczególnych adresów URI (endpoints) przy
pomocy swaggera zawartego w programie Weaver WMS.
W tym celu należy postępować zgodnie z instrukcją zawartą na
poniższym zdjęciu.
Ustawienia -> Konfiguracja bazy danych > Konfiguracja API > /swagger
Następnie, żeby uzyskać pełny dostęp, należy przejść do zakładki Authentication i nacisnąć przycisk Try it out. Teraz w miejsca, gdzie wpisany jest „string”, należy odpowiednio wpisać login oraz hasło użytkownika WMS’a w cudzysłowie.
Po wypełnieniu pól należy wykonać zapytanie przyciskiem Execute, kod 200 świadczy o prawidłowym wykonaniu polecenia.
Strukturę API w swaggerze można również sprawdzić w testowym panelu, do którego link znajduje się poniżej.
Zrzut ekranu po prawidłowym wykonaniu autoryzacji.
Po autoryzacji jesteśmy w stanie wykonywać pozostałe zapytania, odpowiednio uzupełniając wartości elementów.
Poniżej znajduje się przykład dodawania odbiorcy (elementy, których nie uzupełniamy, należy usunąć, w tym przypadku uzupełniliśmy tylko wymagane dane).
Postman
Kolejnym sposobem sprawdzenia działania zapytań jest program
Postman.
Na początek należy zaimportować kolekcję z zapytaniami. 1. Wejdź do swaggera. 2. Przejdź do strony w formacie JSON.
3. Zaznacz cały tekst (Ctrl + A) i skopiuj go (Ctrl + C). 4. W głównym oknie Postman kliknij przycisk Import w lewym górnym rogu. 5. Przejdź do zakładki Raw text i wklej wcześniej skopiowany tekst.
Po wykonaniu powyższych kroków w menu po lewej stronie w
zakładce Collections powinna pojawić się kolekcja „WMS API”.
Pozostaje jeszcze skonfigurowanie środowiska. 1. Kliknij w ikonę Manage Environments w prawym, górnym rogu.
2. Kliknij przycisk Add, a następnie wypełnij pola według poniższego zrzutu ekranu i ponownie kliknij przycisk Add.
3. W prawym górnym rogu wybierz z listy dodane środowisko.
W programie Postman również trzeba wykonać autoryzację przed wykonywaniem
kolejnych zapytań. W tym celu należy z dodanej kolekcji wybrać /auth/sign-in,
przejść do sekcji Body i zastąpić domyślnie wpisane wartości, loginem oraz
hasłem użytkownika WMS.
Podczas wykonywania poszczególnych zapytań należy usuwać elementy, w których nie uzupełniamy wartości, ponieważ może to skutkować powstawaniem błędów.
W celu przekazania awizacji przyjęcia trzeba najpierw pobrać metodą GET dane z odpowiednich adresów. Pierwszą z nich jest dostawca, pobierany z adresu „suppliers”.
/suppliers?IncludeAllId=false&IdList=1
Kolejną potrzebną informacją jest numeracja, pobierana z adresu „document-numbers”. Dodatkowo możemy zastosować parametr „IncludeAllTypes” oraz „Types”.
Parametr "Types" dla przyjęć może przyjmować wartości:
- 0 - Zamówienie do dostawcy,
- 1 - Przyjęcie zewnętrzne,
- 2 - Przychód wewnętrzny.
/document-numbers?IncludeAllTypes=false&Types=1
Kolejnymi danymi są materiały oraz stawki VAT, pobierane z adresów odpowiednio „materials” oraz „tax-rates”. W przypadku stawek VAT nie jesteśmy w stanie filtrować widoku, dlatego pobrać trzeba wszystkie stawki znajdujące się w systemie.
Po pobraniu wszystkich danych możemy przejść do przesłania metodą POST awizacji przyjęcia poprzez adres „delivery-documents”.
W poniższym przykładzie dla większej przejrzystości zostały wpisane dane, które nie muszą być uzupełniane. Dla sekcji, takich jak: supplier, material, unit, taxrate, document-number, currency wystarczy jedynie podanie id.
W celu pobrania dokładnych danych dotyczących zrealizowanych dokumentów PZ należy najpierw pobrać dane z adresu „delivery-documents”.
/delivery-documents
Dzięki tej operacji uzyskamy listę dokumentów przyjęć wraz z ich statusami.
O statusie mówi nam parametr "documentStatus" i wyróżniamy w nim wartości:
- 0 - Oczekujący na realizację,
- 15 - Anulowany,
- 20 - W trakcie realizacji,
- 30 - Zrealizowany.
W tej chwili znamy już ID zrealizowanych dokumentów przyjęć, dlatego możemy przejść do adresu „delivery-documents/position-items” i filtrować go parametrami „IncludeAllDocuments” oraz „Documents”, w których wpisujemy odpowiednio „false” oraz ID dokumentu.
Na poniższym przykładzie pobieramy dokumenty WZ z zaznaczonym filtrem (utworzone po dacie 01.09.2020r.) oraz podzielone na 2 elementy na stronę.
Pobieranie jednostek logistycznych dla właściciela
Żeby pobrać wszystkich dostawców, którzy mogą być właścicielami, trzeba użyć adresu „suppliers” z parametrem „IsOwner”.
/suppliers?IsOwner=true
W celu pobrania jednostek logistycznych przypisanych do konkretnego właściciela należy użyć adresu „logistic-units” z parametrami „IncludeAllOwners” oraz „Owners”, w których wpisujemy odpowiednio „false” i ID właściciela.