Ves al contingut principal
Didit recapta 7,5M $ per construir la infraestructura per a identitat i frau
Didit
Torna al blog
Blog · 7 de març del 2026

Optimització del Rendiment de l'API de Didit amb Python Asyncio (CA)

Descobreix com Asyncio de Python pot millorar dràsticament el rendiment i l'eficiència de les teves aplicacions que consumeixen les API de verificació d'identitat de Didit, permetent una gestió eficaç de les limitacions de.

Per DiditActualitzat el
boost-didit-api-throughput-with-python-asyncio.png

Optimitza el Consum de l'API: Python Asyncio permet operacions d'E/S no bloquejants, millorant significativament l'eficiència de les aplicacions que realitzen nombroses trucades a API a serveis com Didit per a la verificació d'identitat.

Domina la Limitació de Tarifes: Implementa estratègies sofisticades de limitació de tarifes amb Asyncio per mantenir-te dins dels límits de l'API de Didit, prevenint errors 429 i assegurant la disponibilitat contínua del servei per a escenaris d'alt rendiment.

Construeix Solucions Escalables: Aprofita el model de concurrència d'Asyncio per dissenyar sistemes robustos i escalables capaços de processar milers de sol·licituds de verificació d'identitat per segon sense incórrer en alts costos d'infraestructura.

L'Avantatge API-First de Didit: L'enfocament de Didit, centrat en el desenvolupador, amb API netes i un sandbox instantani, és ideal per a la integració amb frameworks asíncrons, permetent fluxos de treball de verificació d'identitat sense interrupcions i d'alt rendiment, des de la verificació d'identificació fins a la detecció de vivacitat.

La Necessitat de Velocitat: Per què Asyncio per al Consum de l'API?

En el món digital actual, de ritme ràpid, les aplicacions sovint necessiten realitzar nombroses trucades a API externes per complir les seves funcions. Quan aquestes trucades són bloquejants, és a dir, l'aplicació espera cada resposta abans de passar a la següent, sorgeixen ràpidament colls d'ampolla de rendiment. Això és especialment cert per als serveis de verificació d'identitat, on un únic flux d'incorporació d'usuaris pot implicar múltiples interaccions amb l'API: verificació d'identificació, comprovacions de vivacitat passiva i activa, coincidència facial 1:1 i anàlisi de blanqueig de capitals (AML). Per a les empreses amb grans volums d'usuaris, aquestes operacions seqüencials poden provocar retards significatius i una mala experiència d'usuari.

La biblioteca asyncio de Python proporciona un marc robust per escriure codi concurrent utilitzant la sintaxi async/await. A diferència del multithreading tradicional, que pot introduir complexitats com el Global Interpreter Lock (GIL) per a tasques lligades a la CPU, asyncio està dissenyat per a operacions lligades a E/S. Les trucades a API són inherentment lligades a E/S (esperant respostes de la xarxa), cosa que fa que asyncio sigui un candidat ideal per potenciar la capacitat de la vostra aplicació per consumir API externes de manera eficient. En permetre que el vostre programa realitzi altres tasques mentre espera les respostes de l'API, asyncio pot augmentar dràsticament el rendiment sense requerir una reescriptura completa de l'arquitectura de la vostra aplicació en un sistema distribuït.

Comprenent el Paisatge de l'API de Didit i els Límits de Tarifes

Didit, com a plataforma d'identitat nativa de la IA, ofereix una suite completa d'API per a la verificació d'identitat, incloent verificació d'identificació (OCR, MRZ, codis de barres), vivacitat passiva i activa, coincidència facial 1:1, anàlisi i monitorització de blanqueig de capitals (AML) i més. La nostra API està dissenyada per a un alt rendiment i fiabilitat, però com totes les API robustes, utilitza la limitació de tarifes per garantir l'estabilitat i l'ús just entre tots els clients. Comprendre aquests límits és crucial per a qualsevol consumidor d'alt rendiment.

Didit aplica límits de tarifa tant globals com per a punts finals específics. Per exemple, els límits globals solen ser de 300 sol·licituds per minut per aplicació tant per a punts finals GET com per a Write/Delete. S'apliquen límits més restrictius a operacions d'alt impacte, com ara 600 RPM per a POST /v2/session/ (per crear fluxos de treball de verificació) i 100 RPM per a GET /v2/session/<id>/decision/ (per recuperar decisions de sessió). Quan se superen aquests límits, l'API retorna un codi d'estat 429 Too Many Requests, juntament amb capçaleres útils com X-RateLimit-Limit, X-RateLimit-Remaining i Retry-After (segons d'època) per guiar la vostra estratègia de retrocés.

La implementació d'asyncio us permet gestionar aquests límits de tarifa de manera molt més efectiva. En lloc d'un únic fil bloquejant que assoleix el límit, una aplicació asíncrona pot posar en cua intel·ligentment les sol·licituds, implementar un retrocés exponencial i reintentar les trucades fallades sense bloquejar el flux de tota l'aplicació. Això resulta en un consum d'API més fluid i menys interrupcions, garantint que els vostres processos de verificació d'identitat romanguin ininterromputs fins i tot durant les càrregues màximes.

Implementació d'Asyncio per a Trucades Concurrents a l'API de Didit

La integració d'asyncio amb les API de Didit implica l'ús d'un client HTTP asíncron com aiohttp. Aquí teniu un esquema conceptual de com podríeu estructurar les vostres trucades a l'API asíncrones:


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())

Aquest exemple demostra com crear múltiples sessions de verificació i recuperar les seves decisions de manera concurrent. La funció call_didit_api inclou un mecanisme bàsic de reintent per a 429 Too Many Requests, utilitzant la capçalera Retry-After per implementar un retrocés exponencial. Per a sistemes de producció, es recomanaria un patró de retrocés i tallacircuits més sofisticat, però això il·lustra el principi bàsic.

Mitjançant l'ús d'asyncio.gather, podeu iniciar diverses sol·licituds a l'API simultàniament, permetent que la vostra aplicació processi altres tasques o esperi respostes de manera concurrent, la qual cosa comporta guanys de rendiment significatius en comparació amb les trucades de bloqueig seqüencials.

Estratègies per a la Verificació d'Identitat d'Alt Volum

Aconseguir un alt rendiment amb les API de Didit utilitzant Asyncio requereix més que només fer sol·licituds de manera concurrent. Considereu aquestes estratègies:

  • Agrupació Intel·ligent: Tot i que la verificació central de Didit sol ser iniciada per l'usuari, per a operacions com el monitoratge d'AML o certes cerques de dades, podríeu dissenyar fluxos de treball que permetin el processament per lots quan sigui aplicable, reduint el nombre total de trucades a l'API.
  • Limitació de Tarifes Adaptativa: Més enllà d'un simple retrocés exponencial, implementeu un limitador de tarifes adaptatiu que monitoritzi X-RateLimit-Remaining i ajusti el nivell de concurrència de les vostres tasques asyncio dinàmicament. Si les trucades restants són baixes, alenteu; si són altes, accelereu.
  • Actualitzacions basades en Webhooks: Per als resultats de la sessió (per exemple, després de la verificació d'identificació o les comprovacions de vivacitat), confieu en els webhooks de Didit en lloc del sondeig excessiu. Això redueix el nombre de sol·licituds GET a /v2/session/<id>/decision/, que té un límit de tarifa més estricte de 100 RPM. L'arquitectura modular de Didit significa que podeu configurar notificacions de webhook per a diversos canvis d'estat, enviant actualitzacions en temps real al vostre sistema sense consultes constants.
  • Gestió d'Errors i Observabilitat: Implementeu una gestió d'errors robusta per a problemes de xarxa, errors de l'API (més enllà dels 429), i terminis d'espera. Registreu o alerteu quan es desencadenen reintents o s'assoleixen els límits de tarifa de manera consistent. Això proporciona informació crucial per optimitzar la vostra estratègia de consum de l'API.
  • Gestió de Recursos: Gestioneu acuradament les vostres instàncies d'aiohttp.ClientSession. Crear una nova sessió per a cada sol·licitud és ineficient a causa de la sobrecàrrega de la connexió. Reutilitzar una única sessió per a diverses sol·licituds és generalment la millor pràctica.

Com Ajuda Didit

Didit està construït des de zero per a desenvolupadors i aplicacions d'alt rendiment, cosa que el converteix en un soci ideal per a implementacions de Python Asyncio. La nostra arquitectura modular us permet connectar i reproduir comprovacions d'identitat com la verificació d'identificació, la vivacitat passiva i activa, la coincidència facial 1:1 i l'anàlisi de blanqueig de capitals (AML) segons sigui necessari, cadascuna accessible mitjançant API netes i ben documentades. Aquesta modularitat significa que podeu orquestrar fluxos de treball de verificació complexos adaptats a les vostres necessitats específiques i, a continuació, optimitzar-ne el consum utilitzant tècniques asíncrones.

Creiem en fer que la verificació d'identitat sigui accessible, per això oferim Free Core KYC. Això us permet experimentar i construir les vostres integracions asíncrones sense costos inicials. El nostre enfocament natiu de la IA garanteix que els nostres serveis de verificació siguin ràpids i precisos, complementant perfectament els avantatges de velocitat d'Asyncio. Sense tarifes de configuració i amb un model de pagament per comprovació exitosa, Didit proporciona una solució rendible i escalable per a empreses que busquen implementar una verificació d'identitat d'alt rendiment. El nostre entorn de sandbox instantani i la documentació completa de l'API empoderen encara més els desenvolupadors per integrar i optimitzar ràpidament el seu ús dels serveis de Didit, tant si esteu construint un nou sistema com si esteu millorant un d'existent.

Preparat per Començar?

Preparat per veure Didit en acció? Obteniu una demostració gratuïta avui.

Comenceu a verificar identitats de forma gratuïta amb el nivell gratuït de Didit.

Infraestructura per a identitat i frau.

Una API per a KYC, KYB, monitorització de transaccions i anàlisi de carteres. Integra-la en 5 minuts.

Demana a una IA que resumeixi aquesta pàgina
Optimitza l'API de Didit amb Python Asyncio.