Hoppa till huvudinnehåll

Webhook-händelser för kreditbaserad fakturering

Följande webhook-händelser finns tillgängliga för att spåra förändringar i livscykeln för kreditbaserad fakturering. Dessa händelser gäller virtuella krediträttigheter (API-anrop, tokens, beräkningstimmar), inte Customer Wallets (monetära saldon).
EventBeskrivning
credit.addedKrediter tilldelas en kund (via prenumeration, engångsköp, tillägg eller API)
credit.deductedKrediter förbrukas genom användning eller manuell debitering
credit.expiredOanvända krediter upphör efter den konfigurerade utgångsperioden
credit.rolled_overOanvända krediter förs vidare till en ny tilldelning vid cykelns slut
credit.rollover_forfeitedKrediter förloras eftersom det maximala antalet överföringar uppnåddes
credit.overage_chargedAvgifter för överträdelse tillämpas när användningen fortsätter efter att saldot nått noll
credit.manual_adjustmentManuell justering av kredit eller debet gjord via instrumentpanelen eller API:t
credit.balance_lowKreditbalansen sjunker under den konfigurerade tröskeln för låg balans

Bokföringshändelser

Alla bokföringshändelser (credit.added genom credit.manual_adjustment) delar samma CreditLedgerEntryResponse-payload som dokumenteras i schemat nedan.

Händelse med låg balans (credit.balance_low)

Händelsen credit.balance_low använder ett annat payload (CreditBalanceLowPayload) som fokuserar på tröskelvarningar:
{
  "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
Kunden vars kreditbalans utlöste varningen.
subscription_id
string
Prenumerationen som är kopplad till denna krediträttighet.
credit_entitlement_id
string
Den krediträttighet som har en låg balans.
credit_entitlement_name
string
Visningsnamn för krediträttigheten.
available_balance
string
Aktuell kreditbalans vid varningstillfället.
subscription_credits_amount
string
Totala krediter som utfärdas per faktureringscykel för denna prenumeration.
threshold_percent
integer
Den konfigurerade procentsatsen för tröskeln för låg balans.
threshold_amount
string
Det absoluta kreditbelopp som tröskeln motsvarar.

Att använda credit.balance_low för proaktiva varningar

Använd credit.balance_low-webhooken för att meddela kunder innan de får slut på krediter:
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 });
});
Prenumerera på credit.balance_low för att proaktivt varna kunder innan de förbrukar sina krediter. Kombinera med credit.deducted för att följa konsumtionsmönster i realtid.

Webhook-meddelandesschema

Response for a ledger entry

amount
string
obligatorisk
balance_after
string
obligatorisk
balance_before
string
obligatorisk
business_id
string
obligatorisk
created_at
string<date-time>
obligatorisk
credit_entitlement_id
string
obligatorisk
customer_id
string
obligatorisk
id
string
obligatorisk
is_credit
boolean
obligatorisk
overage_after
string
obligatorisk
overage_before
string
obligatorisk
transaction_type
enum<string>
obligatorisk
Tillgängliga alternativ:
credit_added,
credit_deducted,
credit_expired,
credit_rolled_over,
rollover_forfeited,
overage_charged,
auto_top_up,
manual_adjustment,
refund
description
string | null
grant_id
string | null
reference_id
string | null
reference_type
string | null