FastAPI और MongoDB के साथ डिडिट के प्रूफ ऑफ एड्रेस को एकीकृत करना (HI)
डिडिट के प्रूफ ऑफ एड्रेस सत्यापन को FastAPI बैकएंड और MongoDB के साथ एकीकृत करके एक स्केलेबल KYC सिस्टम बनाना सीखें। यह गाइड आपके वातावरण को स्थापित करने, दस्तावेज़ अपलोड को संभालने और सत्यापन को संसाधित करने के बारे में बताता है।

निर्बाध एकीकरणअपने सत्यापन वर्कफ़्लो को सुव्यवस्थित करते हुए, एक मजबूत और स्केलेबल KYC बैकएंड बनाने के लिए डिडिट के प्रूफ ऑफ एड्रेस API को FastAPI और MongoDB के साथ एकीकृत करें।
स्वचालित सत्यापनमैनुअल समीक्षा को कम करने और सटीकता में सुधार के लिए पते के दस्तावेज़ों के स्वचालित निष्कर्षण, सत्यापन और प्रामाणिकता जांच के लिए डिडिट की AI-नेटिव क्षमताओं का लाभ उठाएं।
विन्यास योग्य वर्कफ़्लोविभिन्न नियामक आवश्यकताओं के अनुपालन को सुनिश्चित करते हुए, नाम बेमेल या दस्तावेज़ गुणवत्ता मुद्दों जैसे विभिन्न सत्यापन परिणामों के लिए कस्टम कार्यों को परिभाषित करने के लिए डिडिट की लचीली सेटिंग्स का उपयोग करें।
स्केलेबल और लागत प्रभावीडिडिट फ्री कोर KYC और पे-पर-सक्सेसफुल-चेक मूल्य निर्धारण के साथ एक मॉड्यूलर, डेवलपर-पहला दृष्टिकोण प्रदान करता है, जो इसे स्केलेबल पहचान सत्यापन की तलाश कर रहे सभी आकार के व्यवसायों के लिए एक आदर्श विकल्प बनाता है।
KYC में पते के प्रमाण सत्यापन की चुनौती
पते का प्रमाण (PoA) सत्यापन वित्तीय सेवाओं से लेकर ऑनलाइन मार्केटप्लेस तक विभिन्न उद्योगों में अपने ग्राहक को जानें (KYC) प्रक्रियाओं का एक महत्वपूर्ण घटक है। यह उपयोगकर्ता के भौतिक निवास की पुष्टि करने, धोखाधड़ी को रोकने, एंटी-मनी लॉन्ड्रिंग (AML) नियमों का पालन करने और विश्वास स्थापित करने के लिए आवश्यक है। हालांकि, उपयोगिता बिलों, बैंक विवरणों और सरकार द्वारा जारी दस्तावेजों की मैन्युअल रूप से समीक्षा करना समय लेने वाला, मानवीय त्रुटि के अधीन है, और स्केलेबल नहीं है। व्यवसायों को एक सुचारू उपयोगकर्ता अनुभव बनाए रखते हुए PoA सत्यापन की जटिलताओं को संभालने के लिए एक मजबूत, स्वचालित और सुरक्षित समाधान की आवश्यकता है।
पारंपरिक PoA समाधानों में अक्सर जटिल एकीकरण, उच्च सेटअप लागत और कठोर वर्कफ़्लो शामिल होते हैं। यहीं पर डिडिट जैसे आधुनिक, AI-नेटिव पहचान प्लेटफ़ॉर्म चमकते हैं, जो एक डेवलपर-पहला दृष्टिकोण प्रदान करते हैं जो एकीकरण को सरल बनाता है और शक्तिशाली, स्वचालित सत्यापन क्षमताएं प्रदान करता है। डिडिट के प्रूफ ऑफ एड्रेस API को FastAPI जैसे स्केलेबल बैकएंड और MongoDB जैसे लचीले NoSQL डेटाबेस के साथ जोड़कर, व्यवसाय अत्यधिक कुशल और अनुपालनशील KYC सिस्टम बना सकते हैं।
अपने FastAPI और MongoDB वातावरण को स्थापित करना
शुरू करने के लिए, आपको एक FastAPI एप्लिकेशन और एक MongoDB इंस्टेंस की आवश्यकता होगी। FastAPI को इसके उच्च प्रदर्शन और उपयोग में आसानी के लिए चुना गया है, जबकि MongoDB विविध दस्तावेज़ प्रकारों और सत्यापन रिपोर्टों को संग्रहीत करने के लिए लचीलापन प्रदान करता है। यहां एक मूल सेटअप है:
1. FastAPI एप्लिकेशन सेटअप
सबसे पहले, FastAPI और Uvicorn स्थापित करें:
pip install fastapi uvicorn python-multipart motor
एक 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. MongoDB कनेक्शन
सुनिश्चित करें कि MongoDB चल रहा है, या तो स्थानीय रूप से या क्लाउड सेवा के माध्यम से। motor लाइब्रेरी MongoDB के साथ अतुल्यकालिक इंटरैक्शन को सक्षम करती है, जो उच्च-प्रदर्शन FastAPI अनुप्रयोगों के लिए महत्वपूर्ण है।
डिडिट के प्रूफ ऑफ एड्रेस API को एकीकृत करना
डिडिट का प्रूफ ऑफ एड्रेस API आपको सत्यापन के लिए दस्तावेज़ छवियों या PDF को सबमिट करने, पते की जानकारी निकालने और मान्य करने, प्रामाणिकता जांच करने और संरचित डेटा वापस करने की अनुमति देता है। यह प्रक्रिया डिडिट के AI-नेटिव आर्किटेक्चर के कारण अत्यधिक स्वचालित और सटीक होने के लिए डिज़ाइन की गई है।
1. डिडिट को दस्तावेज़ भेजना
आपको अपने FastAPI एप्लिकेशन में एक एंडपॉइंट की आवश्यकता होगी जो दस्तावेज़ अपलोड को स्वीकार करे और उन्हें डिडिट को अग्रेषित करे। डिडिट का API विभिन्न दस्तावेज़ प्रकारों (PDF, JPEG, PNG, WebP, TIFF) का समर्थन करता है और उन्नत सत्यापन के लिए विन्यास योग्य पैरामीटर प्रदान करता है।
@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)}")
यह एंडपॉइंट फ़ाइल अपलोड को संभालता है, डिडिट के API के लिए अनुरोध का निर्माण करता है, और फिर प्रतिक्रिया को संसाधित करता है। गैर-ब्लॉकिंग HTTP अनुरोधों के लिए httpx.AsyncClient के उपयोग पर ध्यान दें, जो FastAPI के प्रदर्शन के लिए महत्वपूर्ण है।
2. डिडिट की प्रूफ ऑफ एड्रेस रिपोर्ट को समझना
डिडिट प्रत्येक PoA सत्यापन के लिए एक व्यापक JSON रिपोर्ट प्रदान करता है। इस रिपोर्ट में शामिल हैं:
poa.status: समग्र सत्यापन स्थिति (अनुमोदित, अस्वीकृत, समीक्षा में)।poa.document_type: स्वचालित रूप से पता लगाया गया दस्तावेज़ प्रकार (उदाहरण के लिए, UTILITY_BILL, BANK_STATEMENT)।poa.issuer,poa.issue_date,poa.expiration_date: मुख्य दस्तावेज़ विवरण।poa.name_on_document,poa.poa_address,poa.poa_formatted_address,poa.poa_parsed_address: निकाला गया और संरचित पता जानकारी।poa.warnings: किसी भी चेतावनी या समस्या का पता चला, जैसेPOOR_DOCUMENT_QUALITY,NAME_MISMATCH_WITH_PROVIDED, याSUSPECTED_DOCUMENT_MANIPULATION।
ये विस्तृत अंतर्दृष्टि अत्याधुनिक निर्णय लेने और किनारे के मामलों के स्वचालित संचालन की अनुमति देती हैं। डिडिट की विन्यास योग्य सत्यापन सेटिंग्स, जैसे poa_name_mismatch_action या poa_document_issues_action, आपको यह परिभाषित करने की अनुमति देती हैं कि आपका सिस्टम विशिष्ट जोखिमों पर कैसे प्रतिक्रिया करता है, अनुपालन सुनिश्चित करता है और मैन्युअल हस्तक्षेप को कम करता है।
MongoDB के साथ सत्यापन डेटा को संग्रहीत और प्रबंधित करना
MongoDB अपने लचीले दस्तावेज़ मॉडल के कारण PoA सत्यापन परिणामों को संग्रहीत करने के लिए एक उत्कृष्ट विकल्प है। आप डिडिट से पूरी JSON प्रतिक्रिया को सीधे संग्रहीत कर सकते हैं, जिससे पूर्वनिर्धारित स्कीमा के बिना आसान क्वेरी और विश्लेषण की अनुमति मिलती है। यह लचीलापन महत्वपूर्ण है क्योंकि सत्यापन आवश्यकताएं विकसित होती हैं या नए डेटा बिंदु उपलब्ध हो जाते हैं।
1. सत्यापन रिकॉर्ड को संग्रहीत करना
FastAPI उदाहरण में दिखाए अनुसार, didit_response को सीधे poa_verifications संग्रह में संग्रहीत किया जाता है। यह दृष्टिकोण डिडिट द्वारा प्रदान किए गए सभी समृद्ध डेटा को कैप्चर करता है।
2. सत्यापन रिकॉर्ड को क्वेरी करना
आप सत्यापन स्थितियों, समीक्षा की आवश्यकता वाले दस्तावेज़ों, या विशिष्ट उपयोगकर्ता डेटा को पुनः प्राप्त करने के लिए अपने MongoDB संग्रह को आसानी से क्वेरी कर सकते हैं:
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
ये एंडपॉइंट आपको उपयोगकर्ता का PoA इतिहास प्राप्त करने या मैन्युअल समीक्षा की आवश्यकता वाले सभी सत्यापन को पुनः प्राप्त करने की अनुमति देते हैं, जो जटिल अनुपालन डेटा के प्रबंधन में MongoDB की शक्ति को प्रदर्शित करता है।
डिडिट कैसे मदद करता है
डिडिट एक AI-नेटिव, डेवलपर-पहला पहचान प्लेटफ़ॉर्म प्रदान करता है जो पते के प्रमाण जैसी जटिल पहचान सत्यापन प्रक्रियाओं को सरल बनाता है। हमारा पते का प्रमाण उत्पाद विभिन्न दस्तावेजों से प्रमुख जानकारी निकालकर और सत्यापित करके व्यापक सत्यापन प्रदान करता है। यह स्वचालित रूप से दस्तावेज़ प्रकारों का पता लगाता है, पतों को संरचित प्रारूपों में पार्स करता है, और संभावित हेरफेर की पहचान करने के लिए प्रामाणिकता जांच करता है। डिडिट के साथ, आपको लाभ मिलता है:
- मॉड्यूलर आर्किटेक्चर: PoA सत्यापन को एक स्टैंडअलोन सेवा के रूप में आसानी से एकीकृत करें या पूर्ण KYC वर्कफ़्लो बनाने के लिए इसे आईडी सत्यापन और AML स्क्रीनिंग और निगरानी जैसे अन्य डिडिट उत्पादों के साथ जोड़ें।
- AI-नेटिव सटीकता: हमारे उन्नत AI और मशीन लर्निंग एल्गोरिदम डेटा निष्कर्षण और धोखाधड़ी का पता लगाने में उच्च सटीकता सुनिश्चित करते हैं, जिससे गलत सकारात्मक और नकारात्मकता कम होती है।
- विन्यास योग्य वर्कफ़्लो: नाम बेमेल, दस्तावेज़ गुणवत्ता मुद्दों, या संदिग्ध हेरफेर जैसे विभिन्न जोखिम परिदृश्यों के लिए सीधे हमारे API या नो-कोड बिजनेस कंसोल के माध्यम से कस्टम नियम और कार्य परिभाषित करें।
- डेवलपर-पहला अनुभव: एक त्वरित सैंडबॉक्स, व्यापक सार्वजनिक दस्तावेज़ और स्वच्छ API के साथ, डेवलपर्स डिडिट को जल्दी और कुशलता से एकीकृत कर सकते हैं।
- लागत प्रभावी स्केलिंग: डिडिट फ्री कोर KYC और एक पे-पर-सक्सेसफुल-चेक मॉडल प्रदान करता है, सेटअप शुल्क को समाप्त करता है और यह सुनिश्चित करता है कि आप केवल उसी के लिए भुगतान करें जिसका आप उपयोग करते हैं, जिससे यह स्केलेबल संचालन के लिए आदर्श बन जाता है।
डिडिट का लाभ उठाकर, व्यवसाय विश्वास को स्वचालित कर सकते हैं, अनुपालन को सुव्यवस्थित कर सकते हैं, और जटिल बुनियादी ढांचे या मैन्युअल समीक्षा के बोझ के बिना एक बेहतर उपयोगकर्ता ऑनबोर्डिंग अनुभव प्रदान कर सकते हैं।
शुरू करने के लिए तैयार हैं?
डिडिट को कार्रवाई में देखने के लिए तैयार हैं? आज ही एक मुफ्त डेमो प्राप्त करें।
डिडिट के मुफ्त टियर के साथ मुफ्त में पहचान सत्यापित करना शुरू करें।