VulCode

Lokal

Wewnętrzne API, którym panel klienta VulCode ustawia lokalowi plan free, trial albo pro, zawiesza go i odwiesza. Plan zmienia się tylko z zewnątrz, właściciel prowadzi wyłącznie dane do faktur, a po końcu okresu lokal sam wraca na plan darmowy bez utraty danych. Każde wywołanie trafia do dziennika działań lokalu z nazwą wywołującego z nagłówka X-Service-Actor.

TypWewnętrzne API usługa-usługa
BackendExpress, TypeScript, Prisma
DostępWspólny sekret w nagłówku
WywołujePanel klienta VulCode
Lokal

Wprowadzenie

Lokal to panel dla restauracji, barów, klubów i kawiarni: menu, rezerwacje na planie sali, zamówienia, wydarzenia, promocje, magazyn, grafik i raporty. Lokal płaci za niego w panelu klienta VulCode, więc plan i ewentualna blokada przychodzą stamtąd, przez wewnętrzne API.

Trzy plany

Lokal działa na jednym z trzech planów: free, trial albo pro. Limity i funkcje każdego z nich są opisane w jednym miejscu, z którego korzysta cały backend, więc ekran i API nie mogą się rozjechać.

Plany Lokalu

freetrial i pro
Konta zespołu3bez limitu
Pozycje menu50bez limitu
Pozycje magazynu25bez limitu
Historia raportów7 dnibez limitu
Wydarzenia, zamówienia u dostawców i grafiknietak
Rozbudowane promocje i raportynietak

Trial zawsze ma datę końca, a pro może działać bez niej. Gdy data minie, lokal wraca na plan darmowy, a zapisany plan i wszystkie dane zostają.

Plan ustawiany tylko z zewnątrz

Właściciel lokalu prowadzi dane do faktur: nazwę firmy, NIP, adres e-mail do faktur i adres siedziby. Planu zmienić nie może. Ustawiają go trzy wywołania wewnętrznego API, z których korzysta panel klienta VulCode.

internal-api · bash
POST /api/internal/venues/:id/plan
POST /api/internal/venues/:id/suspend
POST /api/internal/venues/:id/unsuspend

Zawieszenie, które nie odcina od pomocy

Zawieszony lokal zostaje do odczytu, każda zmiana dostaje odpowiedź 403, a dane zostają nietknięte. Zgłoszenia do wsparcia i dane do faktur zostają otwarte, żeby lokal mógł się z nami skontaktować i zapłacić.

Bezpieczeństwo kanału

Wywołania chroni wspólny sekret w nagłówku X-Service-Token. Bez skonfigurowanego sekretu API odpowiada 503, zamiast działać bez uwierzytelnienia. Nagłówek X-Service-Actor podpisuje każde wywołanie w dzienniku działań lokalu, więc właściciel widzi, kto zmienił plan albo zawiesił lokal.

Pytania o Lokal

Więcej projektów

Inne realizacje z tej samej kategorii - zobacz, jak podchodzimy do podobnych wyzwań.

Masz podobny projekt?

Napisz do nas - wycena jest bezpłatna i wraca w godzinę.