Strona startowa

Drukuj

FAQ

1. Co to jest WebAPI

WebAPI to usługa internetowa udostępniająca, w zależności od konfiguracji funkcjonalności:

Symfonia ERP Handel,

Symfonia ERP Finanse i Księgowość.

 

Usługa umożliwia wymianę informacji pomiędzy modułami Handel oraz Finanse i Księgowość, a rozwiązaniami zewnętrznymi (np. sklep internetowy). Zbudowana jest w oparciu o technologię WebServices i styl architektoniczny REST. Do komunikacji wykorzystuje komunikaty w JSON.

 

2. Czym się różni WebAPI od WAH i WAF?

WAH to skrót od WebAPI do Handlu. WAH to również przedrostek dla licencji WebAPI jak również przedrostek dla poszczególnych funkcjonalności (feature’ów) objętych tą licencją.

 

WAF to skrót od WebAPI do Finanse i Księgowość. WAF to również przedrostek do licencji WebAPI. Natomiast WebAPI to produkt, posiadający własny instalator, etc.

 

3. Licencja WAH a OLE Automation

Od wersji 2019.1 uruchomienie Symfonia ERP Handel w trybie OLE Automation nie konsumuje licencji użytkownika programu Handel, ale licencję Web API (moduł Main). Zmiana ta ma na celu wyeliminowanie sytuacji, w których rozwiązania zewnętrzne, wykorzystujące tryb pracy w tle, nie działają poprawnie ze względu na w pełni wykorzystany limit użytkowników zalogowanych do aplikacji.

 

4. Jak działa WebAPI?

WebAPI to usługa systemu Windows. W zależności od wybranego programu z którym WebAPI współpracuje usługa ta uruchamia w tle program Symfonia ERP Handel (korzystając z własnej licencji) lub proces do którego ładowany jest obiekt integracji przeznaczony dla Symfonia ERP Finanse i Księgowość. Uruchomiona usługa udostępnia funkcjonalności programu za pomocą protokołu HTTP. Zapytania (requesty) kierowane przez użytkowników do WebAPI są przekierowywane do uruchomionego programu, a odpowiedzi (response) są zwracane użytkownikom/klientom usługi. WebAPI pracuje na konkretnym użytkowniku Handel/FK, tak więc np.: wszystkie utworzone dokumenty przez WebAPI będą utworzone przez wskazanego w konfiguracji użytkownika.

 

5. Protokół HTTPS

WebAPI ma możliwość pracy na szyfrowanym protokole HTTPS. Wykorzystanie HTTPS niesie za sobą kilka korzyści:

Szyfrowanie przesyłanych danych,

Integralność danych, czyli wykrywanie zmian lub uszkodzeń danych,

Uwierzytelnienie, czyli użytkownik ma możliwość weryfikacji czy komunikuje się z właściwą usługą.

 

Certyfikat można przypisać tylko do adresów z prefixem https. Aby przypisać certyfikat można skorzystać z mechanizmu dostępnego w konfiguratorze WebAPI. Jednakże w tym celu certyfikat musi być zainstalowany w lokalizacji Komputer lokalny w magazynie Zaufane główne urzędy certyfikacji. Obowiązkowo do certyfikatu, który chcemy wykorzystać musimy posiadać klucz prywatny. W certyfikat należy zaopatrzyć się we własnym zakresie.

 

6. WebAPI a wielofirmowość: jak to w zasadzie działa?

Pojęcie wielofirmowość używane bywa w dwóch znaczeniach, co prowadzi do nieporozumień. Postaramy się je wyjaśnić.

 

Wielofirmowość czyli możliwość pracy jednej instancji aplikacji z wieloma firmami jednocześnie

Dana usługa WebAPI pracuje tylko z jedną bazą danych – firmą. Po uruchomieniu usługi nie ma możliwości przełączenia firmy, którą WebAPI obsługuje. Spowodowane jest to tym, iż usługa ma działać nieprzerwanie 24 godziny na dobę, a użytkownicy korzystający z udostępnionych zasobów muszą być pewni, że mają ciągle dostęp do tej samej firmy. W przypadku, gdy chcemy mieć możliwość pracy z wieloma firmami jednocześnie, dla każdej z firm należy uruchomić oddzielną usługę WebAPI. Dla przykładu, gdy chcemy obsługiwać dwie firmy, należy uruchomić dwie usługi WebAPI. Natomiast dla n firm, należy uruchomić n usług WebAPI. Każda instancja WebAPI pracuje bowiem w kontekście konkretnej firmy.

 

Wielofirmowość czyli możliwość pracy z różnymi firmami na tej samej licencji

WebAPI może korzystać z licencji wielofirmowej (umieszczonej w ‘bazie matce’). W takiej sytuacji zachowuje się dokładnie tak samo, jak inne moduły Symfonia ERP.

 

Webserwis podczas uruchomienia powołuje do życia minimum jedną instancję Handlu (może więcej) i loguje się tylko do jednej wybranej firmy wskazanej w danej konfiguracji. Aby skonfigurować pracę na wielu firmach po zainstalowaniu WebAPI należy minimum raz skopiować katalog z plikami WebAPI i w nowym katalogu dokonać konfiguracji dla innej/kolejnej firmy. Oczywiście powołanie do życia kolejnej instancji pracującej z inną firmą wymaga odpowiedniej licencji WAH. Należy również pamiętać, aby każdy webserwis miał inną nazwę, aby odpowiednio przedstawiał się w Usługach Windows (Windows Services).

 

7. W jaki sposób uruchomić wiele usług WebAPI?

WebAPI podczas uruchomienia powołuje do życia minimum jedną (może więcej) instancję Handlu lub proces obiektu integracji i loguje się do wybranej firmy jako użytkownik wskazany w danej konfiguracji. W celu konfiguracji pracy na wielu firmach należy skopiować dla każdej firmy katalog z plikami WebAPI oraz w każdym nowo skopiowanym katalogu dokonać konfiguracji dla innej/kolejnej firmy.

Każda z usług WebAPI musi:

Znajdować się w innym katalogu

Posiadać unikalną nazwę spośród wszystkich usług Windows (Windows Services)

Pracować na różnym endpoincie. Endpointy zazwyczaj różnić się będą portami. Dla przykładu firma A pracuje na porcie 9000, a firma B pracuje na porcie 9001.

 

Oczywiście do uruchomienia każdej z usług potrzebna jest odpowiednia licencja. Tak więc każda z firm musi posiadać licencję umożliwiającą na uruchomienie usługi WebAPI.

 

Przykład:

Katalog WebAPI jest to katalog instalacyjny. Usługa nie została w nim skonfigurowana. Jest przechowywany w celu posiadania czystej instancji WebAPI, którą można wykorzystać do skopiowania i konfiguracji kolejnej firmy. W katalogach WebAPI_FirmaA i WebAPI_FirmaB skonfigurowane są usługi WebAPI odpowiednio dla firmy A i firmy B.

 

img_wapi_faq_01

 

img_wapi_faq_03

 

 

Dla firmy A skonfigurowana została usługa WebAPI FirmaA, która pracuje na endpointcie http://localhost:9000.

 
Do otwarcia firmy wykorzystywana jest baza danych FIRMA_A oraz użytkownik Handlu o loginie AdminA.

 

Natomiast dla firmy B usługa została skonfigurowana pod nazwą WebAPI FirmaB i endpointcie http://localhost:9001. W uruchomionym ‘pod spodem’ Handlu zostanie otwarta firma z bazy danych FIRMA_B i zalogowany użytkownik o loginie AdminB.

 

8. W jaki sposób uruchomić jednocześnie WebAPI Handel i WebAPI Finanse i Księgowość?

Dana usługa WebAPI może współpracować jednocześnie z aplikacją Handel lub Finanse i Księgowość. W celu skorzystania z obu wersji WebAPI jednocześnie należy uruchomić dwie oddzielne usługi – jedna, która będzie współpracowała z aplikacją Handel i druga, która będzie współpracowała z Finanse i Księgowość. Sposób uruchomienia oraz warunki, które usługi te muszą spełnić są identyczne jak w przypadku uruchomienie kilku usług dla różnych firm. Czyli:

obydwie usługi muszą znajdować się w różnych katalogach i tam skonfigurowane,

muszą zostać zainstalowane pod różną i unikalną spośród wszystkich usług Windows nazwą,

muszą pracować na różnych endpointach.

 

9. Dlaczego WebAPI zużywa licencję nawet, jeśli nie aktualnie do niego zapytań?

Usługa może działać 24 godziny na dobę. Działa zawsze w kontekście danej firmy i konkretnego użytkownika, a w tle uruchamia co najmniej jedną instancję Handlu lub proces obiektu integracji. Uruchomienie instancji Handlu lub procesu obiektu integracji powoduje zużycie odpowiednio licencji WAH lub WAF. Dzięki temu serwis jest responsywny i pozwala na udzielenie odpowiedzi w krótkim czasie: nie jest wymagane przełączanie pomiędzy kontekstami, firmami, itp.

 

10. Jak określić ilość stanowisk potrzebnych klientowi?

W 95% potrzebna będzie licencja WebAPI pozwalająca na uruchomienie jednej instancji Handlu lub procesu obiektu integracji. W takim przypadku wszyscy użytkownicy sesyjni korzystają z tej samej instancji Handlu/obiektu integracji. Jednakże w jednej chwili z danej instancji Handlu/obiektu integracji może korzystać tylko jeden użytkownik sesyjny.

 

Potrzeba zwiększenia ilości uruchomionych na potrzeby WebAPI instancji Handlu/obiektu integracji może wystąpić w przypadku problemów wydajnościowych podczas dostępu do zasobów. W takiej sytuacji klient powinien dokupić kolejną licencję WebAPI. Pozwoli to na zrównoleglenie operacji. W ten sposób można skalować rozwiązanie.

 

Kiedy może wystąpić taka sytuacja?

Przy bardzo dużej ilości użytkowników sesyjnych

Przy bardzo dużym obciążeniu (duża ilość requestów)

Przy bardzo dużym rozmiarze bazy danych (kilkaset tysięcy kontrahentów, wieloletnia historia, itp.)

 

11. Co to jest ‘sesja użytkownika’ w WebAPI?

Sesja to identyfikowalne, zautoryzowane połączenie użytkownika z usługą WebAPI. Ilość sesji użytkownika określa ilość połączeń z usługą jakie można w jednym czasie nawiązać. Otwierając sesję, blokujemy 1 licencję sesji do momentu, aż ją zamkniemy lub straci ona swoją ważność. Ilość sesji jest zależna od licencji – jak najbardziej można dać 100 licencji na sesję. W takim przypadku w jednym czasie z usługi WebAPI może korzystać 100 połączeń (klientów, końcówek, urządzeń, itp.).

 

Każda z sesji posiada swój unikalny token, którym należy się posługiwać przy próbie dostępu do wybranego zasobu. Dla każdej z sesji otwierane jest oddzielne, nowe połącznie SQL do bazy danych. Połączenie te wykorzystywane jest przy dostępie do bazy danych i tylko dla użytkownika sesyjnego (tokenu sesji) dla którego zostało otwarte.

 

Długość sesji (okres ważności) jest sprawą indywidualną klienta, którą należy skonfigurować. Zbyt krótki okres ważności sesji będzie wymuszał na użytkowniku częste ponawianie prób otwarcia nowej sesji. Natomiast zbyt długi okres ważności będzie sprawiał, iż jeżeli użytkownicy nie będą zamykali swoich sesji będą pozostawiać po sobie martwe sesję, które do momentu utraty swojej ważności będą zabierały limit dostępny sesji.

 

W celu otwarcia sesji należy wywołać metodę:

[GET] /api/OpenNewSession?deviceName=nazwa_urzadzenia

OpenNewSession Method

 

Gdzie w headersach requestu należy dodać wpis:

Key: Authorization

Value: Application guid_usługi

W response body zostanie zwrócony guid – token sesji.

 

12. Ile sesji powinna obsługiwać licencja WebAPI?

Domyślnie licencja pozwala na obsługę 10 jednocześnie otwartych sesji. W przypadku potrzeby większej ilości sesji, prosimy o kontakt.

 

13. Kiedy są zużywane sesje i licencje WebAPI?

Licencja WebAPI jest zużywana do uruchomienia połączenia do Handlu lub obiektu integracji. W zależności od tego ile jest licencji WebAPI, tyle można uruchomić pod spodem równolegle obiektów COM Handlu lub ITG. Licencja WebAPI jest zużywana od razu przy starcie usługi. Licencja sesji jest zużywana w momencie otwarcia połączenia do WebAPI przez użytkownika.

 

14. Jaką licencję WebAPI potrzebuje klient?

Wszystko zależy od przeznaczenia. Parę przykładów:

Jeżeli klient chce uruchamiać COM Handlu w trzeciej aplikacji (np. swoim serwisie) to musi posiadać opcję podstawową (funkcjonalność Main).

Jeżeli klient chce skorzystać z udostępnionych modułów WebAPI, to wybiera które moduły mu są potrzebne (Towary, Kontrahencie, Zamówienia, Magazyn, Faktury sprzedaży).

Jeżeli ilość modułów, z których chce korzystać, jest znaczna, to należy rozważyć opcję zakupu wszystkich modułów w komplecie (ALL), gdyż może być tańsza.

Jeżeli klient chce mieć rozbudowane WebApi o swoje moduły, to powinien mieć pełen pakiet razem z funkcjonalnością "WłasneModuły".

 

Przykładowo: Integracja z 5 sklepami internetowymi, gdzie każdy sklep nawiązuje jedno połączenie może wymagać:

Opcja 1) -> WebApi 1 licencja (standardowo 10 sesji) z opcjami Towary, Kontrahenci, Zamówienia

Opcja 2) -> WebApi 1 licencja (standardowo 10 sesji) z opcją full pakiet (i własnymi modułami) jeżeli klient chce rozbudować integrację ze sklepami.

 

15. Oferta

Funkcjonalność ta jest dostępna w subskrypcji rocznej i wyceniana w zależności od zakresu integracji.

 

Dostępne są następujące funkcje w licencji WAH:

Nazwa funkcjonalności

Opis funkcjonalności

Moduł – Main

Funkcjonalność podstawowa WebAPI + działanie modułu HMF jako serwer OLE Automation.

Moduł – Kontrahenci

Pobieranie/edycja/tworzenie danych kontrahentów w module HMF.

Moduł - Towary

Pobieranie/edycja/tworzenie danych towarów w module HMF.

Moduł - Stany magazynowe

Pobieraniem danych o stanach magazynowych/handlowych towarów z modułu HMF.

Moduł - Zamówienia obce

Usługi biznesowe związane z pobieraniem/tworzeniem zamówień obcych, pobieraniem informacji dodatkowych do zamówień (w tym wydruków), wystawianie dokumentów powiązanych z zamówieniem (WZ, faktura).

Moduł – Zamówienia własne

Pobieranie/tworzenie zamówień własnych, pobieranie informacji dodatkowych do zamówień (w tym wydruków), wystawianie dokumentów powiązanych z zamówieniem (PZ, faktura zakupu).

Moduł - Dokumenty sprzedaży

Pobieranie, tworzenie dokumentów sprzedaży, korekt dokumentów sprzedaży oraz zaliczek pobieranie informacji dodatkowych do tych dokumentów, wydruki, wystawianie dokumentów powiązanych (WZ).

Moduł – Dokumenty zakupu

Pobieranie, tworzenie dokumentów zakupu oraz korekt dokumentów zakupu, pobieranie informacji dodatkowych do tych dokumentów, wydruki, wystawianie dokumentów powiązanych (PZ).

Moduł - Dokumenty magazynowe

Pobieranie, tworzenie dokumentów magazynowych, pobieranie informacji dodatkowych do tych dokumentów, wydruki, wystawianie dokumentów powiązanych.

Moduł - Płatności

Wprowadzanie dokumentów KP (kasa przyjmie), rozliczenie wskazanych faktur (o wprowadzonych kwotach) na wprowadzonym KP, pobieranie numeru wystawionego KP.

Moduł - Rezerwacje

Możliwość rezerwowania towaru oraz zdejmowania rezerwacji.

Możliwości włączenia dodatkowego modułu – własnego

Możliwość stworzenia własnych modułów udostępniających inne usługi biznesowe w formacie web service.

Funkcjonalność Main + wszystkie powyższe funkcjonaności

Komplet - wszystkie powyższe.

 

Dostępne są następujące funkcje w licencji WAF:

Nazwa funkcjonalności

Opis funkcjonalności

Moduł – Main

Funkcjonalność podstawowa WebAPI FK + działanie procesu ITG.

Moduł – Kontrahenci

Pobieranie/edycja/tworzenie danych kontrahentów w module FKF.

Moduł – Pracownicy

Pobieranie/edycja/tworzenie danych pracowników w module FKF.

Moduł – Słowniki

Pobieranie definicji słowników oraz ich elementów, możliwości dodawania i edycji elementów słowników.

Moduł – Rozrachunki

Pobieranie i filtrowanie rozrachunków za pomocą predefiniowanych filtrów, możliwość utworzenia własnych filtrów.

Moduł – Wymiary

Pobieranie klasyfikacji wymiarów oraz wymiarów dokumentów.

Moduł – Dokumenty

Możliwość dodawania do bufora dokumentu prostego, dokumentu zakupu, dokumentu sprzedaży oraz samodzielnie zdefiniowanego dokumentu.

Moduł – Plan kont

Pobranie planu kont w postaci drzewa oraz płaskiej listy.

 

Nie ma możliwości zakupu pojedynczych funkcjonalności WebAPI (np. Towary czy Kontrahenci) bez zakupu licencji WebAPI Main.

 

Zobacz także:

Centrum pomocy >>