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

API Reference - Events Ingestion

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

इवेंट संरचना

event_id
string
आवश्यक
विशिष्ट पहचानकर्ता। UUIDs का उपयोग करें या ग्राहक 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_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 इवेंट्स तक बैच करें।

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

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

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

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

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

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

अगले कदम