advanced_reports an ein Produkt, und jeder zahlende Kunde erhält eine Berechtigung, die Ihre Anwendung über API überprüfen oder mit Webhooks synchron halten kann. Keine externe Plattform, kein OAuth, kein Lieferstep — die Berechtigung selbst ist die Fähigkeit.Was geliefert wird
Nichts verlässt Dodo Payments — die Berechtigung ist das Lieferbare:- Beim Kauf wird die Berechtigung erstellt und direkt zu
deliveredverschoben. Es gibt keinepending-Phase, keine Kundenaktion und keine Möglichkeit für ein Lieferversagen. - Die Berechtigung trägt eine typisierte
feature-Nutzlast:{ "feature_type": "boolean", "feature_id": "advanced_reports" }. Ihre Anwendung liestfeature_id, um zu entscheiden, was freigeschaltet wird. - Stornierungen, Rückerstattungen oder manuelle Widerrufe verschieben die Berechtigung zu
revoked, und Ihre Anwendung sieht das Flag verschwinden.
feature_id ist eine vom Händler gewählte Kennung, die nicht einzigartig für Berechtigungen ist. Zwei Berechtigungen können die gleiche feature_id verleihen — zum Beispiel, ein monatlicher und ein jährlicher Pro-Plan, die beide advanced_reports gewähren.Erstellen eines Feature-Flags
Open Entitlements
Name the flag

Creating a feature flag. The Feature ID is what your application checks; Meta Data attaches limits alongside the flag.
Optionally add metadata
Confirm

The created feature flag. The right pane tracks every customer grant issued from it.
An ein Produkt anhängen
Öffnen Sie ein Produkt (oder erstellen Sie eines), finden Sie die Berechtigungen-Karte und klicken Sie auf +, um bestehende Berechtigungen zu verknüpfen. Wählen Sie Ihr Feature-Flag und klicken Sie auf Fertig.
Attaching the feature flag to a product. One product can deliver multiple entitlements.

The product now includes the feature flag. Every successful purchase or active subscription grants it.
Erforderliche Konfiguration
Erstellung über API
Limits mit Metadaten anhängen
Ein boolesches Flag beantwortet “Hat dieser Kunde die Funktion?”. Metadaten beantworten “Mit welcher Konfiguration?”. Berechtigungsmetadaten akzeptieren Zeichenfolgen, Ganzzahlen, Zahlen und boolesche Werte, und jede Berechtigung nimmt einen eingefrorenen Schnappschuss der Metadaten der Berechtigung zum Zeitpunkt ihrer Erstellung auf. Dieses Schnappschussverhalten macht Metadaten sicher für Planlimits einsetzbar:- Das spätere Bearbeiten der Metadaten der Berechtigung betrifft nur zukünftige Berechtigungen. Kunden behalten die Limits, unter denen sie erworben haben.
- Der Schnappschuss wird bei jeder Berechtigung als sein Feld
metadatazurückgegeben, sodass ein API-Aufruf sowohl das Flag als auch die Konfiguration liefert.
advanced_reports-Flag mit { "tier": "pro", "monthly_report_limit": 100 } Ihrer Anwendung erlauben, das Dashboard freizuschalten und das 100-Bericht-Quote ohne zweite Abfrage durchzusetzen. Wenn Sie das Limit später auf 250 erhöhen, bleiben bestehende Kunden bei 100, bis sie eine neue Berechtigung erhalten (zum Beispiel nach einem Planwechsel).
Features eines Kunden überprüfen
Listen Sie die gelieferten Feature-Flag-Berechtigungen eines Kunden auf und erstellen Sie den Satz aktivierter Features. Der Endpunkt gibt eine Zeile pro Berechtigung über alle Berechtigungen zurück, die nachintegration_type und status gefiltert werden können.
feature-Nutzlast wird nur bei feature_flag-Berechtigungen befüllt; sie ist null für jeden anderen Integrationstyp. Siehe die List Customer Grants API-Referenz für die vollständige Antwortstruktur.Lebenszyklus
Feature-Flag-Berechtigungen folgen dem Standard- Berechtigungslebenszyklus mit einer Vereinfachung: Es gibt keinen Lieferstep, sodass Berechtigungen niemals inpending verbleiben und niemals zu failed wechseln.
Webhooks
Abonnieren Sie dieentitlement_grant.*-Ereignisse, um Flags in Ihre eigene Datenbank zu spiegeln, anstatt zu pollen:
entitlement_grant.created— kommt bereitsdeliveredmit derfeature-Nutzlast an. Aktivieren Sie das Feature.entitlement_grant.delivered— wird ausgelöst, wenn eine zuvor widerrufene Berechtigung wiederhergestellt wird. Aktivieren Sie das Feature erneut.entitlement_grant.revoked— Zugriff entzogen. Deaktivieren Sie das Feature und überprüfen Sierevocation_reason, um Ihre Nachricht zu entscheiden.
entitlement_grant.failed für Feature-Flags — die Lieferung erfolgt vollständig innerhalb Dodo Payments und kann nicht fehlschlagen.
Beispiel: Pro-Plan schaltet erweiterte Berichte frei
- Erstellen Sie das Flag.
feature_id: advanced_reportsmit Metadaten{ "tier": "pro", "monthly_report_limit": 100 }. - Anhängen an Ihr Pro-Plan-Abonnementprodukt.
- Ein Kunde abonniert. Dodo Payments erstellt eine
delivered-Berechtigung und löstentitlement_grant.createdaus; Ihr Webhook-Handler aktiviertadvanced_reportsfür den Kunden mit einem Limit von 100. - Ihre App schaltet die Funktion ab. Beim Laden des Dashboards, prüfen Sie die zwischengespeicherte Feature-Menge (oder rufen Sie
listEntitlementGrantsauf) und rendern Sie das Berichtsfeld nur, wennadvanced_reportsvorhanden ist. - Der Kunde storniert. Dodo Payments widerruft die Berechtigung und löst
entitlement_grant.revokedaus; Ihr Handler deaktiviert das Feature. Sollte der Kunde später durch Dunning erneut aktiviert werden, stelltentitlement_grant.deliveredes wieder her — keine Codeänderungen erforderlich.
Best Practices
- Verwenden Sie stabile, snake_case Feature-IDs. Ihr Anwendungscode überprüft diese Strings; das Umbenennen eines davon ist eine Unterbrechung auf beiden Seiten.
- Ein Flag pro Fähigkeit. Bevorzugen Sie
advanced_reports+api_accessals zwei Berechtigungen über ein einzigespro_bundle— Widerrufungen und Plan-Mixe bleiben sauber. - Steuern Sie den Status über Webhooks, überprüfen Sie mit der API. Webhooks halten Ihre Datenbank aktuell; der Endpunkt der Liste ist die Wahrheit für Abstimmungsjobs und Cache-Misses.
- Behandeln Sie
revokedals sofortig. Ein widerrufenes Flag bedeutet, dass der Kunde nicht mehr für die Funktion bezahlt. Sperren Sie beim nächsten Anruf, nicht in der nächsten Sitzung. - Setzen Sie Limits in Metadaten, nicht im Code. Eine Quote zu ändern, erfordert dann nur das Bearbeiten der Berechtigung — neue Kunden nehmen es automatisch auf, während bestehende Berechtigungen ihren erworbenen Schnappschuss behalten.