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

# ई-हस्ताक्षर रिपोर्ट: signatures[] संदर्भ

> Didit सत्र निर्णय और webhooks में signatures[] पढ़ें, हस्ताक्षरित PDF व साक्ष्य PDF डाउनलोड करें, और हस्ताक्षर को पुनः मान्य करें।

प्रत्येक [ई-हस्ताक्षर](https://docs.didit.me/hi/core-technology/electronic-signature/overview.md) चरण प्रति हस्ताक्षरकर्ता एक परिणाम उत्पन्न करता है। आप इसे `signatures[]` के एक आइटम के रूप में यहाँ पाते हैं:

* उपयोगकर्ता सत्यापन (KYC) और व्यवसाय सत्यापन (KYB) सत्रों के लिए [`GET /v3/session/{sessionId}/decision/`](https://docs.didit.me/hi/sessions-api/retrieve-session)।
* V3 [सत्र webhook](https://docs.didit.me/hi/integration/webhooks.md) के `decision` में; ये तब भेजे जाते हैं जब सत्र `Approved`, `Declined`, `In Review` या `Abandoned` होता है।
* कंसोल में सत्र का **हस्ताक्षर** टैब, और [PDF रिपोर्ट](https://docs.didit.me/hi/sessions-api/generate-pdf.md) का हस्ताक्षर अनुभाग।

`signatures` निर्णय में केवल तभी होता है जब वर्कफ़्लो में ई-हस्ताक्षर चरण शामिल हो। जब तक कोई हस्ताक्षरकर्ता इस चरण तक नहीं पहुँचता, यह एक खाली ऐरे रहता है। KYC चरण में एक आइटम होता है; KYB चरण में प्रति हस्ताक्षरकर्ता एक आइटम होता है।

## उदाहरण

```json theme={null}
{
  "signatures": [
    {
      "id": "0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10",
      "node_id": "feature_signature",
      "status": "signed",
      "verdict": "Approved",
      "level": "aes",
      "format": "pades",
      "profile": "PAdES-B-LT",
      "signer": {
        "name": "Jane Doe",
        "capacity": "self",
        "company": null,
        "role": null,
        "roles": [],
        "identity_session_id": "11111111-2222-3333-4444-555555555555"
      },
      "identity_used": {
        "session_id": "11111111-2222-3333-4444-555555555555",
        "kyc_id": "6f1e8f6c-1d2b-4c3a-9e8f-7a6b5c4d3e2f",
        "verified": true,
        "expected_name": "Jane Doe"
      },
      "certificate": {
        "issuer": "<certificate issuer>",
        "issued_to": "<certificate subject>",
        "serial": "5A3F9C21",
        "valid_from": "2026-01-01T00:00:00+00:00",
        "valid_until": "2028-01-01T00:00:00+00:00"
      },
      "confirmation": {
        "channel": "email",
        "destination": "j***@example.com",
        "confirmed_at": "2026-11-03T10:42:18.512Z",
        "attempts": 1
      },
      "timestamp": {
        "time": "2026-11-03T10:42:21+00:00",
        "qualified": false,
        "valid": true
      },
      "documents": [
        {
          "id": "9b0a7f44-2c1d-4e5f-8a9b-0c1d2e3f4a5b",
          "uuid": "9b0a7f44-2c1d-4e5f-8a9b-0c1d2e3f4a5b",
          "title": "Account agreement",
          "file_name": "agreement.pdf",
          "pages": 4,
          "size_bytes": 182344,
          "sha256_original": "3b8e5f0c2a9d4e7f1b6c0a5d9e8f7a6b5c4d3e2f1a0b9c8d7e6f5a4b3c2d1e0f",
          "sha256_signed": "a1f2e3d4c5b6a7980f1e2d3c4b5a69788f7e6d5c4b3a29180f1e2d3c4b5a6978",
          "status": "signed",
          "opened_at": "2026-11-03T10:40:02.118Z",
          "read_at": "2026-11-03T10:41:10.044Z",
          "read_to_end": true,
          "consented_at": "2026-11-03T10:41:12.730Z",
          "consent": true,
          "signed_file": "/v3/session/11111111-2222-3333-4444-555555555555/signatures/feature_signature/documents/9b0a7f44-2c1d-4e5f-8a9b-0c1d2e3f4a5b/file/",
          "mode": "fields",
          "source_format": "pdf",
          "conversion": null,
          "fields": [
            {
              "key": "full_name",
              "type": "full_name",
              "role": "verified_person",
              "label": "Full name",
              "page": 1,
              "x": 0.34,
              "y": 0.2326,
              "width": 0.57,
              "height": 0.0325,
              "required": true,
              "value": "Jane Doe",
              "display_value": "Jane Doe",
              "value_source": "identity",
              "filled_at": "2026-11-03T10:40:02.118Z",
              "value_unavailable_reason": null
            },
            {
              "key": "occupation",
              "type": "text",
              "role": "verified_person",
              "label": "Occupation",
              "page": 1,
              "x": 0.34,
              "y": 0.4618,
              "width": 0.57,
              "height": 0.0325,
              "required": true,
              "value": "Architect",
              "display_value": "Architect",
              "value_source": "signer",
              "filled_at": "2026-11-03T10:40:41.502Z",
              "value_unavailable_reason": null
            },
            {
              "key": "signature",
              "type": "signature",
              "role": "verified_person",
              "label": "Signature",
              "page": 4,
              "x": 0.09,
              "y": 0.5303,
              "width": 0.36,
              "height": 0.0849,
              "required": true,
              "value": true,
              "display_value": "Signed",
              "value_source": "signer",
              "filled_at": "2026-11-03T10:41:05.200Z",
              "image_url": "/v3/session/11111111-2222-3333-4444-555555555555/signatures/feature_signature/fields/c4d5e6f7-0a1b-4c2d-8e3f-4a5b6c7d8e9f/image/",
              "value_unavailable_reason": null
            }
          ]
        }
      ],
      "adopted_signature": {
        "method": "drawn",
        "font": null,
        "adopted_at": "2026-11-03T10:41:02.871Z"
      },
      "electronic_signature_consent_at": "2026-11-03T10:41:40.016Z",
      "evidence_file": "/v3/session/11111111-2222-3333-4444-555555555555/signatures/feature_signature/evidence/?signature_id=0e6c2a8e-6c2f-4b8e-9a51-3f2f6a7d9b10",
      "warnings": [],
      "validation": {
        "valid": true,
        "checked_at": "2026-11-03T10:42:24.903Z",
        "documents": [
          {
            "id": "9b0a7f44-2c1d-4e5f-8a9b-0c1d2e3f4a5b",
            "checked_at": "2026-11-03T10:42:24.903Z",
            "valid": true,
            "integrity": true,
            "trusted": true,
            "revoked": false,
            "trusted_list": { "status": "not_applicable", "reason": "aes_not_qualified" },
            "certificate": {
              "issuer": "<certificate issuer>",
              "issued_to": "<certificate subject>",
              "serial": "5A3F9C21",
              "valid_from": "2026-01-01T00:00:00+00:00",
              "valid_until": "2028-01-01T00:00:00+00:00"
            },
            "timestamp": { "time": "2026-11-03T10:42:21+00:00", "qualified": false, "valid": true }
          }
        ]
      },
      "declined_at": null,
      "declined_action": "REVIEW",
      "signed_at": "2026-11-03T10:42:24.903Z",
      "expires_at": "2026-11-10T10:30:00.000Z",
      "email_sent_at": "2026-11-03T10:42:30.011Z",
      "email_unavailable_reason": null,
      "ip_address": "203.0.113.10",
      "place": null,
      "place_unavailable_reason": "not_collected"
    }
  ]
}
```

## हस्ताक्षर ऑब्जेक्ट

| फ़ील्ड | प्रकार | विवरण |
| - | - | - |
| `id` | string (UUID) | हस्ताक्षरकर्ता का हस्ताक्षर। उनके साक्ष्य डाउनलोड करने या उनके हस्ताक्षर को मान्य करने के लिए इसे `signature_id` के रूप में पास करें। |
| `node_id` | string | इसे जनरेट करने वाला वर्कफ़्लो चरण। |
| `status` | string | हस्ताक्षरकर्ता चरण में किस स्थिति में है: `intro`, `review`, `code`, `signing`, `signed` या `declined`। केवल `signed` का अर्थ है कि दस्तावेज़ हस्ताक्षरित हो चुके हैं। |
| `verdict` | string | चरण का परिणाम: `Not Finished`, `Approved`, `In Review` या `Declined`। अस्वीकृत या विफल हस्ताक्षर का निर्णय उसके [नियम](https://docs.didit.me/hi/core-technology/electronic-signature/warnings-electronic-signature.md) के निर्णय के अनुसार होता है, और कस्टम स्थिति नियम इसे बदल सकते हैं। |
| `level` | string | `simple` (डिफ़ॉल्ट) या `aes`। `qes` एक ऐड-ऑन है जो अभी उपलब्ध नहीं है। |
| `format` | string | Simple हस्ताक्षर के लिए `pdf`, Advanced (AES) के लिए `pades`। |
| `profile` | string \| null | Advanced (AES) हस्ताक्षर के हस्ताक्षरित होने के बाद `PAdES-B-LT`, अन्यथा `null`। |
| `signer` | object | किसने हस्ताक्षर किए। [हस्ताक्षरकर्ता](#हस्ताक्षरकर्ता) देखें। |
| `identity_used` | object | वह सत्यापित पहचान जिस पर हस्ताक्षर निर्भर करता है। [हस्ताक्षरकर्ता](#हस्ताक्षरकर्ता) देखें। बिना सत्यापित पहचान वाले Simple हस्ताक्षर के लिए खाली। |
| `certificate` | object \| null | वह प्रमाणपत्र जिससे दस्तावेज़ों पर हस्ताक्षर किए गए थे: `issuer`, `issued_to`, `serial`, `valid_from` और `valid_until`। हस्ताक्षरित होने तक `null`, और Simple हस्ताक्षर के लिए हमेशा `null`। |
| `confirmation` | object | वन-टाइम कोड: `channel` (`email` या `sms`), `destination` (मास्क किया गया संपर्क जिस पर यह भेजा गया), `confirmed_at`, और `attempts` (दर्ज किए गए कोड, सही कोड सहित)। Simple हस्ताक्षर में कोई कोड नहीं होता है, इसलिए `channel` और `destination` मान `null` होते हैं। |
| `timestamp` | object \| null | हस्ताक्षर में Didit द्वारा जारी किया गया RFC 3161 टाइमस्टैम्प: `time`, `qualified` (AES के लिए हमेशा `false`) और `valid`। हस्ताक्षरित होने तक `null`, और Simple हस्ताक्षर के लिए हमेशा `null`। |
| `documents` | array | प्रति दस्तावेज़ एक आइटम। [दस्तावेज़](#दस्तावेज़) देखें। |
| `adopted_signature` | object \| null | हस्ताक्षर और आद्याक्षर फ़ील्ड के लिए हस्ताक्षरकर्ता द्वारा अपनाया गया हस्ताक्षर और आद्याक्षर: `method` (`typed` या `drawn`), `font` (टाइप किए गए हस्ताक्षर की लिखावट शैली, या ड्रा किए जाने पर `null`) और `adopted_at`। हस्ताक्षरकर्ता द्वारा किसी एक को अपनाने तक `null`। |
| `electronic_signature_consent_at` | string \| null | जब हस्ताक्षरकर्ता समीक्षा स्क्रीन पर दस्तावेज़ों पर इलेक्ट्रॉनिक रूप से हस्ताक्षर करने के लिए सहमत हुआ। तब सेट होता है जब किसी भी दस्तावेज़ में फ़ील्ड हों। |
| `evidence_file` | string \| null | हस्ताक्षरित होने के बाद, इस हस्ताक्षरकर्ता के [एविडेंस PDF](#साक्ष्य-pdf) का पाथ। |
| `warnings` | array | जारी की गई प्रत्येक [चेतावनी](https://docs.didit.me/hi/core-technology/electronic-signature/warnings-electronic-signature.md) के लिए `{ "code", "node_id" }` आइटम। |
| `validation` | object \| null | हस्ताक्षरित दस्तावेज़ों की अंतिम क्रिप्टोग्राफ़िक जाँच। [हस्ताक्षर को फिर से मान्य करें](#हस्ताक्षर-को-फिर-सत्यापित-करें) देखें। |
| `declined_at` | string \| null | जब हस्ताक्षरकर्ता ने अस्वीकार किया। |
| `declined_action` | string | चरण का `signature_declined_action`: निर्णय पर अस्वीकृति का क्या प्रभाव पड़ता है। |
| `signed_at` | string \| null | जब दस्तावेज़ों पर हस्ताक्षर किए गए थे। |
| `expires_at` | string | जब हस्ताक्षर लिंक काम करना बंद कर देता है। |
| `email_sent_at` | string \| null | जब Didit ने हस्ताक्षरकर्ता को हस्ताक्षरित प्रति ईमेल की। |
| `email_unavailable_reason` | string \| null | जब आपने प्रति का अनुरोध किया था, तब कोई प्रति ईमेल न किए जाने का कारण। |
| `ip_address` | string \| null | हस्ताक्षरकर्ता का IP पता जब उन्होंने अपने कोड का अनुरोध किया था। |
| `place` | string \| null | एकत्र नहीं किया गया। हमेशा `null`, `place_unavailable_reason: "not_collected"` के साथ। |

जब तक `status` का मान `signed` न हो, तब तक किसी भी हस्ताक्षरकर्ता को हस्ताक्षरित न मानें। Advanced (AES) हस्ताक्षर पर `null` प्रमाणपत्र, टाइमस्टैम्प या `signed_file` का अर्थ है कि अभी तक कोई हस्ताक्षर नहीं हुआ है। हस्ताक्षरित Simple हस्ताक्षर में `signed_file` होता है लेकिन प्रमाणपत्र और टाइमस्टैम्प हमेशा `null` होते हैं।

### हस्ताक्षरकर्ता

| फ़ील्ड | विवरण |
| - | - |
| `signer.name` | हस्ताक्षरकर्ता का सत्यापित नाम, उनके स्वीकृत पहचान सत्यापन से। Simple स्तर पर यह सत्यापित सत्र का नाम होता है यदि कोई हो, अन्यथा वह नाम जो हस्ताक्षरकर्ता ने टाइप किया था, जो सत्यापित नहीं है। |
| `signer.capacity` | जब कोई व्यक्ति स्वयं के लिए हस्ताक्षर करता है तो `self` (KYC), जब कोई प्रमुख व्यक्ति किसी कंपनी के लिए हस्ताक्षर करता है तो `company` (KYB)। |
| `signer.company` | KYB के लिए कंपनी का नाम। |
| `signer.role` | KYB के लिए, घोषित किए गए अनुसार प्रमुख व्यक्ति का पदनाम। |
| `signer.roles` | प्रमुख व्यक्ति की संरचित भूमिकाएँ, जैसे `representative` या `authorized_signatory`, जिन्होंने उन्हें हस्ताक्षरकर्ता बनाया। ये कंपनी के लिए घोषित की गई भूमिकाएँ हैं, रजिस्ट्री की पुष्टि नहीं हैं। |
| `signer.identity_session_id` | वह KYC सत्र जिसने हस्ताक्षरकर्ता को सत्यापित किया। KYB के लिए, प्रमुख व्यक्ति का अपना KYC सत्र। बिना सत्यापित पहचान वाले Simple हस्ताक्षर के लिए अनुपस्थित। |
| `identity_used.session_id` | `signer.identity_session_id` के समान। बिना सत्यापित पहचान वाले Simple हस्ताक्षर के लिए `identity_used` खाली होता है, इसलिए इसका कोई भी फ़ील्ड मौजूद नहीं होता है। |
| `identity_used.kyc_id` | वह पहचान सत्यापन जिससे नाम प्राप्त हुआ था। |
| `identity_used.verified` | `true` जब वह पहचान सत्यापन स्वीकृत हुआ था। |
| `identity_used.expected_name` | वह नाम जिससे हस्ताक्षरकर्ता का मिलान होना आवश्यक था। KYB के लिए, प्रमुख व्यक्ति के लिए घोषित नाम। |

### दस्तावेज़

| फ़ील्ड | विवरण |
| - | - |
| `id`, `uuid` | दस्तावेज़। हस्ताक्षरित फ़ाइल डाउनलोड करने के लिए इसका उपयोग करें। |
| `title`, `file_name` | जैसा अपलोड किया गया या भेजा गया। |
| `pages`, `size_bytes` | हस्ताक्षरकर्ता द्वारा हस्ताक्षरित दस्तावेज़ का। Word के लिए, रूपांतरित PDF का। |
| `sha256_original` | दस्तावेज़ का SHA-256 जैसा हस्ताक्षरकर्ता को दिखाया गया था। |
| `sha256_signed` | हस्ताक्षरित होने के बाद, हस्ताक्षरित PDF का SHA-256। |
| `status` | `signed`; `declined`; `not_signed` (खोला गया, हस्ताक्षरित नहीं); या `not_reached` (कभी नहीं खोला गया)। |
| `opened_at` | जब हस्ताक्षरकर्ता ने इसे पहली बार खोला। |
| `read_at`, `read_to_end` | जब हस्ताक्षरकर्ता बिना फ़ील्ड वाले दस्तावेज़ के अंत तक पहुँचा, जब आपको अंत तक पढ़ना आवश्यक हो। फ़ील्ड वाले दस्तावेज़ में इसकी आवश्यकता नहीं होती है। |
| `consented_at`, `consent` | जब हस्ताक्षरकर्ता बिना फ़ील्ड वाले दस्तावेज़ के लिए सहमत हुआ, जब आपको प्रति दस्तावेज़ सहमति की आवश्यकता हो, या फ़ील्ड वाले दस्तावेज़ के फ़ील्ड पूरे किए। |
| `signed_file` | हस्ताक्षरित होने के बाद, हस्ताक्षरित PDF का पाथ। |
| `mode` | फ़ील्ड वाले दस्तावेज़ के लिए `fields`, बिना फ़ील्ड वाले दस्तावेज़ के लिए `read_and_agree`। |
| `source_format` | `pdf`, या Didit द्वारा कनवर्ट किए गए Word दस्तावेज़ के लिए `docx`। |
| `conversion` | PDF के लिए `null`। Word दस्तावेज़ के लिए, `{ "from": "docx", "file_name", "sha256", "size_bytes", "converter" }`: आपकी मूल फ़ाइल, उसका SHA-256 और आकार, और कनवर्टर का संस्करण। |
| `fields` | दस्तावेज़ पर मौजूद [फ़ील्ड](#फ़ील्ड), उनके मानों के साथ। बिना फ़ील्ड वाले दस्तावेज़ के लिए रिक्त। |

### फ़ील्ड

`documents[].fields[]` का प्रत्येक आइटम दस्तावेज़ का एक फ़ील्ड है, इस हस्ताक्षरकर्ता की प्रति पर उसके मान के साथ:

| फ़ील्ड | विवरण |
| - | - |
| `key` | फ़ील्ड की [कुंजी](https://docs.didit.me/hi/core-technology/electronic-signature/overview.md#दस्तावेज़-पर-फ़ील्ड), वही जो आप `sign.field_values` में उपयोग करते हैं। |
| `type`, `role`, `label`, `required` | जैसा कि दस्तावेज़ पर रखा गया है। |
| `page`, `x`, `y`, `width`, `height` | प्रदर्शित पेज के अंशों के रूप में फ़ील्ड की स्थिति। |
| `value` | `text`, `email`, `full_name`, `date_signed` और `data` फ़ील्ड के लिए एक स्ट्रिंग, चेकबॉक्स के लिए एक बूलियन, और लागू किए गए हस्ताक्षर या आद्याक्षर के लिए `true`। फ़ील्ड खाली होने पर `null`। |
| `display_value` | पेज पर स्टैम्प किया गया मान: फ़ील्ड के `date_format` में तारीखें, चेकबॉक्स के लिए `Yes` या `No`, और हस्ताक्षर या आद्याक्षर के लिए `Signed`। |
| `value_source` | मान कहाँ से आया: `signer` (हस्ताक्षरकर्ता द्वारा टाइप किया गया, टिक किया गया या लागू किया गया), `identity` (सत्यापित पहचान), `contact` (सत्यापित ईमेल या फ़ोन), `company` (सत्यापित कंपनी), `session` (सत्र का `vendor_data`), `metadata` (सत्र का `metadata`), `api` (आपका `sign.field_values`) या `signing_time` (हस्ताक्षर करने की तिथि)। |
| `filled_at` | मान कब सेट किया गया था। |
| `image_url` | हस्ताक्षर या आद्याक्षर के लिए, लागू की गई छवि का पाथ, एक PNG। देखें [हस्ताक्षर छवि डाउनलोड करें](https://docs.didit.me/hi/sessions-api/electronic-signature/download-field-image.md)। |
| `value_unavailable_reason` | Didit द्वारा भरे गए फ़ील्ड में कोई मान क्यों नहीं है: `not_verified` (पहचान या संपर्क सत्यापित नहीं था), `not_applicable` (किसी व्यक्ति के अपने हस्ताक्षर पर कंपनी फ़ील्ड), `not_provided` (स्रोत में कोई मान नहीं है) या `set_at_confirmation` (हस्ताक्षरकर्ता द्वारा पुष्टि करने से पहले हस्ताक्षर करने की तिथि)। अन्यथा `null`। |

## हस्ताक्षरित दस्तावेज़ डाउनलोड करें

अपनी API कुंजी के साथ `signed_file` और `evidence_file` में दिए गए पाथ का उपयोग करें। प्रत्येक रूट स्वयं PDF के साथ रिस्पॉन्स देता है।

```bash theme={null}
# Signed PDF of one document
curl -L 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/documents/{document_id}/file/' \
  -H 'x-api-key: YOUR_API_KEY' \
  -o agreement-signed.pdf

# Evidence PDF of one signer
curl -L 'https://verification.didit.me/v3/session/{session_id}/signatures/{node_id}/evidence/?signature_id={signature_id}' \
  -H 'x-api-key: YOUR_API_KEY' \
  -o signature-evidence.pdf
```

| रूट | संदर्भ |
| - | - |
| `GET .../documents/{document_id}/file/` | [हस्ताक्षरित दस्तावेज़ डाउनलोड करें](https://docs.didit.me/hi/sessions-api/electronic-signature/download-signed-document.md) |
| `GET .../evidence/` | [हस्ताक्षर साक्ष्य डाउनलोड करें](https://docs.didit.me/hi/sessions-api/electronic-signature/download-evidence.md) |
| `GET .../fields/{field_id}/image/` | [हस्ताक्षर छवि डाउनलोड करें](https://docs.didit.me/hi/sessions-api/electronic-signature/download-field-image.md) |
| `POST .../validate/` | [हस्ताक्षर सत्यापित करें](https://docs.didit.me/hi/sessions-api/electronic-signature/validate-signatures.md) |

रिस्पॉन्स देने से पहले, Didit संग्रहीत फ़ाइल की जांच उसके रिकॉर्ड किए गए SHA-256 से करता है। यदि वे भिन्न होते हैं, तो हस्ताक्षरित PDF और साक्ष्य रूट `409` लौटाते हैं और छवि रूट `400` लौटाता है, प्रत्येक `signature_document_changed` के साथ। जब किसी KYB चरण में कई हस्ताक्षरकर्ता हों, तो हमेशा साक्ष्य रूट में `signature_id` पास करें।

## हस्ताक्षरित PDF

हस्ताक्षरित PDF में क्रम से निम्नलिखित शामिल होते हैं:

1. दस्तावेज़ के वे पेज जो हस्ताक्षरकर्ता को दिखाए गए थे, जिसमें प्रत्येक फ़ील्ड का मान वहीं स्टैम्प किया गया है जहाँ आपने उसे रखा था।
2. साक्ष्य पेज, जब तक कि आपने `signature_evidence_page` को बंद न किया हो।
3. केवल Advanced (AES) के लिए, PAdES हस्ताक्षर, Didit द्वारा जारी किए गए RFC 3161 टाइमस्टैम्प और भविष्य में इसे सत्यापित करने के लिए आवश्यक निरस्तीकरण डेटा के साथ। Simple PDF साक्ष्य पेज के बाद समाप्त हो जाता है और इसमें कोई डिजिटल हस्ताक्षर, सील या टाइमस्टैम्प नहीं होता है।

Advanced (AES) PDF पर हस्ताक्षर उससे पहले के प्रत्येक बाइट को कवर करता है, जिसमें फ़ील्ड मान और साक्ष्य पेज शामिल हैं। इसके बाद फ़ाइल में कुछ भी बदलने पर यह अमान्य हो जाता है, और कोई भी PAdES-सक्षम सत्यापनकर्ता इसे दिखाता है। हस्ताक्षर के विवरण में हस्ताक्षरकर्ता का नाम होता है और उनके सत्यापित पहचान सत्र और कोड पुष्टि का संदर्भ दिया जाता है।

फ़ील्ड मान पेज सामग्री का हिस्सा बन जाते हैं, फ़ॉर्म फ़ील्ड नहीं, इसलिए उन्हें बाद में संपादित नहीं किया जा सकता है और प्रत्येक PDF व्यूअर उन्हें दिखाता है। एक टिक किया गया चेकबॉक्स एक टिक दिखाता है, और बिना टिक किए गए चेकबॉक्स को दस्तावेज़ में जैसा था, वैसा ही छोड़ दिया जाता है। 24 पॉइंट से ऊंचे हस्ताक्षर बॉक्स को हस्ताक्षर के नीचे एक छोटा कैप्शन भी मिलता है: `Signed with Didit ·` जिसके बाद हस्ताक्षर की `id` के पहले 8 वर्ण होते हैं।

Didit हस्ताक्षरकर्ता को दिखाए गए दस्तावेज़ के बाइट्स के बाद फ़ील्ड मान, साक्ष्य पेज और हस्ताक्षर जोड़ता है। वह दस्तावेज़ हस्ताक्षरित फ़ाइल का एक सटीक प्रीफ़िक्स है, इसलिए हस्ताक्षरित PDF के विरुद्ध अभी भी `sha256_original` की जांच की जा सकती है।

## साक्ष्य PDF

साक्ष्य PDF एक हस्ताक्षरकर्ता के लिए निम्नलिखित रिकॉर्ड करता है:

* स्तर और प्रारूप।
* हस्ताक्षरकर्ता का नाम, उनकी हस्ताक्षर करने की क्षमता और KYB के लिए कंपनी।
* सत्यापित पहचान सत्र (केवल Advanced (AES))।
* पुष्टि: चैनल, मास्क किया गया गंतव्य और समय (केवल Advanced (AES))।
* हस्ताक्षरकर्ता का IP पता।
* प्रत्येक दस्तावेज़: शीर्षक, पेजों की संख्या और मूल का SHA-256। Word दस्तावेज़ के लिए, Word फ़ाइल का नाम और SHA-256, कनवर्टर संस्करण और PDF का SHA-256।
* अपनाया गया हस्ताक्षर: टाइप किया गया (इसकी हस्तलेखन शैली के साथ) या ड्रॉ किया गया, इसे कब अपनाया गया था, और हस्ताक्षर तथा आद्याक्षर छवियां।
* प्रत्येक दस्तावेज़ के प्रत्येक फ़ील्ड के लिए: इसका लेबल, पेज और प्रकार, इसका मान (हस्ताक्षर या आद्याक्षर के लिए छवि), मान कहाँ से आया (उदाहरण के लिए **हस्ताक्षरकर्ता द्वारा टाइप किया गया**, **सत्यापित पहचान** या **आपका API**), यह कब भरा गया था (UTC) और हस्ताक्षरकर्ता द्वारा टाइप किए गए मान के लिए उस समय उनका IP पता।
* अंतिम सहमति: वह पाठ जिस पर हस्ताक्षरकर्ता समीक्षा स्क्रीन पर सहमत हुआ था, और कब।
* प्रत्येक हस्ताक्षरित फ़ाइल का SHA-256 और, Advanced (AES) के लिए, प्रमाणपत्र (किसे जारी किया गया, जारीकर्ता, सीरियल और वैधता) तथा टाइमस्टैम्प।

प्रत्येक हस्ताक्षरित PDF में जोड़े गए पेज में प्रमाणपत्र अनुभाग के बिना समान सामग्री होती है, क्योंकि इसे हस्ताक्षर लागू होने से पहले जोड़ा जाता है।

## हस्ताक्षर को फिर सत्यापित करें

`POST /v3/session/{session_id}/signatures/{node_id}/validate/` चरण के प्रत्येक हस्ताक्षरित PDF को फिर से पढ़ता है और इसके SHA-256 की जांच करता है। Advanced (AES) हस्ताक्षर के लिए यह PAdES हस्ताक्षर, इसके प्रमाणपत्र, निरस्तीकरण डेटा और टाइमस्टैम्प को भी सत्यापित करता है। Simple हस्ताक्षर में कोई डिजिटल हस्ताक्षर नहीं होता है, इसलिए जांच केवल फ़ाइल की अखंडता की होती है। यह परिणाम को `validation` में सहेजता है और अपडेट किए गए `signatures[]` को लौटाता है। किसी एक हस्ताक्षरकर्ता की जांच करने के लिए `signature_id` भेजें। इसके लिए `write:sessions` की आवश्यकता होती है, और कंसोल में यह **फिर सत्यापित करें** बटन है। संग्रहीत हस्ताक्षरित PDF जो अब अपने `sha256_signed` से मेल नहीं खाती है, वह `signature_document_changed` के साथ `400` लौटाती है।

जब तक दस्तावेज़ हस्ताक्षरित नहीं होते, `validation` `null` रहता है। यदि Didit हस्ताक्षर के परिणाम की पुष्टि नहीं कर सकता है, तो `validation` `{ "valid": null, "reason": "signature_provider_outcome_unknown", "checked_at" }` होता है और स्थिति हल होने तक `status` `signing` बना रहता है: इसे अहस्ताक्षरित मानें।

| `validation.documents[]` का फ़ील्ड | विवरण |
| - | - |
| `valid` | `true` जब हस्ताक्षर और टाइमस्टैम्प दोनों मान्य और विश्वसनीय हों। Simple हस्ताक्षर के लिए, `true` जब फ़ाइल अपरिवर्तित हो। |
| `integrity` | `true` जब दस्तावेज़ हस्ताक्षर किए जाने के बाद से अपरिवर्तित हो। |
| `trusted` | `true` जब हस्ताक्षर प्रमाणपत्र एक विश्वसनीय रूट से जुड़ता हो। Simple हस्ताक्षर के लिए `null`। |
| `revoked` | `true` जब हस्ताक्षर प्रमाणपत्र निरस्त कर दिया गया हो। Simple हस्ताक्षर के लिए `null`। |
| `trusted_list` | AES के लिए `{ "status": "not_applicable", "reason": "aes_not_qualified" }`। EU Trusted List की जाँच क्वालिफ़ाइड हस्ताक्षरों पर लागू होती है। Simple हस्ताक्षर `{ "status": "not_applicable", "reason": "simple_not_sealed" }` लौटाता है। |
| `certificate`, `timestamp` | जैसा कि फ़ाइल में पाया गया। |

## PDF रिपोर्ट में

[PDF रिपोर्ट](https://docs.didit.me/hi/sessions-api/generate-pdf.md) हस्ताक्षरकर्ता, पुष्टिकरण, प्रमाणपत्र, टाइमस्टैम्प और दस्तावेज़ों को उनके हैश के साथ एक हस्ताक्षर अनुभाग प्रिंट करती है। जब दस्तावेज़ों में फ़ील्ड होते हैं, तो उसके बाद एक **ई-हस्ताक्षर · फ़ील्ड** पेज आता है, जिसमें प्रति दस्तावेज़ एक तालिका होती है: प्रत्येक फ़ील्ड का मान, हस्ताक्षर और इनिशियल्स की छवियां, समय और स्रोत। हस्ताक्षर अनुभाग KYC रिपोर्ट में बैंक सत्यापन के बाद और KYB रिपोर्ट में दस्तावेज़ों के बाद आता है। केवल उसी अनुभाग को प्रिंट करने के लिए `pages=signature` पास करें।

## संबंधित

* [ई-हस्ताक्षर अवलोकन](https://docs.didit.me/hi/core-technology/electronic-signature/overview.md)
* [ई-हस्ताक्षर चेतावनियाँ](https://docs.didit.me/hi/core-technology/electronic-signature/warnings-electronic-signature.md)
* [डेटा मॉडल: इलेक्ट्रॉनिक हस्ताक्षर](https://docs.didit.me/hi/reference/data-models.md#ई-हस्ताक्षर)
* [webhook](https://docs.didit.me/hi/integration/webhooks.md)


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