Przeanalizujemy wasz proces sprzedaży i zaproponujemy architekturę
Katalog, zamówienia, płatności i wymiana danych z księgowością opisane przed rozpoczęciem prac programistycznych.
System e-commerce prowadzi towar od jego karty w katalogu aż do płatności i dostawy. Poniżej znajdziesz moduły systemu, procesy, które obejmuje, oraz jego powiązania z CRM, ERP, magazynem i kasami.
Oprogramowanie dla e-commerce — system, który przechowuje dane o towarach, cenach i stanach magazynowych, przyjmuje zamówienia online, obsługuje płatności i kieruje każde zamówienie do realizacji przez magazyn, dostawę i księgowość.
W odróżnieniu od zwykłej strony pracuje na zapisach biznesowych, a nie na stronach: towar, cena, stan magazynowy, zamówienie, płatność, wysyłka i zwrot, każdy z własnym statusem i historią. To samo zamówienie może powstać w aplikacji, w automacie, u handlowca albo na platformie handlowej.
To warstwa operacyjna stojąca za witryną, a nie sama witryna. Witrynę można wymienić albo dodać kolejną bez przebudowywania zapisów, które leżą pod spodem.
Sześć powodów, dla których firma wdraża platformę e-commerce. Bez niej każde z tych zadań obsługuje się ręcznie — arkuszami, wiadomościami i telefonami.
Parametry, zdjęcia, ceny i stany magazynowe przechowuje się w jednym miejscu i rozsyła do wszystkich kanałów sprzedaży. Strona, aplikacja i kasa zawsze mówią to samo.
Zamówienia powstają, są sprawdzane i opłacane automatycznie, całą dobę. Ludzie wkraczają tylko tam, gdzie trzeba ocenić sytuację: nietypowa dostawa, sporny zwrot, zamówienie hurtowe.
Rezerwacja towaru przy składaniu zamówienia nie pozwala sprzedać tej samej sztuki dwa razy. Anulowania z powodu braku towaru w magazynie stają się wyjątkiem, a nie regułą.
Cenami i rabatami rządzą reguły, a nie ręczne poprawki na kartach produktów. Przecena katalogu liczącego tysiące pozycji zajmuje kilka minut i pozostaje odwracalna.
Zamówienia, płatności i wysyłki trafiają do księgowości i do systemu magazynowego bez ponownego wpisywania. Uzgadnianie przestaje być osobną pracą.
Widać, co klienci kupują, czego szukają i nie znajdują, w którym miejscu porzucają zamówienie i jakie towary zwracają. Decyzje o asortymencie opierają się na danych.
Automatyzacja nie oznacza zastąpienia sprzedawcy robotem. Oznacza zamianę powtarzalnych operacji w reguły, które system stosuje zawsze tak samo i zapisuje w swojej historii.
Reguła działa dopóty, dopóki nie zmienią się jej warunki. Kontrola zostaje zachowana: każde automatyczne działanie ma autora, godzinę i poprzednią wartość w dzienniku.
Operacje, które stają się automatyczne:
| Godzina | Co system zrobił automatycznie |
|---|---|
| 09:41 | Narzut 18%: przeliczono 1 240 pozycji |
| 10:00 | Promocja «−15% na herbatę» ruszyła o zaplanowanej porze |
| 10:03 | Zamówienie nr 14 190 odrzucone: 2 pozycje wróciły na stan |
| 10:06 | Niski stan dla indeksu 77-1043: powiadomiono dział zakupów |
Katalog — uporządkowany zbiór danych o towarach: co się sprzedaje, czym towary się różnią i po jakich cechach klienci ich szukają.
Działający katalog obejmuje:
Podstawową jednostką katalogu jest pozycja towarowa z niepowtarzalnym indeksem: niezmienne identyfikatory, edytowalny opis oraz powiązane z nimi zdjęcia, dokumenty, ceny i stany.
Operacje masowe odbywają się przez import i eksport pliku, API albo strumień z księgowości. Każdy import jest najpierw sprawdzany: co zostanie utworzone, zmienione albo odrzucone i dlaczego.
Odrzucone: powtórzony indeks — 9, brak obowiązkowego atrybutu «Marka» — 5, nieznana kategoria — 3. Dopóki import nie zostanie zatwierdzony, do katalogu nie trafia żaden wiersz.
Cena — nie pole na karcie produktu, lecz wynik zastosowania reguł w chwili zapytania. Towar może mieć kilka cen naraz, a system wybiera tę, która obowiązuje.
Oznacza to, że nie trzeba zmieniać cen na tysiącach kart produktów. Wystarczy zmienić regułę albo cennik bazowy.
Warstwy ceny:
Każda zmiana ceny jest zapisywana: kto ją wprowadził, kiedy, na podstawie jakiej reguły i jaka była poprzednia wartość. Ta historia służy raportom o marży i wyjaśnianiu spornych zamówień.
Reguły rozstrzyga się według priorytetu, a nie dodaje na ślepo. Zwykłe obliczenie ceny pozycji przebiega w tej kolejności:
Zgodność jest określona wprost: które rabaty się sumują, które wykluczają i jaka jest najniższa dopuszczalna cena. Reguła ceny minimalnej nie pozwala, by kilka poprawnych z osobna rabatów łącznie uczyniło pozycję nieopłacalną.
Promocja — reguła, którą system stosuje automatycznie do zamówień spełniających warunki. Kod rabatowy — reguła tego samego rodzaju, którą klient uruchamia hasłem. Obie definiuje się tak samo: warunki, mechanika, harmonogram i ograniczenia.
Co ma zawierać zamówienie: towary, kategorię albo markę, kwotę minimalną, sposób dostawy, segment klientów, kanał sprzedaży, porę dnia albo dzień tygodnia.
Procent, stała kwota, nowa cena, rabat na najtańszą pozycję w zestawie, darmowa dostawa, prezent albo punkty zamiast rabatu.
Data początku i końca, powtarzalne okna w rodzaju każdego piątku, automatyczne uruchamianie i kończenie bez udziału pracowników.
Ogólny limit użyć, limit na klienta, jednorazowe kody osobiste, wykluczenie z innych promocji i minimalna cena pozycji.
Jeden kod na całą kampanię albo partia niepowtarzalnych kodów dla poszczególnych odbiorców. Partię można wyeksportować do pliku i śledzić kod po kodzie.
Dla każdej promocji widać liczbę zamówień, łączną kwotę rabatu, przychód i marżę po rabatach, a także ile kodów wykorzystano i ile zostało.
Koszyk — zamówienie w postaci szkicu: zestaw pozycji, który do niczego nie zobowiązuje ani klienta, ani sklepu. Towar nie jest rezerwowany, a ceny nie są ustalone, dlatego koszyk przelicza się przy każdym otwarciu.
Przeliczenie sprawdza cztery rzeczy: czy każdy towar wciąż jest w sprzedaży, czy stan wystarcza, czy cena się nie zmieniła i czy rabaty nadal obowiązują. Klient widzi różnice przed zapłatą, a nie po obciążeniu.
Koszyk musi umieć:
Suma do zapłaty: 3 pozycje, 11 640 som. Obie różnice pokazuje się klientowi przed płatnością, a nie po obciążeniu.
Obok koszyka stoją listy, które nie rozpoczynają zakupu: ulubione, lista oczekiwania, porównanie parametrów i zamówienie cykliczne. Są celowo oddzielone, żeby suma zamówienia pozostała jednoznaczna.
Większość koszyków nigdy nie staje się zamówieniem. System przechowuje je z godziną i pozwala sprowadzić klienta z powrotem: przypomnieniem e-mailem albo w komunikatorze, linkiem przywracającym koszyk lub ofertą dopasowaną do klienta.
Przypomnienie wychodzi raz na zdarzenie i nie zamienia się w kampanię wysyłkową: wypisanie się kosztuje więcej niż odzyskane zamówienie.
Zamówienie — dokument, który utrwala kupione pozycje, ceny z chwili złożenia, klienta, warunki dostawy i warunki płatności. Następnie zamówienie przechodzi przez skończony zbiór statusów, a każde przejście jest zapisywane.
Ceny i rabaty ustala się w chwili składania zamówienia. Późniejsza zmiana ceny albo koniec promocji nie dotyczą złożonego już zamówienia, inaczej kwota do zapłaty przestałaby zgadzać się z paragonem.
Składanie zamówienia krok po kroku:
Typowe statusy: nowe → oczekuje na płatność → opłacone → w kompletacji → przekazane do dostawy → dostarczone → zakończone. Gałęzie anulowania i zwrotu biegną obok głównego przebiegu. Zbiór konfiguruje się pod proces firmy, ale pozostaje skończony i jawny.
Edycja zamówienia to osobna operacja wymagająca uprawnień: dodanie pozycji, zamiana towaru, zmiana ilości, pobranie dopłaty albo częściowy zwrot. Każda zmiana zachowuje poprzednią wersję zawartości zamówienia.
Call center — nie osobna aplikacja, lecz miejsce pracy zbudowane na tej samej kolejce zamówień. Operator widzi te same zapisy, które klient widzi na swoim koncie, plus operacje zastrzeżone: zmianę zawartości zamówienia, udzielenie rabatu w dozwolonym limicie, zdjęcie rezerwacji i wykonanie zwrotu.
Zgłoszenie to zapis ze statusem i historią, dokładnie jak zamówienie. Ma kanał, temat, powiązane zamówienie, osobę odpowiedzialną i termin odpowiedzi. Rozmowa nie ginie więc między zmianami, a jej wynik pozostaje widoczny na karcie klienta.
Jak obsługuje się zgłoszenie:
Rozmowy wychodzące działają według tego samego schematu: potwierdzenie zamówienia przed kompletacją, telefon w sprawie nietypowej dostawy, odzyskanie porzuconego koszyka albo powrót do spornego zwrotu. Każdy kontakt zapisuje się w tej samej historii co zgłoszenia przychodzące.

Sklep nie przechowuje danych karty i sam nie obsługuje płatności. Kieruje klienta do dostawcy usług płatniczych, odbiera wynik i wiąże operację z zamówieniem. Cała reszta to zarządzanie cyklem życia płatności.
| Zamówienie | Operacja | Kwota | Status |
|---|---|---|---|
| 14 208 | Autoryzacja | 12 480 | Autoryzowana |
| 14 201 | Obciążenie | 6 350 | Wykonane |
| 14 177 | Zwrot | 2 100 | Wykonane |
| 14 206 | Anulowanie autoryzacji | 3 940 | Zwolniona |
| 14 209 | Odmowa banku 05 | 890 | Ponowna próba |
Autoryzację zwolniono bez operacji zwrotu, bo pozycji nie było w magazynie. Ponowne wysłanie tego samego żądania z tym samym kluczem idempotencji nie tworzy drugiego wiersza.
Karta bankowa, kod QR albo płatność natychmiastowa, portfele elektroniczne, płatność przy odbiorze, przelew dla osób prawnych, raty i kredyt albo punkty lojalnościowe.
Najpierw autoryzacja: kwota zostaje zablokowana na karcie, ale nie pobrana. Obciążenie następuje po skompletowaniu zamówienia. Jeśli pozycji brakuje, blokadę zwalnia się bez operacji zwrotu.
Wynik operacji przychodzi osobnym żądaniem między serwerami, a nie w chwili powrotu klienta na stronę. Zamknięcie przeglądarki nie przerywa płatności: status aktualizuje się z powiadomienia.
Ponowne wysłanie tego samego żądania płatności nie tworzy drugiej płatności. Każda operacja ma klucz, po którym zarówno dostawca, jak i system rozpoznają duplikat.
Po płatności online podłączony system kasowy wystawia paragon fiskalny i wysyła go klientowi. Dla zwróconych pozycji wystawia się paragon zwrotu.
Codziennie operacje w systemie porównuje się z rejestrem dostawcy i wyciągiem bankowym. Rozbieżności trafiają do osobnej kolejki do ręcznego wyjaśnienia.
Stan dostępny — ilość możliwa do sprzedania w tej chwili. To nie ilość fizyczna w magazynie: część jest zarezerwowana pod zamówienia, w drodze albo zablokowana jako uszkodzona.
Dostępne do sprzedaży = stan fizyczny − rezerwacje − towar zablokowany + potwierdzone dostawy w drodze, tam gdzie przedsprzedaż jest dozwolona.
Przy kilku magazynach i punktach stan liczy się osobno dla każdego z nich. Witryna pokazuje sumę tych magazynów, które mogą dowieźć do wybranego regionu.
Sposoby wymiany danych:
Każda rezerwacja ma czas życia. Zamówienie nieopłacone w terminie zwalnia towar do sprzedaży, inaczej porzucone koszyki pochłonęłyby cały dostępny stan.
| Magazyn | Fizyczny | Zarezerwowany | Uszkodzony | Dostępny |
|---|---|---|---|---|
| Centralny | 1 420 | 310 | 24 | 1 086 |
| Sklep «Wostok» | 96 | 12 | — | 84 |
| Punkt odbioru nr 3 | 40 | 8 | 2 | 30 |
| W drodze | 600 | — | — | 600 |
| Dostępne do sprzedaży | 2 156 | 330 | 26 | 1 800 |
«Fizyczny» to ilość realnie obecna, «uszkodzony» — zablokowana. Towar w drodze liczy się jako dostępny tylko tam, gdzie dozwolona jest przedsprzedaż. Witryna pokazuje sumę magazynów mogących dowieźć do wybranego regionu.
Dostawę określają trzy obiekty: sposób dostawy, strefa i taryfa. Zwrot to proces odwrotny, z własnym dokumentem, a nie anulowanie datowane wstecz.
Kurier pod adres, punkt odbioru, paczkomat, odbiór w sklepie, przewoźnik dla towarów wielkogabarytowych albo dostawa cyfrowa dla produktów elektronicznych.
Cena zależy od regionu, wagi, objętości i kwoty zamówienia. Reguły ustalają próg darmowej dostawy i dopłaty za wniesienie na piętro albo za gabaryt.
Daty i przedziały godzinowe liczy się na podstawie godzin pracy magazynu, czasu kompletacji i harmonogramu przewoźnika. Pełne przedziały zamykają się same.
Zamówienie trafia do przewoźnika przez API. System odbiera numer przesyłki i statusy przemieszczeń i pokazuje je na koncie klienta.
Klient wybiera pozycje i powód. System sprawdza termin i prawo do zwrotu dla danego rodzaju towaru, po czym tworzy dokument z instrukcją.
Po przyjęciu towar wraca na stan dostępny albo zostaje zdjęty jako uszkodzony. Pieniądze wracają na pierwotny sposób płatności i wystawia się paragon zwrotu.
Zwroty częściowe to norma: można zwrócić jedną pozycję z pięciu. Zwroty liczy się więc pozycja po pozycji, a rabat naliczony na całe zamówienie rozdziela się proporcjonalnie, inaczej kwota zwrotu nie zgadzałaby się z paragonem.
Magazynier — pracownik, który fizycznie przemieszcza towar: przyjmuje dostawę, odkłada ją na miejsce, pobiera pozycje zamówienia i przekazuje zapakowaną paczkę kurierowi. System nie dowiaduje się o tych czynnościach z relacji pracownika: każdą operację potwierdza skan kodu kreskowego.
Różnica ma znaczenie. Odhaczenie «zrobione» na liście potwierdza zamiar; skan potwierdza fakt: ten indeks, to miejsce, ten pracownik, co do sekundy. Źle wpisany indeks wychodzi na jaw przy inwentaryzacji miesiąc później; aplikacja odrzuca zły kod od razu.
Zadania na zmianie w magazynie:
Każdy skan to zapis magazynowy: stan miejsca zmienia się w chwili operacji, a nie na koniec dnia przy wprowadzaniu papierów. Witryna, kasa i call center czytają ten sam stan, więc «dostępne online, brak na półce» przestaje być normalną sytuacją.
Dokładność pobrań — 99,4%: w ciągu zmiany zablokowano 7 skanów, a każdy błąd poprawiono od razu. Liczby pochodzą z tych samych zapisów magazynowych, a nie z osobnej ewidencji czasu.
Kurier — ostatnie ogniwo realizacji i jedyny pracownik, którego klient spotyka osobiście. Aplikacja ma dwa zadania: poprowadzić kuriera po trasie i zapisać przekazanie w sposób niepodważalny, bez późniejszych telefonów w celu ustalenia, co się wydarzyło.
Kluczową operacją jest skan kodu QR przy przekazaniu. Kod jest wydrukowany na etykiecie zamówienia albo pokazuje go klient na ekranie. Skan odpowiada na pytania, które inaczej stałyby się sporem: czy to było właściwe zamówienie, czy trafiło do właściwego odbiorcy i o której minucie.
Dyspozytor pracuje po drugiej stronie tej samej aplikacji: układa trasy według strefy, wagi, objętości i okna dostawy, przydziela kurierów, obserwuje mapę zmiany i rozwiązuje sytuacje wyjątkowe — opóźnienie, niedostępny klient, odmowa w drzwiach.
Zmiana kuriera krok po kroku:

Status ustawiony przez kuriera to ten sam status, który klient widzi na koncie, a operator na zamówieniu. Nie ma osobnego «dziennika kuriera»: jedno zdarzenie jest wspólne dla wszystkich trzech stron.
Magazynier i kurier pracują w różnych aplikacjach i w różnych miejscach, ale prowadzą to samo zamówienie. Łączy ich sześć wspólnych zasad, a nie raporty na koniec dnia.
Zadanie pobrania, lista pakowa i karta trasy nie są niezależnymi dokumentami: to różne widoki jednego zamówienia. Pozycja dodana przez operatora dociera do magazyniera bez ponownego wpisywania.
Towar przechodzi z magazynu do kuriera i od kuriera do klienta przez skan. W każdej chwili system pokazuje, kto fizycznie ma zamówienie i od której minuty.
Kto wykonał czynność, ten ją zapisuje w miejscu, w którym się wydarzyła. Dyspozytor nie przepisuje statusów ręcznie, więc faktu i jego zapisu nie dzieli kilka godzin.
Obie aplikacje zapisują operacje w lokalnej kolejce i przesyłają je po powrocie łączności. Każda operacja ma klucz, więc ponowne wysłanie nie tworzy ani drugiego pobrania, ani drugiego przekazania.
Brak przy przyjęciu, pomyłka w pozycji, stłuczka albo częściowa odmowa pod adresem stają się osobnym zapisem z powodem i osobą odpowiedzialną, a nie cichą korektą stanu.
Pozycji pobranych na godzinę, dokładność pobrań, udział dostaw w obiecanym oknie, czas spędzony pod adresem i odsetek odmów częściowych. Obciążenie i premie liczy się na tych faktach, a nie na wrażeniach.
Stąd wymóg wdrożenia: magazyn i dostawa muszą wejść do systemu razem. Aplikacja magazynowa bez aplikacji kurierskiej daje poprawny stan, który znika z pola widzenia, gdy tylko zamówienie wyjedzie.
Konto klienta — dostęp do własnych danych bez kontaktu z operatorem: zamówienia, dokumenty, adresy, sposoby płatności i zwroty. Każde pytanie rozwiązane na koncie to telefon, który nigdy nie dociera do wsparcia.
Konto nie przechowuje osobnej kopii danych. Pokazuje te same zapisy, które operator widzi w panelu administracyjnym, ograniczone do tego klienta i do operacji, na które ma pozwolenie.
Znajdują się tam:
Konto B2B jest bardziej złożone: organizacja ma kilku pracowników o różnych uprawnieniach. Kupujący przygotowuje zamówienie, przełożony je zatwierdza, a księgowość pobiera dokumenty. Zamówienie jest jedno, ale czynności są rozdzielone.
Logowanie kodem jednorazowym albo hasłem, drugi składnik przy płatnościach i zmianie danych kontaktowych, dziennik sesji pozwalający odłączyć nieznane urządzenie. Zmianę e-maila albo telefonu potwierdza się i na starym, i na nowym kontakcie.
Operator widzi te same zapisy na zamówieniu: zdarzenia są wspólne, dla konta klienta nie ma osobnego dziennika. Paragon i list przewozowy znajdują się w dziale «Dokumenty».
Integracja — uzgodniona wymiana danych z systemem zewnętrznym: co się przekazuje, w jakim formacie, jak często, do kogo należą dane i co się dzieje w razie awarii.
Systemy, które podłącza się najczęściej:

Kluczową decyzją integracji jest właściciel danych. Każdej jednostce przypisuje się system właścicielski: kartoteka towarów i ceny pochodzą z ERP, klienci z CRM, stany z magazynu, a zamówienia powstają w e-commerce. Zmienianie tego samego pola w dwóch systemach tworzy trwałe rozbieżności, dlatego unika się własności dwukierunkowej.
| System | Przekazywane dane | Komunikaty | Wynik |
|---|---|---|---|
| ERP | kartoteka towarów, ceny | 4 120 | Bez błędów |
| Magazyn | stany, rezerwacje | 18 640 | 2 ponowienia |
| CRM | klienci, segmenty | 1 305 | Bez błędów |
| Platforma handlowa | zamówienia, stany | 2 470 | 1 do wyjaśnienia |
Integracja prawie nigdy nie psuje się przy uruchomieniu: psuje się pół roku później, gdy system zewnętrzny zostanie zaktualizowany, kanał padnie na godzinę albo do kartoteki trafi nieoczekiwana wartość. O tym, czy wymiana przetrwa takie zdarzenia, decyduje sześć zasad.
Składanie zamówienia nie czeka na system zewnętrzny. Komunikat trafia do kolejki i jest przetwarzany osobno, więc niedostępny magazyn nie zatrzymuje sprzedaży.
Nieudane dostarczenie ponawia się w rosnących odstępach. Komunikat, który zawodzi mimo wszystkich prób, trafia do kolejki wyjaśnień zamiast zniknąć.
Ponowiony komunikat nie tworzy drugiego zamówienia i nie zdejmuje towaru dwa razy. Odbiorca rozpoznaje duplikat po kluczu operacji.
Zmiana formatu wychodzi jako nowa wersja, a stara nadal działa. Zewnętrzni odbiorcy migrują we własnym tempie.
Każdy komunikat przechowuje się z treścią, godziną, wynikiem i liczbą prób. Wyjaśnianie incydentu opiera się na dzienniku, a nie na pamięci.
Kluczowe liczby uzgadnia się regularnie: zamówienia, kwoty płatności i stany. Rozbieżność staje się zadaniem, zamiast wychodzić na jaw przy inwentaryzacji.
Katalog i zamówienia
Płatności
Stany i magazyn
Analityka
Analityka buduje się na własnych danych sprzedażowych i behawioralnych firmy, a nie tylko na zewnętrznych licznikach ruchu. Licznik ruchu wie o odsłonach; system wie o pieniądzach, towarach i zwrotach.
Raporty dzieli się według okresu, kanału sprzedaży, kategorii, marki, magazynu, regionu, segmentu klientów albo promocji. Każdy wskaźnik jest dostępny w każdym z tych przekrojów i eksportuje się do pliku albo do hurtowni danych.
Największy spadek jest między koszykiem a składaniem zamówienia. Rejestracja, obliczanie dostawy i sposoby płatności to pierwsze miejsca do sprawdzenia.
Bezpieczeństwo opiera się na trzech zasadach: dane płatnicze nigdy nie trafiają do systemu sklepu, dane osobowe przechowuje się oszczędnie i pod kontrolą, a każda czynność dotykająca pieniędzy albo zamówień zostawia ślad.
Numery kart wpisuje się po stronie certyfikowanego dostawcy i nigdy nie trafiają do systemu sklepu. Do kolejnego obciążenia przechowuje się token, a nie numer karty.
Cały ruch idzie przez HTTPS. Wrażliwe pola bazy są zaszyfrowane, a zaszyfrowane kopie zapasowe przechowuje się osobno od środowiska produkcyjnego.
Dostęp według roli: osoba od treści nie widzi płatności, a operator nie zmienia cen. Dostęp administracyjny wymaga uwierzytelnienia dwuskładnikowego.
Kto zmienił cenę, anulował zamówienie albo wyeksportował bazę klientów. Zapisy są niezmienne i przechowywane osobno od danych roboczych.
Zbiera się wyłącznie to, co niezbędne, z terminem przechowywania, usunięciem na żądanie oraz zgodą na przetwarzanie i kampanie, opatrzoną datą i źródłem.
Ograniczenie liczby żądań, ochrona przed przeszukiwaniem formularzy, kontrola ponownego użycia kodów rabatowych i sprawdzanie zamówień pod kątem oszustw przed kompletacją.
Odtwarzanie to osobna dziedzina. Kopia zapasowa jest bezużyteczna, dopóki odtworzenia nie sprawdzono: wdrożenie testowe uruchamia się według harmonogramu, a nie po raz pierwszy w trakcie awarii.
Skalowanie to zdolność do wzrostu bez przepisywania. Rosną trzy wielkości: rozmiar katalogu, liczba jednoczesnych odwiedzających i liczba zamówień na godzinę.
Katalog ogranicza wyszukiwanie i filtrowanie, ruch szczytowy — dostarczanie stron, a liczbę zamówień — baza danych i integracje zewnętrzne. Każde z nich wymaga innej odpowiedzi, którą wprowadza się wtedy, gdy staje się potrzebna.
Techniki stosowane w praktyce:
| Wskaźnik | Zmierzone | Próg |
|---|---|---|
| Odpowiedź katalogu, p95 | 180 ms | 400 ms |
| Zamówień na godzinę w szczycie | 3 000 | 2 400 |
| Odpowiedzi z pamięci podręcznej | 86% | 70% |
| Przeindeksowanie katalogu | 9 min | 20 min |
| Odtworzenie kopii zapasowej | 22 min | 60 min |
System składa się z modułów, z których każdy odpowiada za własne dane i operacje, a powiązania między nimi są jawne. Może ruszać etapami: najpierw katalog i zamówienia, potem lojalność, analityka i zewnętrzne kanały sprzedaży.
Pozycje, indeksy, opisy, statusy publikacji, wersje kart produktów i archiwum wycofanych towarów.
Drzewo działów, towary powiązane z kilkoma gałęziami, sortowania oraz strony docelowe dla kolekcji i działów sezonowych.
Kartoteka właściwości o określonych typach wraz z regułami wyświetlania, podstawa filtrów, porównywarki i eksportów na platformy handlowe.
Rozmiary, kolory i pojemności na jednej karcie produktu, z osobnymi indeksami i stanami. Zestawy zdejmujące ze stanu kilka pozycji składowych.
Zdjęcia, filmy i dokumenty, automatyczne tworzenie formatów i rozdzielczości, znaki wodne i powiązanie z towarami.
Cenniki, reguły narzutu, progi ilościowe, ceny indywidualne i umowne, waluty, zaokrąglenia, podatki i historia.
Warunki uruchomienia, mechanika rabatu, harmonogram, limity, generowanie partii kodów, zgodność i cena minimalna.
Koszyk wspólny dla wszystkich urządzeń, przeliczanie cen i dostępności, kroki składania zamówienia, zamówienia bez konta i odzyskiwanie porzuconych koszyków.
Jedna kolejka zamówień ze wszystkich kanałów, statusy i przejścia, zmiany zawartości, dopłaty, wysyłki częściowe i anulowania.
Podłączanie dostawców, autoryzacja i obciążenie, zwroty częściowe i pełne, obsługa powiadomień i uzgadnianie.
Paragony sprzedaży i zwrotu, wymiana z kasą online, doręczenie paragonu klientowi i nadzór nad dokumentami nieprzesłanymi.
Stany według magazynów, rezerwacje z terminem, blokady towaru uszkodzonego, przyjęcia dostaw i zwrotów oraz progi niskiego stanu.
Sposoby dostawy, strefy, taryfy, okna i przedziały, tworzenie przesyłek, śledzenie statusów i drukowanie dokumentów.
Zgłoszenia pozycja po pozycji, sprawdzenie prawa i terminów, przyjęcie, zwrot pieniędzy, powrót na stan albo zdjęcie jako uszkodzone.
Konta, adresy, osoby prawne i umowy, historia zamówień, segmenty i zgody na przetwarzanie danych.
Punkty, poziomy, reguły naliczania i wykorzystania, wygasanie punktów, oferty dopasowane do klienta i polecenia.
Indeks wyszukiwania, odmiana i synonimy, odporność na literówki, filtry po atrybutach, sortowania i wyszukiwania bez wyniku.
Towary pokrewne i podobne, «często kupowane razem», kolekcje redakcyjne i reguły oparte na historii zamówień.
Strony, artykuły, banery, metadane i adresy stron, znaczniki strukturalne towarów, mapa strony i pliki produktowe.
Powiadomienia e-mail, SMS, w komunikatorach i push wyzwalane zdarzeniami, szablony wiadomości, harmonogram i dziennik wysyłek.
Raporty sprzedaży, marży, stanów, lejka i zwrotów, własne przekroje, eksporty i zestawienia danych.
Wymiana z CRM, ERP, magazynem, kasami, usługami płatniczymi i logistycznymi oraz platformami handlowymi. API, webhooki i kolejki.
Role i uprawnienia według działów i operacji, uwierzytelnianie dwuskładnikowe i dziennik działań pracowników.
Kilka witryn na jednym rdzeniu, wiele języków i walut, kilka osób prawnych i magazynów oraz obsługa regionów.
Całego systemu nie uruchamia się jednym wydaniem. Poniższa kolejność odzwierciedla zależności: każdy krok opiera się na danych powstałych w poprzednim.
Obecne procesy, kartoteki i systemy właścicielskie danych. Wynikiem jest model jednostek i mapa integracji.
Przeniesienie kart towarów, konfiguracja atrybutów i kategorii, wymiana cen i stanów. Sprawdzenie na prawdziwych danych.
Składanie zamówienia, statusy, dostawca płatności, paragony fiskalne i przekazanie do realizacji. Pierwsze uruchomienie na części asortymentu.
Dostawa i zwroty, lojalność, analityka i nowe kanały sprzedaży. Każdy kierunek to osobne wydanie, którego efekt się mierzy.
Opowiedzcie, co już działa: księgowość, magazyn, kasy i obecna witryna. Przeanalizujemy proces i zaproponujemy architekturę rozwiązania.