मुख्य सामग्री पर जाएं

क्रेडिट-आधारित बिलिंग वेबहुक इवेंट्स

निम्नलिखित वेबहुक इवेंट्स क्रेडिट-आधारित बिलिंग जीवनचक्र परिवर्तन को ट्रैक करने के लिए उपलब्ध हैं। ये इवेंट्स वर्चुअल क्रेडिट अधिकारों (API कॉल, टोकन, कंप्यूट घंटे) पर लागू होते हैं, Customer Wallets (मॉनिटरी बैलेंस) पर नहीं।
इवेंटविवरण
credit.addedग्राहक को क्रेडिट प्रदान किए जाते हैं (सदस्यता, एकमुश्त खरीद, ऐड-ऑन, या API के माध्यम से)
credit.deductedउपयोग या मैनुअल डेबिट के माध्यम से क्रेडिट का उपभोग किया जाता है
credit.expiredनिर्धारित समाप्ति अवधि के बाद अप्रयुक्त क्रेडिट की समाप्ति हो जाती है
credit.rolled_overअप्रयुक्त क्रेडिट को नई ग्रांट में आगे बढ़ाया जाता है जब चक्र समाप्त होता है
credit.rollover_forfeitedअधिकतम रोलओवर गणना तक पहुँचने के कारण क्रेडिट जब्त कर लिया गया
credit.overage_chargedजब उपयोग शून्य शेष राशि से परे जारी रहता है, तो अतिरिक्त शुल्क लागू होता है
credit.overage_resetसंचित अतिरिक्त शुल्क रीसेट किया जाता है (उदाहरण के लिए, नए बिलिंग चक्र की शुरुआत में)
credit.manual_adjustmentडैशबोर्ड या API के माध्यम से मैनुअल क्रेडिट या डेबिट समायोजन किया गया
credit.balance_lowक्रेडिट बैलेंस कॉन्फ़िगर किए गए न्यूनतम बैलेंस सीमा के नीचे गिर जाता है

लेज़र इवेंट्स

सभी लेज़र इवेंट्स (credit.added से credit.manual_adjustment तक) नीचे दिए गए स्कीमा में दस्तावेजीकृत समान CreditLedgerEntryResponse पेलोड साझा करते हैं। लोड में वो फ़ील्ड शामिल है जिसे क्रेडिट ग्रांट के स्रोत से हल किया गया है — चेकआउट के समय बनाई गई सदस्यता या भुगतान। यह आपको अपनी चेकआउट टेक्नोलॉजी से वॉलेट क्रेडिट्स को की करने की अनुमति देता है metadata (उदाहरण के लिए, एक orgId) बजाय Dodo-मुद्रित customer_id के: सदस्यता-स्रोत ग्रांट्स सदस्यता का metadata पेश करते हैं और भुगतान-स्रोत ग्रांट्स भुगतान का metadata पेश करते हैं। जब ग्रांट का कोई हल करने योग्य स्रोत नहीं होता है (उदाहरण के लिए, सीधे API के माध्यम से प्रदान किए गए क्रेडिट्स), तो फ़ील्ड खाली होता है।

बैलेंस लो इवेंट (credit.balance_low)

credit.balance_low इवेंट एक अलग पेलोड का उपयोग करता है (CreditBalanceLowPayload) जो थ्रेशोल्ड अलर्टिंग पर केंद्रित होता है:
{
  "business_id": "bus_H4ekzPSlcg",
  "type": "credit.balance_low",
  "timestamp": "2025-08-04T06:15:00.000000Z",
  "data": {
    "payload_type": "CreditBalanceLow",
    "customer_id": "cus_8VbC6JDZzPEqfBPUdpj0K",
    "subscription_id": "sub_7EeHq2ewQuadropD2ra",
    "credit_entitlement_id": "cent_9xY2bKwQn5MjRpL8d",
    "credit_entitlement_name": "API Credits",
    "available_balance": "15",
    "subscription_credits_amount": "100",
    "threshold_percent": 20,
    "threshold_amount": "20"
  }
}
customer_id
string
जिस ग्राहक के क्रेडिट बैलेंस ने चेतावनी चलाई।
subscription_id
string
इस क्रेडिट अधिकार के साथ संबंधित सदस्यता।
credit_entitlement_id
string
वह क्रेडिट अधिकार जिसे निम्न बैलेंस है।
credit_entitlement_name
string
क्रेडिट अधिकार का प्रदर्शन नाम।
available_balance
string
चेतावनी के समय चालू क्रेडिट बैलेंस।
subscription_credits_amount
string
इस सदस्यता के लिए प्रति बिलिंग चक्र जारी कुल क्रेडिट।
threshold_percent
integer
कॉन्फ़िगर किया गया निम्न बैलेंस थ्रेशोल्ड प्रतिशत।
threshold_amount
string
वह पूर्ण क्रेडिट राशि जिससे थ्रेशोल्ड संबंधित होता है।

सक्रिय अलर्ट के लिए credit.balance_low का उपयोग करना

ग्राहकों को सूचित करने के लिए credit.balance_low वेबहुक का उपयोग करें इससे पहले कि वे क्रेडिट समाप्त कर दें:
app.post('/webhooks/dodo', async (req, res) => {
  const event = req.body;
  
  if (event.type === 'credit.balance_low') {
    const data = event.data;
    
    // Notify the customer their credits are running low
    await sendEmail(data.customer_id, {
      subject: `Your ${data.credit_entitlement_name} balance is running low`,
      body: `You have ${data.available_balance} credits remaining ` +
            `(${data.threshold_percent}% threshold reached). ` +
            `Consider upgrading your plan or purchasing additional credits.`
    });
    
    console.log(`Low balance alert for customer ${data.customer_id}`);
  }
  
  res.json({ received: true });
});
ग्राहकों को सक्रिय रूप से अलर्ट करने के लिए credit.balance_low की सदस्यता लें इससे पहले कि वे अपने क्रेडिट समाप्त करें। रीयल-टाइम खपत पैटर्न को ट्रैक करने के लिए credit.deducted के साथ मिलाएं।

Get Customer Balance

API के माध्यम से ग्राहकों के चालू बैलेंस की जांच करें।

Create Ledger Entry

ग्राहक के बैलेंस को मैन्युअल रूप से क्रेडिट या डेबिट करें।

वेबहुक पेलोड स्कीमा

Response for a ledger entry

amount
string
आवश्यक
balance_after
string
आवश्यक
balance_before
string
आवश्यक
brand_id
string
आवश्यक

Brand id this credit ledger entry belongs to

business_id
string
आवश्यक
created_at
string<date-time>
आवश्यक
credit_entitlement_id
string
आवश्यक
customer_id
string
आवश्यक
id
string
आवश्यक
is_credit
boolean
आवश्यक
metadata
object
आवश्यक

Metadata associated with the credit grant's source (the subscription or payment created at checkout). Empty when the grant has no resolvable source (e.g. credits granted directly via the API).

overage_after
string
आवश्यक
overage_before
string
आवश्यक
transaction_type
enum<string>
आवश्यक
उपलब्ध विकल्प:
credit_added,
credit_deducted,
credit_expired,
credit_rolled_over,
rollover_forfeited,
overage_charged,
overage_reset,
auto_top_up,
manual_adjustment,
refund
description
string | null
grant_id
string | null
reference_id
string | null
reference_type
string | null
अंतिम संशोधन 26 जून 2026