Model licencji
Licencja BeanGuard to zestaw danych klienta, termin ważności i dowolny zestaw par klucz–wartość (claims), na których opierają się limity i funkcje w Twojej aplikacji.
Podstawowe pola
| Pole | Opis |
|---|---|
key / secret | Identyfikator licencji i jej sekret — tą parą klient aktywuje licencję w swojej aplikacji |
expiration | Termin ważności |
companyName, street, postCode, city, vatId, email, phoneNumber | Dane nabywcy licencji |
type | STANDARD albo DEMO |
claims | Mapa String → String — tu żyją limity i flagi funkcji |
netAmount | Kwota netto zamówienia powiązanego z licencją |
Limity i funkcje w claims
claims nie ma z góry narzuconej struktury — Ty decydujesz, jakie klucze tam trafiają, i odwołujesz się do nich w swojej aplikacji przez adnotacje licencyjne:
- Limit — wartość liczbowa jako string, np.
claims["active-users"] = "10". Sprawdzany przez@RequiresLicenceLimit. - Funkcja —
"true"lub"false", np.claims["advanced-reports"] = "true". Sprawdzana przez@RequiresLicenceFeature.
Licencje demo
Serwer może automatycznie wystawiać licencje DEMO — ich domyślny zestaw claims i długość ważności konfigurujesz parametrami LICENCE_DEMO_CLAIMS i LICENCE_DEMO_EXPIRATION_DAYS (zobacz Serwer licencji). Po wystawieniu licencji demo serwer wysyła klientowi mail powitalny — konfiguracja SMTP w parametrach MAIL_*.
Produkty w sklepie
W sklepie każdy produkt jest jednego z dwóch typów:
LIMIT— zakup podnosi wartość konkretnego limitu wclaimsklientaFEATURE— zakup ustawia flagę funkcji na"true"
Zamówienie przechodzi przez statusy NEW → ACCEPTED (licencja zaktualizowana) albo NEW → CANCELED.
Walidacja NIP
beanguard-api dostarcza walidator @PolishNIP do sprawdzania poprawności polskiego numeru NIP w formularzach zamówienia — z sumą kontrolną, nie tylko formatem.
