मुख्य कंटेंट पर जाएं
Didit ने पहचान और धोखाधड़ी के लिए इंफ्रास्ट्रक्चर बनाने हेतु $7.5M जुटाए
Didit
ब्लॉग पर वापस जाएँ
ब्लॉग · 7 मार्च 2026

पायथन एसिंक्रोनस के साथ डिडिट एपीआई थ्रूपुट को बढ़ावा दें (HI)

जानें कि कैसे पायथन का एसिंक्रोनस डिडिट की पहचान सत्यापन एपीआई का उपयोग करने वाले आपके अनुप्रयोगों के थ्रूपुट और दक्षता को नाटकीय रूप से बढ़ा सकता है।.

द्वारा Diditअपडेट किया गया
boost-didit-api-throughput-with-python-asyncio.png

एपीआई उपभोग को अनुकूलित करें: पायथन एसिंक्रोनस नॉन-ब्लॉकिंग I/O संचालन को सक्षम बनाता है, जो डिडिट जैसी सेवाओं के लिए पहचान सत्यापन के लिए कई एपीआई कॉल करने वाले अनुप्रयोगों की दक्षता में काफी सुधार करता है।

मास्टर रेट लिमिटिंग: डिडिट की एपीआई सीमाओं के भीतर रहने के लिए एसिंक्रोनस के साथ परिष्कृत रेट-लिमिटिंग रणनीतियों को लागू करें, 429 त्रुटियों को रोकें और उच्च-थ्रूपुट परिदृश्यों के लिए निरंतर सेवा उपलब्धता सुनिश्चित करें।

स्केलेबल समाधान बनाएँ: उच्च बुनियादी ढाँचा लागतों के बिना प्रति सेकंड हजारों पहचान सत्यापन अनुरोधों को संसाधित करने में सक्षम मजबूत और स्केलेबल सिस्टम डिज़ाइन करने के लिए एसिंक्रोनस के समवर्ती मॉडल का लाभ उठाएँ।

डिडिट का एपीआई-फर्स्ट लाभ: डिडिट का डेवलपर-फर्स्ट दृष्टिकोण, स्वच्छ एपीआई और एक तत्काल सैंडबॉक्स के साथ, एसिंक्रोनस फ्रेमवर्क के साथ एकीकरण के लिए आदर्श रूप से अनुकूल है, जो आईडी सत्यापन से लेकर सजीवता पहचान तक सहज, उच्च-प्रदर्शन पहचान सत्यापन वर्कफ़्लो की अनुमति देता है।

गति की आवश्यकता: एपीआई उपभोग के लिए एसिंक्रोनस क्यों?

आज की तेज़-तर्रार डिजिटल दुनिया में, अनुप्रयोगों को अक्सर अपने कार्यों को पूरा करने के लिए कई बाहरी एपीआई कॉल करने की आवश्यकता होती है। जब ये कॉल अवरुद्ध होते हैं, जिसका अर्थ है कि एप्लिकेशन अगले पर आगे बढ़ने से पहले प्रत्येक प्रतिक्रिया की प्रतीक्षा करता है, तो प्रदर्शन की बाधाएँ तेजी से उभरती हैं। यह पहचान सत्यापन सेवाओं के लिए विशेष रूप से सच है, जहाँ एक एकल उपयोगकर्ता ऑनबोर्डिंग प्रवाह में कई एपीआई इंटरैक्शन शामिल हो सकते हैं: आईडी सत्यापन, निष्क्रिय और सक्रिय सजीवता जाँच, 1:1 चेहरा मिलान, और एएमएल स्क्रीनिंग। उच्च उपयोगकर्ता मात्रा वाले व्यवसायों के लिए, ये अनुक्रमिक संचालन महत्वपूर्ण देरी और खराब उपयोगकर्ता अनुभवों को जन्म दे सकते हैं।

पायथन की asyncio लाइब्रेरी async/await सिंटैक्स का उपयोग करके समवर्ती कोड लिखने के लिए एक मजबूत ढाँचा प्रदान करती है। पारंपरिक मल्टी-थ्रेडिंग के विपरीत, जो सीपीयू-बाउंड कार्यों के लिए ग्लोबल इंटरप्रेटर लॉक (जीआईएल) जैसी जटिलताएँ पेश कर सकता है, asyncio को I/O-बाउंड संचालन के लिए डिज़ाइन किया गया है। एपीआई कॉल स्वाभाविक रूप से I/O-बाउंड होते हैं (नेटवर्क प्रतिक्रियाओं की प्रतीक्षा कर रहे होते हैं), जिससे asyncio आपके एप्लिकेशन की बाहरी एपीआई को कुशलता से उपभोग करने की क्षमता को सुपरचार्ज करने के लिए एक आदर्श उम्मीदवार बन जाता है। एपीआई प्रतिक्रियाओं की प्रतीक्षा करते समय आपके प्रोग्राम को अन्य कार्य करने की अनुमति देकर, asyncio आपके एप्लिकेशन के आर्किटेक्चर को एक वितरित प्रणाली में पूरी तरह से फिर से लिखे बिना थ्रूपुट को नाटकीय रूप से बढ़ा सकता है।

डिडिट के एपीआई लैंडस्केप और दर सीमाओं को समझना

डिडिट, एक एआई-देशी पहचान प्लेटफ़ॉर्म के रूप में, पहचान सत्यापन के लिए एपीआई का एक व्यापक सूट प्रदान करता है, जिसमें आईडी सत्यापन (ओसीआर, एमआरजेड, बारकोड), निष्क्रिय और सक्रिय सजीवता, 1:1 चेहरा मिलान, एएमएल स्क्रीनिंग और निगरानी, और बहुत कुछ शामिल है। हमारा एपीआई उच्च प्रदर्शन और विश्वसनीयता के लिए डिज़ाइन किया गया है, लेकिन सभी मजबूत एपीआई की तरह, यह सभी क्लाइंट्स में स्थिरता और उचित उपयोग सुनिश्चित करने के लिए दर सीमितता का उपयोग करता है। इन सीमाओं को समझना किसी भी उच्च-थ्रूपुट उपभोक्ता के लिए महत्वपूर्ण है।

डिडिट वैश्विक और एंडपॉइंट-विशिष्ट दोनों दर सीमाओं को लागू करता है। उदाहरण के लिए, वैश्विक सीमाएँ आमतौर पर GET और Write/Delete दोनों एंडपॉइंट के लिए प्रति एप्लिकेशन प्रति मिनट 300 अनुरोध होती हैं। उच्च-प्रभाव वाले संचालन के लिए अधिक प्रतिबंधात्मक सीमाएँ लागू होती हैं, जैसे POST /v2/session/ (सत्यापन वर्कफ़्लो बनाने के लिए) के लिए 600 RPM और GET /v2/session/<id>/decision/ (सत्र निर्णय प्राप्त करने के लिए) के लिए 100 RPM। जब इन सीमाओं को पार किया जाता है, तो एपीआई 429 Too Many Requests स्थिति कोड लौटाता है, साथ ही X-RateLimit-Limit, X-RateLimit-Remaining, और Retry-After (युग सेकंड) जैसे सहायक हेडर भी लौटाता है ताकि आपकी बैकऑफ़ रणनीति का मार्गदर्शन किया जा सके।

asyncio को लागू करने से आप इन दर सीमाओं को अधिक प्रभावी ढंग से प्रबंधित कर सकते हैं। एक एकल अवरुद्ध थ्रेड सीमा को हिट करने के बजाय, एक एसिंक्रोनस एप्लिकेशन बुद्धिमानी से अनुरोधों को कतारबद्ध कर सकता है, घातीय बैकऑफ़ लागू कर सकता है, और पूरे एप्लिकेशन के प्रवाह को अवरुद्ध किए बिना विफल कॉल को फिर से प्रयास कर सकता है। इसके परिणामस्वरूप सुचारू एपीआई उपभोग और कम रुकावट होती है, जिससे यह सुनिश्चित होता है कि आपकी पहचान सत्यापन प्रक्रियाएँ चरम भार के दौरान भी निर्बाध रहती हैं।

समवर्ती डिडिट एपीआई कॉल के लिए एसिंक्रोनस लागू करना

डिडिट के एपीआई के साथ asyncio को एकीकृत करने में aiohttp जैसे एसिंक्रोनस एचटीटीपी क्लाइंट का उपयोग करना शामिल है। यहाँ बताया गया है कि आप अपने एसिंक्रोनस एपीआई कॉल को कैसे संरचित कर सकते हैं:


import asyncio
import aiohttp
import time

API_KEY = "YOUR_DIDIT_API_KEY"
BASE_URL = "https://verification.didit.me/v3/"

async def call_didit_api(session, endpoint, payload=None, method='POST'):
    headers = {
        'accept': 'application/json',
        'x-api-key': API_KEY
    }
    if method == 'POST':
        headers['content-type'] = 'application/json'

    url = f"{BASE_URL}{endpoint}"
    
    async with session.request(method, url, json=payload, headers=headers) as response:
        if response.status == 429:
            retry_after = int(response.headers.get('Retry-After', '5'))
            print(f"Rate limit hit. Retrying after {retry_after} seconds...")
            await asyncio.sleep(retry_after) # Implement simple backoff
            return await call_didit_api(session, endpoint, payload, method) # Retry
        response.raise_for_status()
        return await response.json()

async def create_verification_session(session, workflow_id, user_id):
    endpoint = "session/"
    payload = {
        "workflow_id": workflow_id,
        "vendor_data": user_id,
        "callback": "https://your-app.com/didit-callback"
    }
    return await call_didit_api(session, endpoint, payload, method='POST')

async def get_session_decision(session, session_id):
    endpoint = f"session/{session_id}/decision/"
    return await call_didit_api(session, endpoint, method='GET')

async def main():
    async with aiohttp.ClientSession() as session:
        tasks = []
        # Example: Create 10 verification sessions concurrently
        for i in range(10):
            tasks.append(create_verification_session(session, "YOUR_WORKFLOW_ID", f"user_{i}"))
        
        results = await asyncio.gather(*tasks)
        for res in results:
            print(f"Created session: {res.get('session_id')}")

        # Example: Retrieve decisions for some sessions concurrently
        decision_tasks = []
        for res in results[:5]: # Take first 5 for decision retrieval
            session_id = res.get('session_id')
            if session_id:
                decision_tasks.append(get_session_decision(session, session_id))
        
        decision_results = await asyncio.gather(*decision_tasks)
        for decision in decision_results:
            print(f"Session decision: {decision}")

if __name__ == "__main__":
    asyncio.run(main())

यह उदाहरण दिखाता है कि कैसे कई सत्यापन सत्र बनाएँ और उनके निर्णयों को समवर्ती रूप से पुनः प्राप्त करें। call_didit_api फ़ंक्शन में 429 Too Many Requests के लिए एक मूल पुन: प्रयास तंत्र शामिल है, जो घातीय बैकऑफ़ को लागू करने के लिए Retry-After हेडर का उपयोग करता है। उत्पादन प्रणालियों के लिए, एक अधिक परिष्कृत बैकऑफ़ और सर्किट ब्रेकर पैटर्न की सिफारिश की जाएगी, लेकिन यह मुख्य सिद्धांत को दर्शाता है।

asyncio.gather का उपयोग करके, आप एक साथ कई एपीआई अनुरोध शुरू कर सकते हैं, जिससे आपका एप्लिकेशन अन्य कार्यों को संसाधित कर सकता है या समवर्ती रूप से प्रतिक्रियाओं की प्रतीक्षा कर सकता है, जिससे अनुक्रमिक अवरुद्ध कॉल की तुलना में महत्वपूर्ण प्रदर्शन लाभ होता है।

उच्च-मात्रा पहचान सत्यापन के लिए रणनीतियाँ

एसिंक्रोनस का उपयोग करके डिडिट एपीआई के साथ उच्च थ्रूपुट प्राप्त करने के लिए केवल समवर्ती रूप से अनुरोध करने से कहीं अधिक की आवश्यकता होती है। इन रणनीतियों पर विचार करें:

  • स्मार्ट बैचिंग: जबकि डिडिट का मुख्य सत्यापन अक्सर उपयोगकर्ता-आरंभिक होता है, एएमएल निगरानी या कुछ डेटा लुकअप जैसे संचालन के लिए, आप वर्कफ़्लो डिज़ाइन कर सकते हैं जो लागू होने पर बैच प्रसंस्करण की अनुमति देते हैं, जिससे एपीआई कॉल की कुल संख्या कम हो जाती है।
  • अनुकूली दर सीमितता: साधारण घातीय बैकऑफ़ से परे, एक अनुकूली दर सीमक लागू करें जो X-RateLimit-Remaining की निगरानी करता है और आपके asyncio कार्यों के समवर्ती स्तर को गतिशील रूप से समायोजित करता है। यदि शेष कॉल कम हैं, तो धीमा करें; यदि वे उच्च हैं, तो गति बढ़ाएँ।
  • वेबहुक-संचालित अपडेट: सत्र परिणामों के लिए (उदाहरण के लिए, आईडी सत्यापन या सजीवता जाँच के बाद), अत्यधिक पोलिंग के बजाय डिडिट के वेबहुक पर भरोसा करें। यह /v2/session/<id>/decision/ पर GET अनुरोधों की संख्या को कम करता है, जिसकी सख्त दर सीमा 100 RPM है। डिडिट का मॉड्यूलर आर्किटेक्चर का मतलब है कि आप विभिन्न स्थिति परिवर्तनों के लिए वेबहुक सूचनाएँ सेट कर सकते हैं, जिससे निरंतर क्वेरी के बिना आपके सिस्टम में वास्तविक समय के अपडेट धकेल दिए जाते हैं।
  • त्रुटि प्रबंधन और अवलोकन क्षमता: नेटवर्क समस्याओं, एपीआई त्रुटियों (429 से परे), और टाइमआउट के लिए मजबूत त्रुटि प्रबंधन लागू करें। जब पुन: प्रयास ट्रिगर होते हैं या दर सीमाएँ लगातार हिट होती हैं तो लॉग करें या अलर्ट करें। यह आपकी एपीआई उपभोग रणनीति को अनुकूलित करने के लिए महत्वपूर्ण अंतर्दृष्टि प्रदान करता है।
  • संसाधन प्रबंधन: अपने aiohttp.ClientSession इंस्टेंस को ध्यान से प्रबंधित करें। कनेक्शन ओवरहेड के कारण प्रत्येक अनुरोध के लिए एक नया सत्र बनाना अक्षम है। कई अनुरोधों के लिए एक ही सत्र का पुन: उपयोग करना आमतौर पर सबसे अच्छा अभ्यास है।

डिडिट कैसे मदद करता है

डिडिट को डेवलपर्स और उच्च-प्रदर्शन अनुप्रयोगों के लिए जमीन से बनाया गया है, जिससे यह पायथन एसिंक्रोनस कार्यान्वयन के लिए एक आदर्श भागीदार बन जाता है। हमारी मॉड्यूलर आर्किटेक्चर आपको आईडी सत्यापन, निष्क्रिय और सक्रिय सजीवता, 1:1 चेहरा मिलान, और एएमएल स्क्रीनिंग जैसे पहचान जाँचों को आवश्यकतानुसार प्लग-एंड-प्ले करने की अनुमति देती है, प्रत्येक स्वच्छ, अच्छी तरह से प्रलेखित एपीआई के माध्यम से सुलभ है। इस मॉड्यूलरिटी का मतलब है कि आप अपनी विशिष्ट आवश्यकताओं के अनुरूप जटिल सत्यापन वर्कफ़्लो को ऑर्केस्ट्रेट कर सकते हैं, और फिर एसिंक्रोनस तकनीकों का उपयोग करके उनके उपभोग को अनुकूलित कर सकते हैं।

हम पहचान सत्यापन को सुलभ बनाने में विश्वास करते हैं, यही कारण है कि हम फ्री कोर केवाईसी प्रदान करते हैं। यह आपको अग्रिम लागतों के बिना अपने एसिंक्रोनस एकीकरणों का प्रयोग और निर्माण करने की अनुमति देता है। हमारा एआई-देशी दृष्टिकोण यह सुनिश्चित करता है कि हमारी सत्यापन सेवाएँ तेज़ और सटीक हैं, जो एसिंक्रोनस के गति लाभों को पूरी तरह से पूरक करती हैं। कोई सेटअप शुल्क नहीं और प्रति-सफल-जाँच मॉडल के साथ, डिडिट उच्च-थ्रूपुट पहचान सत्यापन को लागू करने की तलाश में व्यवसायों के लिए एक लागत प्रभावी और स्केलेबल समाधान प्रदान करता है। हमारा तत्काल सैंडबॉक्स वातावरण और व्यापक एपीआई दस्तावेज़ीकरण डेवलपर्स को डिडिट की सेवाओं के अपने उपयोग को तेज़ी से एकीकृत और अनुकूलित करने के लिए और सशक्त बनाता है, चाहे आप एक नया सिस्टम बना रहे हों या किसी मौजूदा को बढ़ा रहे हों।

शुरू करने के लिए तैयार हैं?

डिडिट को कार्रवाई में देखने के लिए तैयार हैं? आज ही एक मुफ्त डेमो प्राप्त करें

डिडिट की मुफ्त टियर के साथ मुफ्त में पहचान सत्यापित करना शुरू करें।

पहचान और धोखाधड़ी के लिए इंफ्रास्ट्रक्चर।

KYC, KYB, ट्रांज़ैक्शन मॉनिटरिंग और वॉलेट स्क्रीनिंग के लिए एक API। 5 मिनट में इंटीग्रेट करें।

इस पेज को समराइज़ करने के लिए AI से पूछें
पायथन एसिंक्रोनस के साथ डिडिट एपीआई थ्रूपुट बढ़ाएँ.