Komunikowanie efektów synchronizacji danych

Wprowadzenie

Wszystkie kliknięcia w przyciski Konfiguratora (zapisz, ściągnij zamówienia, wyślij faktury etc.) to w gruncie rzeczy wysłanie do naszego serwera aplikacyjnego żądania wykonania konkretnych operacji. Występują tutaj więc zawsze trzy fazy obsługi takiego żądania (ono może oczywiście przyjść z innej aplikacji, którą napisał sobie klient sam, a która korzysta z naszego API na przykład):

  • wysłanie żądania z odpowiednimi parametrami oraz uwierzytelnieniem w nagłówku
  • przetwarzanie żądania przez nasz serwis (odczytanie danych z bazy, przetworzenie ich itp.)
  • zwrócenie odpowiedzi do wywołującej żądanie aplikacji (Konfigurator, inna aplikacja)

Na każdym z tych etapów może coś pójść nie tak. Może się nie udać wysłać żądania (padła sieć), nastąpił problem z połączeniem z serwerem BaseLinker (bo ich AP działa niestabilnie), przetwarzanie danych po stronie serwisu zwróciło błędy itp.

Przetwarzanie żądania

Konfigurator komunikuje użytkownikowi fakt przetwarzania żądania poprzez wyświetlenie okienka oczekiwania:

Jeżeli czas przetwarzania żądania wzrośnie powyżej 5 sekund, okienko oczekiwanie zmieni swoją formę:

Poprawne przetworzenie żądania

Jeżeli wszystko przebiegło dobrze, Konfigurator pokaże następujący komunikat:


Po kliknięciu w Pokaż szczegóły pokaże się pełna odpowiedź serwisu w formacie JSON:

Żądania mogą zwracać zupełnie różne odpowiedzi (mniej lub bardziej skomplikowane).

Błędy krytyczne

Może się oczywiście zdarzyć, że pojawią się problemy z przetwarzaniem żądania. Jeżeli będą to błędy krytyczne (żądanie nie mogło zostać obsłużone poprawnie), pojawi się następujący komunikat.


Po kliknięciu w Pokaż szczegóły zobaczymy dokładną informację o problemach:

Błędy merytoryczne (niekrytyczne)

Jeśli serwis przetworzył poprawnie żądanie, ale wystąpiły problemy merytoryczne (na przykład zmówienie nie mogło zostać zaimportowane, bo wpisano sposób płatności, którego nie ma w bazie RaksSQL, do której importujemy to zamówienie), Konfigurator pokaże okno ostrzeżenia:

Po kliknięciu w Pokaż szczegóły zobaczymy dokładną informację o problemach: