Twój partner w Marketingu i IT
Menu
Indywidualne rozwiązanie · e-commerce / sprzedaż w szczycie

Kolejka dropowa i ekspresowe zamówienie

Kolejka zakupowaWooCommerceWysoki ruchFail-opene-commerceAutorskie narzędzie

Sklep z kartami kolekcjonerskimi sprzedaje w oknach dropowych: o ustalonej godzinie do sprzedaży trafia kilkanaście pozycji, często po kilka sztuk każda, a kilkudziesięciu kupujących rusza na nie w tej samej minucie. Zwykła kasa sklepu internetowego jest na taki moment za ciężka — każde wejście to pełne uruchomienie WordPressa, koszyk, kilka ekranów i kilka zapytań do bazy, a przy pojedynczych sztukach dochodzi ryzyko sprzedania tej samej karty dwa razy. Zbudowaliśmy dla tego sklepu osobną ścieżkę zakupu na czas dropu: lekką kolejkę, która stoi obok WordPressa i wpuszcza kupujących partiami, oraz formularz ekspresowy, który zakłada zamówienie i przekazuje do płatności w jednym kroku. Całość ma jedną zasadę nadrzędną: błąd naszego mechanizmu nie może oznaczać zera sprzedaży w dniu dropu.

Schemat działania — krok po kroku

Krok 1

Start dropu

O ustalonej godzinie strona dropu odsłania przycisk wejścia do kolejki — bez przeładowania strony, więc o pełnej godzinie nie ma salwy żądań.

Krok 2

Numer w kolejce

Kupujący dostaje podpisany bilet z numerem. Numer nie zmienia się przy odświeżaniu strony.

Krok 3

Poczekalnia

Statyczna strona pokazuje pozycję i odpytuje jeden lekki adres — WordPress w tym nie uczestniczy.

Krok 4

Wejście do środka

Gdy zwalnia się miejsce, kolejka wpuszcza następną osobę i daje jej kilka minut na zakup.

Krok 5

Formularz ekspresowy

Jeden ekran: pozycje dropu, ilości, dostawa i dane. Bez koszyka i bez przechodzenia między stronami.

Krok 6

Zamówienie i płatność

Jedno żądanie rezerwuje sztuki, sprawdza limit na klienta, zakłada zamówienie i odsyła do płatności.

Co to daje

Sklep nie pada w szczycie

Ruch czekających obsługuje lekki kod poza WordPressem, a do kasy wchodzi naraz tyle osób, ile serwer uniesie.

Jedna sztuka, jeden kupujący

Sztuka jest rezerwowana na czas zamówienia i wraca do puli, gdy zamówienie nie dojdzie do skutku.

Uczciwa kolejność

Kto przyszedł pierwszy, ten kupuje pierwszy. Odświeżanie strony nie przesuwa nikogo ani w górę, ani w dół.

Zakup w jednym kroku

Od wejścia do płatności jest jeden formularz — przy kilku sztukach na pozycję liczą się sekundy.

Awaria nie zatrzymuje sprzedaży

Gdy kolejka nie może działać, przepuszcza wszystkich i zapisuje to w dzienniku, zamiast zamknąć sklep.

Limity pod kontrolą

Limit sztuk na klienta jest sprawdzany przy zamówieniu, a odmowa oddaje sztukę do puli.

Szczegóły

Dlaczego zwykła kasa tu nie wystarcza

W zwykły dzień sklep obsługuje zamówienia bez wysiłku. Drop jest innym zjawiskiem: cały ruch dnia mieści się w kilku minutach i wszyscy chcą tego samego. Standardowa ścieżka — karta produktu, koszyk, kasa — to kilka pełnych odsłon strony na osobę, każda z uruchomieniem całego sklepu. Przy kilkudziesięciu osobach naraz serwer albo zwalnia tak, że kupujący rezygnują, albo dwa zamówienia w tej samej sekundzie sięgają po tę samą ostatnią sztukę.

Kolejka zamiast wyścigu

Zamiast wpuszczać wszystkich do kasy jednocześnie, ustawiamy ich w kolejce. Poczekalnia jest statyczną stroną, a jedyny często odpytywany adres odpowiada bez udziału WordPressa. Do środka wchodzi naraz ograniczona liczba osób — to jeden parametr konfiguracji, dobierany do możliwości serwera. Miejsce zwalnia się po opłaceniu zamówienia, po upływie czasu na zakup albo wtedy, gdy kupujący zamknie kartę.

Co się dzieje, gdy coś pójdzie nie tak

Najgroźniejszy scenariusz dnia dropu to nie błąd w sklepie, tylko błąd w naszym dodatku, który zamknąłby sprzedaż wszystkim. Dlatego kolejka działa w zasadzie fail-open: gdy nie może odczytać swojego sekretu albo składu danych, przepuszcza kupujących prosto do formularza, oznacza każde takie przejście w dzienniku i nie blokuje nikogo. W teście, w którym celowo odebraliśmy kolejce najpierw sekret, a potem skład danych, wszystkie żądania doszły do celu — 20 z 20 w każdej z dwóch prób.

Masz pytanie? Szukasz rozwiązania dla siebie?

Napisz do nas — odpowiadamy szybko i konkretnie.