> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Document AI रिपोर्ट: निकाले गए फ़ील्ड

> Didit का Document AI: दस्तावेज़ अपलोड endpoint, प्रति-दस्तावेज़ एक्सट्रैक्टेड फ़ील्ड JSON, स्थिति और निर्णय features[] का संदर्भ।

## Overview

Document AI प्रति चरण अधिकतम 3 दस्तावेज़ स्वीकार करता है (PDF या इमेज — PDF, JPG, JPEG, PNG, TIFF, WebP)। प्रत्येक दस्तावेज़ को उसकी कॉन्फ़िगर की गई `document_key` द्वारा वर्गीकृत किया जाता है, आपके फ़ील्ड डेफिनिशन से बने स्कीमा का उपयोग करके विज़न-लैंग्वेज मॉडल द्वारा पढ़ा जाता है, और PDF/EXIF फ़ोरेंसिक्स के माध्यम से प्रोसेस किया जाता है। प्रत्येक दस्तावेज़ के लिए यह निम्नलिखित संग्रहीत करता है:

* **एक्सट्रैक्ट किए गए फ़ील्ड** — आपकी कॉन्फ़िगर की गई फ़ील्ड `key` द्वारा कीयड एक मैप, जिसमें मान वैसे ही टाइप किए जाते हैं जैसा आपने घोषित किया था (`text` → स्ट्रिंग, `number` → नंबर, `date` → `YYYY-MM-DD`)। जो फ़ील्ड नहीं पढ़े जा सके, वे `null` होते हैं।
* **डिटेक्ट किए गए QR कोड और बारकोड** - प्रत्येक रेंडर किए गए पेज के लिए डिकोड किए गए payloads और पिक्सेल निर्देशांक। ऐसा QR कोड जिसे लोकेट तो किया जा सकता है लेकिन डिकोड नहीं किया जा सकता, वह भी `parsed_payload: null` के साथ लौटाया जाता है।
* **दस्तावेज़ की स्थिति** — `Approved`, `In Review`, `Declined`, या `Not Finished`।
* **दस्तावेज़ मेटाडेटा** — फ़ाइल फ़ोरेंसिक्स जिसमें कोई भी ओवरले/छेड़छाड़ के साक्ष्य शामिल हैं।
* **क्रॉस-चेक परिणाम** — सत्यापित पहचान के विरुद्ध नाम मिलान और किसी भी कस्टम फ़ील्ड क्रॉस-रेफ़रेंस का परिणाम।

## दस्तावेज़ अपलोड करना

दस्तावेज़ Document AI endpoint पर एक-एक करके अपलोड किए जाते हैं। होस्ट किए गए सत्र या SDK फ़्लो में इसे आपके लिए हैंडल किया जाता है; इसका अनुबंध है:

```text theme={null}
POST https://verification.didit.me/v3/document-ai/documents/
multipart/form-data — Session-Token: <session token>
```

| फ़ील्ड | आवश्यक | विवरण |
| - | - | - |
| `document_key` | हाँ | वह कॉन्फ़िगर किया गया दस्तावेज़ जिसकी आवश्यकता यह फ़ाइल पूरी करती है |
| `document` | हाँ | अपलोड की जाने वाली फ़ाइल |
| `locale` | नहीं | स्क्रीन पर शीर्षक/विवरण को हल करने के लिए उपयोग किया जाने वाला लोकेल |

रिस्पॉन्स फ़्लो को आगे बढ़ाता है:

```json theme={null}
{
  "valid": true,
  "next_step": "DOCUMENT_AI",
  "document_ai_status": "In Progress",
  "uploaded_document_keys": ["proof_of_funds"],
  "required_document_keys": ["proof_of_funds", "payslip"]
}
```

चरण तब पूरा होता है (`next_step` `DOCUMENT_AI` से आगे बढ़ जाता है) जब `required_document_keys` की प्रत्येक प्रविष्टि `uploaded_document_keys` में दिखाई देती है और कोई भी दस्तावेज़ अधूरा नहीं रहता है।

## यह API रिस्पॉन्स में कहाँ दिखाई देता है

`GET /v3/session/{sessionId}/decision/` Document AI को दो स्थानों पर प्रदर्शित करता है, उपयोगकर्ता सत्यापन (KYC) और व्यवसाय सत्यापन (KYB) दोनों सत्रों के लिए — `document_ai_documents[]` एरे और PDF रिपोर्ट `session_kind` की परवाह किए बिना समान होते हैं:

* **`features[]`** — प्रति Document AI नोड एक सारांश प्रविष्टि, जिसका उपयोग यह सूची बनाने के लिए किया जाता है कि कौन-सी सुविधाएँ चलीं:

  ```json theme={null}
  { "features": [ { "feature": "DOCUMENT_AI", "node_id": "feature_document_ai_1" } ] }
  ```

* **`document_ai_documents[]`** — पूरा परिणाम, प्रति Document AI नोड एक समूह। प्रत्येक समूह नोड की संयुक्त `status`, अपलोड किए गए `items` की सूची, और कोई भी `warnings` रखता है। प्रत्येक अपलोड किया गया दस्तावेज़ एक आइटम होता है जिसमें आपके द्वारा कॉन्फ़िगर किए गए फ़ील्ड (`extracted_data` के अंतर्गत), डिटेक्ट किए गए कोड (`detected_codes` के अंतर्गत), इसकी अपनी `status`, फ़ील्ड डेफिनिशन, फ़ोरेंसिक `document_metadata`, और `cross_check_result` शामिल होते हैं।

प्रत्येक नोड के प्रति-दस्तावेज़ स्टेटस **Declined > In Review > Approved** की प्राथमिकता का उपयोग करके नोड स्टेटस में संयोजित होते हैं।

## निर्णय का उदाहरण

**धन का प्रमाण** दस्तावेज़ के लिए जिसे `account_holder` (text), `balance` (number), `currency` (text), और `statement_date` (date) के साथ कॉन्फ़िगर किया गया है:

```json theme={null}
{
  "document_ai_documents": [
    {
      "node_id": "feature_document_ai_1",
      "status": "Approved",
      "items": [
        {
          "uuid": "5c1f0a2e-9b3d-4c7a-8f21-0a4e8e7d6c12",
          "document_key": "proof_of_funds",
          "status": "Approved",
          "original_filename": "statement.pdf",
          "extracted_data": {
            "account_holder": "Sophia Martinez",
            "balance": 18450.75,
            "currency": "EUR",
            "statement_date": "2026-05-31"
          },
          "detected_codes": [
            {
              "type": "QR_CODE",
              "page_number": 2,
              "position": [[124, 86], [306, 86], [306, 268], [124, 268]],
              "x": 124,
              "y": 86,
              "width": 182,
              "height": 182,
              "page_width": 1190,
              "page_height": 1684,
              "raw_payload": "SU5WLTIwMjYtMDA0Mg==",
              "parsed_payload": "INV-2026-0042"
            }
          ],
          "fields": [
            { "key": "account_holder", "name": "Account holder", "type": "text", "required": true },
            { "key": "balance", "name": "Balance", "type": "number", "required": false },
            { "key": "currency", "name": "Currency", "type": "text", "required": false },
            { "key": "statement_date", "name": "Statement date", "type": "date", "required": false }
          ],
          "document_metadata": { "is_tampered": false },
          "cross_check_result": null,
          "created_at": "2026-05-31T10:12:00Z"
        }
      ],
      "warnings": []
    }
  ]
}
```

`page_number` 1-आधारित है। `position` में डिटेक्ट किया गया पॉलीगॉन शामिल होता है, जबकि `x`, `y`, `width`, और `height` इसका बाउंडिंग बॉक्स प्रदान करते हैं। सभी निर्देशांक रेंडर किए गए पेज के पिक्सेल स्पेस का उपयोग करते हैं, जिसके आयाम `page_width` और `page_height` हैं। जब कोई समर्थित कोड नहीं मिलता है तो `detected_codes` एक खाली एरे होता है। `parsed_payload: null` वाले आइटम को केवल उपस्थिति और स्थान के रूप में मानें, डिकोड किए गए मान के रूप में नहीं।

क्योंकि प्रत्येक फ़ील्ड `document_ai.<field_key>` के रूप में एड्रेसेबल है, आप सीधे `extracted_data` मानों से ब्रांचिंग और [कस्टम स्टेटस नियम](https://docs.didit.me/hi/core-technology/document-ai/warnings-document-ai.md) चला सकते हैं — जिसमें अन्य चरणों जैसे कि `kyc.full_name` या प्रश्नावली के उत्तरों के विरुद्ध क्रॉस-रेफ़रेंस शामिल हैं।


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.