Konfiguracja dodatkowych funkcji w Comarch e-Sklep Sync

Zastosowanie

W Comarch e-Sklep Sync istnieje możliwość obsługi dodatkowych funkcji za pomocą tzw. Workerów. Dzięki tym programom można odpytywać  zewnętrzne usługi sieciowe, bazy danych itp. a następnie zwracać określone dane, które potem będą wyświetlane w Comarch e-Sklep. Workery są to klasy dziedziczące po klasie Comarch.eShop.Isync.Worker:

Klasa:

Schemat komunikacji Comarch e-Sklep Sync

  • W Comarch e-Sklep zostaje odpytana akcja z Worker i Message (w Comarch e-Sklep Sync powinien być taki Worker).
  • Worker wykonuje akcje na podstawie Message.
  • Worker zwraca wynik do sklepu w postaci JSONA.
  • Zmodyfikowany szablon wyświetla informacje z otrzymanego JSONA.

Jak stworzyć przykładowego Workera?

W Comarch e-Sklep Sync konfigurujemy przykładowy Worker:

oraz implementującą metodę Execute:

Przykładowy kod:

Metoda Execute jako drugi parametr przyjmuje obiekt klasy Msg, który posiada property Message oraz Response. W Message jest json, który zawiera dane przesłane requestem z Comarch e-Sklep, których po deserializacji można użyć jako parametrów dla pisanego workera.

Dane wynikowe, które chcemy zwrócić do Comarch e-Sklep należy również serializować do json’a oraz przypisać je do property Response klasy Msg.

Konfiguracja Workera

Tak napisaną klasę należy następnie dodać do pliku configWorkers.json, który zawiera wszystkie Workery zarejestrowane w aplikacji.

Wpis dodający workera wygląda następująco:

P l i k  c o n f i g W o r k e r s . j s o n
P a r a m e t r O p i s
Key To unikatowa nazwa workera przesyłana z requestem dzięki, której aplikacja wie któryz zarejestrowanych workerów powinien obsłużyć request,
Assembly Nazwa assembly, gdzie znajduje się worker, którego chcemy dodać
Type Nazwa klasy będącej workerem
Default Określa czy jest to domyślny worker. Domyślny worker obsługuje
requesty, które nie zawierały nazwy workera

W sekcji config należy dodać listę parametrów wymaganych do inicjalizacji workera:

Akcja SYNC/EXEC

Silnik graficzny Liquid ma akcje sync/exec. Ta akcja odpowiada za komunikację interfejsu z Comarch e-Sklep Sync. Akcja przyjmuje parametry:

P a r a m e t r O p i s
worker
  • Nazwa zadania, które ma uruchomić Comarch e-Sklep Sync.
  • Domyślnie ‘erpData’ – wywołuje zapytania na SQL, ‘erpDataOrder’ – odpowiada za obsługę stanów magazynowych.
  • Jeśli jest używany własny worker trzeba tutaj podać jego nazwę. Dodatkowe workery konfiguruje się w pliku configWorkers.json
message

Treść polecenia do wykonania przez worker.

 

Po wykonaniu akcji zwracana jest odpowiedź. Odpowiedź zawiera obiekt lub kolekcję obiektów, które należy wyświetlić na interfejsie. Kolekcja obiektów zwraca jest przykładowo, gdy procedura SQL zwraca kilka recordsetów.

Kod wywołania:

Czy ten artykuł był pomocny?