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

Utafutaji wa Sura 1:N: Kugundua Kila Akaunti Inayodhibitiwa na Mtu Mmoja (SW)

Simu moja ya API inatafuta sura katika kila mtumiaji aliyethibitishwa uliyenaye na inarejesha kila akaunti inayolingana na kitambulisho chako mwenyewe.

Na DiditImesasishwa
face-search-duplicate-account-detection.png

Opereta anayeendesha akaunti arobaini kwenye jukwaa lako ana anwani arobaini za barua pepe, pengine vyombo arobaini vya malipo, na labda vifaa arobaini. Kile ambacho hawana ni sura arobaini.

Ikiwa sehemu yoyote ya mtiririko wako wa ufikiaji inakamata selfie, tayari unashikilia kitambulisho kimoja ambacho ni ghali sana kuzidisha. Utafutaji wa Sura 1:N ni simu inayotumia hiyo — ombi moja, sura moja, na inarejesha kila akaunti katika mfumo wako ambayo mtu huyo huyo alithibitisha.

Ni bure na uthibitishaji wa kitambulisho wa Didit, inarejesha chini ya sekunde mbili, na inaendeshwa kiotomatiki wakati wa uhai ndani ya kikao cha uthibitishaji.

Mambo muhimu

  • POST /v3/face-search/ inatafuta sura dhidi ya sura ambazo programu yako imesajili — vikao vinavyoendeshwa na save_api_request=true — si faharisi ya kimataifa iliyoshirikiwa.
  • Mechi zinarejeshwa na vendor_data yako mwenyewe kwenye kila moja, kwa hivyo matokeo yanalingana moja kwa moja na vitambulisho vyako vya akaunti.
  • Njia mbili: most_similar kwa ajili ya kuondoa marudio na kurejesha watumiaji, blocklisted_or_approved kwa ajili ya uchunguzi wa orodha nyeusi.
  • status ni "Declined" tu kwenye mechi ya orodha nyeusi. Duplicati zinarejesha "Approved" na onyo la DUPLICATED_FACE — kwa taarifa kwa muundo, kwa sababu sera ya kuondoa marudio ni yako.
  • Majibu ni kitu kimoja cha face_search, si safu. Hii inawasumbua watu.
  • Bure na uthibitishaji wa Didit. Majibu chini ya sekunde mbili. Inaendeshwa kiotomatiki wakati wa uhai.

Maana ya 1:N, na kwa nini ni zana sahihi

Mechi ya sura 1:1 inajibu "je, huyu ndiye mtu katika hati hii?" Hilo ni swali la uthibitishaji, na ndilo linaloendeshwa wakati wa kujiandikisha.

Utafutaji wa 1:N unajibu swali tofauti: "kati ya watu wote ambao tayari nimethibitisha, je, huyu ni mmoja wao?" Picha moja inaingia, na kila mechi katika faharisi yako inatoka.

Kwa matumizi mabaya ya akaunti yaliyoratibiwa, swali la pili ndilo muhimu. Ripoti ya Anthropic kuhusu kampeni za usambazaji ilielezea sifa iliyojengwa kutoka kwa ishara za uhusiano — mbinu za malipo zilizoshirikiwa, muda ulioratibiwa, miundombinu iliyoshirikiwa. Utafutaji wa kibayometriki wa 1:N ni darasa sawa la ishara, inayotokana na kitambulisho ghali zaidi ambacho opereta anapaswa kuzidisha.

Faharisi ni yako. Utafutaji wa Sura unaendeshwa dhidi ya sura ambazo programu yako ilisajili kupitia uthibitishaji wa awali — vikao vyenye save_api_request=true, au Uhai Passive wenye save_api_request=true. Sio utafutaji katika watumiaji wa wateja wengine wa Didit. Ikiwa haujasajili sura, hakuna cha kutafuta.

API

Ombi

curl -X POST 'https://verification.didit.me/v3/face-search/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -F 'user_image=@./selfie.jpg' \
  -F 'search_type=most_similar' \
  -F 'save_api_request=true' \
  -F 'vendor_data=acct_8842'

multipart/form-data, iliyothibitishwa na x-api-key.

Inahitajika: user_image — jpg, jpeg, png, tiff au webp, upeo wa MB 5. PDF hazikubaliwi. Picha lazima iwe na angalau sura moja inayoweza kugunduliwa; wakati kuna kadhaa, sanduku kubwa zaidi linashinda.

Hiari:

  • search_typemost_similar (chaguo-msingi) kwa ajili ya kuondoa marudio na kugundua watumiaji wanaorudi, au blocklisted_or_approved kwa ajili ya uchunguzi wa orodha nyeusi.
  • save_api_request — sajili picha hii kwenye faharisi yako.
  • vendor_data — kitambulisho chako mwenyewe kwa somo.

Majibu

Majibu hubeba kitu kimoja cha face_search. Vipengele vingi vya Didit hurejesha safu za wingi, kwa hivyo hii ndio umbo moja linalostahili kusomwa kwa uangalifu kabla hujaandika kichunguzi.

{
  "request_id": "...",
  "face_search": {
    "status": "Approved",
    "total_matches": 12,
    "matches": [
      {
        "session_id": "...",
        "session_number": 4471,
        "similarity_percentage": 97.4,
        "vendor_data": "acct_3310",
        "verification_date": "2026-06-02T09:14:00Z",
        "user_details": { },
        "match_image_url": "...",
        "status": "Approved",
        "is_blocklisted": false
      }
    ],
    "user_image": { "entities": [] },
    "warnings": []
  }
}

Sehemu zinazobeba uchunguzi:

  • total_matches — ni akaunti ngapi zinashiriki sura hii.
  • vendor_data kwenye kila mechi — kitambulisho chako, kwa hivyo orodha ya mechi mara moja ni orodha ya akaunti.
  • similarity_percentage — nguvu ya kila mechi binafsi.
  • verification_date — ratiba. Akaunti kumi na mbili zilizothibitishwa katika miezi kumi na moja zinasomwa tofauti na kumi na mbili zilizothibitishwa alasiri moja.
  • is_blocklisted — kama mechi hii tayari iko kwenye orodha yako nyeusi.
  • session_id — kiini cha kila kitu kingine ambacho kikao hicho kilikamata, ikiwa ni pamoja na kifaa chake na maonyo ya mtandao.

Maana za Hali

Huu ndio tabia muhimu zaidi katika sehemu nzima:

status ni "Declined" tu wakati angalau mechi moja ya orodha nyeusi inapopatikana. Mechi safi za duplicati hurejesha "Approved".

Duplicati si kukataa. Ni taarifa. Didit kwa makusudi inakataa kufanya uamuzi wa kuondoa marudio kwako, kwa sababu duplicati zina maelezo halali na ni wewe tu unajua sheria za bidhaa yako.

Maonyo

OnyoMaana
FACE_IN_BLOCKLISTMechi ya orodha nyeusi kamili — kataa
POSSIBLE_FACE_IN_BLOCKLISTMechi ya mpaka chini ya kizingiti kigumu — peleka kwenye ukaguzi wa mwongozo
DUPLICATED_FACESura hii tayari imethibitishwa chini ya vendor_data tofauti
POSSIBLE_DUPLICATED_FACEDuplicati ya mpaka
MULTIPLE_FACES_DETECTEDSura zaidi ya moja imegunduliwa kwenye picha iliyowasilishwa

Njia za Kushindwa

  • HTTP 400 — hakuna sura iliyogunduliwa kwenye user_image. Omba kurudia.
  • HTTP 403 — mikopo imeisha.
  • status: "Declined" na FACE_IN_BLOCKLIST — hit kamili. Kataa.
  • POSSIBLE_FACE_IN_BLOCKLIST — chini ya kizingiti kigumu. Ukaguzi wa mwongozo.
  • DUPLICATED_FACE — tayari imethibitishwa chini ya vendor_data tofauti. Unganisha, zuia au ruhusu kulingana na sera yako.

Njia ya kiotomatiki

Mara nyingi hauhitaji kupiga simu ya mwisho kabisa. Utafutaji wa Sura unaendeshwa kiotomatiki wakati wa uhai ndani ya kikao cha uthibitishaji:

  • Bayometriki za uso zinalinganishwa na watumiaji wote waliothibitishwa hapo awali.
  • Akaunti zinazowezekana za duplicati zinatambuliwa kwa kufanana kwa uso.
  • Mechi zinawekwa alama kulingana na vizingiti vyako vya kufanana vilivyosanidiwa.
  • Sura zinachunguzwa dhidi ya orodha yako nyeusi, na mechi ya orodha nyeusi inakataa uthibitishaji kiotomatiki.

Kwa hivyo kwa ngazi yoyote ambapo tayari unaendesha uthibitishaji kamili, ugunduzi wa duplicati umejumuishwa bila gharama ya ziada na bila simu ya ziada. Sehemu ya mwisho inayojitegemea ni kwa ajili ya kesi ambazo mtiririko wa kikao haufuniki — kuchunguza akaunti baada ya ukweli, kuchunguza picha uliyoipata kwa njia nyingine, au kubadilisha search_type ili kuendesha utafutaji unaozingatia orodha nyeusi juu ya picha uliyo nayo tayari.

Kugeuza mechi kuwa ramani ya waigizaji

Mtiririko wa kazi wa vitendo, ukianzia na akaunti moja inayoshukiwa:

  1. Tafuta sura. total_matches: 12 — akaunti kumi na mbili, mtu mmoja.
  2. Soma vendor_data. Vitambulisho kumi na viwili vya akaunti zako mwenyewe, hakuna kuunganisha kunahitajika.
  3. Soma ratiba. Panga thamani za verification_date. Akaunti zilizoundwa kwa kasi ni tofauti kiutendaji na akaunti zilizoundwa kwa miaka.
  4. Piga kwenye session_id. Vuta kifaa cha kila kikao na maonyo ya mtandao. Sura zinazoshiriki DUPLICATED_DEVICE_FINGERPRINT zinabana kundi; akaunti kwenye vifaa visivyohusiana zinaweza kuwa mpangilio tofauti.
  5. Panua. Vifaa na safu za IP zilizopatikana katika hatua ya 4 zitavuta akaunti ambazo utafutaji wa sura ulizikosa — kwa sababu mtu tofauti alikamilisha ukaguzi huo.
  6. Amua mara moja, tekeleza katika vitambulisho. Ikiwa kundi limethibitishwa kuwa matumizi mabaya, chapisha reference_session_id iliyothibitishwa kwenye kila orodha nyeusi ya aina ya kuingia unayojali — sura, kifaa, IP, barua pepe, simu, hati. Ni simu moja kwa kila orodha, na kila simu inatoa moja kwa moja thamani sahihi kutoka kwenye kikao hicho, kwa hivyo hakuna chochote kinachoandikwa tena kwa mkono.

Hatua sita, mwanzo mmoja, na hakuna ukaguzi wa haraka popote. Safu ya trafiki inakuambia kuna kitu kibaya na akaunti hii. Hii inakuambia ni akaunti ngapi hasa.

Inafaa kusema wazi: utafutaji wa sura 1:N hauzuii uchimbaji wa mfano na haugundui. Utafutaji wa Sura hauna mwonekano wowote kwenye trafiki yako ya API. Inasuluhisha akaunti kwa watu, ndio kinachokuruhusu kuchukua hatua kwenye arifa katika kundi zima badala ya safu moja. Vidhibiti vya pato la kiwango cha mfano na ugunduzi wa trafiki ya kisemantiki ni tabaka tofauti, na hubaki kuwa jukumu la mtoa huduma wa mfano.

Kesi za matumizi

Majukwaa ya AI API yanayosuluhisha arifa ya tabia katika seti kamili ya akaunti anazodhibiti opereta.

Matumizi mabaya ya kiwango cha bure na mikopo — mtu mmoja, akaunti nyingi za majaribio, ni tatizo lile lile la ugunduzi lenye hatari ndogo.

Masoko na majukwaa ya kazi za muda yanayokamata wauzaji, madereva au wasafirishaji waliopigwa marufuku wakijisajili tena.

iGaming inayotekeleza sheria za akaunti moja na kujiondoa, ambapo mchezaji aliyetengwa anayerudi ni kushindwa kwa udhibiti, si tu kesi ya matumizi mabaya.

Huduma za kifedha zinazotambua vikundi vya vitambulisho bandia ambapo sura halisi moja imeenea katika vitambulisho vingi vilivyotengenezwa.

Maswali yanayoulizwa mara kwa mara

Je, faharisi yangu ya sura inashirikiwa na wateja wengine wa Didit?

Hapana. Utafutaji wa Sura unaendeshwa dhidi ya faharisi ambayo programu yako imeijenga kupitia uthibitishaji wako mwenyewe. Sio utafutaji wa wateja tofauti.

Ni nini kinachodhibiti kama sura inaingia kwenye faharisi?

save_api_request=true kwenye kikao cha uthibitishaji au simu ya Uhai Passive. Unaamua nini kimesajiliwa na unadhibiti uhifadhi, kulingana na taarifa yako ya faragha na msingi halali wa kuchakata data ya kibayometriki.

Ni kizingiti gani cha kufanana ninapaswa kutumia?

Jihadharini na mahali ambapo upangaji unatumika. Kwenye sehemu ya mwisho inayojitegemea, bendi za kufanana zinazotenganisha hits zilizothibitishwa (FACE_IN_BLOCKLIST, DUPLICATED_FACE) kutoka hits zinazowezekana (POSSIBLE_FACE_IN_BLOCKLIST, POSSIBLE_DUPLICATED_FACE) zimewekwa ndani — upangaji wa kizingiti kwa kila programu unatumika kwenye ukaguzi wa uhai wa mtiririko wa kazi, si kwa POST /v3/face-search/. Kwa hivyo kwenye njia inayojitegemea, soma similarity_percentage kwa kila mechi na utumie kizingiti chako mwenyewe katika mantiki ya programu, na chukulia maonyo ya POSSIBLE_* kama foleni yako ya ukaguzi badala ya foleni yako ya kukataa.

Ni kwa haraka gani kwa kiwango kikubwa?

Majibu chini ya sekunde mbili.

Je, ninaweza kutafuta sura ambayo haijawahi kupitia uthibitishaji wa Didit?

Ndiyo. user_image yoyote katika muundo unaokubalika inafanya kazi. Ikiwa hakuna sura iliyogunduliwa simu inarejesha HTTP 400.

Je, ni bure kweli?

Ndiyo — Utafutaji wa Sura 1:N ni bure na uthibitishaji wa kitambulisho wa Didit. Hakuna malipo kwa kila utafutaji. Unalipia uthibitishaji unaojenga faharisi, kwa $0.33 kwa kifurushi kamili, na ukaguzi 500 wa kwanza kila mwezi bure.

Je, kama mtu huyo huyo ana akaunti mbili kihalali?

Basi DUPLICATED_FACE ni ishara ya taarifa iliyoundwa kuwa — ndio maana haikatai. Zunganisha, ziruhusu, au muulize mtumiaji, kulingana na sheria za bidhaa yako.

Uko tayari kuanza?

Utafutaji wa Sura unapatikana kwenye kila akaunti ya Didit, bila bidhaa tofauti ya kununua.

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