रीयूज़ेबल दस्तावेज़ प्राप्त करें
नया Document कैप्चर फ़्लो शुरू करने से पहले यह जाँचने के लिए इस एंडपॉइंट का उपयोग करें कि किसी यूज़र के पास पहले से रीयूज़ के लिए उपलब्ध कोई दस्तावेज़ है या नहीं। यदि कोई दस्तावेज़ मिलता है, तो कैप्चर स्टेप को स्किप करने के लिए उसका documentId सीधे POST /processes/v1 (Document type) को पास किया जा सकता है।
Endpoint
| Environment | URL |
|---|---|
| Production | GET https://api.idcloud.unico.app/documents/v1 |
| Sandbox | GET https://api.idcloud.uat.unico.app/documents/v1 |
Request
| Header | Value |
|---|---|
Authorization | Bearer <access_token> (देखें Authentication) |
APIKEY | Document Capture & Reuse सक्षम के साथ प्रोविज़न की गई API कुंजी। |
| Parameter | Type | Required | Description |
|---|---|---|---|
code | string | yes | यूज़र आइडेंटिफ़ायर (CPF या CURP, बिना फ़ॉर्मेटिंग के)। |
type | string | yes | क्वेरी करने के लिए दस्तावेज़ प्रकार। स्वीकृत वैल्यू: BR_RG, BR_CNH, BR_CIN, BR_PASSPORT। |
ऊपर दी गई type वैल्यू इस एंडपॉइंट के लिए विशिष्ट हैं। इन्हें इनके साथ भ्रमित न करें:
- POST रिक्वेस्ट में
subject.duiType—DUI_TYPE_*प्रीफ ़िक्स का उपयोग करता है और व्यक्ति को पहचानता है, दस्तावेज़ प्रकार को नहीं (उदाहरण:DUI_TYPE_BR_CPF)। - रिस्पॉन्स में
documentType— पूरे रजिस्ट्री पथ का उपयोग करता है (उदाहरण:unico.moja.dictionary.br.cnh.v2.Cnh)।
Example
- cURL
- Node.js
curl -X GET "https://api.idcloud.unico.app/documents/v1?code=12345678909&type=BR_CNH" \
-H "Authorization: Bearer $TOKEN" \
-H "APIKEY: $API_KEY"
import fetch from 'node-fetch';
const params = new URLSearchParams({ code: '12345678909', type: 'BR_CNH' });
const res = await fetch(
`https://api.idcloud.unico.app/documents/v1?${params}`,
{
headers: {
Authorization: `Bearer ${accessToken}`,
APIKEY: apiKey
}
}
);
const data = await res.json();
// data.items[0].documentId → reuse के लिए POST /processes/v1 पर पास करें
Responses
{
"items": [
{
"documentType": "unico.moja.dictionary.br.cnh.v2.Cnh",
"documentId": "doc-abc-123"
}
]
}
| Field | Type | Description |
|---|---|---|
items | array | यूज़र के लिए मिले रीयूज़ेबल दस्तावेज़ों की सूची। दिए गए code और type के लिए कोई रीयूज़ेबल दस्तावेज़ नहीं मिलने पर खाली array। |
items[].documentType | string | दस्तावेज़ प्रकार आइडेंटिफ़ायर। संभावित वैल्यू: unico.moja.dictionary.br.rg.v2.Rg, unico.moja.dictionary.br.cnh.v2.Cnh, unico.moja.dictionary.br.cin.v1.Cin, unico.moja.dictionary.br.passaporte.v1.Passaporte। |
items[].documentId | string | दस्तावेज़ आइडेंटिफ़ायर। दस्तावेज़ को रीयूज़ करने के लिए इस वैल्यू को POST /processes/v1 पर document.documentId में पास करें। |
documentId का रीयूज़ के लिए उपयोग
जब आपके पास documentId हो, तो कैप्चर को स्किप करने के लिए इसे Document प्रोसेस रिक्वेस्ट में पास करें:
{
"subject": {
"code": "12345678909",
"name": "Luke Skywalker"
},
"document": {
"purpose": "onboarding",
"authProcessId": "<biometric-process-id>",
"documentId": "doc-abc-123"
}
}
| Field | Description |
|---|---|
document.purpose | इस दस्तावेज़ प्रोसेस के लिए बिज़नेस उद्देश्य। स्वीकृत वैल्यू: creditprocess, carpurchase, paybypaycheck, onboarding, fgts। ये वैल्यू Document API के लिए विशिष्ट हैं और बायोमेट्रिक SDK के purpose enum से अलग हैं। |
document.authProcessId | इस यूज़र के लिए पहले बनाई गई बायोमेट्रिक प्रोसेस का ID (POST /processes/v1 से)। |
document.documentId | इस एंडपॉइंट के रिस्पॉन्स से प्राप्त दस्तावेज़ ID। जब यह दिया जाता है, तो document.files को छोड़ा जा सकता है — प्लेटफ़ॉर्म पहले कैप्चर किए गए दस्तावेज़ को स्वचालित रूप से प्राप्त कर लेता है। |
Error Codes
- 400 Bad Request
- 403 Forbidden
- 404 Not Found
- 429 Too Many Requests
- 500 Internal Server Error
| Code | Message | Description |
|---|---|---|
20507 | O parâmetro subject.code é inválido. | विकृत या मौजूद न होने वाली आइडेंटिफ़ायर वैल्यू (CPF या CURP)। |
20002 | O parâmetro APIKey não foi informado. | APIKEY हेडर गायब है। |
20001 | O parâmetro authtoken não foi informado. | ऑथेंटिकेशन टोकन हेडर गायब है। |
Bearer टोकन या APIKEY गायब, एक्सपायर्ड, या अमान्य है।
| Code | Message | Description |
|---|---|---|
30020 | The provided authorization token does not have permission to perform this action. | टोकन के पास दस्तावेज़ की सेल्फी एक्सेस करने की अनुमति नहीं है। |
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. | अमान्य ऑथेंटिकेशन टोकन। |
10201 | O AppKey informado é inválido. | गायब या मौजूद न होने वाला APIKEY। |
| Code | Message | Description |
|---|---|---|
99987 | Attachment not found. | दस्तावेज़ से जुड़ा अटैचमेंट नहीं मिला। |
50001 | The process is not found. | दिए गए पैरामीटर के लिए कोई दस्तावेज़ नहीं मिला। |
रेट लिमिट पूरी हो गई। जब आपका सिस्टम HTTP 429 त्रुटि प्राप्त करता है, तो आपको कैस्केडिंग विफलताओं को रोकने और प्रतिबंध को बढ़ने से बचाने के लिए तंत्र लागू करने होंगे।
सर्वोत्तम प्रथाएं:
- कूल-डाउन अवधि (backoff): अपने सिस्टम से आने वाले बाद के अनुरोधों को तुरंत रोकें या कम करें। विफल अनुरोधों को लगातार एक तंग लूप में पुनः प्रयास न करें।
- कतार और थ्रॉटलिंग (Queueing & throttling): ट्रैफ़िक प्रवाह को नियंत्रित करने के लिए अपनी तरफ से आउटगोइंग अनुरोधों को बफ़र या कतार में रखें और फिर उन्हें पुनः भेजें।
- एक्सपोनेंशियल बैकऑफ़ विद जिटर (Exponential backoff with jitter): पुनः प्रयास करते समय, प्रयासों के बीच प्रतीक्षा समय को तेजी से बढ़ाएं (उदा., 1 s, 2 s, 4 s, 8 s) और एक छोटा यादृच्छिक विलंब ("jitter") जोड़ें ताकि हर्ड इफ़ेक्ट से बचा जा सके जहां सभी कतार में रखे गए अनुरोध ठीक उसी मिलीसेकंड पर पुनः प्रयास करते हैं।
बैकऑफ़ लागू किए बिना रेट-लिमिटेड एंडपॉइंट को लगातार हिट करना प्रतिबंध अवधि को बढ़ा सकता है और आपके सिस्टम के परिचालन थ्रूपुट को गंभीर रूप से प्रभावित कर सकता है। अपनी तरफ से अनुरोधों को ठीक से थ्रॉटल करना एक सहज और अधिक लचीला एकीकरण सुनिश्चित करता है।
डिफ़ॉल्ट सीमाओं, अनुरोध बढ़ाने और अतिरिक्त विवरण के लिए, देखें रेट लिमिट।
| Code | Message | Description |
|---|---|---|
99999 | Internal failure! Try again later. | सर्वर-साइड प्रोसेसिंग एरर। |