advanced_reports till en produkt, och varje betalande kund får en beviljande som din applikation kan kontrollera via API eller hålla i sync med webhooks. Ingen extern plattform, ingen OAuth, inget leveranssteg — beviljandet i sig är förmågan.Vad som levereras
Inget lämnar Dodo Payments — beviljandet är leveransen:- Vid köp skapas beviljandet och flyttas direkt till
delivered. Det finns ingenpendingfas, ingen kundåtgärd och ingen möjlighet för leverans att misslyckas. - Beviljandet bär en typad
featurenyttolast:{ "feature_type": "boolean", "feature_id": "advanced_reports" }. Din applikation läserfeature_idför att bestämma vad som ska låsas upp. - Avbokning, återbetalning eller manuell återkallning flyttar beviljandet till
revoked, och din applikation ser flaggan försvinna.
feature_id är en handlarchosen identifierare, inte unik över rättigheter. Två rättigheter kan ge samma feature_id — till exempel, en månads- och en årsplan för Pro som båda ger advanced_reports.Skapa en funktion flagga
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.
Bifoga till en produkt
Öppna en produkt (eller skapa en), hitta Rättigheter kortet och klicka på + för att bifoga befintliga rättigheter. Välj din funktion flagga och klicka på Klar.
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.
Obligatorisk konfiguration
Skapa via API
Bifoga gränser med metadata
En boolean flagga svarar “har denna kund funktionen?”. Metadata svarar “med vilken konfiguration?”. Rättighetsmetadata accepterar strängar, heltal, nummer och boolean värden, och varje beviljande tar en fryst ögonblicksbild av rättighetens metadata i det ögonblick det skapas. Denna ögonblicksbildsbeteende är det som gör metadata säkra att använda för planegränser:- Att redigera rättighetens metadata senare påverkar endast framtida beviljanden. Kunder behåller de gränser de köpt under.
- Ögonblicksbilden returneras på varje beviljande som dess
metadatafält, så ett API-anrop ger dig både flaggan och dess konfiguration.
advanced_reports flagga med { "tier": "pro", "monthly_report_limit": 100 } låter din applikation låsa upp dashboarden och påtvinga 100-rapport kvoten utan en andra uppslagning. Om du senare höjer gränsen till 250, förblir befintliga kunder på 100 tills de får en ny beviljande (till exempel, efter en planförändring).
Kontrollera en kunds funktioner
Lista en kunds levererade funktion-flagg beviljanden och bygg upp uppsättningen av aktiverade funktioner. Endpointen returnerar en rad per beviljande över alla rättigheter, filtrerbar efterintegration_type och status.
feature nyttolasten fylls endast på feature_flag beviljanden; det är null för alla andra integrationstyper. Se den Lista Kund Grants API-referens för hela svarformatet.Livscykel
Funktion flagg beviljanden följer den standard bevilja livscykel med en förenkling: det finns inget leveranssteg, så beviljanden sitter aldrig ipending och flyttas aldrig till failed.
Webhooks
Prenumerera påentitlement_grant.* händelser för att spegla flaggor in i din egen databas i stället för att fråga:
entitlement_grant.created— kommer redandeliveredmedfeaturenyttolasten. Aktivera funktionen.entitlement_grant.delivered— utlöses när en tidigare återkallad beviljande återställs. Återaktivera funktionen.entitlement_grant.revoked— åtkomst återtagen. Inaktivera funktionen och kontrollerarevocation_reasonför att bestämma ditt meddelande.
entitlement_grant.failed for feature flags — delivery happens entirely inside Dodo Payments and cannot fail.
Exempel: Pro plan låser upp avancerade rapporter
- Skapa flaggan.
feature_id: advanced_reportsmed metadata{ "tier": "pro", "monthly_report_limit": 100 }. - Bifoga den till din Pro Plan prenumerationsprodukt.
- En kund prenumererar. Dodo Payments skapar en
deliveredbeviljande och utlöserentitlement_grant.created; din webhook hanterare aktiveraradvanced_reportsför kunden med en gräns på 100. - Din app begränsar funktionen. Vid dashboard-laddning, kontrollera den cachade funktion-uppsättningen (eller ring
listEntitlementGrants) och visa rapportfliken endast näradvanced_reportsär närvarande. - Kunden avbokar. Dodo Payments återkallar beviljandet och utlöser
entitlement_grant.revoked; din hanterare inaktiverar funktionen. Om kunden senare återhämtar sig via inkassering,entitlement_grant.deliveredåterställer det — inga kodändringar behövs.
Bästa praxis
- Använd stabila, snake_case funktion id:n. Din applikationskod kontrollerar dessa strängar; att byta namn på en är en brytande ändring på båda sidor.
- En flagga per förmåga. Föredra
advanced_reports+api_accesssom två rättigheter över en endapro_bundle— återkallning och planblandningar förblir rena. - Driv status från webhooks, verifiera med API. Webhooks håller din databas aktuell; listan endpoint är sanningskälla för avstämningsjobb och cachemissar.
- Behandla
revokedsom omedelbar. En återkallad flagga innebär att kunden inte längre betalar för funktionen. Begränsa vid nästa begäran, inte nästa session. - Sätt gränser i metadata, inte i kod. Att ändra en kvot kräver då bara redigering av rättigheten — nya kunder hämtar det automatiskt medan befintliga beviljanden behåller sin köpta ögonblicksbild.