Ruka hadi maudhui makuu
Didit Yakusanya $7.5M Kujenga Miundombinu ya Utambulisho na Udanganyifu
Didit
Rudi kwenye blogu
Blogu · 6 Machi 2026

Kujenga Mfumo wa KYC kwa Kutumia Uthibitisho wa Anwani wa Didit, FastAPI na MongoDB (SW)

Jifunze jinsi ya kuunda mfumo wa KYC unaoweza kukua kwa kuunganisha uthibitisho wa Anwani wa Didit na backend ya FastAPI na MongoDB. Mwongozo huu unashughulikia kusanidi mazingira yako, kushughulikia upakiaji wa nyaraka, na.

Na DiditImesasishwa
integrating-didits-proof-of-address-with-fastapi-and-mongodb.png

Ujumuishaji RahisiUnganisha API ya Uthibitisho wa Anwani ya Didit na FastAPI na MongoDB ili kuunda mfumo imara na unaoweza kukua wa KYC, kurahisisha michakato yako ya uthibitishaji.

Uthibitisho wa KiotomatikiTumia uwezo wa Didit unaotokana na AI kwa uchimbaji, uthibitishaji, na ukaguzi wa uhalisi wa hati za anwani, kupunguza ukaguzi wa mikono na kuboresha usahihi.

Michakato Inayoweza KusanidiwaTumia mipangilio rahisi ya Didit kufafanua vitendo maalum kwa matokeo mbalimbali ya uthibitishaji, kama vile kutofautiana kwa majina au masuala ya ubora wa hati, kuhakikisha kufuata mahitaji mbalimbali ya udhibiti.

Inaweza Kukua & NafuuDidit inatoa mbinu ya kimfumo, inayomlenga msanidi programu na KYC ya Msingi Bila Malipo na bei ya kulipia-kwa-ukaguzi-uliofanikiwa, na kuifanya kuwa chaguo bora kwa biashara za ukubwa wote zinazotafuta uthibitishaji wa kitambulisho unaoweza kukua.

Changamoto ya Uthibitisho wa Anwani katika KYC

Uthibitisho wa Anwani (PoA) ni sehemu muhimu ya michakato ya Mjue Mteja Wako (KYC) katika tasnia mbalimbali, kutoka huduma za kifedha hadi masoko ya mtandaoni. Ni muhimu kwa kuthibitisha makazi halisi ya mtumiaji, kusaidia kuzuia udanganyifu, kufuata kanuni za Kupambana na Utakatishaji Fedha (AML), na kujenga uaminifu. Hata hivyo, kukagua bili za umeme, taarifa za benki, na hati za serikali kwa mikono ni kazi inayotumia muda mwingi, inaweza kukosewa na wanadamu, na haiwezi kukua. Biashara zinahitaji suluhisho imara, la kiotomatiki, na salama ili kushughulikia ugumu wa uthibitishaji wa PoA huku zikidumisha uzoefu mzuri wa mtumiaji.

Suluhisho za jadi za PoA mara nyingi huhusisha ujumuishaji mgumu, gharama kubwa za usanidi, na michakato migumu. Hapa ndipo majukwaa ya kisasa, yanayotokana na AI kama Didit yanapoangaza, yakitoa mbinu inayomlenga msanidi programu ambayo hurahisisha ujumuishaji na hutoa uwezo wa uthibitishaji wenye nguvu, wa kiotomatiki. Kwa kuchanganya API ya Uthibitisho wa Anwani ya Didit na backend inayoweza kukua kama FastAPI na hifadhidata rahisi ya NoSQL kama MongoDB, biashara zinaweza kujenga mifumo ya KYC yenye ufanisi mkubwa na inayofuata sheria.

Kusanidi Mazingira Yako ya FastAPI na MongoDB

Kuanza, utahitaji programu ya FastAPI na mfumo wa MongoDB. FastAPI imechaguliwa kwa utendaji wake wa juu na urahisi wa kutumia, huku MongoDB ikitoa urahisi wa kuhifadhi aina mbalimbali za nyaraka na ripoti za uthibitishaji. Huu hapa usanidi wa kimsingi:

1. Usanidi wa Programu ya FastAPI

Kwanza, sakinisha FastAPI na Uvicorn:

pip install fastapi uvicorn python-multipart motor

Unda faili ya 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()

# Usanidi wa MongoDB
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("Variable ya mazingira ya DIDIT_API_KEY haijawekwa")

@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 inafanya kazi"}

2. Muunganisho wa MongoDB

Hakikisha MongoDB inafanya kazi, iwe ndani ya nchi au kupitia huduma ya wingu. Maktaba ya motor huwezesha mwingiliano wa asynchronous na MongoDB, muhimu kwa programu za FastAPI zenye utendaji wa juu.

Kuunganisha API ya Uthibitisho wa Anwani ya Didit

API ya Uthibitisho wa Anwani ya Didit inakuwezesha kuwasilisha picha za hati au PDF kwa uthibitishaji, kuchimba na kuthibitisha taarifa za anwani, kufanya ukaguzi wa uhalisi, na kurudisha data iliyopangwa. Mchakato huu umeundwa kuwa wa kiotomatiki na sahihi sana, shukrani kwa usanifu wa Didit unaotokana na AI.

1. Kutuma Hati kwa Didit

Utahitaji sehemu (endpoint) katika programu yako ya FastAPI ili kukubali upakiaji wa hati na kuzipeleka kwa Didit. API ya Didit inasaidia aina mbalimbali za hati (PDF, JPEG, PNG, WebP, TIFF) na inatoa vigezo vinavyoweza kusanidiwa kwa uthibitishaji ulioimarishwa.

@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="Aina ya hati si sahihi. Picha na PDF pekee zinaruhusiwa.")

    DIDIT_POA_ENDPOINT = "https://verification.didit.me/v3/poa/"
    headers = {"x-api-key": DIDIT_API_KEY}

    # Andaa data ya fomu kwa 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()

            # Hifadhi matokeo katika MongoDB
            verification_record = {
                "filename": document.filename,
                "user_id": "some_user_id", # Badilisha na ID halisi ya mtumiaji kutoka mfumo wako
                "timestamp": datetime.utcnow(),
                "didit_response": poa_result,
                "status": poa_result['poa']['status']
            }
            await app.mongodb["poa_verifications"].insert_one(verification_record)

            return {"message": "Uthibitisho wa PoA umeanza na matokeo kuhifadhiwa.", "result": poa_result}
        except httpx.HTTPStatusError as e:
            raise HTTPException(status_code=e.response.status_code, detail=f"Hitilafu ya Didit API: {e.response.text}")
        except Exception as e:
            raise HTTPException(status_code=500, detail=f"Hitilafu isiyotarajiwa imetokea: {str(e)}")

Sehemu hii inashughulikia upakiaji wa faili, inatengeneza ombi kwa API ya Didit, na kisha inachakata jibu. Zingatia matumizi ya httpx.AsyncClient kwa maombi ya HTTP yasiyoziba, jambo ambalo ni muhimu kwa utendaji wa FastAPI.

2. Kuelewa Ripoti ya Uthibitisho wa Anwani ya Didit

Didit hutoa ripoti kamili ya JSON kwa kila uthibitishaji wa PoA. Ripoti hii inajumuisha:

  • poa.status: Hali ya jumla ya uthibitishaji (Imeidhinishwa, Imekataliwa, Inapitiwa).
  • poa.document_type: Aina ya hati iliyogunduliwa kiotomatiki (mfano, UTILITY_BILL, BANK_STATEMENT).
  • poa.issuer, poa.issue_date, poa.expiration_date: Maelezo muhimu ya hati.
  • poa.name_on_document, poa.poa_address, poa.poa_formatted_address, poa.poa_parsed_address: Taarifa za anwani zilizochimbwa na kupangwa.
  • poa.warnings: Orodha ya maonyo au masuala yoyote yaliyogunduliwa, kama vile UBORA_MBAYA_WA_HATI, JINA_HALILINGANI_NA_LILILOTOLWA, au KUDANGANYWA_KWA_HATI_KUNASHUKIWA.

Maarifa haya ya kina huruhusu kufanya maamuzi magumu na kushughulikia kiotomatiki matukio maalum. Mipangilio ya uthibitishaji ya Didit inayoweza kusanidiwa, kama vile poa_name_mismatch_action au poa_document_issues_action, inakuwezesha kufafanua jinsi mfumo wako unavyoitikia hatari maalum, kuhakikisha kufuata sheria na kupunguza uingiliaji wa mikono.

Kuhifadhi na Kusimamia Data ya Uthibitisho na MongoDB

MongoDB ni chaguo bora kwa kuhifadhi matokeo ya uthibitishaji wa PoA kutokana na mfumo wake rahisi wa hati. Unaweza kuhifadhi jibu lote la JSON kutoka Didit moja kwa moja, kuruhusu kuulizia na kuchambua kwa urahisi bila mifumo iliyofafanuliwa mapema. Urari huu ni muhimu kwani mahitaji ya uthibitishaji hubadilika au data mpya inapatikana.

1. Kuhifadhi Rekodi ya Uthibitisho

Kama inavyoonyeshwa katika mfano wa FastAPI, didit_response imehifadhiwa moja kwa moja katika mkusanyiko wa poa_verifications. Njia hii inachukua data yote tajiri iliyotolewa na Didit.

2. Kuuliza Rekodi za Uthibitisho

Unaweza kuuliza kwa urahisi mkusanyiko wako wa MongoDB ili kupata hali za uthibitishaji, hati zinazohitaji kupitiwa, au data maalum ya mtumiaji:

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="Hakuna rekodi za PoA zilizopatikana kwa mtumiaji huyu.")
    # _id ya MongoDB ni ObjectId, ibadilishe kuwa string kwa 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

Sehemu hizi zinakuwezesha kupata historia ya PoA ya mtumiaji au kupata uthibitishaji wote unaohitaji kupitiwa kwa mikono, ikionyesha uwezo wa MongoDB katika kusimamia data tata ya kufuata sheria.

Jinsi Didit Inasaidia

Didit inatoa jukwaa la kitambulisho linalotokana na AI, linalomlenga msanidi programu ambalo hurahisisha michakato tata ya uthibitishaji wa kitambulisho kama Uthibitisho wa Anwani. Bidhaa yetu ya Uthibitisho wa Anwani inatoa uthibitishaji kamili kwa kuchimba na kuthibitisha taarifa muhimu kutoka kwa hati mbalimbali. Inagundua kiotomatiki aina za hati, inachambua anwani katika miundo iliyopangwa, na inafanya ukaguzi wa uhalisi ili kutambua udanganyifu unaowezekana. Ukiwa na Didit, unanufaika na:

  • Usanifu wa Kimfumo: Unganisha kwa urahisi uthibitishaji wa PoA kama huduma huru au uichanganye na bidhaa zingine za Didit kama vile Uthibitishaji wa Kitambulisho na Uchunguzi na Ufuatiliaji wa AML ili kujenga michakato kamili ya KYC.
  • Usahihi wa AI: Algoriti zetu za hali ya juu za AI na ujifunzaji wa mashine huhakikisha usahihi wa juu katika uchimbaji wa data na kugundua udanganyifu, kupunguza chanya za uongo na hasi.
  • Michakato Inayoweza Kusanidiwa: Fafanua sheria na vitendo maalum kwa hali tofauti za hatari, kama vile kutofautiana kwa majina, masuala ya ubora wa hati, au udanganyifu unaoshukiwa, moja kwa moja kupitia API zetu au Dashibodi ya Biashara isiyo na msimbo.
  • Uzoefu Unaomlenga Msanidi Programu: Kwa sanduku la mchanga la papo hapo, nyaraka kamili za umma, na API safi, watengenezaji wanaweza kuunganisha Didit haraka na kwa ufanisi.
  • Kukua kwa Gharama Nafuu: Didit inatoa KYC ya Msingi Bila Malipo na mfumo wa kulipia-kwa-ukaguzi-uliofanikiwa, kuondoa ada za usanidi na kuhakikisha unalipa tu kwa unachotumia, na kuifanya kuwa bora kwa shughuli zinazoweza kukua.

Kwa kutumia Didit, biashara zinaweza kuanzisha uaminifu kiotomatiki, kurahisisha kufuata sheria, na kutoa uzoefu bora wa mtumiaji bila mzigo wa miundombinu tata au ukaguzi wa mikono.

Uko Tayari Kuanza?

Uko tayari kuona Didit ikifanya kazi? Pata demo ya bure leo.

Anza kuthibitisha vitambulisho bila malipo na ngazi ya bure ya Didit.

Miundombinu ya utambulisho na udanganyifu.

API moja kwa KYC, KYB, Ufuatiliaji wa Miamala, na Uchunguzi wa Wallet. Unganisha ndani ya dakika 5.

Uliza AI ifupishe ukurasa huu
Uthibitisho wa Anwani wa Didit na FastAPI na MongoDB.