Document Process बनाएं
यह endpoint दो document flows को संभालता है जो एक ही path साझा करते हैं लेकिन body पैरामीटर में भिन्न हैं:
- नया कैप्चर — प्रसंस्करण के लिए base64 में दस्तावेज़ छवि(यां) सबमिट करता है (
document.filesआवश्यक)। - पुन:उपयोग — पहले कैप्चर किए गए दस्तावेज़ को संदर्भित करके कैप्चर छोड़ता है (
document.documentIdआवश्यक)।
सक्रिय flow इस बात से निर्धारित होता है कि request body में document.documentId प्रदान किया गया है या नहीं।
document process बनाने से पहले, यह जांचने के लिए पुन:उपयोगी दस्तावेज़ प्राप्त करें का उपयोग करें कि उपयोगकर्ता के पास पहले से पुन:उपयोग क े लिए कोई दस्तावेज़ उपलब्ध है या नहीं।
पूर्ण एकीकरण प्रवाह के लिए, देखें API Overview।
Endpoint
| वातावरण | URL |
|---|---|
| Production | POST https://api.id.unico.app/processes/v1 |
| Sandbox | POST https://api.id.uat.unico.app/processes/v1 |
अनुरोध
| Header | मान |
|---|---|
Authorization | Bearer <access_token> (देखें Authentication) |
APIKEY | Document Capture और Reuse सक्षम प्रावधानित API key। |
Content-Type | application/json |
- नया कैप्चर
- पुन:उपयोग
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
subject.duiType | integer | हाँ | दस्तावेज़ प्रकार पहचानकर्ता। नीचे duiType मान देखें। |
subject.code | string | हाँ | subject.duiType द्वारा परिभाषित उपयोगकर्ता पहचानकर्ता मान। बिना डॉट या डैश के। |
subject.name | string | नहीं | पूरा नाम। |
subject.gender | string | नहीं | M या F। |
subject.birthDate | string (ISO 8601) | नहीं | जन्म तिथि (YYYY-MM-DD)। |
subject.email | string | नहीं | ईमेल पता। |
subject.phone | string | नहीं | E.164 फ़ोन नंबर। |
document.purpose | string | हाँ | व्यावसायिक उद्देश्य। मान: creditprocess, carpurchase, paybypaycheck, onboarding, fgts। |
document.authProcessId | string | हाँ | इस document कैप्चर से जुड़ी biometric process का ID। |
document.files | array | हाँ | base64 में दस्तावेज़ छवियां (आगे और/या पीछे)। |
document.files[].data | string | हाँ | base64 में दस्तावेज़ छवि (PNG, JPEG या WebP, अधिकतम 800 KB)। |
subsidiaryId | string | नहीं | शाखा ID — केवल तब आवश्यक जब एकाधिक शाखाएं हों। |
| फ़ील्ड | प्रकार | आवश्यक | विवरण |
|---|---|---|---|
subject.duiType | integer | हाँ | दस्तावेज़ प्रकार पहचानकर्ता। नीचे duiType मान देखें। |
subject.code | string | हाँ | subject.duiType द्वारा परिभाषित उपयोगकर्ता पहचानकर्ता मान। बिना डॉट या डैश के। |
subject.name | string | नहीं | पूरा नाम। |
subject.gender | string | नहीं | M या F। |
subject.birthDate | string (ISO 8601) | नहीं | जन्म तिथि (YYYY-MM-DD)। |
subject.email | string | नहीं | ईमेल पता। |
subject.phone | string | नहीं | E.164 फ़ोन नंबर। |
document.purpose | string | हाँ | व्यावसायिक उद्देश्य। मान: creditprocess, carpurchase, paybypaycheck, onboarding, fgts। |
document.authProcessId | string | हाँ | इस दस्तावेज़ से जुड़ी biometric process का ID। |
document.documentId | string | हाँ | पहले कैप्चर किए गए दस्तावेज़ का ID (पुन:उपयोगी दस्तावेज़ प्राप्त करें से प्राप्त)। जब यह प्रदान किया जाता है, तो document.files छोड़ा जा सकता है। |
subsidiaryId | string | नहीं | शाखा ID — केवल तब आवश्यक जब एकाधिक शाखाएं हों। |
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 आंतरिक पहचानकर्ता |
उदाहरण
- नया कैप्चर — cURL
- नया कैप्चर — Node.js
- पुन:उपयोग — cURL
- पुन:उपयोग — 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"
},
"document": {
"purpose": "onboarding",
"authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"files": [
{ "data": "/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'
},
document: {
purpose: 'onboarding',
authProcessId: '80371b2a-3ac7-432e-866d-57fe37896ac6',
files: [{ data: documentImageBase64 }]
}
})
});
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"
},
"document": {
"purpose": "onboarding",
"authProcessId": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"documentId": "doc-abc-123"
}
}'
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'
},
document: {
purpose: 'onboarding',
authProcessId: '80371b2a-3ac7-432e-866d-57fe37896ac6',
documentId: 'doc-abc-123'
}
})
});
const result = await res.json();
प्रतिक्रियाएं
{
"id": "80371b2a-3ac7-432e-866d-57fe37896ac6",
"status": 3,
"document": {
"id": "doc-abc-123",
"type": "unico.moja.dictionary.br.cnh.v2.Cnh",
"cpfMatch": true,
"faceMatch": true,
"content": {
"numero": "12345678",
"nomeCivil": "Luke Skywalker",
"dataNascimento": "2000-05-20T00:00:00Z",
"categoria": "B",
"dataExpiracao": "2030-05-20T00:00:00Z"
},
"fileUrls": [
"https://storage.unico.app/documents/doc-abc-123/front.jpg"
]
}
}
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
id | string (UUID) | प्रक्रिया पहचानकर्ता। |
status | integer | 3 (सफलतापूर्वक समाप्त), 5 (विफलता के साथ समाप्त)। |
document.id | string | कैप्चर किया गया दस्तावेज़ पहचानकर्ता। पुन:उपयोग के लिए भविष्य के document.documentId अनुरोधों में इस मान का उपयोग करें। |
document.type | string | पहचाना गया दस्तावेज़ प्रकार, पूर्णतः योग्य dictionary नाम के रूप में। नीचे document.type मान देखें। |
document.cpfMatch | boolean | true यदि दस्तावेज़ से निकाला गया पहचानकर्ता subject.code से मेल खाता है। |
document.faceMatch | boolean | true यदि दस्तावेज़ का चेहरा document.authProcessId से biometric selfie से मेल खाता है। |
document.content | object | OCR के माध्यम से निकाले गए फ़ील्ड। संरचना दस्तावेज़ प्रकार के अनुसार भिन्न होती है — फ़ील्ड विवरण के लिए यहां क्लिक करें। |
document.fileUrls | array | दस्तावेज़ छवियां डाउनलोड करने के लिए अस्थायी URL (10 मिनट की वैधता)। |
केवल सफलतापूर्वक निकाले गए फ़ील्ड ही document.content में मौजूद होते हैं; OCR जो नहीं पढ़ सका उसे खाली लौटाने के बजाय छोड़ दिया जाता है।
document.type मान
वे सभी दस्तावेज़ प्रकार जो एकीकृत स्कीमा का उपयोग करते हैं — फ़ील्ड संदर्भ में unified_schema — document.type में unico.moja.dictionary.<country>.generic.v1.<DocumentType> के रूप में लौटाए जाते हैं, जहां <country> लोअरकेस ISO 3166-1 alpha-2 कोड है और <DocumentType> पहचाना गया प्रकार है। उदाहरण के लिए:
unico.moja.dictionary.ar.generic.v1.IdCard: अर्जेंटीना का पहचान पत्रunico.moja.dictionary.us.generic.v1.PolycarbonatePassport: अमेरिका का पॉलीकार्बोनेट पासपोर्ट
वे दस्तावेज़ प्रकार जो अपना अलग फ़ील्ड स्कीमा उपयोग करते हैं — फ़ील्ड संदर्भ में specific_document_schemas के अंतर्गत सूचीबद्ध — नीचे दी गई तालिका में दिखाए गए हैं:
| देश | मान | दस्तावेज़ |
|---|---|---|
| BR | unico.moja.dictionary.br.rg.v2.Rg | RG |
| BR | unico.moja.dictionary.br.cnh.v2.Cnh | CNH (ड्राइविंग लाइसेंस) |
| BR | unico.moja.dictionary.br.cin.v1.Cin | CIN |
| BR | unico.moja.dictionary.br.passaporte.v1.Passaporte | पासपोर्ट |
| MX | unico.moja.dictionary.mx.ine.v1.Ine | INE मतदाता क्रेडेंशियल |
| MX | unico.moja.dictionary.mx.lpc.v1.Lpc | Licencia para conducir (ड्राइविंग लाइसेंस) |
| MX | unico.moja.dictionary.mx.pasaporte.v1.Pasaporte | पासपोर्ट |
| — | unico.moja.dictionary.other.unknown.v1.Unknown | प्रकार पहचाना नहीं जा सका — document.content खाली है |
जब document.type unico.moja.dictionary.other.unknown.v1.Unknown होता है, तो कोई OCR निष्कर्षण नहीं किया जाता और कोई फ़ील्ड रिपोर्ट नहीं की जाती।
त्रुटि कोड
- 400 Bad Request
- 403 Forbidden
- 409 Conflict
- 500 Internal Server Error
| कोड | संदेश | विवरण |
|---|---|---|
99989 | The document is invalid. | document object की संरचना अमान्य है। |
99988 | The document is empty. | document object request body से अनुपस्थित है। |
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. | अपलोड की गई छवि का रिज़ॉल्यूशन बहुत कम है। |
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. | गैर-मानक या अस्तित्वहीन पहचानकर्ता मान। |
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 प्रारूप अमान्य या असमर्थित है। |
20068 | The document.documentId or document.files parameter must be present. | न document.documentId और न document.files प्रदान किए गए। |
20067 | The document.purpose parameter is invalid. | document.purpose में अपरिचित मान। |
20066 | The document.authProcessId parameter is invalid. | document.authProcessId में अमान्य मान। |
20062 | The useCase field is invalid. | useCase फ़ील्ड में अपरिचित मान। |
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. | दस्तावेज़ छवि पैरामीटर अनुपस्थित। |
20008 | The subject.email field is invalid. | subject.email में अमान्य ईमेल प्रारूप। |
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 अनुपस्थित, समाप्त या अमान्य। देखें 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 के लिए पहले से मौजूद है। |
| कोड | संदेश | विवरण |
|---|---|---|
99999 | Internal failure! Try again later | आंतरिक त्रुटि होने पर। |
आगे क्या करें
- इस कॉल से पहले कोई दस्तावेज़ पहले से उपलब्ध है या नहीं यह जांचने के लिए देखें पुन:उपयोगी दस्तावेज़ प्राप्त करें।
- biometric process निर्माण (
document.authProcessIdके लिए आवश्यक) के लिए देखें प्रक्रिया बनाएं।