> ## 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.

# पते का प्रमाण रिपोर्ट: एक्सट्रैक्टेड फ़ील्ड

> Didit की पते का प्रमाण रिपोर्ट पार्स करें: निकाला गया पता, दस्तावेज़ प्रकार, जारीकर्ता, तिथियाँ, नाम मिलान स्कोर, PDF ओवरले-हेरफेर साक्ष्य और चेतावनियाँ।

## अवलोकन

पते का प्रमाण (POA) सत्यापन 15 MB तक की एकल PDF या छवि (TIFF, JPG, JPEG, PNG, WEBP, वैकल्पिक रूप से ZIP-कंप्रेस्ड) स्वीकार करता है, दस्तावेज़-प्रकार वर्गीकरण, LLM-आधारित निष्कर्षण, और PDF/EXIF फ़ॉरेंसिक्स चलाता है, और निम्नलिखित लौटाता है:

* **निकाला गया पता** — रॉ और संरचित (`street_1`, `city`, `region`, `postal_code`, lat/lng) दोनों।
* **दस्तावेज़ मेटाडेटा** — फ़ाइल का आकार, सामग्री प्रकार, निर्माण और संशोधन तिथियां, EXIF तिथियां, हस्ताक्षर जानकारी, और PDF फ़ॉरेंसिक्स से कोई भी ओवरले-हेरफेर साक्ष्य।
* सत्यापित ID दस्तावेज़ और सत्र निर्माण के समय प्रदान किए गए अपेक्षित विवरणों के विरुद्ध **नाम मिलान स्कोर**।
* दस्तावेज़ बैंक स्टेटमेंट होने पर **बैंक से संबंधित अतिरिक्त फ़ील्ड** (खाता संख्या, IBAN, सॉर्ट कोड, रूटिंग नंबर, SWIFT/BIC, शाखा)।

![Didit पते का प्रमाण रिपोर्ट स्क्रीनशॉट जिसमें निकाले गए पते के फ़ील्ड और दस्तावेज़ प्रकार दिखाए गए हैं](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/proof-of-address-report.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=099d1bd6cf0c215cc93c3a504b8aa9ee)

> [!NOTE]
>
> POA निष्कर्षण असंरचित-पाठ पढ़ने का कार्य करता है, जिससे प्रति दस्तावेज़ **5–15 सेकंड** का विलंब होता है। Webhook केवल तभी ट्रिगर होते हैं जब पूरा वर्कफ़्लो चरण पूरा हो जाता है — इस विंडो के दौरान निर्णय endpoint को हर 5 s से अधिक बार पोल न करें।

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

निर्णय endpoint `GET /v3/session/{sessionId}/decision/` में POA को बहुवचन ऐरे **`poa_verifications[]`** के रूप में लौटाता है। प्रत्येक प्रविष्टि आपके वर्कफ़्लो में POA नोड का एक निष्पादन है; एकाधिक POA चरणों (उदा., बैंक स्टेटमेंट + उपयोगिता बिल) वाले सत्र प्रति निष्पादन अपने स्वयं के `node_id` के साथ एक प्रविष्टि उत्पन्न करते हैं।

```text theme={null}
GET /v3/session/{sessionId}/decision/
  ──▶ { "poa_verifications": [ { node_id, status, document_type, poa_address, … }, … ] }
```

नीचे दिया गया प्रारूप कैनोनिकल स्कीमा को दर्शाता है — [डेटा मॉडल](https://docs.didit.me/hi/reference/data-models.md#पते-का-प्रमाण) देखें।

## स्कीमा

कैनोनिकल स्कीमा के लिए [डेटा मॉडल संदर्भ में पते का प्रमाण](https://docs.didit.me/hi/reference/data-models.md#पते-का-प्रमाण) देखें।

```typescript theme={null}
interface POAV3 {
  status: 'Not Finished' | 'Approved' | 'Declined' | 'In Review';
  node_id: string | null;

  issuing_state: string | null;         // ISO 3166-1 alpha-3
  document_type:                        // never null — falls back to 'UNKNOWN'
    | 'UTILITY_BILL'
    | 'BANK_STATEMENT'
    | 'GOVERNMENT_ISSUED_DOCUMENT'
    | 'OTHER_POA_DOCUMENT'
    | 'UNKNOWN';
  document_subtype: string;             // e.g. 'ELECTRICITY_BILL', 'ACCOUNT_STATEMENT';
                                        // never null — falls back to 'UNKNOWN'
  issuer: string | null;
  issue_date: string | null;            // YYYY-MM-DD
  expiration_date: string | null;       // YYYY-MM-DD when present

  // Extracted address
  poa_address: string | null;           // raw, single-line
  poa_formatted_address: string | null; // geocoded/formatted
  poa_parsed_address: {
    address_type?: string;
    street_1?: string;
    street_2?: string;
    city?: string;
    region?: string;
    postal_code?: string;
    country?: string;                   // ISO 3166-1 alpha-2
    raw_results?: object;
    document_location?: { latitude: number; longitude: number };
  } | null;

  document_file: string | null;         // presigned URL, expires after ~4 hours
  document_language: string | null;     // ISO 639-1, e.g. 'en'
  name_on_document: string | null;

  // Expected details (when supplied at session creation)
  expected_details_address: string | null;
  expected_details_formatted_address: string | null;
  expected_details_parsed_address: object | null;

  // Match scores (float, 0-100)
  name_match_score_expected_details: number | null;
  name_match_score_id_verification: number | null;

  // PDF + image forensics
  document_metadata: {
    file_size: number | null;
    content_type: string | null;
    creation_date: string | null;
    modified_date: string | null;
    creator: string | null;
    producer: string | null;
    software: string | null;
    encryption: string | null;
    is_signed: boolean | null;
    is_tampered: boolean | null;
    signature_info: object | null;
    exif_original_date: string | null;
    exif_digitized_date: string | null;
    processed_by_known_editor: boolean | string | null;
    has_different_creation_mod_date: boolean | null;
    overlay_manipulation: {
      detected: boolean;
      analyzed: boolean;
      signals: string[];                // 'duplicate_font_subset', 'glyph_fragmentation'
      duplicate_font_subsets: object[];
      fragmented_fonts: object[];
      manipulated_regions: {
        page: number;
        x: number;
        y: number;
        width: number;
        height: number;
        page_width: number;
        page_height: number;
      }[];
    } | null;                           // null for non-PDF uploads or when not analyzed
  } | null;

  // Bank-related and custom fields
  extra_fields: {
    bank_account_number: string | null;
    bank_iban: string | null;
    bank_sort_code: string | null;
    bank_routing_number: string | null;
    bank_swift_bic: string | null;
    bank_branch_name: string | null;
    bank_branch_address: string | null;
    document_phone_number: string | null;
    additional_names: string[];
    [customField: string]: unknown;
  };

  extra_files: string[];                // presigned URLs for additional uploaded files

  // QR codes and barcodes
  detected_codes: {
    type: string;                       // 'QR_CODE', 'CODE_128', 'EAN_13', 'DATA_MATRIX', 'PDF_417', …
    page_number: number;                // 1-based
    position: [number, number][] | null;
    x: number | null;
    y: number | null;
    width: number | null;
    height: number | null;
    page_width: number;
    page_height: number;
    raw_payload: string;                // base64, empty string when unavailable
    parsed_payload: unknown | null;      // null when located but undecodable
  }[];

  warnings: Warning[];                  // see Data Models — Warning object
}
```

`warnings[]` में प्रत्येक प्रविष्टि एक [चेतावनी ऑब्जेक्ट](https://docs.didit.me/hi/reference/data-models.md#चेतावनी-ऑब्जेक्ट) है: `{ feature, risk, additional_data, log_type, short_description, long_description, node_id }`, जिसमें इस रिपोर्ट के लिए `feature` हमेशा `"PROOF_OF_ADDRESS"` होता है।

## स्थिति मान

`status` सुविधा-स्तरीय स्थिति enum (`FeatureStatusChoices`) का उपयोग करता है।

| मान | अर्थ |
| - | - |
| `Not Finished` | इस सत्र के लिए POA नोड पूरा नहीं हुआ है (डिफ़ॉल्ट स्थिति)। |
| `Approved` | दस्तावेज़ सही ढंग से पार्स हो गया और किसी भी चेतावनी का परिणाम Decline या Review नहीं हुआ। |
| `In Review` | आपके वर्कफ़्लो के लिए कम से कम एक कॉन्फ़िगर करने योग्य चेतावनी **समीक्षा** पर सेट है (और कुछ भी अस्वीकृत नहीं हुआ है)। |
| `Declined` | एक हार्ड-डिक्लाइन चेतावनी ट्रिगर हुई (`MISSING_ADDRESS_INFORMATION`, `POA_DOCUMENT_EXPIRED`, `INVALID_DOCUMENT_TYPE`, `UNABLE_TO_VALIDATE_DOCUMENT_AGE`), या आपके वर्कफ़्लो के लिए एक कॉन्फ़िगर करने योग्य चेतावनी **अस्वीकृति** पर सेट है। |

वर्कफ़्लो नोड पर कॉन्फ़िगर किए गए कस्टम स्थिति नियम परिकलित स्थिति को और समायोजित कर सकते हैं; नियम Declined > In Review > Approved की प्राथमिकता के साथ संयोजित होते हैं। `FUTURE_ISSUE_DATE` के केवल वर्कफ़्लो में लागू होने वाले पुनः प्रयास व्यवहार सहित, पूर्ण जोखिम-से-कार्रवाई मैपिंग के लिए [पते के प्रमाण की चेतावनियाँ](https://docs.didit.me/hi/core-technology/proof-of-address/warnings-proof-of-address.md) देखें।

## PDF ओवरले-हेरफेर के साक्ष्य

जब सबमिट किया गया दस्तावेज़ PDF हो, तो `document_metadata.overlay_manipulation` में संदिग्ध टेक्स्ट ओवरले का फ़ॉरेंसिक साक्ष्य हो सकता है:

* `detected`: `true` तब होता है जब जाँच में हेरफेर का साक्ष्य मिलता है।
* `analyzed`: `true` तब होता है जब PDF का विश्लेषण बिल्कुल भी किया जा सका हो।
* `analysis_incomplete` - केवल तभी मौजूद होता है और `true` होता है जब फ़ाइल की पूरी जाँच नहीं हो सकी। जितनी जाँच हो सकी, उसके निष्कर्ष बने रहते हैं, और दस्तावेज़ पर `POA_DOCUMENT_UNPROVEN_TEXT_REPLACEMENT` लग जाता है।
* `signals`: वे जाँचें जो सक्रिय हुईं (`duplicate_font_subset`, `glyph_fragmentation`)।
* `manipulated_regions`: संदिग्ध रूप से संपादित टेक्स्ट के आसपास पृष्ठ-निर्देशांक वाले आयत। हर आयत PDF पृष्ठ के निर्देशांक तंत्र (`x`, `y`, `width`, `height`, `page_width`, `page_height`) का उपयोग करता है, ताकि समीक्षक PDF पूर्वावलोकन में प्रभावित क्षेत्र को हाइलाइट कर सकें।

यह फ़ील्ड `null` होता है जब दस्तावेज़ PDF नहीं है या PDF का विश्लेषण नहीं किया जा सका। जब `detected=true` होता है, तो सिस्टम `SUSPECTED_DOCUMENT_MANIPULATION` चेतावनी भी जारी करता है, जिसका `additional_data` ऊपर दिए गए संकेतों और आयतों को दोहराता है। अपवाद तब है जब कोई अधिक प्रबल संकेत, यानी डिजिटल हस्ताक्षर के बाद संशोधन या `is_tampered=true`, प्राथमिकता ले लेता है। ऐसी स्थिति में `additional_data` इसके बजाय हस्ताक्षर से छेड़छाड़ का वर्णन करता है।

## QR कोड और बारकोड

प्रत्येक POA रिपोर्ट में `detected_codes` शामिल होते हैं, जो प्रत्येक संसाधित पृष्ठ को कवर करते हैं। प्रत्येक आइटम में शामिल हैं:

| फ़ील्ड | विवरण |
| - | - |
| `type` | पहचानी गई सिम्बोलॉजी, जैसे `QR_CODE`, `CODE_128`, `EAN_13`, `DATA_MATRIX`, या `PDF_417` |
| `page_number` | 1-आधारित पृष्ठ संख्या |
| `position` | रेंडर किए गए पृष्ठ पिक्सेल में पहचाना गया बहुभुज, या कोई विश्वसनीय स्थान उपलब्ध न होने पर `null` |
| `x`, `y`, `width`, `height` | रेंडर किए गए पृष्ठ पिक्सेल में बाउंडिंग बॉक्स, या कोई विश्वसनीय स्थान उपलब्ध न होने पर `null` |
| `page_width`, `page_height` | निर्देशांकों द्वारा उपयोग किए जाने वाले रेंडर किए गए पृष्ठ के आयाम |
| `parsed_payload` | डिकोड की गई स्ट्रिंग या संरचित मान, या केवल कोड का पता चलने पर `null` |
| `raw_payload` | उपलब्ध होने पर base64 स्ट्रिंग के रूप में रॉ डिकोडर payload; अन्यथा एक खाली स्ट्रिंग |

कोई समर्थित कोड न मिलने पर `detected_codes` एक खाली ऐरे होता है। Didit कभी भी किसी payload का अनुमान नहीं लगाता: क्षतिग्रस्त या अपठनीय कोड उनके स्थान और `parsed_payload: null` के साथ लौटाए जा सकते हैं, जबकि कोड का पता लगाने में विफलता के कारण POA सत्यापन विफल नहीं होता है।

## उदाहरण

### स्वीकृत — बैंक स्टेटमेंट

```json theme={null}
{
  "poa_verifications": [
    {
      "status": "Approved",
      "node_id": "feature_poa_1",
      "issuing_state": "USA",
      "document_type": "BANK_STATEMENT",
      "document_subtype": "ACCOUNT_STATEMENT",
      "issuer": "National Bank",
      "issue_date": "2026-04-15",
      "expiration_date": null,
      "document_language": "en",
      "name_on_document": "John A. Smith",
      "poa_address": "123 Main St, Apartment 4B, New York, NY 10001",
      "poa_formatted_address": "123 Main St, Apartment 4B, New York, NY 10001, USA",
      "poa_parsed_address": {
        "address_type": "Street",
        "street_1": "123 Main St",
        "street_2": "Apartment 4B",
        "city": "New York",
        "region": "NY",
        "postal_code": "10001",
        "country": "US",
        "document_location": { "latitude": 40.7128, "longitude": -74.0060 }
      },
      "document_file": "https://<media-host>/.../poa.pdf?X-Amz-Expires=14400",
      "document_metadata": {
        "file_size": 246810,
        "content_type": "application/pdf",
        "creation_date": "2026-04-15",
        "modified_date": "2026-04-15",
        "creator": "PDFKit",
        "producer": "Quartz",
        "software": null,
        "encryption": null,
        "is_signed": false,
        "is_tampered": false,
        "signature_info": null,
        "exif_original_date": null,
        "exif_digitized_date": null,
        "processed_by_known_editor": false,
        "has_different_creation_mod_date": false,
        "overlay_manipulation": null
      },
      "name_match_score_expected_details": 100,
      "name_match_score_id_verification": 98,
      "expected_details_address": null,
      "expected_details_formatted_address": null,
      "expected_details_parsed_address": null,
      "extra_fields": {
        "bank_account_number": "****1234",
        "bank_iban": null,
        "bank_sort_code": null,
        "bank_routing_number": "021000089",
        "bank_swift_bic": "NABNUS33",
        "bank_branch_name": "Manhattan Midtown",
        "bank_branch_address": "111 Wall St, New York, NY",
        "document_phone_number": null,
        "additional_names": []
      },
      "extra_files": [],
      "detected_codes": [
        {
          "type": "QR_CODE",
          "page_number": 1,
          "position": [[820, 1120], [1002, 1120], [1002, 1302], [820, 1302]],
          "x": 820,
          "y": 1120,
          "width": 182,
          "height": 182,
          "page_width": 1190,
          "page_height": 1684,
          "raw_payload": "aHR0cHM6Ly9uYXRpb25hbGJhbmsuZXhhbXBsZS9zdG10Lzk5ODE=",
          "parsed_payload": "https://nationalbank.example/stmt/9981"
        },
        {
          "type": "CODE_128",
          "page_number": 1,
          "position": [[112, 1480], [560, 1480], [560, 1540], [112, 1540]],
          "x": 112,
          "y": 1480,
          "width": 448,
          "height": 60,
          "page_width": 1190,
          "page_height": 1684,
          "raw_payload": "MDAxMjM0NTY3ODk=",
          "parsed_payload": "001234567 89"
        }
      ],
      "warnings": []
    }
  ]
}
```

### अस्वीकृत — ओवरले हेरफेर + नाम बेमेल

```json theme={null}
{
  "poa_verifications": [
    {
      "status": "Declined",
      "node_id": "feature_poa_1",
      "issuing_state": "GBR",
      "document_type": "UTILITY_BILL",
      "document_subtype": "ELECTRICITY_BILL",
      "issuer": "BritishEnergy",
      "issue_date": "2026-03-10",
      "expiration_date": null,
      "document_language": "en",
      "name_on_document": "JOHN B SMYTH",
      "poa_address": "44 King's Road, London, SW3 4UD",
      "poa_formatted_address": "44 King's Road, London, SW3 4UD, United Kingdom",
      "poa_parsed_address": {
        "street_1": "44 King's Road",
        "city": "London",
        "postal_code": "SW3 4UD",
        "country": "GB",
        "document_location": { "latitude": 51.4880, "longitude": -0.1690 }
      },
      "document_file": "https://<media-host>/.../poa.pdf?X-Amz-Expires=14400",
      "document_metadata": {
        "file_size": 412910,
        "content_type": "application/pdf",
        "creation_date": "2026-03-10",
        "modified_date": "2026-05-12",
        "creator": "Adobe Acrobat Pro",
        "producer": "Adobe PDF Library",
        "software": "Adobe Acrobat",
        "encryption": null,
        "is_signed": false,
        "is_tampered": false,
        "signature_info": null,
        "exif_original_date": null,
        "exif_digitized_date": null,
        "processed_by_known_editor": false,
        "has_different_creation_mod_date": true,
        "overlay_manipulation": {
          "detected": true,
          "analyzed": true,
          "signals": ["duplicate_font_subset", "glyph_fragmentation"],
          "duplicate_font_subsets": [{ "page": 1, "base_font": "Helvetica" }],
          "fragmented_fonts": [],
          "manipulated_regions": [
            { "page": 1, "x": 102.4, "y": 318.1, "width": 187.0, "height": 18.0, "page_width": 595, "page_height": 842 }
          ]
        }
      },
      "name_match_score_expected_details": 62,
      "name_match_score_id_verification": 60,
      "expected_details_address": null,
      "expected_details_formatted_address": null,
      "expected_details_parsed_address": null,
      "extra_fields": {
        "bank_account_number": null, "bank_iban": null, "bank_sort_code": null,
        "bank_routing_number": null, "bank_swift_bic": null,
        "bank_branch_name": null, "bank_branch_address": null,
        "document_phone_number": null, "additional_names": []
      },
      "extra_files": [],
      "detected_codes": [],
      "warnings": [
        {
          "feature": "PROOF_OF_ADDRESS",
          "risk": "SUSPECTED_DOCUMENT_MANIPULATION",
          "additional_data": {
            "reason": "Overlay-text manipulation detected: same base font embedded with multiple subset prefixes on 1 page(s).",
            "detection_method": "overlay_text_manipulation",
            "signals": ["duplicate_font_subset", "glyph_fragmentation"],
            "duplicate_font_subsets": [{ "page": 1, "base_font": "Helvetica" }],
            "fragmented_fonts": [],
            "manipulated_regions": [
              { "page": 1, "x": 102.4, "y": 318.1, "width": 187.0, "height": 18.0, "page_width": 595, "page_height": 842 }
            ]
          },
          "log_type": "error",
          "short_description": "Suspected document manipulation",
          "long_description": "The system detected signs of potential document manipulation or editing.",
          "node_id": "feature_poa_1"
        },
        {
          "feature": "PROOF_OF_ADDRESS",
          "risk": "NAME_MISMATCH_ID_VERIFICATION",
          "additional_data": {
            "poa_name": "JOHN B SMYTH",
            "kyc_name": "John A. Smith",
            "match_score": 60
          },
          "log_type": "warning",
          "short_description": "Name mismatch with ID verification",
          "long_description": "The full name on the document does not match the name from the user's verified identity documents.",
          "node_id": "feature_poa_1"
        }
      ]
    }
  ]
}
```

## संबंधित

* [पते के प्रमाण की चेतावनियाँ](https://docs.didit.me/hi/core-technology/proof-of-address/warnings-proof-of-address.md) — प्रत्येक चेतावनी कोड जो POA जारी कर सकता है
* [पते के प्रमाण का अवलोकन](https://docs.didit.me/hi/core-technology/proof-of-address/overview.md) — स्वीकृत दस्तावेज़ प्रकार और सत्यापन नियम
* [डेटा मॉडल — पते का प्रमाण](https://docs.didit.me/hi/reference/data-models.md#पते-का-प्रमाण) — कैनोनिकल स्कीमा
* [Webhooks](https://docs.didit.me/hi/integration/webhooks.md) — `status.updated` POA payload ले जाता है

> [!NOTE]
>
> `document_file` और `extra_files[]` पहले से हस्ताक्षरित URL हैं जो लगभग 4 घंटों के बाद समाप्त हो जाते हैं। URL को रीफ़्रेश करने के लिए निर्णय endpoint को पुनः कॉल करें। अपने पास केवल सत्यापन स्थिति और पार्स किए गए पता फ़ील्ड ही संग्रहीत करें — बनाए रखे गए दस्तावेज़ डेटा को न्यूनतम रखें।


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