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

उपयोग के मामले

API गेटवे ब्लूप्रिंट द्वारा समर्थित सामान्य परिदृश्यों का अन्वेषण करें:

API-as-a-Service

API प्लेटफार्मों के लिए ग्राहक के अनुसार उपयोग को ट्रैक करें और कॉल की संख्या के आधार पर चार्ज करें।

रेट लिमिटिंग

API उपयोग पैटर्न की निगरानी करें और उपयोग के आधार पर रेट लिमिटिंग लागू करें।

प्रदर्शन निगरानी

बिलिंग डेटा के साथ प्रतिक्रिया समय और त्रुटि दरों को ट्रैक करें।

मल्टी-टेनेंट SaaS

विभिन्न एंडपॉइंट्स के बीच उनके API उपभोग के आधार पर ग्राहकों को बिल करें।
API एंडपॉइंट उपयोग, रेट लिमिटिंग, और उपयोग के आधार पर API बिलिंग को ट्रैक करने के लिए आदर्श।

त्वरित प्रारंभ

उच्च मात्रा के परिदृश्यों के लिए स्वचालित बैचिंग के साथ गेटवे स्तर पर API कॉल को ट्रैक करें:
1

SDK स्थापित करें

npm install @dodopayments/ingestion-blueprints
2

अपने API कुंजी प्राप्त करें

3

एक मीटर बनाएं

अपने Dodo Payments Dashboard में एक मीटर बनाएं:
  • इवेंट नाम: api_call (या आपका पसंदीदा नाम)
  • संघटन प्रकार: count कॉल की संख्या को ट्रैक करने के लिए
  • प्रतिक्रिया समय, स्थिति कोड आदि जैसे मेटाडेटा को ट्रैक करने के लिए अतिरिक्त गुण कॉन्फ़िगर करें।
4

API कॉल ट्रैक करें

import { Ingestion, trackAPICall } from '@dodopayments/ingestion-blueprints';

const ingestion = new Ingestion({
  apiKey: process.env.DODO_PAYMENTS_API_KEY,
  environment: 'test_mode',
  eventName: 'api_call'
});

// Track a single API call
await trackAPICall(ingestion, {
  customerId: 'customer_123',
  metadata: {
    endpoint: '/api/v1/users',
    method: 'GET',
    status_code: 200,
    response_time_ms: 45
  }
});

कॉन्फ़िगरेशन

इनजेशन कॉन्फ़िगरेशन

apiKey
string
आवश्यक
आपकी Dodo Payments API कुंजी डैशबोर्ड से।
environment
string
आवश्यक
पर्यावरण मोड: test_mode या live_mode
eventName
string
आवश्यक
इवेंट नाम जो आपके मीटर कॉन्फ़िगरेशन से मेल खाता है।

API कॉल विकल्प ट्रैक करें

customerId
string
आवश्यक
बिलिंग एट्रिब्यूशन के लिए ग्राहक आईडी।
metadata
object
API कॉल के बारे में वैकल्पिक मेटाडेटा जैसे एंडपॉइंट, विधि, स्थिति कोड, प्रतिक्रिया समय आदि।

बैच कॉन्फ़िगरेशन

maxSize
number
ऑटो-फ्लश से पहले अधिकतम संख्या में इवेंट। डिफ़ॉल्ट: 100
flushInterval
number
मिलीसेकंड में ऑटो-फ्लश अंतराल। डिफ़ॉल्ट: 5000 (5 सेकंड)।

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

उच्च मात्रा के लिए बैचिंग का उपयोग करें: उन अनुप्रयोगों के लिए जो प्रति सेकंड 10 से अधिक अनुरोध संभालते हैं, ओवरहेड को कम करने और प्रदर्शन में सुधार के लिए createBatch() का उपयोग करें।
हमेशा बैच को साफ करें: डेटा हानि से बचने के लिए एप्लिकेशन शटडाउन पर batch.cleanup() को कॉल करें ताकि लंबित इवेंट्स को फ्लश किया जा सके।