PruvaBelgeler

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

DurumHerkesin aldığı en yüksek düzeyNe zaman
lockednoneHiç satın alınmamış veya 30. günü geçmiş. Yeni yetkiler burada başlar.
activeverildiği gibiÖdenmiş ve güncel.
graceverildiği gibiÖdeme başarısız oldu. Düzeltilirken 7 gün tam erişim.
read_onlyviewBaş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 enabled anahtarı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.

Bu sayfada