मुख्य सामग्री पर जाएं
इवेंट उपयोग-आधारित बिलिंग की नींव हैं। बिल योग्य क्रियाएँ होने पर इवेंट भेजें, और मीटर उन्हें चार्ज में संचित करते हैं।

API Reference - Events Ingestion

उदाहरणों और प्रतिक्रिया कोड के साथ पूर्ण API दस्तावेज़।

इवेंट संरचना

event_id
string
आवश्यक
विशिष्ट पहचानकर्ता। UUID का उपयोग करें या ग्राहक ID + टाइमस्टैम्प + क्रिया को मिलाएं।
customer_id
string
आवश्यक
Dodo Payments ग्राहक ID। यह एक वैध मौजूदा ग्राहक होना चाहिए।
event_name
string
आवश्यक
आपके मीटर की घटना नाम से मेल खाता हुआ घटना प्रकार (केस-संवेदनशील)। उदाहरण: api.call, image.generated
timestamp
string
ISO 8601 समय-छाप। यदि छोड़ा गया तो डिफ़ॉल्ट सर्वर समय। देरी/बैच घटनाओं के लिए सटीक बिलिंग हेतु शामिल करें।
metadata
object
संग्रहण और फ़िल्टरिंग के लिए अतिरिक्त गुण:
  • संख्यात्मक मान: bytes, tokens, duration_ms
  • फ़िल्टर: endpoint, method, quality
metadata: {
  endpoint: "/v1/orders",
  method: "POST",
  tokens: 1024
}

इवेंट भेजना

await fetch('https://test.dodopayments.com/events/ingest', {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${process.env.DODO_PAYMENTS_API_KEY}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    events: [{
      event_id: "api_call_1234",
      customer_id: "cus_abc123",
      event_name: "api.call",
      metadata: { endpoint: "/v1/orders" }
    }]
  })
});
बेहतर प्रदर्शन के लिए प्रति अनुरोध 100 घटनाओं तक का बैच।

इनजेशन ब्लूप्रिंट्स

सामान्य उपयोग मामलों के लिए तैयार किए गए इवेंट पैटर्न। खरोंच से बनाने के बजाय एक सिद्ध ब्लूप्रिंट से शुरू करें।

सर्वोत्तम प्रथाएँ

नक़ल से बचने के लिए निश्चित ID का उपयोग करें: ${customerId}_${action}_${timestamp}
5xx त्रुटियों पर घातीय बैकऑफ़ के साथ पुन: प्रयास करें। 4xx त्रुटियों पर पुन: प्रयास न करें।
रीयल-टाइम घटनाओं के लिए छोड़ दें। देरी/बैच घटनाओं के लिए सटीकता हेतु शामिल करें।
सफलता दरों को ट्रैक करें और पुन: प्रयास हेतु विफल घटनाओं को कतारबद्ध करें।

समस्या निवारण

  • घटना नाम को मीटर से बिल्कुल मेल करना चाहिए (केस-संवेदनशील)
  • ग्राहक ID मौजूद होना चाहिए
  • जांचें कि मीटर फ़िल्टर घटनाओं को बाहर नहीं कर रहे हैं
  • सुनिश्चित करें कि समय-छाप हाल ही के हैं
API कुंजी सही है और स्वरूप का उपयोग करें: Bearer YOUR_API_KEY
सुनिश्चित करें कि सभी आवश्यक फ़ील्ड मौजूद हैं: event_id, customer_id, event_name
  • मेटाडेटा कुंजी को मीटर के “ओवर प्रॉपर्टी” से बिल्कुल मिलना चाहिए
  • स्ट्रिंग नहीं, संख्याएँ उपयोग करें: tokens: 150 ना कि tokens: "150"

अगले कदम