HermesREST. Specyfikacja Wejścia/Wyjścia wersja 2. Syriusz Sp. z o.o. Legionów Rzeszów tel

Podobne dokumenty
Dokumentacja techniczna SMS MO

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

Dokumentacja API BizIn

wersja dokumentu 1.0 data wydania

MULTI INTEGRATOR Instrukcja instalacji, konfiguracji.

SMS Kod Automatyczny

Syriusz Sp. z o.o Rzeszów, Sportowa 3 NIP Opracował: Aleksander Smyk Rzeszów,

Alians AMReminder. Przypomnij kontrahentom o nierozliczonych płatnościach

Dokumentacja API Stacja z Paczką ver. 2.14

Instrukcja obsługi aplikacji MobileRaks 1.0

Specyfikacja Płatności CashBill. Instrukcja podłączenia płatności elektronicznych do typowych zastosowań.

EuroFirma Sklep Internetowy do programów

B2B by CTI. Lista funkcjonalności

Specyfikacja instalacji usługi SMS Premium w Przelewy24.pl

SKRÓCONY OPIS systemu lojalnościowego

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Baza numerów Wersja 1.1

Przelewy24 Wirtualny Koszyk

SOTE Integrator by CTI. Instrukcja

Instrukcja obsługi programu

Instrukcja użytkownika. Aplikacja Smart Paczka DPD

MEDIS_EWUS_AUTOMAT SYSTEM KS MEDIS: AUTOMAT EWUŚ Wydanie: 1.0 Data wydania: Marzec 2013 Strona/stron: 1/5

Oprogramowanie ILUO Biznes pozwala na jednoczesne zarządzanie wieloma sklepami Internetowymi zbudowanymi na oprogramowaniu różnych producentów.

WooCommerce (WordPress) Integrator by CTI. Instrukcja

Dokumentacja API serwisu KurierSerwis.com

Specyfikacja techniczna. mprofi Interfejs API

Integracja sklepu internetowego z serwisem aukcyjnym Swistak.pl

VENUS-BEAUTY.pl. Instrukcja obsługi procesu zamówienia

Przewodnik użytkownika (instrukcja) AutoMagicTest

Instalacja rozwiązania Uruchomienie rozwiązania w systemie Sage Konfiguracja dodatku Ustawienia dodatkowe rozwiązania...

ZMIANY ZWIĄZANE Z LIKWIDACJĄ KODU BLOZ12 ORAZ WDROŻENIEM NOWEGO FORMATU OSOZ-EDI OBOWIĄZUJĄCEGO OD 12 GRUDNIA 2012

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

PUE ZUS Wysyłka elektronicznych zapytan. Instrukcja wysyłki zapytań do ZUZ-PUE za pomocą aplikacji Komornik SQL

Dokumentacja API BizIn

Przelewy24 Wirtualny Koszyk

Instrukcja użytkowania oprogramowania SZOB PRO

SOGA web co powinieneś wiedzieć

Opis modułu pl.id w programie Komornik SQL-VAT

Kurier DPD dla Subiekt GT

Instrukcja użytkownika. Eksport dokumentów do systemu Comarch EDI Wersja

Dokumentacja techniczna SMS MO

Instrukcja instalacji programu MR-Transfer

Instrukcja importu przesyłek. z Menedżera Sprzedaży do aplikacji Webklient

Instrukcja obsługi Multiconverter 2.0

SubSyncEU integracja danych Subiekt GT + Sfera/ Nexo PRO Easy Uploader Instrukcja obsługi

Komunikator podręcznik użytkownika podręcznik użytkownika

... Wstęp Instalacja Dostęp do danych Procedury integrujące...4 PRC_WDEC_GETMAGAZYN...5 PRC_WDEC_GETODBIORCY...

Dokumentacja smsapi wersja 1.4

1. Wstęp 2. Adres usługi 3. Konfiguracja 4. Metody 5. Typy danych 6. Przykład wywołania metody przy użyciu php i biblioteki nusoap 7.

Instrukcja użytkownika ARsoft-CFG WZ1 4.0

Instrukcja użytkownika

INSTALACJA I KONFIGURACJA Instalacja systemu WF-Mag Mobile 2

PANEL ADMINISTRACYJNY SPRZEDAWCY SZYBKI START

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 30 marca 2015

SklepEF moduł sklepu i zamówień internetowych do programu Hermes SQL firmy Humansoft

MWS Mobile by CTI. Instrukcja

Współpraca z platformą Emp@tia. dokumentacja techniczna

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

SklepEF5 moduł sklepu i zamówień internetowych do programu EuroFirma i Hermes firmy Humansoft

Dokumentacja Użytkownika: Panel administracyjny PayBM

SUBIEKT GT IMPORT XLS Dokumenty

Moduł integrujący serwis Korporacji Kurierskiej z programem WF-MAG Instrukcja użytkowania

SymSync integracja danych Opencart/Prestashop Symfonia Handel Instrukcja obsługi

Instrukcja użytkownika ARSoft-WZ1

Dokumentacja Techniczna SMS MO

Instrukcja użytkownika programu QImport (wydanie II r.)

Integracja KS-ASW i KS-Medis z system CATO

Spis treści DOKUMENTACJA TECHNICZNA. STS API wersja 1.1

Eksport dokumentów do systemu ECOD

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Produkcja by CTI. Proces instalacji, ważne informacje oraz konfiguracja

Raporty XML-ECOD SYSTEM

Instrukcja obsługi DHL KONWERTER 1.6

1 Moduł Konfigurowanie Modułu

ShopGold Integrator by CTI. Instrukcja

Dokumentacja techniczna API systemu SimPay.pl

Platforma zakupowa GRUPY TAURON

INSTRUKCJA UŻYTKOWNIKA Repozytorium Dokumentów Elektronicznych KS-EDE ISO 9001:2008 Dokument: Wydanie:

Instrukcja użytkownika programu QImport (wydanie I r.)

Moduł Notatki Systemu Obsługi Zamówień Publicznych UTP-Bydgoszcz Instrukcja postępowania do 1000 Euro

Instrukcja obsługi Konfigurator MLAN-1000

Miejskie Wodociągi i Oczyszczalnia sp. z o.o. w Grudziądzu. ibok. Internetowe Biuro Obsługi Klienta. Instrukcja obsługi

B2B XL by CTI. Instrukcja

Spis treści. SELLDROID mobilny handlowiec

Instalacja VPN Check Point Mobile Apple macos Hight Sierra (v )

Instrukcja użytkownika

BSX PRINTER INSTRUKCJA UŻYTKOWNIKA. Autor: Karol Wierzchołowski 10 sierpnia 2017

INSTRUKCJA UŻYTKOWNIKA Generowanie Jednolitego Pliku Kontrolnego (JPK) ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

Deduplikacja danych. Zarządzanie jakością danych podstawowych

Dokumentacja API serwisu epaka.pl

Dokumentacja API Stacja z Paczką ver. 2.09

Współpraca z platformą dokumentacja techniczna

Instalacja i konfiguracja Symfonia.Common.Server oraz Symfonia.Common.Forte

EuroFirma. Zintegrowany System Zarządzania Firmą EUROFIRMA START. Sklep Internetowy. Bielsko-Biała, grudzien 2009

Telesprzedaż by CTI Instrukcja

Przewodnik użytkownika (instrukcja) AutoMagicTest

Instrukcja użytkownika

Pierwsze kroki Statusy transakcji Zwrot płatności przelewem lub kartą Odbiór wpłat Czas realizacji płatności...

Jednolity Plik Kontrolny dla ewidencji zakupu i sprzedaży VAT wg wersji 17 deklaracji VAT-7

Transkrypt:

HermesREST Specyfikacja Wejścia/Wyjścia wersja 2. Syriusz Sp. z o.o. Legionów 35 35-111 Rzeszów tel. 017 8631 555 email: syriusz@syriusz.eu

Zawartość dokumentu Dokument zawiera opis zastosowania i działania aplikacji HermesREST. Instalacja oprogramowania Oprogramowanie jest instalowane i wstępnie konfigurowane wyłącznie przez pracowników firmy Syriusz. Licencjonowanie Oprogramowanie jest licencjonowane niezależnie od posiadanego już oprogramowania firmy Syriusz. Wersja demonstracyjna Wersja demonstracyjna oprogramowania udostępniana jest klientom firmy Syriusz posiadającym licencję oraz aktualny kod opieki systemu Hermes. Wersja demonstracyjna udostępnia dokładnie te same funkcje co wersja pełna. Ograniczone zostało funkcjonowanie poszczególnych funkcji. Wersja oprogramowania usługa Windows: 1.0.0.4 aplikacja kliencka: 1.0.0.1 Data sporządzenia 22 września 2015 Opracował Przemysław Wanat Specyfikacja Wejścia/Wyjścia dla HermesREST 2

Spis treści 1. Platforma HermesREST...4 2. Informacje podstawowe...5 2.1. Adres usługi...5 2.2. Wywoływanie metod usługi...5 3. Lista dostępnych metod...6 3.1. Metoda product.list...6 3.2. Metoda product.stock...8 3.3. Metoda order.new...9 4. HermesRESTKonsola...15 4.1. Główny widok aplikacji...15 4.2. Konfiguracja usługi...17 4.3. Podgląd komunikatów usługi...21 Specyfikacja Wejścia/Wyjścia dla HermesREST 3

1. Platforma HermesREST. SYSTEM HERMES SYSTEM HERMESREST Rysunek 1: Schemat ideowy systemu HermesREST HermesREST jest aplikacją typu Windows Service, działającą na systemach Windows. Udostępnia funkcjonalności umożliwiające integrację dowolnego oprogramowania (potrafiącego wysyłać żądania http oraz odbierać odpowiedzi) z systemem Hermes. Poziom integracji przedstawiono w rozdziale 2 poprzez omówienie konkretnych funkcji. HermesREST upowszechnia swoje funkcje na konfigurowalnym adresie IP oraz porcie. System składa się z dwóch aplikacji: HERMES_REST.exe aplikacja Windows Service HermesRESTKonsola.exe aplikacja Windows Forms Pula udostępnianych funkcji może zostać zwiększona o kolejne funkcje, jeśli oprogramowanie integrujące się z systemem Hermes będzie takich wymagać. Specyfikacja Wejścia/Wyjścia dla HermesREST 4

2. Informacje podstawowe. 2.1. Adres usługi. Interfejs dostępny jest pod adresem: http://{host:port}/api/ (host, port wartości uzależnione od konkretnego wdrożenia uwarunkowane konfiguracją klienta) 2.2. Wywoływanie metod usługi. Na podany powyżej adres, należy wysłać zapytanie metodą POST z parametrem json - który jest zakodowaną w formacie JSON tablicą z parametrami: method nazwa metody do wywołania, params tablica z argumentami metody podanymi w kolejności ich występowania. np.: json={"method":"metoda","params":["login","haslo",null]} Jako wynik zapytania zwracana jest zawsze zakodowana w formacie JSON odpowiedź. W przypadku błędu odpowiedź będzie miała następującą postać: error komunikat błędu, code kod błędu. np.: {"error":"komunikat błędu","code":0}, gdzie: 0 przykładowy kod błędu Lista dostępnych metod: product.list lista asortymentowa product.stock stany magazynowe order.new nowe zamówienie Specyfikacja Wejścia/Wyjścia dla HermesREST 5

3. Lista dostępnych metod. 3.1. Metoda product.list. Pobiera listę asortymentową. Parametry wejściowe NAZWA TYP DANYCH DŁUGOŚĆ WYMAGANE USERNAME string 50 T PASSWORD string 50 T Wartości zwracane NAZWA OPIS WARTOŚCI TYP DANYCH DŁUGOŚĆ ID unikalny identyfikator produktu integer INDEKS identyfikator produktu w systemie sprzedażowym string 12 ARTYKUL nazwa produktu string 30 CENA_NETTO cena netto produktu double CENA_BRUTTO cena brutto produktu double VAT stawka podatku vat integer 5 ILOSC stan magazynowy produktu double KRESKI kod EAN produktu string 13 JM jednostka miary string 3 HTML opis html (link do strony zwierającej opis lub sformatowany opis HTML) string 5000 SEL symbol magazynu string 3 PRODUCENT producent artykułu string 10 WAGA waga artykułu double UKRYJ flaga określająca status artykułu T lub N char 1 TRANSPORT flaga określająca czy kartoteka jest kartoteką kosztów transportu T lub N string 1 Specyfikacja Wejścia/Wyjścia dla HermesREST 6

Przykładowe użycie metody product.list, implementacja PHP: Żądanie: Odpowiedź: <?php $c = curl_init(); curl_setopt($c, CURLOPT_URL, 'http://127.0.0.1:18080/api/'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $params = Array( "method" => "product.list", "params" => Array("login", "haslo") ); curl_setopt($c, CURLOPT_POSTFIELDS, "json=".json_encode($params)); $result = (Array)json_decode(curl_exec($c)); var_dump($result); curl_close($c);?> json={"method":"product.list","params":["login","haslo"]} {"item"[ {"ID":1,"INDEKS":"AA111","ARTYKUL":PIECZYWOA","CENA_NETTO":2.22,"CENA_BRUTTO":2.73,"VAT":"23"," ILOSC":496,"KRESKI":"7865456190562","JM":"SZT","HTML":"","SEL":"MAG","PRODUCENT":"ProdA"}, {"ID":2,"INDEKS":"AA112","ARTYKUL":"PIECZYWOB","CENA_NETTO":3"CENA_BRUTTO":3.69,"VAT":"23","IL OSC":33,"KRESKI":"","JM":"SZT","HTML":"","SEL":"MAG","PRODUCENT":"ProdB"} ]} Specyfikacja Wejścia/Wyjścia dla HermesREST 7

3.2. Metoda product.stock. Pobiera stany magazynowe. Parametry wejściowe NAZWA TYP DANYCH WARTOŚCI DŁUGOŚĆ WYMAGANE USERNAME string 50 T PASSWORD string 50 T PRODUCTS string array lub null 500 T Wartości zwracane NAZWA OPIS WARTOŚCI TYP DANYCH DŁUGOŚĆ ID unikalny identyfikator produktu integer ILOSC stan magazynowy produktu double SEL symbol magazynu string 3 PRODUCENT producent artykułu producent 10 Przykładowe użycie metody product.stock, implementacja PHP: Na przedstawionym przykładzie za pomocą metody product.stock wysyłane jest zapytanie o stan magazynowy produktów o identyfikatorach: 10, 20, 30, 40, 50. Żądanie: Odpowiedź: <?php $c = curl_init(); curl_setopt($c, CURLOPT_URL, 'http://127.0.0.1:18080/api/'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $params = Array( "method" => "product.stock", "params" => Array("login", "haslo", Array(10, 20, 30, 40, 50)) ); curl_setopt($c, CURLOPT_POSTFIELDS, "json=".json_encode($params)); $result = (Array)json_decode(curl_exec($c)); var_dump($result); curl_close($c);?> json={"method":"product.stock","params":["login","haslo",[10,20,30,40, 50]]} {"item":[{"id":10,"ilosc":975,"sel":"mag","producent":"prodb"}]} Specyfikacja Wejścia/Wyjścia dla HermesREST 8

3.3. Metoda order.new. Zakłada nowe zamówienie w systemie. Wartości zwracane SEKCJA NAZWA OPIS WARTOŚCI TYP DANYCH DŁUGOŚĆ W 1 PAYMENTMETHOD sposób płatności gotówka, przelew string 15 T NAME nazwa kupującego string 50 T STREET ulica z numerem domu string T HOUSENUMBER numer mieszkania string łącznie 50 T POSTALCODE kod pocztowy string T CITY miasto string T COUNTRY dwu znakowy symbol kraju "PL" string 2 T buyer sekcja kupującego (maksymalnie jedno wystąpienie) DELIVERY EMAIL pole określa czy adres dostawy jest różny od adresu kupującego true, false boolean T dres e-mail odbiorcy string 35 T TAX NIP kupującego string 20 T PHONE nr telefonu kupującego string 30 T DOC jedno znakowy symbol dokumentu jaki ma zostać wystawiony nabywcy po zrealizowaniu zamówienia P paragon F faktura char 1 T ID id kupującego z systemu Hermes (jeśli znane) integer T LOGO logo kupującego z systemu Hermes string 10 T 1 Kolumna określa czy pole jest wymagane Specyfikacja Wejścia/Wyjścia dla HermesREST 9

EXT_DOC symbol dokumentu zewnętrznego string 30 T PROVINCE województwo 01_DOLNOS, 02_KUJAWS, 03_LUBELS, 04_LUBUSK, 05_LODZKI, 06_MALOPO, 07_MAZOW, 08_OPOLSK, 09_PODKAR, 10_PODLAS, 11_POMOR, 12_SLASKI, 13_SWIETO, 14_WARMI, 15_WIELKO, 16_ZACHOD string 9 T NAME nazwa odbiorcy string 50 T STREET ulica z numerem budynku string T HOUSENUMBER numer lokalu string łącznie 50 T POSTALCODE kod pocztowy string T delivery sekcja dostawy (maksymalnie jedno wystąpienie) CITY miasto string T COUNTRY symbol kraju "PL" string 2 T PHONE nr telefonu string 30 T ID id miejsca dostawy z systemu Hermes integer T EMAIL adres e-mail string 35 T TRANSPORTATION rodzaj transportu zamówienia string 10 T ph sekcja przedstawiciela handlowego (maksymalnie jedno wystąpienie) ID unikalny identyfikator akwizytora pochodzący z systemu integrującego się z Hermes string FIRSTNAME imię akwizytora string 15 T LASTNAME nazwisko akwizytora T string 20 T Specyfikacja Wejścia/Wyjścia dla HermesREST 10

item sekcja artykułów (liczba wystąpień równa liczbie pozycji na zamówieniu) ID QUANTITY id artykułu z zamówienia (zgodne z systemem Hermes) ilość zamawianego towaru integer double UNIT jednostka miary string 3 T T T UNITPRICE cena jednostki zamówionego towaru double T Przekazywanie kosztów transportu W celu przekazania kosztów transportu do sekcji artykułów należy dodać odpowiednią kartotekę (otrzymaną przy użyciu funkcji product.list, pole TRANSPORT= T ). Na oprogramowaniu integrującym się z Hermes REST spoczywa obowiązek dodania właściwej kartoteki transportowej. Właściwa kartoteka transportowa oznacza kartotekę pochodzącą z magazynu, na który trafić ma zamówienie. Dla zamówień składanych na więcej niż jeden magazyn dopuszczalna jest sytuacja przekazania więcej niż jednej kartotek kosztów transportu. Dopuszczalne jest również dodanie więcej niż jednej kartoteki kosztów transportu w obrębie jednego magazynu - pod warunkiem, że takowe istnieją. Specyfikacja Wejścia/Wyjścia dla HermesREST 11

Wartość zwracana: w przypadku metody order.new wartość zwracana uzależniona jest od powodzenia złożenia zamówienia. STATUS status całego zamówienia. Dwie możliwe wartości: OK, gdy zamówienie zostało poprawnie założone. ERROR, gdy złożenie zamówienia nie powiodło się. ERRORS w przypadku wystąpienia błędów zawiera ich listę. Sekcja nie występuje w przypadku braku błędów. ORDERS lista złożonych zamówień. Zawiera symbol dokumentu zamówienia oraz status pojedynczego zamówienia. W przypadku wystąpienia błędów uniemożliwiających złożenie zamówienia sekcja nie występuje. INFOS lista wykorzystywana do przekazania informacji o zdarzeniach, które nie miały wpływu na możliwość złożenia zamówienia, np. o pozycjach z zamówienia, które znajdują się na magazynie, z którego zamawiać nie można. Przykładowe użycie metody order.new, implementacja PHP: <?php $c = curl_init(); curl_setopt($c, CURLOPT_URL, 'http://127.0.0.1:18080/api/'); curl_setopt($c, CURLOPT_POST, true); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); $buyerpart = Array( "paymentmethod" => "gotowka", "name"=> "Jan Kowalski", "street"=> "Okulickiego", "housenumber"=> "34", "postalcode"=> "35-119", "city"=> "Rzeszów", "country"=> "PL", "invoice"=> true, "delivery"=> true, "email"=> "jkowalski@jk.pl", "tax"=> "987-765-54-43", "phone"=> "+48173434342", "doc"=> "P", "id"=>"", "logo"=> LOGO_J, "ext_doc"=> DD123 ); $deliverypart = Array( "name"=> "Zbigniew Nowak", "street"=> "Rejtana 3", "housenumber"=> "5", "postalcode"=> "35-326", "city"=> "Rzeszów", "country"=> "PL", "phone"=> "+48172345678" ); $phpart = Array( "id"=>"1000000705", "firstname" => "", "lastname" => "" ); $item = Array( "id"=> 6514, "quantity"=> 7, "unitprice"=> 7.27, "unit"=>"szt" ); $itemb = Array( "id"=> 4524, "quantity"=> 4, "unitprice"=> 1.41, "unit"=>"szt" ); $order = Array( "buyerpart"=>($buyerpart), "deliverypart"=>($deliverypart), "phpart"=>($phpart), "item"=>array($item, $itemb) ); $params = Array( "method" => "order.new", "params" => Array("login", "haslo", Array($order)), ); var_dump($params); curl_setopt($c,curlopt_postfields,"json=".json_encode($p arams)); $result = (Array)json_decode(curl_exec($c)); var_dump($result); curl_close($c);?> Specyfikacja Wejścia/Wyjścia dla HermesREST 12

Na przedstawionym przykładzie za pomocą metody order.new składane jest zamówienie na pozycje o id=6514 (sztuk 7) oraz id=4524 (sztuk 4). Żądanie: {"method":"order.new","params":["login","haslo",[{"buyerpart": {"paymentmethod":"gotowka","name":"test","street":"ulica","housenumber":"34","postalcode":"35-119","city":"rzeszow","country":"pl","invoice":true,"delivery":false,"email":"test@test.eu","tax":"123-456- 78-91","phone":"+48177775555","doc":"F","id":"","logo":"logo","ext_doc":"DD123" },"deliverypart": {"name":"dostawa","street":"ulica","housenumber":"12","postalcode":"34-234","city":"rzeszow","country":"pl","phone":"+481234567"},"phpart": {"id":"00011001","firstname":"","lastname":""},"item":[{"id":11111,"quantity":1,"unitprice":7.27,"unit":"szt"}, {"id":22222,"quantity":1,"unitprice":7.27,"unit":"szt"}]}]]} Możliwe odpowiedzi: 1. Stany magazynowe są za niskie: {"[ERRORS]": [{"[BRAKSTANU]":"POZYCJA":"6514","ZAMOWIONO":"40","DOSTEPNE":"0"}},"[BRAKSTANU]":"POZYCJA":"4524", "ZAMOWIONO":"4","DOSTEPNE":"0"}}],"[STATUS]":"ERROR"} 2. Żądanie nie jest właściwe: {"[ERRORS]": [{"[WalidateBuyerPart]":"Bledna sekcja BuyerPart"},"[WalidateDeliveryPart]":"Bledna sekcja DeliveryPart"}],"[STATUS]":"ERROR"} Jeśli sekcja BuyerPart lub DeliveryPart są błędne pozycje z zamówienia nie są walidowane. 3. Pozycje na zamówieniu są niewłaściwe: {"[ERRORS]": [{"[WalidateItem]":"Bledna pozycja[1]"}, {"[BRAKSTANU]":"POZYCJA":"4524","ZAMOWIONO":"4","DOSTEPNE":"0"}}],"[STATUS]":"ERROR"} Gdy pozycja na zamówieniu jest niewłaściwa (brak sekcji, zła nazwa sekcji) zwracany jest błąd z informacją, która pozycja jest błędna. Liczba pomiędzy nawiasami kwadratowymi oznacza, która w kolejności pozycja jest błędna, np.: [{"[WalidateItem]":"Bledna pozycja[1]"} Taki komunikat błędu oznacza, że pozycja pierwsza z zamówienia jest błędna. 4. Zamówienie złożone poprawnie. Pojedyncze zamówienie może zostać rozdzielone na więcej, jeśli pozycje znajdujące się na nim składowane są na różnych magazynach. Specyfikacja Wejścia/Wyjścia dla HermesREST 13

W przypadku poprawnie złożonego zamówienia zwracane jest id zamawiającego. 4.1. Zamówienie nie zostało rozdzielone: {"[KONID]":"9153","[ORDERS]":[{"[NEWORDER]": {"ORDER":"ZC000022","STATUS":"OK"}}],"[STATUS]":"OK"} 4.2. Zamówienie rozdzielone: {"[KONID]":"9153","[ORDERS]":[{"[NEWORDER]":{"ORDER":"ZC000001","STATUS":"OK"}}, {"[NEWORDER]":{"ORDER":"ZC000002","STATUS":"OK"}}],"[STATUS]":"OK"} Specyfikacja Wejścia/Wyjścia dla HermesREST 14

4. HermesRESTKonsola. HermesRESTKonsola jest oprogramowaniem wspierającym działanie webowej usługi (Web Service) HermesREST. Umożliwia ona podgląd statusu działania usługi, komunikatów, a także konfigurację jej parametrów. 4.1. Główny widok aplikacji. Rysunek 2: Serwis nie jest zainstalowany. Rysunek 3: Serwis zainstalowany, nie uruchomiony. Specyfikacja Wejścia/Wyjścia dla HermesREST 15

Rysunek 4: Serwis zainstalowany, uruchomiony. HermesREST może znajdować się w trzech stanach: niezainstalowany (Rysunek 2), nieuruchomiony (Rysunek 3), uruchomiony (Rysunek 4). O aktualnym statusie serwisu użytkownik informowany jest poprzez tło centralnej części okna aplikacji oraz dostępność przycisków START i STOP. Jeśli serwis nie jest zainstalowany użytkownik ma dostęp do dwóch opcji, tj. KONIEC oraz Zainstaluj. Pierwsza zamyka aplikację, druga powoduje zainstalowanie usługi HermesREST na komputerze użytkownika. (W celu instalacji usługi najlepiej uruchomić jest HermeRestKonsola z prawami administratora systemu.) Z poziomu głównego okna aplikacji użytkownik ma możliwość: uruchomiania/zatrzymania serwisu, otwarcia okna konfiguracji, podejrzenia zapisanych komunikatów, zakończenia działania aplikacji. Zmiana stanu usługi (uruchomienie lub zatrzymanie) jest procesem mogącym pochłonąć kilka do kilkunastu sekund, w tym czasie nie jest możliwe zamknięcie aplikacji ani nie są dostępne jej inne opcje. O tym, że serwis jest w trybie zmiany stanu użytkownik jest informowany poprzez zmiany kolorów górnego paska aplikacji. Specyfikacja Wejścia/Wyjścia dla HermesREST 16

4.2. Konfiguracja usługi. Aby możliwa była konfiguracja parametrów usługi, musi być ona uruchomiona oraz aplikacja musi się skomunikować poprawnie z usługą. Jeśli usługa działa (rysunek 4) po wybraniu przycisku USTAWIENIA wyświetlone zostanie okno konfiguracji jak na rysunku 5. Baza danych: Rysunek 5: Okno konfiguracji. Konfigurowany jest dostęp do bazy danych (baza danych systemu Hermes). Możliwe jest również przetestowanie poprawności podanych danych. Rysunek 6: Konfiguracja dostępu do bazy danych. Specyfikacja Wejścia/Wyjścia dla HermesREST 17

Użytkownicy: Usługa HermesREST umożliwia łączenie się z nią oraz pobieranie danych przez wielu użytkowników. W tym miejscu można ich definiować, przyporządkowywać do grup oraz łączyć z operatorem i akwizytorem z systemu Hermes. Rysunek 7: Użytkownicy seriwsu HermesREST. Z tego miejsca można edytować dane użytkownika (poza loginem), dodawać nowego oraz usuwać istniejącego. Polityka użytkowników: Jeden użytkownik serwisu może składać zamówienia w imieniu różnych odbiorców, zarówno istniejących w bazie systemu Hermes jak i nowych, nie znanych. Administrator może określić czy będzie możliwe składanie zamówień w imieniu nie istniejących odbiorców oraz według jakich danych odbiorca ma być uznawany za istniejącego w systemie Hermes. Dodatkową opcją jest zakładanie nieznanych akwizytorów w systemie Hermes. Jeśli opcja ta nie jest wybrana zamówienie składane jest na akwizytora z konfiguracji użytkownika HermesREST. Rysunek 8: Polityka użytkowników. Specyfikacja Wejścia/Wyjścia dla HermesREST 18

Grupy użytkowników: Każdy użytkownik serwisu HermesREST musi być przypisany do jakiejś grupy. To grupie nadawane są przywileje oraz dostęp do poszczególnych funkcjonalności serwisu. Rysunek 9: Grupy użytkowników. Podobnie jak w przypadku konfiguracji użytkowników serwisu, można dodać, zmienić uprawnienia istniejącej oraz usunąć (pod warunkiem, że żaden użytkownik nie jest przypisany) grupę. Magazyny: W tej części konfiguracji definiuje się na jakich magazynach mają być składane zamówienia oraz na jakie symbole dokumentów mają trafiać. Powinna się znaleźć definicja symbolu dokumentu dla klienta P-paragonowego oraz F-fakturowego. Licencja: W tym miejscu wyswietlana jest licencja oraz kod opieki systemu Hermes oraz licencja i kod opieki systemu HermesREST. Rysunek 10: Licencja Specyfikacja Wejścia/Wyjścia dla HermesREST 19

Licencję oraz kod opieki systemu HermesREST można wprowadzić ręcznie lub pobrać automatycznie z serwisu SyriuszLicencje (wymagane połączenie z siecią Internet). Zaawansowana: W ustawieniach zaawansowanych konfiguruje się port na jakim z usługą komunikuje się HermesRESTKonsola, oraz na jakim ma być dostępny serwis. Dodatkowo można określić maksymalną liczbę (równoczesnych) połączeń do bazy danych dostępną dla HermesREST. Ponad to określić można parametry dla składanych zamówień: zamawianie powniżej stanów magazynowych, źródło pobrania terminu oraz sposobu płatności dla odbiorcy, czy do symbolu zamówienia mają zostać dodane dwa pierwsze znaki symbolu magazynu, na którym zamówienie zostało złożone Aby wszystkie zmiany ustawień zostały zastosowane należy wybrać przycisk Zatwierdź, nalerzy mieć na uwadze, że część danych konfiguracyjnych zapisywana jest w czasie edycji. Po wybraniu tego przycisku okno konfiguracji zostanie zamknięte. Specyfikacja Wejścia/Wyjścia dla HermesREST 20

4.3. Podgląd komunikatów usługi. W celu wyświetlenia zapisanych komunikatów usługi, w głównym oknie aplikacji należy wybrać przycisk LOGI. Rysunek 11: Podgląd logów. Komunikaty zostaną wyświetlone w oknie jak na rysunku11. Okno umożliwia eksport komunikatów do plików XML i CSV. Zakres czasowy z jakiego mają być prezentowane komunikaty może zostać dowolnie ograniczony/rozszerzony. Usługa loguje m.in. otrzymane żądania oraz odesłane na nie odpowiedzi, status walidacji żądań oraz ewentualnie występujące błędy. Specyfikacja Wejścia/Wyjścia dla HermesREST 21