Integrant la Prova d'Adreça de Didit amb FastAPI i MongoDB (CA)
Aprèn a construir un sistema KYC escalable integrant la verificació de prova d'adreça de Didit amb un backend FastAPI i MongoDB. Aquesta guia cobreix la configuració de l'entorn, la gestió de càrregues de documents i el.

Integració Sense EsforçIntegra l'API de Prova d'Adreça de Didit amb FastAPI i MongoDB per crear un backend KYC robust i escalable, simplificant els teus fluxos de treball de verificació.
Verificació AutomatitzadaAprofita les capacitats natives d'IA de Didit per a l'extracció, validació i comprovació d'autenticitat automàtica dels documents d'adreça, reduint la revisió manual i millorant la precisió.
Fluxos de Treball ConfigurablesUtilitza la configuració flexible de Didit per definir accions personalitzades per a diversos resultats de verificació, com ara discrepàncies de noms o problemes de qualitat dels documents, garantint el compliment de diversos requisits reguladors.
Escalable i EconòmicDidit ofereix un enfocament modular i orientat al desenvolupador amb KYC Bàsic Gratuït i preus de pagament per comprovació exitosa, convertint-lo en una opció ideal per a empreses de totes les mides que busquen una verificació d'identitat escalable.
El Repte de la Verificació de la Prova d'Adreça en KYC
La verificació de la Prova d'Adreça (PoA) és un component crític dels processos de Know Your Customer (KYC) en diverses indústries, des dels serveis financers fins als mercats en línia. És essencial per confirmar la residència física d'un usuari, ajudant a prevenir el frau, complir amb les regulacions Anti-Money Laundering (AML) i establir confiança. No obstant això, revisar manualment factures de serveis, extractes bancaris i documents emesos pel govern consumeix temps, és propens a errors humans i no és escalable. Les empreses necessiten una solució robusta, automatitzada i segura per gestionar les complexitats de la verificació de PoA mantenint una experiència d'usuari fluida.
Les solucions PoA tradicionals sovint impliquen integracions complexes, alts costos de configuració i fluxos de treball rígids. Aquí és on les plataformes d'identitat modernes i natives d'IA com Didit brillen, oferint un enfocament orientat al desenvolupador que simplifica la integració i proporciona capacitats de verificació potents i automatitzades. Combinant l'API de Prova d'Adreça de Didit amb un backend escalable com FastAPI i una base de dades NoSQL flexible com MongoDB, les empreses poden construir sistemes KYC altament eficients i conformes.
Configuració del vostre Entorn FastAPI i MongoDB
Per començar, necessitareu una aplicació FastAPI i una instància de MongoDB. FastAPI s'escull pel seu alt rendiment i facilitat d'ús, mentre que MongoDB ofereix la flexibilitat per emmagatzemar diversos tipus de documents i informes de verificació. Aquí teniu una configuració bàsica:
1. Configuració de l'Aplicació FastAPI
Primer, instal·leu FastAPI i Uvicorn:
pip install fastapi uvicorn python-multipart motor
Creeu un fitxer main.py:
from fastapi import FastAPI, UploadFile, File, Form, HTTPException
from motor.motor_asyncio import AsyncIOMotorClient
from typing import Optional
import httpx
import os
app = FastAPI()
# MongoDB setup
MONGO_DETAILS = os.getenv("MONGO_DETAILS", "mongodb://localhost:27017")
client = AsyncIOMotorClient(MONGO_DETAILS)
database = client.didit_kyc
# Didit API Key
DIDIT_API_KEY = os.getenv("DIDIT_API_KEY")
if not DIDIT_API_KEY:
raise ValueError("DIDIT_API_KEY environment variable not set")
@app.on_event("startup")
async def startup_db_client():
app.mongodb_client = client
app.mongodb = database
@app.on_event("shutdown")
async def shutdown_db_client():
app.mongodb_client.close()
@app.get("/health")
async def health_check():
return {"status": "ok", "message": "FastAPI is running"}
2. Connexió a MongoDB
Assegureu-vos que MongoDB estigui en execució, ja sigui localment o mitjançant un servei al núvol. La biblioteca motor permet la interacció asíncrona amb MongoDB, crucial per a aplicacions FastAPI d'alt rendiment.
Integració de l'API de Prova d'Adreça de Didit
L'API de Prova d'Adreça de Didit us permet enviar imatges de documents o PDFs per a la verificació, extraient i validant la informació d'adreça, realitzant comprovacions d'autenticitat i retornant dades estructurades. Aquest procés està dissenyat per ser altament automatitzat i precís, gràcies a l'arquitectura nativa d'IA de Didit.
1. Enviament de Documents a Didit
Necessitareu un punt final a la vostra aplicació FastAPI per acceptar càrregues de documents i reenviar-les a Didit. L'API de Didit admet diversos tipus de documents (PDF, JPEG, PNG, WebP, TIFF) i ofereix paràmetres configurables per a una validació millorada.
@app.post("/verify-poa/")
async def verify_proof_of_address(
document: UploadFile = File(...),
expected_first_name: Optional[str] = Form(None),
expected_last_name: Optional[str] = Form(None),
expected_address: Optional[str] = Form(None),
expected_country: Optional[str] = Form(None),
poa_name_mismatch_action: str = Form("DECLINE"),
poa_document_issues_action: str = Form("DECLINE"),
poa_document_authenticity_action: str = Form("DECLINE"),
):
if not document.content_type.startswith(('image/', 'application/pdf')):
raise HTTPException(status_code=400, detail="Invalid document format. Only images and PDFs are allowed.")
DIDIT_POA_ENDPOINT = "https://verification.didit.me/v3/poa/"
headers = {"x-api-key": DIDIT_API_KEY}
# Prepare form data for Didit API
files = {'document': (document.filename, document.file.read(), document.content_type)}
data = {
"poa_name_mismatch_action": poa_name_mismatch_action,
"poa_document_issues_action": poa_document_issues_action,
"poa_document_authenticity_action": poa_document_authenticity_action,
}
if expected_first_name: data["expected_first_name"] = expected_first_name
if expected_last_name: data["expected_last_name"] = expected_last_name
if expected_address: data["expected_address"] = expected_address
if expected_country: data["expected_country"] = expected_country
async with httpx.AsyncClient() as client:
try:
didit_response = await client.post(DIDIT_POA_ENDPOINT, headers=headers, files=files, data=data, timeout=30.0)
didit_response.raise_for_status()
poa_result = didit_response.json()
# Store the result in MongoDB
verification_record = {
"filename": document.filename,
"user_id": "some_user_id", # Replace with actual user ID from your system
"timestamp": datetime.utcnow(),
"didit_response": poa_result,
"status": poa_result['poa']['status']
}
await app.mongodb["poa_verifications"].insert_one(verification_record)
return {"message": "POA verification initiated and result stored.", "result": poa_result}
except httpx.HTTPStatusError as e:
raise HTTPException(status_code=e.response.status_code, detail=f"Didit API error: {e.response.text}")
except Exception as e:
raise HTTPException(status_code=500, detail=f"An unexpected error occurred: {str(e)}")
Aquest punt final gestiona la càrrega de fitxers, construeix la sol·licitud per a l'API de Didit i després processa la resposta. Tingueu en compte l'ús de httpx.AsyncClient per a sol·licituds HTTP no bloquejants, la qual cosa és crucial per al rendiment de FastAPI.
2. Comprensió de l'Informe de Prova d'Adreça de Didit
Didit proporciona un informe JSON complet per a cada verificació de PoA. Aquest informe inclou:
poa.status: L'estat general de la verificació (Aprovat, Rebutjat, En Revisió).poa.document_type: Tipus de document detectat automàticament (p. ex., UTILITY_BILL, BANK_STATEMENT).poa.issuer,poa.issue_date,poa.expiration_date: Detalls clau del document.poa.name_on_document,poa.poa_address,poa.poa_formatted_address,poa.poa_parsed_address: Informació d'adreça extreta i estructurada.poa.warnings: Una llista de qualsevol advertència o problema detectat, com araPOOR_DOCUMENT_QUALITY,NAME_MISMATCH_WITH_PROVIDEDoSUSPECTED_DOCUMENT_MANIPULATION.
Aquestes dades detallades permeten una presa de decisions sofisticada i la gestió automatitzada de casos extrems. La configuració de verificació configurable de Didit, com ara poa_name_mismatch_action o poa_document_issues_action, us permet definir com reacciona el vostre sistema a riscos específics, garantint el compliment i reduint la intervenció manual.
Emmagatzematge i Gestió de Dades de Verificació amb MongoDB
MongoDB és una excel·lent opció per emmagatzemar els resultats de la verificació de PoA a causa del seu model de document flexible. Podeu emmagatzemar tota la resposta JSON de Didit directament, permetent una fàcil consulta i anàlisi sense esquemes predefinits. Aquesta flexibilitat és vital a mesura que evolucionen els requisits de verificació o es disposa de nous punts de dades.
1. Emmagatzematge del Registre de Verificació
Com es mostra a l'exemple de FastAPI, la didit_response s'emmagatzema directament en una col·lecció poa_verifications. Aquest enfocament captura totes les dades riques proporcionades per Didit.
2. Consulta de Registres de Verificació
Podeu consultar fàcilment la vostra col·lecció de MongoDB per recuperar estats de verificació, documents que necessiten revisió o dades d'usuari específiques:
from datetime import datetime
@app.get("/poa-verifications/{user_id}")
async def get_poa_history(user_id: str):
records = await app.mongodb["poa_verifications"].find({"user_id": user_id}).to_list(100)
if not records:
raise HTTPException(status_code=404, detail="No POA records found for this user.")
# MongoDB _id is an ObjectId, convert to string for JSON serialization
for record in records:
record["_id"] = str(record["_id"])
return records
@app.get("/poa-needs-review/")
async def get_poa_needs_review():
records = await app.mongodb["poa_verifications"].find({"status": "In Review"}).to_list(100)
for record in records:
record["_id"] = str(record["_id"])
return records
Aquests punts finals us permeten obtenir l'historial de PoA d'un usuari o recuperar totes les verificacions que requereixen una revisió manual, demostrant el poder de MongoDB en la gestió de dades de compliment complexes.
Com Didit Ajuda
Didit proporciona una plataforma d'identitat nativa d'IA i orientada al desenvolupador que simplifica els processos complexos de verificació d'identitat com la Prova d'Adreça. El nostre producte de Prova d'Adreça ofereix una validació completa extraient i verificant informació clau de diversos documents. Detecta automàticament els tipus de documents, analitza les adreces en formats estructurats i realitza comprovacions d'autenticitat per identificar possibles manipulacions. Amb Didit, us beneficieu de:
- Arquitectura Modular: Integra fàcilment la verificació de PoA com a servei autònom o combina-la amb altres productes de Didit com la Verificació d'Identitat i el Filtratge i Monitorització AML per construir fluxos de treball KYC complets.
- Precisió Nativament AI: Els nostres algorismes avançats d'IA i aprenentatge automàtic garanteixen una alta precisió en l'extracció de dades i la detecció de fraus, minimitzant els falsos positius i negatius.
- Fluxos de Treball Configurables: Defineix regles i accions personalitzades per a diferents escenaris de risc, com ara discrepàncies de noms, problemes de qualitat dels documents o manipulació sospitosa, directament a través de les nostres API o la Consola de Negoci sense codi.
- Experiència Orientada al Desenvolupador: Amb un entorn de proves instantani, documentació pública completa i API netes, els desenvolupadors poden integrar Didit de manera ràpida i eficient.
- Escalabilitat Econòmica: Didit ofereix KYC Bàsic Gratuït i un model de pagament per comprovació exitosa, eliminant les tarifes de configuració i assegurant que només pagueu pel que utilitzeu, fent-lo ideal per a operacions escalables.
Aprofitant Didit, les empreses poden automatitzar la confiança, optimitzar el compliment i oferir una experiència d'incorporació d'usuari superior sense la càrrega d'una infraestructura complexa o una revisió manual.
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.