प्रक्रिया बनाएं
यह 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_BR_CPF, DUI_TYPE_MX_CURP, DUI_TYPE_US_SSN, DUI_TYPE_NG_NIN, DUI_TYPE_AR_DNI, DUI_TYPE_ID_NIK। |
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 मान
| देश | कोड | विवरण |
|---|---|---|
| BR | 1 | ब्राज़ीलियाई CPF |
| MX | 2 | मैक्सिकन CURP |
| US | 4 | संयुक्त राज्य SSN |
| BR | 5 | ब्राज़ीलियाई पासपोर्ट |
| AR | 6 | अर्जेंटीनी पासपोर्ट |
| AR | 7 | अर्जेंटीनी DNI |
| NG | 8 | नाइजीरियाई NIN |
| CL | 9 | चिली RUN |
| EC | 10 | इक्वाडोरी NI |
| US | 11 | संयुक्त राज्य पासपोर्ट |
| GT | 12 | ग्वाटेमाला CUI |
| UY | 13 | उरुग्वे CI |
| BR | 14 | ब्राज़ीलियाई CNPJ |
| ZZ | 15 | ईमेल पता |
| ID | 16 | इंडोनेशियाई NIK |
| ZZ | 17 | फ़ोन नंबर |
| US | 18 | संयुक्त राज्य ड्राइविंग लाइसेंस |
| NG | 20 | नाइजीरियाई बैंक सत्यापन नंबर (BVN) |
| US | 21 | संयुक्त राज्य पासपोर्ट कार्ड |
| US | 22 | संयुक्त राज्य पॉलीकार्बोनेट पासपोर्ट |
| US | 23 | संयुक्त राज्य पहचान पत्र (ID Card) |
| TR | 24 | तुर्की पहचान संख्या (TCKN) |
| MX | 25 | मैक्सिकन RFC (व्यक्तिगत) |
| CO | 26 | कोलंबियाई NIT |
| PE | 27 | पेरूवियन RUC |
| CA | 28 | कैनेडियन SIN |
| DK | 29 | डैनिश CPR |
| GB | 30 | ब्रिटिश राष्ट्रीय बीमा नंबर (NINO) |
| PL | 31 | पोलिश PESEL |
| SE | 32 | स्वीडिश व्यक्तिगत नंबर (PNR) |
| CH | 33 | स्विस AHV/AVS नंबर |
| AT | 34 | ऑस्ट्रियाई कर संख्या (STNR) |
| FI | 35 | फिनिश व्यक्तिगत पहचान कोड (HETU) |
| BE | 36 | बेल्जियन राष्ट्रीय नंबर (NN) |
| IT | 37 | इटालियन कोडिस फिस्काले (CF) |
| SE | 38 | स्वीडिश समन्वय नंबर (Samordningsnummer) |
| NO | 39 | नॉर्वेजियन राष्ट्रीय पहचान नंबर (Fødselsnummer) |
| PE | 40 | पेरूवियन DNI |
| DE | 41 | जर्मन कर पहचान संख्या (IdNr) |
| NL | 42 | डच नागरिक सेवा नंबर (BSN) |
| NG | 43 | नाइजीरियाई BVN टोकन (हैश्ड) |
| NG | 44 | नाइजीरियाई NIN टोकन (हैश्ड) |
| PT | 45 | पॉर्चुगीज कर पहचान संख्या (NIF) |
| FR | 46 | फ्रेंच कर संदर्भ संख्या (SPI) |
| IE | 47 | आयरिश व्यक्तिगत सार्वजनिक सेवा नंबर (PPSN) |
| LU | 48 | लक्ज़मबर्ग राष्ट्रीय पहचान संख्या (Matricule) |
| AR | 49 | अर्ज ेंटीनी ड्राइविंग लाइसेंस (Licencia Nacional de Conducir) |
| ES | 50 | स्पेनिश विदेशी पहचान संख्या (NIE) |
| ES | 51 | स्पेनिश राष्ट्रीय पहचान दस्तावेज़ (DNI) |
| CL | 52 | चिली पासपोर्ट |
| CO | 53 | कोलंबियाई पासपोर्ट |
| PE | 54 | पेरूवियन पासपोर्ट |
| CO | 55 | कोलंबियाई ड्राइविंग लाइसेंस (Licencia de Conducción) |
| CO | 56 | कोलंबियाई नागरिकता कार्ड (Cédula de Ciudadanía) |
| CL | 57 | चिली ड्राइविंग लाइसेंस (Licencia de Conducir) |
| MX | 58 | मैक्सिकन ड्राइविंग लाइसेंस (Licencia de Conducir) |
| — | 0 | अनिर्दिष्ट |
| — | 3 | Unico आंतरिक पहचानकर्ता |
- न्यूनतम resolution: 640 × 480 (HD standard)
- अधिकतम फ़ाइल आकार: 800 KB (JPEG92 compression अनुशंसित)
- स्वीकृत formats: PNG, JPEG, WebP
- SDK के JWT token 10 मिनट के बाद expire हो जाते हैं और केवल एक बार उपयोग किए जा सकते हैं
उदाहरण
- ऑनबोर्डिंग — 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 | Meaning | Recommended action |
|---|---|---|
| approved | Real person and validated identity. | Proceed with the flow. |
| denied | Identity not validated, liveness check failed, or extreme risk identified. | End the flow or redirect to an alternative flow. |
| critical-risk | Critical risk level identified. | End the flow or route to manual review. |
| high-risk | High risk level identified. | Route to manual review or an alternative flow. |
| retry | Insufficient capture or score to evaluate. | Ask the user for a new capture. |
| inconclusive | Not enough evidence for a verdict. | Route to manual review or an alternative flow. |
लौटाए गए मान आपकी APIKey में configured recipe पर निर्भर करते हैं। प्रत्येक recipe जो परिणाम मान लौटा सकती है, उसके लिए प्रवाह देखें।