अवलोकन
चेहरा खोज एक 1:N बायोमेट्रिक खोज है: Didit आपकेuser_image में सबसे बड़े पाए गए चेहरे को लेता है और उसे आपके एप्लिकेशन के चेहरा खोज इंडेक्स के विरुद्ध खोजता है — सत्यापन सत्रों से नामांकित चेहरे, सहेजे गए स्टैंडअलोन API कॉल, सीधे उपयोगकर्ता-प्रोफ़ाइल चेहरा अपलोड, और आपकी ब्लॉक/अनुमति सूचियाँ। यह चेहरा मिलान से अलग है, जो कि 1:1 है — चेहरा मिलान किसी विशिष्ट दस्तावेज़ पर मौजूद पोर्ट्रेट के साथ सेल्फ़ी की तुलना करता है, जबकि चेहरा खोज यह सवाल पूछता है कि “क्या हमने इस व्यक्ति को पहले कभी कहीं देखा है?”।
रिपोर्ट पार्स करने से पहले दो व्यवहारों को समझना उपयोगी है:
- केवल ब्लॉकलिस्ट मिलान ही अस्वीकृत करते हैं।
face_search.statusकेवल तभीDeclinedहोता है जबFACE_IN_BLOCKLISTयाPOSSIBLE_FACE_IN_BLOCKLISTचेतावनी ट्रिगर होती है। केवल डुप्लिकेट मिलानApprovedलौटाते हैं — सिर्फ़statusही नहीं, बल्किmatchesऔरwarningsकी भी जाँच करें। - वैकल्पिक संग्रहण और नामांकन। जब
save_api_request=true(डिफ़ॉल्ट) होता है, तो कॉल को API-प्रकार के सत्र के रूप में सहेजा जाता है और खोजे गए चेहरे को आपके चेहरा खोज इंडेक्स में नामांकित किया जाता है। चेहरा खोज कॉल द्वारा नामांकित चेहरों को भविष्य के चेहरा खोज परिणामों से बाहर रखा जाता है, ताकि बार-बार की जाने वाली खोजें कभी एक-दूसरे से मेल न खाएं। वन-शॉट क्वेरी के लिएsave_api_request=falseपास करें: कुछ भी संग्रहीत नहीं किया जाता है और चेहरा नामांकित नहीं होता है।
परिणाम कहाँ दिखाई देते हैं
चेहरा खोज एक स्टैंडअलोन API है। खोज परिणाम शीर्ष स्तर पर एक एकलface_search ऑब्जेक्ट के रूप में, केवल POST /v3/face-search/ रिस्पॉन्स में सिंक्रोनस रूप से लौटाए जाते हैं:
face_searches[] ऐरे नहीं है — सत्र निर्णय endpoint पर id_verifications[], aml_screenings[], और liveness_checks[] द्वारा उपयोग किया जाने वाला बहुवचन-ऐरे कन्वेंशन यहाँ लागू नहीं होता है।
जब save_api_request=true (डिफ़ॉल्ट) होता है, तो कॉल को API-प्रकार के सत्र के रूप में भी सहेजा जाता है:
- Business Console — सत्र आपकी सत्र सूची में खोज छवि, मिलान और चेतावनियों के साथ दिखाई देता है।
GET /v3/session/{sessionId}/decision/— इसे लौटाए गएrequest_idको सत्र ID के रूप में उपयोग करके पुनः प्राप्त किया जा सकता है। सहेजा गया डेटाfeatures[]में एकFACE_SEARCHप्रविष्टि के रूप में और संग्रहीतmatches(ताज़ा हस्ताक्षरितmatch_image_urlमानों के साथ) औरwarningsले जाने वालेliveness_checks[]आइटम के रूप में दिखाई देता है — एकface_searchऑब्जेक्ट के रूप में नहीं।
save_api_request=false होता है, तो request_id एक अस्थायी सहसंबंध UUID होता है: सत्र कभी संग्रहीत नहीं होता है, इसलिए इसे कंसोल या निर्णय endpoint से प्राप्त नहीं किया जा सकता है।
स्कीमा
प्रामाणिक फ़ील्ड तालिकाओं के लिए डेटा मॉडल संदर्भ में चेहरा खोज देखें। नीचे दिया गया स्वरूप दर्शाता है कि रनटाइम पर endpoint वास्तव में क्या लौटाता है।matches[]समानता की न्यूनतम सीमा से ऊपर 5 प्रविष्टियों तक सीमित है, जो घटती हुई समानता के क्रम में व्यवस्थित होती हैं (search_type=blocklisted_or_approvedब्लॉकलिस्ट की गई प्रविष्टियों को पहले, फिर अनुमति सूची वाली, फिर समानता को रैंक करता है)।sourceआपको बताता है कि मिलान किया गया चेहरा कहाँ से नामांकित किया गया था:session— एक सत्यापन सत्र या एक सहेजी गई स्टैंडअलोन API कॉल;imported— सीधे उपयोगकर्ता प्रोफ़ाइल पर अपलोड किया गया चेहरा;list_entry— आपकी किसी सूची से जुड़ा चेहरा;retained_template— एक छवि-मुक्त बायोमेट्रिक टेम्पलेट जिसे एप्लिकेशन ने स्रोत सत्र को हटाने के बाद बनाए रखा था।imported,list_entry, औरretained_templateमिलानों के लिएsession_id,session_number,status, औरapi_serviceका मानnullहोता है।retained_templateमिलानvendor_user_id,vendor_data, औरbiometric_template_idले जाते हैं, औरmatch_image_url,user_details, तथा सत्र से संबंधित हर चीज़ के लिए हमेशाnullहोते हैं: जिस सत्र ने चेहरा बनाया था वह अब मौजूद नहीं है और टेम्पलेट में कोई छवि या पहचान डेटा नहीं होता है। बनाए रखे गए टेम्पलेट के लिएis_blocklistedहमेशाfalseहोता है; एक ब्लॉकलिस्ट किए गए चेहरे की रिपोर्टlist_entryमिलान के रूप में अलग से दी जाती है।DELETE /v3/biometric-templates/{biometric_template_id}/के साथ टेम्पलेट को पर्ज करें।api_serviceमिलान किए गए सत्र का स्टैंडअलोन API प्रकार है (अपरकेस, उदा.PASSIVE_LIVENESS) और जब मिलान किया गया चेहरा किसी सामान्य वर्कफ़्लो सत्यापन सत्र से आया हो तो यहnullहोता है।user_detailsमिलान किए गए सत्र के दस्तावेज़ सत्यापन से आता है।source: importedमिलानों के लिए इसे इसके बजाय उपयोगकर्ता प्रोफ़ाइल से पॉप्युलेट किया जाता है (full_nameसेट,document_type/document_numbernull); जब कोई पहचान डेटा मौजूद नहीं होता है (उदाहरण के लिए केवल-लाइवनेस सत्र) तो यहnullहोता है।- चेतावनियों का स्वरूप वर्कफ़्लो चेतावनियों की तुलना में संक्षिप्त होता है: कोई
node_idनहीं होता है। प्रलेखित रिस्पॉन्स अनुबंध (FaceSearchResponseSerializer) पाँच फ़ील्डrisk,additional_data,log_type,short_description,long_descriptionघोषित करता है; रनटाइम payload अतिरिक्त रूप सेfeatureले जाता है, जो यहाँ हमेशा"LIVENESS"होता है। चेहरा खोज चेतावनियाँ देखें। - एक ही उपयोगकर्ता के मिलानों को बाहर नहीं रखा जाता है — वर्कफ़्लो डुप्लिकेट डिटेक्शन के विपरीत, स्टैंडअलोन endpoint समान
vendor_dataवाले पिछले सत्रों को फ़िल्टर नहीं करता है, इसलिए लौटने वाला वैध उपयोगकर्ता अपने स्वयं के पुराने सत्रों से मेल खाता है।
स्थिति मान
शीर्ष-स्तरीयface_search.status को warnings[] से प्राप्त किया जाता है। मिलान-स्तरीय status मिलान किए गए सत्र के सत्यापन परिणाम को दर्शाता है और स्वतंत्र होता है।
नोट: जब खोज छवि में कोई पता लगाने योग्य चेहरा नहीं होता है, तो API
face_search ऑब्जेक्ट बनने से पहले {"error": "No face detected in the image"} के साथ HTTP 400 लौटाता है — उस मामले के लिए कोई Declined स्थिति नहीं होती है। अपर्याप्त क्रेडिट किसी भी छवि प्रसंस्करण से पहले HTTP 403 लौटाते हैं।
उदाहरण
Approved — डुप्लिकेट मिलान, कोई ब्लॉकलिस्ट नहीं
Declined — ब्लॉकलिस्ट मिलान
संबंधित
- चेहरा खोज चेतावनियाँ — प्रत्येक चेतावनी कोड जो खोज जारी कर सकती है
- चेहरा खोज API संदर्भ — अनुरोध पैरामीटर और
search_typeमोड - डेटा मॉडल — चेहरा खोज — कैनोनिकल स्कीमा
- webhook — सहेजे गए सत्रों के लिए
status.updatedpayloads
जब
save_api_request=true होता है, तो match_image_url मान हस्ताक्षरित, अल्पकालिक URL होते हैं — ताज़ा URL प्राप्त करने के लिए लौटाए गए request_id के साथ सत्र निर्णय endpoint को पुनः फ़ेच करें। जब save_api_request=false होता है, तो वे आंतरिक स्टोरेज पाथ होते हैं और सीधे डाउनलोड करने योग्य नहीं होते हैं। अपनी ओर केवल मिलान किए गए सत्र id, स्थिति और similarity_percentage को संग्रहीत करें — अंतर्निहित बायोमेट्रिक छवि को बनाए न रखें।