प्राधिकार अनुदान
जब प्राधिकार अनुदान बनाए जाते हैं, वितरित होते हैं, असफल होते हैं, या निरस्त होते हैं, तो आपके वेबहुक अंत बिंदु पर भेजा जाने वाला पेलोड।
Documentation Index
Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
Use this file to discover all available pages before exploring further.
प्राधिकार अनुदान वेबहुक घटनाएँ
जब भी किसी ग्राहक का प्राधिकार अनुदान स्थिति बदलता है, उदाहरण के लिए जब एक लाइसेंस कुंजी उत्पन्न होती है, एक Discord भूमिका आवंटित होती है, एक डाउनलोड लिंक प्रदान किया जाता है, या पहुंच निरस्त होती है, तो ये घटनाएँ चलती हैं। इन घटनाओं की सदस्यता लें ताकि आपका एप्लिकेशन इस बात के साथ तालमेल में रहे कि प्रत्येक ग्राहक को क्या पहुंच सकता है।| घटना | विवरण |
|---|---|
entitlement_grant.created | एक नया अनुदान पंक्ति बनाई गई। लाइसेंस कुंजियों के लिए स्थिति तुरंत delivered होती है, और प्रत्येक अन्य एकीकरण के लिए pending होती है। |
entitlement_grant.delivered | अनुदान वितरित होने की ओर प्रगति करता है। अब ग्राहक को प्राधिकृत प्लेटफ़ॉर्म, फ़ाइल, या लाइसेंस कुंजी तक पहुँच प्राप्त हो गई है। |
entitlement_grant.failed | डिलीवरी विफल हुई है और पुनः प्रयास नहीं किया जा रहा है। error_code और error_message देखें। |
entitlement_grant.revoked | पहुंच वापस ले ली गई। कारण समझने के लिए revocation_reason देखें। |
EntitlementGrantResponse पेलोड साझा करती हैं।
घटना ट्रिगर
entitlement_grant.created
एक अनुदान पंक्ति अभी-अभी डाली गई। इस बिंदु से अनुदान के पास हमेशा एक स्थिरid होता है, भले ही उसकी स्थिति बदल जाए। यह रिकॉर्ड करने के लिए इस घटना का उपयोग करें कि पूर्ति प्रगति पर है।
लाइसेंस कुंजियों के लिए, पंक्ति सीधे status: "delivered" और delivered_at के साथ डाली जाती है, इसलिए एक एकल created घटना का पालन किसी भी आगे की स्थिति में परिवर्तन नहीं किया जाता है जब तक कि अनुदान बाद में रद्द नहीं किया जाता है।
हर अन्य एकीकरण के लिए पंक्ति status: "pending" के साथ आती है। डिलीवरी पूरी होते ही एक delivered या failed घटना का पालन करें:
- OAuth आधारित एकीकरण (Discord, GitHub, Notion) ग्राहक को सहमति पूरी करने के लिए एक
oauth_urlशामिल करते हैं। जब तक ग्राहक अनुमति नहीं देता, अनुदानpendingरहेगा। - प्लेटफ़ॉर्म-प्रत्यक्ष एकीकरण (Telegram, Framer, Digital Files) केवल तभी तक
pendingमें रहते हैं जब तक प्लेटफ़ॉर्म कॉल चलता है, फिरdeliveredपर चले जाते हैं।
entitlement_grant.delivered
अनुदानpending से delivered पर स्थानांतरित हो गया। अब ग्राहक के पास प्राधिकार में वर्णित पहुंच है। अपने सिस्टम में निर्भर सुविधाओं को अनलॉक करने के लिए इस घटना का उपयोग करें, उदाहरण के लिए एक कार्यस्थल प्रदान करने के लिए, एक कस्टम स्वागत ईमेल भेजने के लिए, या एक “पूर्ण” ध्वज चिह्नित करने के लिए।
पेलोड का delivered_at फ़ील्ड दर्शाता है कि डिलीवरी कब पूरी हुई। उन अनुदानों के लिए जो निर्माण पर delivered पहुंचे, आपको created और delivered घटनाएं क्रम-शः प्राप्त होंगी।
entitlement_grant.failed
डिलीवरी का प्रयास किया गया और एक गैर-पुनः प्रयास योग्य त्रुटि के साथ विफल हो गया।error_code और error_message फ़ील्ड असफलता की व्याख्या करते हैं। सामान्य कारणों में एक निरस्त OAuth टोकन, एक इनकार किया गया प्लेटफ़ॉर्म अनुमति, या एक गायब लक्ष्य (जैसे, एक हटाया गया Discord गिल्ड) शामिल हैं।
entitlement_grant.revoked
प्लेटफ़ॉर्म स्तर पर पहुंच वापस ले ली गई: Discord भूमिका हटा दी गई, GitHub सहयोगी हटा दिया गया, लाइसेंस कुंजी अक्षम कर दी गई, फ़ाइल डाउनलोड URL अब जारी नहीं किए गए। ट्रिगर रिकॉर्ड करने वालेrevocation_reason फ़ील्ड को देखें।
revocation_reason | ट्रिगर |
|---|---|
subscription_cancelled | ग्राहक की सदस्यता रद्द कर दी गई (subscription.cancelled घटना)। |
subscription_on_hold | सदस्यता नवीनीकरण विफल होने के कारण होल्ड पर है (subscription.on_hold)। पुनः प्राप्त करने योग्य: एक सफल पुनः प्रयास से एक पुनः अनुदान प्राप्त होगा। |
subscription_expired | सदस्यता अपनी अवधि के अंत तक पहुँच गई (subscription.expired)। |
plan_changed | योजना बदल गई; पुराने अनुदान वापस ले लिए गए हैं और पहले नए जारी किए जाते हैं (subscription.plan_changed)। |
refund | मूल एकमुश्त भुगतान के लिए एक धनवापसी संसाधित की गई (refund.succeeded)। |
manual | एक व्यापारी ने एपीआई या डैशबोर्ड के माध्यम से अनुदान रद्द कर दिया। मैन्युअल निरसन सदस्यता नवीनीकरण पर स्वचालित रूप से पुनः अनुदान नहीं दिया जाता है। |
license_key_disabled | लाइसेंस-कुंजी अनुदान के पीछे की लाइसेंस कुंजी अक्षम कर दी गई थी। यदि कुंजी को फिर से सक्षम किया जाता है तो अनुदान स्वचालित रूप से पुनः सक्रिय हो जाता है। |
platform_external | एकीकरण का प्लेटफ़ॉर्म साइड तालमेल से बाहर हो गया (उदाहरण के लिए, एक Discord भूमिका मैन्युअल रूप से हटा दी गई थी, GitHub ऐप ने रेपॉजिटरी पहुंच खो दी थी, या पुनः संतुलन पास ने एक गायब लक्ष्य का पता लगाया)। जब तक अंतर्निहित प्लेटफ़ॉर्म समस्या हल नहीं होती, तब तक अनुदान सदस्यता नवीनीकरण पर स्वचालित रूप से पुनः अनुदान नहीं दिया जाता। |
पेलोड प्रकार
data फ़ील्ड हमेशा एक EntitlementGrantResponse वस्तु होता है। दो एकीकरण प्रकार अतिरिक्त नेस्टेड ऑब्जेक्ट्स संलग्न करते हैं:
license_keyतब शामिल होता है जब प्राधिकरण एकीकरण प्रकारlicense_keyहोता है। इसमें उत्पन्न कुंजी, समाप्ति, और सक्रियण उपयोग शामिल होता है।digital_product_deliveryतब शामिल होता है जब एकीकरण प्रकारdigital_filesहोता है। इसमें प्रेसाइनड डाउनलोड URL, वैकल्पिकinstructions, और वैकल्पिकexternal_urlशामिल होता है।
null होते हैं; प्रासंगिक कॉन्फिगरेशन अनुदान में नहीं, बल्कि प्राधिकरण में ही कैप्चर किया जाता है।
नमूना पेलोड
लाइसेंस कुंजी वितरित (entitlement_grant.delivered)
डिजिटल फाइलें वितरित (entitlement_grant.delivered)
Discord भूमिका बनाई गई और लंबित (entitlement_grant.created)
सदस्यता रद्दीकरण पर अनुदान रद्द (entitlement_grant.revoked)
डिलीवरी विफल (entitlement_grant.failed)
एकीकरण सुझाव
- निर्भर सुविधाओं को अनलॉक करने से पहले
entitlement_grant.deliveredकी प्रतीक्षा करें। एकpayment.succeededघटना आपको बताती है कि पैसे साफ हो गए हैं; यह आपको यह नहीं बताती है कि ग्राहक के पास अभी तक GitHub रेपो या Discord भूमिका है। पूर्ति के लिएdeliveredघटना सत्य का स्रोत है। revocation_reasonको प्रतिधारण प्रवाहों से मैप करें। एकsubscription_on_holdरद्दीकरण आमतौर पर दर्शाता है कि ग्राहक का कार्ड विफल हो गया और अगला नवीनीकरण पहुंच पुनः अनुदान करेगा। एकmanualयाsubscription_cancelledरद्दीकरण जानबूझकर है। ग्राहक संदेश में उन्हें अलग तरीके से व्यवहार करें।- अपने आइडेमपोटेंसी कुंजी के रूप में अनुदान
idका उपयोग करें। एक एकल अनुदान एक से अधिकcreatedघटना का उत्सर्जन करता है और अधिकतम एक टर्मिनल घटना (deliveredयाfailed), और अधिकतम एकrevokedघटना। वेबहुक सिस्टम से पुनर्प्रेषण घटनाओं को दोहरा सकता है; अनुदानidप्लसtypeपर डीडुप करें। - एकीकरण प्रकार को पहचानने के लिए
license_keyऔरdigital_product_deliveryका निरीक्षण करें। अनुदान पेलोड स्वयं एकीकरण प्रकार नहीं ले जाता है, लेकिन लाइसेंस-कुंजी और डिजिटल-फाइल्स प्राधिकरण के लिए इन नेस्टेड ऑब्जेक्ट्स में से एक को ही भरा जाता है। - OAuth-आधारित अनुदानों के लिए, ग्राहक को
oauth_urlप्रदर्शित करें। Discord, GitHub, या Notion सब्सक्राइबर प्रवाह के लिएentitlement_grant.createdघटना में एकoauth_urlऔरoauth_expires_atशामिल होता है। इसे ग्राहक को ईमेल करें या डिलीवरी को अनब्लॉक करने के लिए इसे अपने ऐप में प्रदर्शित करें।
Detailed view of a single entitlement grant: who it's for, its lifecycle state, and any integration-specific delivery payload.
Identifier of the business that owns the grant.
Timestamp when the grant was created.
Identifier of the customer the grant was issued to.
Identifier of the entitlement this grant was issued from.
Unique identifier of the grant.
Arbitrary key-value metadata recorded on the grant.
Lifecycle status of the grant.
Pending, Delivered, Failed, Revoked Timestamp when the grant was last modified.
Timestamp when the grant transitioned to delivered, when applicable.
Digital-product-delivery payload, present when the entitlement
integration is digital_files.
Machine-readable code reported when delivery failed, when applicable.
Human-readable message reported when delivery failed, when applicable.
License-key delivery payload, present when the entitlement integration
is license_key.
Timestamp when oauth_url stops being valid, when applicable.
Customer-facing OAuth URL for OAuth-style integrations. Populated
during the customer-portal accept flow; null until the customer
completes that step, and on grants for non-OAuth integrations.
Identifier of the payment that triggered this grant, when applicable.
Reason recorded when the grant was revoked, when applicable.
Timestamp when the grant transitioned to revoked, when applicable.
Identifier of the subscription that triggered this grant, when applicable.