प्रक्रिया बनाएं
यह endpoint तीन उत्पादों को संभालता है जो एक ही path साझा करते हैं लेकिन body पैरामीटर, क्षमताओं और प्रतिक्रिया फ़ील्ड में भिन्न हैं:
- ऑनबोर्डिंग — Unico के पहचान आधार के विरुद्ध उनका चेहरा तुलना करके यह सत्यापित करता है कि उपयोगकर्ता कौन है (
subject.duiType+subject.codeआवश्यक)। - Transactional — पिछली प्रक्रिया से चेहरे की तुलना करके यह सत्यापित करता है कि यह वही व्यक्ति है (
referenceProcessIdOR selfie / process id के साथreferencesarray आवश्यक)। - Cardholder Verification — बिना किसी selfie कैप्चर के यह पुष्टि करता है कि कोई कार्ड उसके घोषित धारक का है (
subject.code+cardआवश्यक)। वैकल्पिक रूप सेreferenceProcessIdके माध्यम से पहले से सत्यापित प्रक्रिया का पुनः उपयोग करके पुनः उपयोग गेट को ट्रिगर करता है; इसके बिना, प्रतिक्रिया डिफ़ॉल्ट रूप सेunsureपरिणाम देती है। Cardholder Verification क्षमता देखें।
सक्रिय उत्पाद request header में भेजी गई APIKEY द्वारा निर्धारित होता है।
संपूर्ण एकीकरण प्रवाह के लिए, API अवलोकन देखें।
Endpoint
| वातावरण | URL |
|---|---|
| Production | POST https://api.id.unico.app/processes/v1 |
| Sandbox | POST https://api.id.uat.unico.app/processes/v1 |
अनुरोध
| Header | Value |
|---|---|
Authorization | Bearer <access_token> (Authentication देखें) |
APIKEY | प्रावधानित API key — सक्रिय उत्पाद और सक्षम capabilities को परिभाषित करता है। |
Content-Type | application/json |
- ऑनबोर्डिंग
- Transactional
- Cardholder Verification
| Field | Type | Required | विवरण |
|---|---|---|---|
subject.duiType | integer | yes | दस्तावेज़ प्रकार पहचानकर्ता। नीचे duiType मान देखें। |
subject.code | string | yes | subject.duiType द्वारा परिभाषित पहचानकर्ता मान। कोई बिंदु या डैश नहीं। |
subject.name | string | no | पूरा नाम। |
subject.gender | string | no | M या F। |
subject.birthDate | string (ISO 8601) | no | जन्म तिथि (YYYY-MM-DD)। |
subject.email | string | no | ईमेल पता। |
subject.phone | string | no | E.164 phone number। |
subject.clientReference | string | conditional | आपके सिस्टम में उपयोगकर्ता का अद्वितीय पहचानकर्ता। मल्टी अकाउंट क्षमता के लिए आवश्यक। आपके आधार में अद्वितीय, अधिकतम 256 वर्ण, कोई स्पेस नहीं। |
useCase | string | no | Operation context, जैसे Onboarding। |
subsidiaryId | string | no | शाखा ID — केवल तभी आवश्यक जब एकाधिक शाखाएं हों। |
imageBase64 | string | yes | आपके front-end द्वारा capture की गई selfie, base64 में। |
| Field | Type | Required | विवरण |
|---|---|---|---|
references | array | conditional | 1:1 सत्यापन flows के लिए reference inputs। प्रत्येक आइटम में referenceType (REFERENCE_TYPE_IMAGE_BASE64 या REFERENCE_TYPE_PROCESS_ID) और referenceContent (base64-encoded image या process UUID) होता है। |
referenceProcessId | string | conditional | Deprecated. इसके बजाय references का उपयोग करें। तुलना के लिए reference Onboarding प्रक्रिया का ID। यदि reference एक by-Unico प्रक्रिया है, तो authenticationInfo.authenticationId का उपयोग करें। |
imageBase64 | string | yes | आपके front-end द्वारा capture की गई selfie, base64 में। |
subject | object | no | उपयोगकर्ता जानकारी container। |
subject.duiType | string | no | पहचानकर्ता प्रकार। संभावित मान: DUI_TYPE_AR_DNI, DUI_TYPE_BR_CPF, DUI_TYPE_ID_NIK, DUI_TYPE_MX_CURP, DUI_TYPE_NG_NIN, DUI_TYPE_US_SSN। |
subject.code | string | no | subject.duiType द्वारा परिभाषित पहचानकर्ता मान। कोई बिंदु या डैश नहीं। |
subject.name | string | no | उपयोगकर्ता का पूरा नाम। |
subject.gender | string | no | M या F। |
subject.birthDate | string (ISO 8601) | no | जन्म तिथि (YYYY-MM-DD)। |
subject.email | string | no | ईमेल पता। |
subject.phone | string | no | E.164 phone number। |
useCase | string | no | Operation context, जैसे Transactional। |
subsidiaryId | string | no | Branch ID — के वल तभी आवश्यक जब एकाधिक branches हों। |
इस उत्पाद के लिए, धोखाधड़ी जोखिम वर्गीकरण के साथ orchestrate करना संभव नहीं है। परिणाम हमेशा POST प्रतिक्रिया में समकालिक रूप से लौटाया जाता है।
| Field | Type | Required | विवरण |
|---|---|---|---|
subject.duiType | integer | yes | दस्तावेज़ प्रकार पहचानकर्ता। नीचे duiType मान देखें। वर्तमान में केवल DUI_TYPE_BR_CPF। |
subject.code | string | yes | सत्यापित किए जा रहे cardholder का CPF। कोई बिंदु या डैश नहीं। |
card.bin | string | conditional | कार्ड के पहले 6 या 8 अंक (BIN)। card.last4 के साथ आवश्यक। |
card.last4 | string | conditional | कार्ड के अंतिम 4 अंक। card.bin के साथ आवश्यक। |
card.name | string | no | कार्ड पर मुद्रित cardholder का नाम। |
referenceProcessId | string (UUID) | no | पुनः उपयोग के लिए पहले से सत्यापित की गई किसी प्रक्रिया का ID — वह जिसमें उसी CPF के लिए स्वीकृत पहचान सत्यापन या लाइवनेस परिणाम हो। इस क्षमता का मौजूदा संस्करण पुनरुपयोग-आधारित है: इस फ़ील्ड के बिना, गेट कभी ट्रिगर नहीं होता और प्रतिक्रिया डिफ़ॉल्ट रूप से मानक unsure परिणाम देती है — रिक्वेस्ट स्वयं कभी विफल नहीं होती। |
useCase | string | no | Operation context, जैसे CardholderVerification। |
subsidiaryId | string | no | शाखा ID — केवल तभी आवश्यक जब एकाधिक शाखाएं हों। |
इस उत्पाद के लिए कोई imageBase64 नहीं भेजा जाता — Cardholder Verification पूरी तरह back-end पर चलता है, बिना किसी selfie कैप्चर चरण के।
duiType मान
| देश | कोड | विवरण |
|---|---|---|
| AR | 6 | अर्जेंटीनी पासपोर्ट |
| AR | 7 | अर्जेंटीनी DNI |
| AR | 49 | अर्जेंटीनी ड्राइविंग लाइसेंस (Licencia Nacional de Conducir) |
| AT | 34 | ऑस्ट्रियाई कर संख्या (STNR) |
| BE | 36 | बेल्जियन राष्ट्रीय नंबर (NN) |
| BR | 1 | ब्राज़ीलियाई CPF |
| BR | 5 | ब्राज़ीलियाई पासपोर्ट |
| BR | 14 | ब्राज़ीलियाई CNPJ |
| CA | 28 | कैनेडियन SIN |
| CH | 33 | स्विस AHV/AVS नंबर |
| CL | 9 | चिली RUN |
| CL | 52 | चिली पासपोर्ट |
| CL | 57 | चिली ड्राइविंग लाइसेंस (Licencia de Conducir) |
| CO | 26 | कोलंबियाई NIT |
| CO | 53 | कोलंबियाई पासपोर्ट |
| CO | 55 | कोलंबियाई ड्राइविंग लाइसेंस (Licencia de Conducción) |
| CO | 56 | कोलंबियाई नागरिकता कार्ड (Cédula de Ciudadanía) |
| DE | 41 | जर्मन कर पहचान संख्या (IdNr) |
| DK | 29 | डैनिश CPR |
| EC | 10 | इक्वाडोरी NI |
| ES | 50 | स्पेनिश विदेशी पहचान संख्या (NIE) |
| ES | 51 | स्पेनिश राष्ट्रीय पहचान दस्तावेज़ (DNI) |
| FI | 35 | फिनिश व्य क्तिगत पहचान कोड (HETU) |
| FR | 46 | फ्रेंच कर संदर्भ संख्या (SPI) |
| GB | 30 | ब्रिटिश राष्ट्रीय बीमा नंबर (NINO) |
| GT | 12 | ग्वाटेमाला CUI |
| ID | 16 | इंडोनेशियाई NIK |
| IE | 47 | आयरिश व्यक्तिगत सार्वजनिक सेवा नंबर (PPSN) |
| IT | 37 | इटालियन कोडिस फिस्काले (CF) |
| LU | 48 | लक्ज़मबर्ग राष्ट्रीय पहचान संख्या (Matricule) |
| MX | 2 | मैक्सिकन CURP |
| MX | 25 | मैक्सिकन RFC (व्यक्तिगत) |
| MX | 58 | मैक्सिकन ड्राइविंग लाइसेंस (Licencia de Conducir) |
| NG | 8 | नाइजीरियाई NIN |
| NG | 20 | नाइजीरियाई बैंक सत्यापन नंबर (BVN) |
| NG | 43 | नाइजीरियाई BVN टोकन (हैश्ड) |
| NG | 44 | नाइजीरियाई NIN टोकन (हैश्ड) |
| NL | 42 | डच नागरिक सेवा नंबर (BSN) |
| NO | 39 | नॉर्वेजियन राष्ट्रीय पहचान नंबर (Fødselsnummer) |
| PE | 27 | पेरूवियन RUC |
| PE | 40 | पेरूवियन DNI |
| PE | 54 | पेरूवियन पासपोर्ट |
| PL | 31 | पोलिश PESEL |
| PT | 45 | पॉर्चुगीज कर पहचान संख्या (NIF) |
| SE | 32 | स्वीडिश व्यक्तिगत नंबर (PNR) |
| SE | 38 | स्वीडि श समन्वय नंबर (Samordningsnummer) |
| TR | 24 | तुर्की पहचान संख्या (TCKN) |
| US | 4 | संयुक्त राज्य SSN |
| US | 11 | संयुक्त राज्य पासपोर्ट |
| US | 18 | संयुक्त राज्य ड्राइविंग लाइसेंस |
| US | 21 | संयुक्त राज्य पासपोर्ट कार्ड |
| US | 22 | संयुक्त राज्य पॉलीकार्बोनेट पासपोर्ट |
| US | 23 | संयुक्त राज्य पहचान पत्र (ID Card) |
| UY | 13 | उरुग्वे CI |
| ZZ | 15 | ईमेल पता |
| ZZ | 17 | फ़ोन नंबर |
| — | 0 | अनिर्दिष्ट |
| — | 3 | Unico आंतरिक पहचानकर्ता |
- न्यूनतम resolution: 640 × 480 (HD standard)
- अधिकतम फ़ाइल आकार: 800 KB (JPEG92 compression अनुशंसित)
- स्वीकृत formats: PNG, JPEG, WebP
- SDK के JWT token 10 मिनट के बाद expire हो जाते हैं और केवल एक बार उपयोग किए जा सकते हैं
API स्टैंडर्ड Content-Encoding HTTP header का उपयोग करके संपीड़ित request body भेजने का समर्थन करता है। यह वैकल्पिक है और पूरी तरह से backward-compatible है: जो क्लाइंट यह header नहीं भेजते, वे पहले की तरह ही काम करते रहते हैं।
| Encoding | Content-Encoding header | स्थिति |
|---|---|---|
| Gzip | gzip | ✅ अनुशंसित |
| Deflate | deflate | ✅ समर्थित |
| कोई संपीड़न नहीं | (header अनुपस्थित) | ✅ समर्थित (डिफ़ॉल्ट व्यवहार) |
gzip का उपयोग करें। इसका भाषाओं और HTTP libraries में सबसे व्यापक समर्थन है, जो अन्य प्रारूपों में मौजूद implementation संबंधी अस्पष्टताओं से बचाता है।
बड़े body वाले requests (जैसे, व्यापक JSON payloads, base64-encoded image uploads, batch submissions) के लिए संपीड़न की सिफारिश की जाती है। छोटे requests के लिए, संपीड़न का overhead कोई प्रासंगिक लाभ नहीं दे सकता।
- चुने गए algorithm का उपयोग करके request body (जैसे, serialized JSON) को संपीड़ित करें।
- संपीड़ित body को request में binary bytes के रूप में भेजें।
- मिलान करने वाले value (
gzipयाdeflate) के साथContent-Encodingheader शामिल करें। Content-Typeको मूल content प्रारूप (जैसे,application/json) का वर्णन करने के लिए रखें, transport encoding का नहीं।
- cURL
- Python (requests)
- .NET (C#, HttpClient)
echo '{"subject":{"code":"12345678909"},"useCase":"Onboarding","imageBase64":"/9j/4AAQSkZJR..."}' | gzip > body.json.gz
curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-H "Content-Encoding: gzip" \
--data-binary @body.json.gz
import gzip
import json
import requests
payload = {
"subject": {"code": "12345678909"},
"useCase": "Onboarding",
"imageBase64": capturedImage,
}
compressed_body = gzip.compress(json.dumps(payload).encode("utf-8"))
response = requests.post(
"https://api.id.unico.app/processes/v1",
data=compressed_body,
headers={
"Authorization": f"Bearer {token}",
"APIKEY": api_key,
"Content-Type": "application/json",
"Content-Encoding": "gzip",
},
)
using System.IO.Compression;
using System.Text;
using System.Text.Json;
var json = JsonSerializer.Serialize(payload);
var jsonBytes = Encoding.UTF8.GetBytes(json);
using var outputStream = new MemoryStream();
using (var gzipStream = new GZipStream(outputStream, CompressionMode.Compress, leaveOpen: true))
{
await gzipStream.WriteAsync(jsonBytes, 0, jsonBytes.Length);
}
outputStream.Position = 0;
var content = new ByteArrayContent(outputStream.ToArray());
content.Headers.ContentType = new MediaTypeHeaderValue("application/json");
content.Headers.ContentEncoding.Add("gzip");
using var client = new HttpClient();
client.DefaultRequestHeaders.Add("Authorization", $"Bearer {token}");
client.DefaultRequestHeaders.Add("APIKEY", apiKey);
var response = await client.PostAsync("https://api.id.unico.app/processes/v1", content);
Python उदाहरण के लिए, json= के बजाय data= पैरामीटर का उपयोग करें। json= पैरामीटर पेलोड को स्वचालित रूप से सीरियलाइज़ करता है, लेकिन इसे संपीड़ित नहीं करता।
इसके बजाय deflate का उपयोग करना: ऊपर दिया गया फ़्लो पूरी तरह समान है — केवल compression कॉल और Content-Encoding का मान बदलता है।
| भाषा | deflate |
|---|---|
| Bash / cURL | zlib-flate -compress < body.json > body.json.deflate (qpdf से), फिर -H "Content-Encoding: deflate" |
| Python | gzip.compress(data) के बजाय zlib.compress(data) |
| .NET (C#) | GZipStream के बजाय System.IO.Compression.DeflateStream |
deflate अस्पष्ट हैHTTP का deflate content encoding एक zlib stream (RFC 1950) के रूप में निर्दिष्ट है, लेकिन कुछ क्लाइंट और सर्वर ऐतिहासिक रूप से इसके बजाय raw DEFLATE (RFC 1951) भेजते या अपेक्षा करते हैं। यह API स्टैंडर्ड zlib-wrapped stream की अपेक्षा करता है — वही आउटपुट जो zlib.compress() (Python) या DeflateStream (.NET) डिफ़ॉल्ट रूप से produce करते हैं। संदेह होने पर, gzip को प्राथमिकता दें, जिसमें ऐसी कोई अस्पष्टता नहीं है।
यदि Content-Encoding को किसी असमर्थित value के साथ भेजा जाता है, या body corrupted है या घोषित encoding के लिए अमान्य है, तो API 400 Bad Request लौटाता है जिसमें यह संदेश होता है कि request body को decompress करना विफल हो गया।
यदि मैं संपीड़न का उपयोग नहीं करना चाहता तो क्या मुझे कुछ बदलने की आवश्यकता है?
नहीं। Content-Encoding समर्थन additive है — इस header के बिना requests को पहले की तरह ही सामान्य रूप से process किया जाता रहता है।
क्या यह API प्रतिक्रिया को प्रभावित करता है?
नहीं। यह feature केवल क्लाइंट द्वारा भेजे गए body (request) से संबंधित है। प्रतिक्रिया संपीड़न (API जो लौटाता है) Accept-Encoding header द्वारा अलग से नियंत्रित होता है।
मुझे कौन सा प ्रारूप चुनना चाहिए?
gzip का उपयोग करें, जब तक कि आपके environment में कोई विशेष सीमा किसी अन्य प्रारूप की आवश्यकता न बताए।
उदाहरण
- ऑनबोर्डिंग — cURL
- ऑनबोर्डिंग — Node.js
- Transactional — cURL
- Transactional — Node.js
- Cardholder Verification — cURL
- Cardholder Verification — Node.js
curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909",
"name": "Luke Skywalker",
"gender": "M",
"birthDate": "2000-05-20",
"email": "[email protected]",
"phone": "5519725570707"
},
"useCase": "Onboarding",
"imageBase64": "/9j/4AAQSkZJR..."
}'
import fetch from 'node-fetch';
const res = await fetch('https://api.id.unico.app/processes/v1', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,
'APIKEY': process.env.UNICO_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
subject: {
duiType: 1,
code: '12345678909',
name: 'Luke Skywalker',
gender: 'M',
birthDate: '2000-05-20',
phone: '5519725570707'
},
useCase: 'Onboarding',
imageBase64: capturedImage
})
});
const result = await res.json();
curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"references": [
{
"referenceType": "REFERENCE_TYPE_PROCESS_ID",
"referenceContent": "4f00b35f-69d4-415a-a843-d975cefcb169"
}
],
"useCase": "Transactional",
"imageBase64": "/9j/4AAQSkZJR..."
}'
import fetch from 'node-fetch';
const res = await fetch('https://api.id.unico.app/processes/v1', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,
'APIKEY': process.env.UNICO_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
references: [
{
referenceType: 'REFERENCE_TYPE_PROCESS_ID',
referenceContent: '4f00b35f-69d4-415a-a843-d975cefcb169'
}
],
useCase: 'Transactional',
imageBase64: capturedImage
})
});
const result = await res.json();
curl -X POST https://api.id.unico.app/processes/v1 \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY" \
-H "Content-Type: application/json" \
-d '{
"subject": {
"duiType": 1,
"code": "12345678909"
},
"card": {
"bin": "12345678",
"last4": "4321",
"name": "Luke Skywalker"
},
"referenceProcessId": "4f00b35f-69d4-415a-a843-d975cefcb169",
"useCase": "CardholderVerification"
}'
import fetch from 'node-fetch';
const res = await fetch('https://api.id.unico.app/processes/v1', {
method: 'POST',
headers: {
'Authorization': `Bearer ${process.env.UNICO_ACCESS_TOKEN}`,
'APIKEY': process.env.UNICO_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
subject: {
duiType: 1,
code: '12345678909'
},
card: {
bin: '12345678',
last4: '4321',
name: 'Luke Skywalker'
},
referenceProcessId: '4f00b35f-69d4-415a-a843-d975cefcb169',
useCase: 'CardholderVerification'
})
});
const result = await res.json();
प्रतिक्रियाएं
- ऑनबोर्डिंग
- Transactional
- Cardholder Verification
Contract अद्वितीय है — idCloud.result फ़ील् ड में उपयोग की गई capabilities का समेकित निर्णय होता है।
Unico निष्पादित capabilities के परिणामों को एकल idCloud.result में समेकित करता है, जो आपके flow के अगले चरण को तय करने के लिए तैयार होता है — व्यक्तिगत परिणामों को व्यवस्थित करने की आवश्यकता के बिना।
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idCloud": {
"result": "approved"
}
}
| Field | Type | विवरण |
|---|---|---|
id | string (UUID) | Process identifier। पुनः-क्वेरी के लिए Get Process के साथ उपयोग करें। |
status | integer | 1 (processing), 3 (सफलतापूर्वक समाप्त), 5 (त्रुटि)। |
| idCloud.result | अर्थ | अनुशंसित कार्रवाई |
|---|---|---|
| approved | वास्तविक व्यक्ति और सत्यापित पहचान। | flow के साथ आगे बढ़ें। |
| denied | पहचान सत्यापित नहीं हुई, लाइवनेस जाँच विफल रही, या अत्यधिक जोखिम की पहचान हुई। | flow समाप्त करें या किसी वैकल्पिक flow पर रीडायरेक्ट करें। |
| critical-risk | गंभीर जोखिम स्तर की पहचान हुई। | flow समाप्त करें या मैन्युअल समीक्षा पर भेजें। |
| high-risk | उच्च जोखिम स्तर की पहचान हुई। | मैन्युअल समीक्षा या किसी वैकल्पिक flow पर भेजें। |
| retry | मूल्यांकन के लिए अपर्याप्त कैप्चर या स्कोर। | उपयोगकर्ता से नया कैप्चर माँगें। |
| inconclusive | निर्णय के लिए पर्याप्त साक्ष्य नहीं। | मैन्युअल समीक्षा या किसी वैकल्पिक flow पर भेजें। |
लौटाए गए मान आपकी APIKey में configured recipe पर निर्भर करते हैं। प्रत्येक recipe जो परिणाम मान लौटा सकती है, उसके लिए प्रवाह देखें।
ब्राज़ील में क्लाइंट प्रति-capability प्रतिक्रिया प्राप्त कर सकते हैंसमग्र प्रतिक्रिया संरचना वही रहती है — एकल परिणाम डिफ़ॉल्ट है।

समग्र प्रतिक्रिया संरचना वही रहती है — एकल परिणाम डिफ़ॉल्ट है।
ब्राज़ील में integrations प्रति-capability खुले परिणाम प्राप्त कर सकती हैं। APIKey में सक्षम प्रत्येक capability प्रतिक्रिया में अपना स्वयं का ब्लॉक जोड़ती है — अक्षम capabilities के फ़ील्ड पूरी तरह छोड़ दिए जाते हैं।
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"unicoId": { "result": "yes" },
"riskLevel": { "result": "inconclusive" },
"idFace": {
"personId": "a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890a1b2c3d4e5f67890",
"result": "FOUND"
},
"government": { "serpro": 87 },
"liveness": 1
}
ऊपर दिया गया उदाहरण सभी संभावित capability फ़ील्ड दिखाता है। आपकी वास्तविक प्रतिक्रिया में केवल वे फ़ील्ड शामिल होंगे जो आपकी APIKey कॉन्फ़िगरेशन में सक्षम capabilities के लिए हैं — अक्षम capabilities के फ़ील्ड पूरी तरह से छोड़ दिए जाते हैं। capabilities को सक्षम करने या समायोजित करने के लिए अपने Unico प्रोजेक्ट मैनेजर से संपर्क करें।
| Field | Type | विवरण |
|---|---|---|
unicoId.result | string | yes, no, inconclusive — पहचान सत्यापन देखें। |
riskLevel.result | string | approved, reproved, risk-critical, risk-high, inconclusive — नीचे संभावित मान देखें या धोखाधड़ी जोखिम वर्गीकरण देखें। |
idFace.result | string | FOUND — फेस आइडेंटिफायर देखें। |
idFace.personId | string | चेहरे के लिए स्थिर अपारदर्शी पहचानकर्ता, जो idFace.result = FOUND के साथ लौटाया जाता है। जब छवि में किसी चेहरे की पहचान नहीं की जा सकती, तो request 20532 error के साथ विफल हो जाता है, idFace block लौटाने के बजाय। |
identityFraudsters.result | string | बहिष्कृत. इसके बजाय riskLevel का उपयोग करें। जारी एकीकरण वाले ग्राहक प्रोजेक्ट टीम के साथ माइग्रेशन का समन्वय करते हुए इसका उपयोग जारी रख सकते हैं। |
government.serpro | integer | Serpro similarity score (0–100, -1, -2)। केवल ब्राज़ील में उपलब्ध। सेर्प्रो समानता रिटर्न देखें। |
liveness | integer | 1 (passed), 2 (failed) — लाइवनेस देखें। |
riskLevel.result — संभावित मान
| मान | अर्थ |
|---|---|
approved | यह ID धारक का चेहरा है, और धोखाधड़ी से संबंधित कोई साक्ष्य नहीं मिला। |
reproved | अस्वीकृति की अनुशंसा की जाती है, क्योंकि कई धोखाधड़ी संकेतक पाए गए। |
risk-critical | अस्वीकृति की अनुशंसा की जाती है, लेकिन अंतिम निर्णय आपके विवेक पर निर्भर है। क्रिटिकल जोखिम इंगित करता है कि हमें धोखाधड़ी के कम से कम 2 मजबूत साक्ष्य मिले हैं। |
risk-high | अस्वीकृति की भी अनुशंसा की जाती है, लेकिन निर्णय आपका है। उच्च जोखिम इंगित करता है कि हमें धोखाधड़ी का कम से कम एक मजबूत साक्ष्य मिला है। |
inconclusive | धोखाधड़ी का कोई मजबूत साक्ष्य नहीं मिला। इसलिए, यह निष्कर्ष निकालना संभव नहीं है कि कोई प्रासंगिक जोखिम है या नहीं। |
जब unicoId.result = inconclusive और धोखाधड़ी जोखिम वर्गीकरण orchestration सक्रिय हो, तो प्रक्रिया status: 1 (processing) लौटा सकती है। अंतिम परिणाम प्राप्त करने के लिए Get Process को poll करें या webhooks का उपयोग करें।
मेक्सिको में क्लाइंट RENAPO Verification block प्राप्त कर सकते हैंप्रतिक्रिया की संरचना वही रहती है और उसमें idGov block जुड़ जाता है।

प्रतिक्रिया की संरचना वही रहती है और उसमें idGov block जुड़ जाता है।
RENAPO Verification सक्षम होने पर मेक्सिको में integrations को एक अतिरिक्त idGov block मिलता है, जिसमें उपयोगकर्ता के CURP के लिए RENAPO के पास मौजूद रिकॉर्ड होता है। यह पहचान परिणाम से एक अलग उत्तर है।
{
"id": "11111111-2222-3333-4444-555555555555",
"status": 3,
"idCloud": { "result": "approved" },
"idGov": {
"government_valid": true,
"curp": "PUEA880304MDFRJN04",
"government_name": "ANA PRUEBA EJEMPLO",
"date_of_birth": "1988-03-04",
"age": 38,
"gender": "F",
"deceased": false,
"is_mexican": true,
"citizenship": "MEXICO",
"state_of_birth": "Ciudad de México",
"state_iso": "MX-CMX",
"issuing_entity_code": "DF",
"municipality_registration": ""
}
}
| Field | Type | विवरण |
|---|---|---|
idGov | object | CURP के लिए RENAPO रिकॉर्ड। capability सक्षम न होने पर अनुपस्थित। RENAPO के उत्तर न देने पर {}। केवल मेक्सिको में। RENAPO Verification देखें। |
Contract अद्वितीय है — idCloud.result फ़ील्ड में उपयोग की गई capabilities का समेकित निर्णय होता है।
Unico निष्पादित capabilities के परिणामों को एकल idCloud.result में समेकित करता है, जो आपके flow के अगले चरण को तय करने के लिए तैयार होता है — व्यक्तिगत परिणामों को व्यवस्थित कर ने की आवश्यकता के बिना।
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"idCloud": {
"result": "approved"
}
}
| Field | Type | विवरण |
|---|---|---|
id | string (UUID) | Process identifier। |
status | integer | 3 (सफलतापूर्वक समाप्त), 5 (त्रुटि)। सभी संभावित values के लिए, Get Process देखें। |
| idCloud.result | अर्थ | अनुशंसित कार्रवाई |
|---|---|---|
| approved | वास्तविक व्यक्ति और सत्यापित पहचान। | flow के साथ आगे बढ़ें। |
| denied | पहचान सत्यापित नहीं हुई, लाइवनेस जाँच विफल रही, या अत्यधिक जोखिम की पहचान हुई। | flow समाप्त करें या किसी वैकल्पिक flow पर रीडायरेक्ट करें। |
| critical-risk | गंभीर जोखिम स्त र की पहचान हुई। | flow समाप्त करें या मैन्युअल समीक्षा पर भेजें। |
| high-risk | उच्च जोखिम स्तर की पहचान हुई। | मैन्युअल समीक्षा या किसी वैकल्पिक flow पर भेजें। |
| retry | मूल्यांकन के लिए अपर्याप्त कैप्चर या स्कोर। | उपयोगकर्ता से नया कैप्चर माँगें। |
| inconclusive | निर्णय के लिए पर्याप्त साक्ष्य नहीं। | मैन्युअल समीक्षा या किसी वैकल्पिक flow पर भेजें। |
लौटाए गए मान आपकी APIKey में configured recipe पर निर्भर करते हैं। प्रत्येक recipe जो परिणाम मान लौटा सकती है, उसके लिए प्रवाह देखें।
ब्राज़ील में क्लाइंट प्रति-capability प्रतिक्रिया प्राप्त कर सकते हैंसमग्र प्रतिक्रिया संरचना वही रहती है — एकल परिणाम डि फ़ॉल्ट है।

समग्र प्रतिक्रिया संरचना वही रहती है — एकल परिणाम डि फ़ॉल्ट है।
ब्राज़ील में integrations प्रति-capability खुले परिणाम प्राप्त कर सकती हैं। APIKey में सक्षम प्रत्येक capability प्रतिक्रिया में अपना स्वयं का ब्लॉक जोड़ती है — अक्षम capabilities के फ़ील्ड पूरी तरह छोड़ दिए जाते हैं।
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"biometryToken": { "result": true },
"liveness": 1
}
| Field | Type | विवरण |
|---|---|---|
biometryToken.result | boolean | true यदि submit किया गया चेहरा reference process से मेल खाता है; अन्यथा false। |
liveness | integer | 1 (passed), 2 (failed) — लाइवनेस देखें। |
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"cardholderVerification": {
"result": "approved"
}
}
| Field | Type | विवरण |
|---|---|---|
id | string (UUID) | Process identifier। |
status | integer | 1 (processing), 3 (सफलतापूर्वक समाप्त), 5 (त्रुटि)। सभी मानों के लिए, Get Process देखें। |
cardholderVerification.result | string | approved — CPF और कार्ड एक ही व्यक्ति के हैं। unsure — या तो पुनः उपयोग गेट संतुष्ट नहीं हुआ, या सत्यापन स्वयं अनिर्णायक था। जब तक status अभी 3 न हो, तब तक अनुपस्थित। Cardholder Verification देखें। |
त्रुटि कोड
- 400 Bad Request
- 403 Forbidden
- 409 Conflict
- 429 Too Many Requests
- 500 Internal Server Error
| कोड | संदेश | विवरण |
|---|---|---|
40221 | This flow does not support reusing a prior process (referenceProcessId or bioTokenId) without an image; send an image (imageBase64, or references[0] with type IMAGE_BASE64) instead. | पुन:उपयोग फ़्लो (referenceProcessId/bioTokenId, बिना इमेज के) अस्वीकृत कर दिया गया क्योंकि इस API कुंजी के लिए प्रोसेस पुन:उपयोग सक्षम नहीं है। |
20900 | O base64 informado não é válido. | base64 पैरामीटर अमान्य है। संभावित कारण: यह छवि नहीं है या injection का प्रयास है। |
20807 | A imagem precisa estar no padrão HD ou possuir uma resolução superior a 640 x 480. | अपलोड की गई छवि का रिज़ॉल्यूशन बहुत कम है। |
20532 | No face detected in image. | सबमिट की गई छवि में कोई चेहरा नहीं पाया जा सका। |
20513 | The referenced process was not found. | referenceProcessId एक ऐसी प्रक्रिया की ओर इंगित करता है जो मौजूद नहीं है या अब उपलब्ध नहीं है। |
20512 | The referenced process is not available for reuse. | संदर्भित प्रक्रिया मौजूद है लेकिन पुन:उपयोग के लिए उपलब्ध नहीं है। |
20509 | The subject.name field is invalid. | subject.name में अमान्य वर्ण हैं। |
20508 | The subject.gender field is invalid. | subject.gender का मान M या F होना चाहिए। |
20507 | O parâmetro subject.code é inválido. | गैर-मानक या अस्तित्वहीन CPF। |
20506 | O base64 informado é muito grande. O tamanho máximo suportado é até 800kb. | छवि आकार 800 KB से अधिक है; JPEG92 में संपीड़ित करें। |
20505 | O base64 informado não é suportado. Os formatos aceitos são png, jpeg e webp. | base64 प्रारूप अमान्य या असमर्थित है। |
20065 | The referenceProcessId field is invalid. | referenceProcessId वैध UUID नहीं है। |
20062 | The useCase field is invalid. | useCase फ़ील्ड में अपरिचित मान। |
20024 | The referenceProcessId field is missing. | referenceProcessId पैरामीटर प्रदान नहीं किया गया और references को विकल्प के रूप में नहीं भेजा गया। Cardholder Verification पर लागू नहीं होता — इसका referenceProcessId कभी भी आवश्यक के रूप में सत्यापित नहीं होता; एक असंतुष्ट पुनः उपयोग गेट इसके बजाय unsure जवाब देता है। |
20533 | The card field is missing. | Cardholder Verification: card object प्रदान नहीं किया गया। |
20534 | The card.bin field is missing. | Cardholder Verification: card.bin प्रदान नहीं किया गया। |
20535 | The card.last4 field is missing. | Cardholder Verification: card.last4 प्रदान नहीं किया गया। |
20536 | The card data is invalid. | Cardholder Verification: कार्ड डेटा को अमान्य के रूप में अस्वीकृत कर दिया गया। |
20021 | The subject.phone field is invalid. | subject.phone प्रारूप अमान्य (IDD + area code + number, 13 वर्ण)। |
20019 | The subject.birthDate field is invalid. | subject.birthDate ISO 8601 प्रारूप (YYYY-MM-DD) से बाहर है। |
20009 | O parâmetro imagebase64 não foi informado. | selfie छवि पैरामीटर अनुपस्थित। |
20008 | The subject.email field is invalid. | subject.email में अमान्य ईमेल प्रारूप। |
20006 | O parâmetro subject.name não foi informado. | subject.name पैरामीटर अनुपस्थित। |
20005 | O parâmetro subject.code não foi informado. | subject.code पैरामीटर अनुपस्थित। |
20004 | O parâmetro subject não foi informado. | subject पैरामीटर अनुपस्थित। |
20003 | The request body is missing or invalid. | Null या अमान्य payload। |
20002 | O parâmetro APIKey não foi informado. | APIKEY पैरामीटर अनुरोध header से अनुपस्थित। |
20001 | O parâmetro authtoken não foi informado. | integration token पैरामीटर अनुरोध header से अनुपस्थित। |
10508 | The JWT with the captured face has already been used. | JWT केवल एक बार उपयोग किया जा सकता है। |
10507 | The JWT with the captured face is expired. | JWT समाप्त हो गया; 10 मिनट के भीतर भेजना होगा। |
10506 | The imageBase64 field is not a valid JWT from SDK. | imageBase64 SDK द्वारा उत्पन्न वैध JWT नहीं है। |
Bearer token या APIKEY अनुपस्थित, expired, या अमान्य है। Authentication देखें।
| कोड | संदेश | विवरण |
|---|---|---|
30017 | User does not have permission to perform this action. | अविधिमान्य JWT या उपयोगकर्ता के पास यह ऑपरेशन करने की अनुमति नहीं। |
10502 | O token informado está expirado. | access-token समाप्त हो गया। |
10501 | O token informado é inválido. | authentication token अमान्य है। |
10201 | O AppKey informado é inválido. | APIKEY अमान्य है या मौजूद नहीं है। |
| कोड | संदेश | विवरण |
|---|---|---|
20073 | The processID already exists. | प्रदान किया गया processId इस tenant के लिए पहले से मौजूद है। |
Rate limit पहुंच गई। Retry-After response header में दर्शाए गए अंतराल के बाद पुनः प्रयास करें। Rate limits देखें।
| कोड | संदेश | विवरण |
|---|---|---|
99999 | Internal failure! Try again later | आंतरिक त्रुटि होने पर। |
आगे क्या है
- किसी ऑनबोर्डिंग प्रक्रिया के परिणाम को query करने के लिए, Get Process देखें।
- सभी recipe combinations और उनके संभावित result मानों को देखने के लिए, प्रवाह देखें।
- Document और आयु सत्यापन operations के लिए, इस अनुभाग के संबंधित पृष्ठ देखें।