Yetkiler
Çalışma alanının bir modül için ödeme yapıp yapmadığı ve her durumun neye izin verdiği.
Bir yetki, bir çalışma alanının bir modülü olup olmadığını kaydeder. Modül başına bir tane vardır. Her biri, satın alındığı paketi (Essentials, Operations, Professional, Complete veya Enterprise; bir sektör paketi, Pro modül sayısının gerektirdiği paketi kaydeder; Safety Vision, kamera modülünde kendi kalemi safety-vision olarak durur; 20 Ekim 2026 öncesi siparişler Lite, Base, Standard veya Advanced olarak kalır), SKU'yu, bir durumu ve sahibin kontrol ettiği bir enabled anahtarını kaydeder.
Durumlar
| Durum | Herkesin aldığı en yüksek düzey | Ne zaman |
|---|---|---|
locked | none | Hiç satın alınmamış veya 30. günü geçmiş. Yeni yetkiler burada başlar. |
active | verildiği gibi | Ödenmiş ve güncel. |
grace | verildiği gibi | Ödeme başarısız oldu. Düzeltilirken 7 gün tam erişim. |
read_only | view | Başarısız bir ödemeden sonra 8. günden 30. güne. Okuyabilir ve dışa aktarabilirsiniz; değiştiremez veya gönderemezsiniz. |
Kilidin ardından veri 90 gün tutulur.
Sahip bir modülü kapatırsa (enabled = false), durum ne olursa olsun herkes o modül için none alır. locked bir modül açılamaz.
Kim neyi değiştirebilir
- Paketi, SKU'yu, durumu veya dönem sonunu yalnızca mağaza değiştirebilir. Bu derlemede bu, site üzerindeki demo ödemedir; uygulamaya imzalı bir ileti gönderir.
- Sahip yalnızca
enabledanahtarını çevirebilir ve yalnızca modül kilitli değilken. - Sahip dahil hiçbir kullanıcı, veritabanını düzenleyerek bir modülün kilidini açamaz. Sütunlar, oturum açmış kullanıcılar için yazılabilir değildir.
Mağaza iletisi
Sitedeki demo ödeme şöyle bir gövde kurar:
{ "orderId": "PV-…", "workspaceSlug": "aurora-marine", "sku": "tanker", "modules": ["noon", "emissions", "documents", "pms", "insurance"], "vessels": 4, "state": "active", "annualUsd": 57800, "oneOffUsd": 19944, "firstChargeUsd": 77744, "consent": { … }, "term": { … }, "trial": { … }, "chargeTodayUsd": 0, "payment": { "provider": "demo", "reference": "pm_demo_visa_4242", … } }timestamp.body değerini paylaşılan bir sır kullanarak HMAC-SHA256 ile imzalar ve zaman damgası ile imzayı x-pv-timestamp ve x-pv-signature başlıklarında uygulamanın /api/entitlements adresine gönderir. Uygulama kötü bir imzayı ve 5 dakikadan eski her şeyi reddeder.
Sır PRUVA_ENTITLEMENTS_SECRET değeridir. Üretim dışında demo kipinde, ayarlı değilse sabit bir yerel değer kullanılır. Yerel veritabanı kipi servis rolüyle yazar; bu yüzden uygulama orada gerçek bir sır ister: uygulama ve site için aynı PRUVA_ENTITLEMENTS_SECRET değerini ayarlayın. Üretimde site, bu olmadan imza atmayı reddeder.
Erişim düzeyleri
none, view, edit ve publish. Kişi başına ve modül başına. Bu derlemede gemi ve kıyı, gemi listesine göre ayrılmaz.
Faturalama ve yenileme
%10 depozito sonrası 1 aylık deneme, 1. yılda çıkışlı 3 yıllık sözleşme, yıllık faturalama, yenileme, Denemeyi iptal et, Yenilemeyi iptal et, başlamış yıl için iade olmaması ve her siparişin ne sakladığı.