Archifutura / Aeneia

Projektowanie aplikacji

Aplikacja samoobsługowa dla klientów: jak zaprojektować bezpieczną zmianę danych

Klienci mają samodzielnie zmieniać dane? Sprawdź uprawnienia, potwierdzenie operacji, synchronizację i obsługę wyjątków.

Tworzyliśmy rozwiązania dla

  • L'Oréal
  • Garnier
  • Netflix
  • Carrefour
  • Warner Bros. Discovery
  • Biedronka
  • HBO Max
  • Wolt
  • Żabka
  • COSRX
  • Mixa
  • Ambasada Chin w Polsce

Doświadczenie Aeneia, firmy stojącej za Archifutura.

Klient chce zmienić adres do korespondencji. Loguje się do portalu, wpisuje nową wartość i otrzymuje potwierdzenie. To krótki proces tylko wtedy, gdy aplikacja wie, które konto zmienia, gdzie zapisać wynik oraz jak postąpić, jeśli zmiana ma wpływ na inne systemy. Bez tych ustaleń elegancki formularz może jedynie przesunąć problem do skrzynki obsługi.

Aplikacja samoobsługowa powinna pozwalać wykonać proste zadanie bez telefonowania do firmy, a przy bardziej wrażliwej zmianie zapewnić odpowiednie sprawdzenie. Nie chodzi o dodanie jednakowej liczby kroków do każdego pola. Adres dostawy, hasło i numer rachunku mogą wymagać różnych zabezpieczeń, ponieważ pomyłka lub przejęcie konta mają różne skutki.

Jeśli planujesz portal klienta, wyślij brief z opisem danych, które użytkownicy mają oglądać i zmieniać, oraz systemów przechowujących te informacje. Wystarczą fikcyjne przykłady. Nie przesyłaj haseł, kluczy ani rzeczywistych danych klientów. Dobrze opisać także dzisiejszą drogę zgłoszenia i sytuacje, w których pracownik musi dodatkowo potwierdzić zmianę.

Ustal, które dane klient może zmienić sam

Wyobraźmy sobie firmę świadczącą usługi kilku przedsiębiorstwom. Osoba kontaktowa może poprawić numer telefonu, ale zmiana danych do rozliczeń wymaga dodatkowej akceptacji. Inny pracownik tego samego klienta może widzieć historię usług, lecz nie mieć prawa edycji danych organizacji. To przykład projektowy, nie opis wdrożenia ani uniwersalna reguła dla wszystkich firm.

Zacznijcie od listy zadań, a nie od listy pól w bazie. Kto prosi o zmianę, czego dokładnie dotyczy i jaki skutek ma ona wywołać? Czy aktualizacja obowiązuje tylko dla jednego zamówienia, czy dla wszystkich przyszłych spraw? Czy może wpłynąć na rozliczenie, dostawę albo dostęp innych użytkowników? Odpowiedzi pozwalają rozróżnić prostą poprawkę od operacji wymagającej dodatkowej kontroli.

Warto zaprosić osoby z obsługi oraz klientów, którzy rzeczywiście wykonują te czynności. Zapytajcie, jakie dane próbują zmieniać, gdzie najczęściej pojawiają się wątpliwości i co dzieje się po rozmowie z konsultantem. Prototyp kilku ekranów może szybko ujawnić niejasne nazwy oraz brakujące decyzje. Praktyczny sposób przeprowadzenia takiej próby opisujemy w artykule o testowaniu prototypu z użytkownikami.

Nie każdy dostęp do konta oznacza prawo do każdej zmiany. W relacjach firmowych ważne bywa to, czy użytkownik działa we własnym imieniu, czy jako przedstawiciel organizacji, a także jaki ma zakres odpowiedzialności. Reguły powinny być uzgodnione w procesie biznesowym i sprawdzane przez aplikację. Samo ukrycie przycisku nie wystarcza, jeżeli operację da się wywołać inną drogą.

Potwierdź właściwą osobę i właściwą operację

Logowanie potwierdza dostęp do sesji, ale przy niektórych działaniach może być potrzebne ponowne sprawdzenie użytkownika. Wybór zależy od skutku zmiany, sposobu logowania oraz przyjętych zasad bezpieczeństwa. Przykładem może być zmiana danych używanych do odzyskania dostępu albo wskazanie nowego miejsca realizacji wrażliwej operacji. Dodatkowy krok powinien dotyczyć sytuacji, w której rzeczywiście ogranicza istotne ryzyko.

Wskazówki OWASP dotyczące uwierzytelniania opisują ponowne potwierdzenie tożsamości przy wrażliwych działaniach i zdarzeniach zwiększających ryzyko. Konkretne rozwiązanie trzeba dopasować do aplikacji i jej użytkowników. Warto sprawdzić również, co dzieje się po odzyskaniu konta i czy starsze sesje powinny zachować dotychczasowe możliwości.

Potwierdzenie powinno odnosić się do konkretnej zmiany. Użytkownik musi widzieć, jakie dane są obecne, jaką wartość proponuje oraz gdzie będzie ona używana. Jeśli po potwierdzeniu zmieni się istotny parametr, aplikacja powinna ponownie poprosić o decyzję zgodnie z zasadami danego procesu. Ogólne pytanie „czy na pewno?” nie pomaga zauważyć, że nowy adres zawiera literówkę.

Dobrze przewidzieć drogę pomocy, gdy klient nie może ukończyć dodatkowej weryfikacji. Konsultant powinien mieć jasną procedurę oraz odpowiednie uprawnienia. Obejście zabezpieczenia nie może polegać wyłącznie na przesłaniu prośby z dowolnego adresu. Jednocześnie procedura musi być możliwa do wykonania dla osób korzystających z różnych urządzeń i sposobów kontaktu.

Nie każda zmiana powinna działać tak samo

Pole z numerem telefonu kontaktowego może być zwykłą informacją pomocniczą albo elementem używanym do logowania. Te dwa przypadki mają inne konsekwencje. Podobnie adres e-mail może służyć wyłącznie do korespondencji albo umożliwiać odzyskanie dostępu. Nazwa pola w formularzu nie wystarczy do wyboru zabezpieczenia. Trzeba zrozumieć jego rolę w całym systemie. Osobne zasady mogą dotyczyć preferencji komunikacji klienta i sposobu ich przekazania do narzędzi wysyłkowych.

Zaplanujcie sytuację, w której zmiana jest wysyłana do zatwierdzenia przez inną osobę. Klient powinien zobaczyć, co pozostaje aktywne do czasu decyzji i jak pozna wynik. Osoba zatwierdzająca potrzebuje dostępu do właściwej sprawy, widoku poprzedniej i nowej wartości oraz możliwości odrzucenia wniosku z czytelnym powodem. Jeśli propozycja wygasa, termin i dalszy krok powinny wynikać z reguł procesu.

Przy danych firmowych warto ustalić, kto może działać dla konkretnej organizacji. Użytkownik uprawniony do podglądu zamówienia nie musi mieć prawa do edycji danych rozliczeniowych wszystkich oddziałów. Podobne pytania pojawiają się w portalu handlowym, o którym piszemy w artykule o portalu B2B dla hurtowni. Uprawnienia powinny być sprawdzane dla zasobu i działania, a nie wyłącznie dla widoku strony.

Osobnej decyzji wymaga poprawianie błędów. Jeżeli klient wpisał złą wartość, musi wiedzieć, czy może ją zmienić ponownie i od kiedy nowa informacja będzie używana. Niektóre zmiany mogą dotyczyć już rozpoczętej realizacji, inne tylko przyszłych spraw. Zamiast obiecywać natychmiastowy skutek w każdym przypadku, pokażcie warunki wynikające z rzeczywistego procesu.

Pokaż wynik i zachowaj historię

Po zapisaniu zmiany użytkownik powinien zobaczyć jednoznaczny rezultat. Komunikat „gotowe” nie wyjaśnia, czy dane zostały zapisane we wszystkich systemach, czy wniosek dopiero oczekuje na akceptację. Wybierzcie słowa zgodne ze stanem sprawy. Jeśli operacja się nie powiodła, zachowajcie wprowadzone wartości tam, gdzie jest to bezpieczne, i wskażcie kolejny krok.

Powiadomienie o istotnej zmianie może pomóc użytkownikowi zauważyć nieoczekiwane działanie. Trzeba ustalić kanał, zakres informacji i sytuację, w której wiadomość jest wysyłana. Samo wysłanie powiadomienia nie zastępuje zabezpieczenia operacji. Nie powinno też ujawniać poufnych danych osobie, która przypadkowo otrzymała dostęp do skrzynki.

Historia biznesowa może zawierać informację o rodzaju zmiany, czasie, osobie wykonującej oraz stanie jej realizacji. Zespół powinien wiedzieć, kto może zobaczyć szczegóły i jak długo są one potrzebne. Zakres przechowywania zależy od celu oraz obowiązków organizacji. Warto osobno uzgodnić, co jest widoczne dla klienta, a co pozostaje w technicznym zapisie służącym obsłudze błędów.

Jeśli sprawa wymaga wyjaśnienia, pracownik potrzebuje odnośnika do właściwego rekordu i kontekstu decyzji. Nie powinien szukać całej historii w kilku niezależnych skrzynkach. Projektując obsługę, można skorzystać z zasad opisanych w artykule o automatyzacji zapytań klientów: sprawa powinna mieć właściciela, stan oraz czytelny następny krok.

Ustal źródło danych i sposób przekazania zmiany

Portal klienta rzadko działa w całkowitym oderwaniu od reszty firmy. Informacja o adresie może być potrzebna w systemie obsługi, rozliczeniach i narzędziu realizującym dostawy. Jeśli każdy z nich przechowuje własną kopię, trzeba ustalić źródło obowiązującej wartości i sposób aktualizacji pozostałych. W artykule o integracji systemów i źródłach danych omawiamy te decyzje przed wyborem samego połączenia.

Zapis w portalu oraz aktualizacja kolejnego systemu mogą nastąpić w różnych momentach. Aplikacja powinna odróżniać przyjęcie wniosku od potwierdzonej realizacji zmiany. Jeśli integracja jest niedostępna, nie należy pokazywać użytkownikowi, że wszystkie dane zostały już zaktualizowane. Potrzebny jest sposób ponowienia, monitorowania oraz przekazania problemu osobie odpowiedzialnej.

Uważajcie na równoczesne zmiany. Klient i pracownik obsługi mogą otworzyć ten sam rekord niemal jednocześnie. Jeżeli późniejszy zapis bez ostrzeżenia nadpisze wcześniejszy, jedna ze stron może uznać operację za zakończoną, choć jej rezultat zniknął. Warto sprawdzić wersję danych przed zapisem i przewidzieć czytelny komunikat, gdy rekord zmienił się w międzyczasie.

Przy ponawianiu operacji trzeba też wiedzieć, czy wcześniejsze żądanie zostało wykonane. Połączenie mogło się przerwać po zapisie, ale przed otrzymaniem potwierdzenia. Powtórzenie nie powinno automatycznie tworzyć dwóch wniosków lub dwóch powiadomień. O różnicy między dostarczeniem wiadomości a wykonaniem zadania piszemy w tekście o API i webhookach w automatyzacji.

Testuj także ścieżki odmowy i odzyskania dostępu

Przed uruchomieniem przygotujcie konta testowe o różnych uprawnieniach. Sprawdźcie zmianę własnych danych, próbę zmiany cudzego rekordu, brak uprawnienia oraz sytuację, w której użytkownik utracił dostęp w trakcie pracy. W teście liczy się zachowanie interfejsu i serwera, a także stan systemów otrzymujących aktualizację. Widoczny komunikat nie wystarczy, jeśli dane w innym miejscu pozostały błędne.

Uwzględnijcie przypadki niepełne: błędny format adresu, niedostępny kanał potwierdzenia, odrzuconą akceptację i zerwane połączenie. Przygotujcie oczekiwany rezultat dla każdego z nich. Osoba testująca powinna móc sprawdzić, czy poprzednia wartość pozostała aktywna i czy klient zna dalszą drogę postępowania. Konkretne kryteria warto uzgodnić przed pracami, zgodnie z podejściem opisanym w artykule o odbiorze aplikacji.

Sprawdźcie również dostępność formularza: nazwy pól, powiązanie błędów z odpowiednimi miejscami oraz możliwość przejścia całej ścieżki klawiaturą. Pomocne jest badanie z osobami korzystającymi z różnych urządzeń i technologii wspomagających. Osoba, która nie może odczytać komunikatu o błędzie, nie wykona zmiany nawet wtedy, gdy sam zapis działa poprawnie.

Po wdrożeniu obserwujcie liczbę przerwanych prób, zgłoszenia do obsługi oraz błędy synchronizacji. Sygnały powinny pomagać znaleźć problem, ale nie wymagać zbierania pełnej treści wrażliwych pól do każdego dziennika. Artykuł o monitorowaniu automatyzacji pokazuje, jak połączyć wykrycie odchylenia z reakcją zespołu.

Warto również uzgodnić sposób obsługi zmiany danych, które wpływają na sprawę już rozpoczętą. Jeśli klient zmieni numer telefonu po przekazaniu zlecenia do ekipy terenowej, system musi wskazać, czy nowa informacja dotrze do osób realizujących tę konkretną wizytę. Jeżeli nie jest to możliwe automatycznie, pracownik potrzebuje zadania do ręcznego potwierdzenia. Taki przypadek warto przejść z zespołem przed obiecaniem klientowi natychmiastowej aktualizacji.

Osobnego sprawdzenia wymaga formularz ponownie otwarty po dłuższym czasie. Dane widoczne w przeglądarce mogły się już zmienić w systemie źródłowym albo użytkownik mógł stracić uprawnienie. Przed zapisem aplikacja powinna ponownie ocenić możliwość wykonania operacji i jasno pokazać, co się stało. Test warto powtórzyć również po wylogowaniu oraz po odebraniu dostępu przez administratora organizacji.

Przed oddaniem rozwiązania ustalcie, kto analizuje powtarzające się zgłoszenia dotyczące zmian. Jeśli klienci często wybierają niewłaściwy zakres aktualizacji, przyczyną może być nazwa pola albo brak informacji o skutkach. Zmiana tekstu i rozmieszczenia elementów może wtedy poprawić proces bez dokładania kolejnego etapu weryfikacji.

Pierwsza wersja portalu może obejmować jedną zmianę o jasno ustalonym skutku. Zespół sprawdzi wtedy działanie uprawnień, komunikatów i integracji przed dodaniem bardziej złożonych operacji. W aplikacjach webowych i mobilnych samoobsługa jest najbardziej użyteczna wtedy, gdy klient wie, co się zmieniło i co zrobić, jeśli potrzebuje pomocy.

Źródła i dokumentacja

Materiały sprawdzone przy opracowaniu tekstu. Przy wyborze usługi lub technologii potwierdzamy warunki dla konkretnego projektu.

Kiedy potrzebujesz spojrzeć szerzej

Projekt nie kończy się na kodzie.

Twój proces, Twój zakres

Sprawdźmy, co ma powstać w Twojej firmie.

Nie potrzebujesz gotowej specyfikacji. Opisz zadanie, obecne narzędzia i to, co dziś wymaga ręcznej pracy.

Opisz swój projekt

Narzędzia i integracje, z których korzystamy

  • Google
  • OpenAI
  • Microsoft
  • Stripe
  • Anthropic
  • Linear

Dobór technologii i dostępnych połączeń ustalamy dla konkretnego projektu.