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

# उपयोगकर्ता सत्यापन यात्रा: KYC फ़्लो और UX

> Didit सत्यापन UX: ID कैप्चर, बायोमेट्रिक लाइवनेस, स्मार्ट पुनः प्रयास और रियल-टाइम फ़ीडबैक के साथ सर्वश्रेष्ठ समापन दर पाएं।



सत्र जीवनचक्र प्रॉम्प्ट
        प्रॉम्प्ट को क्लिपबोर्ड पर कॉपी करें



      
      

\<pre>

\````# Goal — drive a user through a full verification session

The session is the unit you build against. One `POST /v3/session/` returns a hosted URL; your user opens it; Didit runs the workflow; you receive a webhook with the decision.

For the complete recipe (SDK pick per platform, HMAC signature pipeline, decision parsing, every status), copy the canonical prompt at:

https://docs.didit.me/integration/integration-prompt

\## Session lifecycle at a glance

\| Phase | Trigger | What happens |
\|---|---|---|
\| Create | `POST https://verification.didit.me/v3/session/` | Returns `session_id`, `url`, `session_token`. Status = `Not Started`. |
\| User opens `url` | SDK / iframe / redirect | Status flips to `In Progress`. The hosted flow handles country, ID capture, liveness, retries. |
\| Processing | Didit backend | OCR, liveness, face match, AML, etc. run; per-feature plural arrays populate on the decision. |
\| Decision | `status.updated` webhook | One of `Approved`, `Declined`, `In Review`, `Awaiting User` (KYB resub), `Resubmitted`, `Abandoned`, `Expired`, `Kyc Expired`. |

\## Create a session

\```bash
curl -X POST https://verification.didit.me/v3/session/ \
-H "x-api-key: $DIDIT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"workflow_id": "$WORKFLOW_ID",
"vendor_data": "user-42",
"callback": "https://myapp.com/kyc/return"
}'
\```

Always pass `vendor_data` — it is the linking key that binds the session to the persistent [User entity](/entities/users/overview). Without it the session is orphaned.

\## Receive the decision

Webhook (recommended) — register a destination with `webhook_version: "v3"` subscribed to `status.updated` and `data.updated`. Verify the `X-Signature-V2` header (HMAC-SHA256 of canonical JSON).

Polling fallback —
\```bash
curl https://verification.didit.me/v3/session/$SESSION_ID/decision/ \
-H "x-api-key: $DIDIT_API_KEY"
\```

The V3 decision returns plural arrays for every feature: `id_verifications[]`, `liveness_checks[]`, `face_matches[]`, `aml_screenings[]`, `nfc_verifications[]`, `proof_of_address_checks[]`, etc. Never assume V2 singular fields.

\## Failure modes

\- Missing API key → `403 {"detail": "You do not have permission to perform this action."}`. Wrong, revoked or expired key → `401`.
\- Invalid `workflow_id` → `400`.
\- User abandons the flow → status becomes `Abandoned`.
\- Workflow asks for resubmit → status `Resubmitted`, payload includes `resubmit_info`; re-deliver the same `url`.

\## Sources of truth

\- /sessions-api/create-session — request body schema
\- /sessions-api/retrieve-session — V3 decision schema
\- /integration/verification-statuses — literal status strings
\- /integration/webhooks — signature verification, retries
\- /reference/data-models — per-feature decision shape
\- /integration/integration-prompt — canonical end-to-end prompt````

\</pre>



      
      

यहाँ पेस्ट करें

यह गाइड बताती है कि एक सामान्य अंतिम उपयोगकर्ता **ID दस्तावेज़ जाँच + लाइवनेस टेस्ट** सत्र के दौरान क्या अनुभव करता है, और उन UX ऑप्टिमाइज़ेशन्स पर प्रकाश डालती है जो उच्च पूर्णता दर हासिल करने में मदद करते हैं।Didit Academy का यह पाठ होस्टेड फ़्लो का ठीक वैसे ही अनुसरण करता है जैसा उपयोगकर्ता इसे देखता है: पहली स्क्रीन, दस्तावेज़ कैप्चर, लाइवनेस सेल्फ़ी, और स्वीकृत से लेकर अस्वीकृत तक की प्रत्येक परिणाम स्क्रीन।[आपके उपयोगकर्ता वास्तव में क्या देखते हैं — Didit Academy](https://www.youtube.com/embed/LzGe-dMWjUw?rel=0\&playsinline=1)## फ़्लो का अवलोकन![प्रारंभिक स्क्रीन से ID और सेल्फ़ी कैप्चर होते हुए परिणाम तक Didit पहचान सत्यापन उपयोगकर्ता यात्रा](https://mintcdn.com/didit-0f962782/z6T2GHM4Zh-iSj-K/images/user-verification-flow.png?fit=max\&auto=format\&n=z6T2GHM4Zh-iSj-K\&q=85\&s=cc77846e25a476c7e91281295f079e80)**1. शुरुआती स्क्रीन**उपयोगकर्ता एक साफ़-सुथरी, ब्रांडेड स्क्रीन पर पहुँचता है जो अपेक्षाएँ निर्धारित करती है (उदा., "आपको अपनी ID और अपने चेहरे की आवश्यकता होगी")। यह अनिश्चितता को दूर करके ड्रॉप-ऑफ़ को कम करता है।**2. देश और दस्तावेज़ का चयन**उपयोगकर्ता अपने देश और दस्तावेज़ के प्रकार (पासपोर्ट, ID कार्ड, आदि) का चयन करता है।> [!NOTE]
>
> यदि आपका वर्कफ़्लो **एकल दस्तावेज़ प्रकार** के लिए कॉन्फ़िगर किया गया है, तो यह स्क्रीन **स्वचालित रूप से छोड़ दी जाती है** — उपयोगकर्ता को सीधे कैप्चर पर ले जाया जाता है।**3. बुद्धिमान पुनः प्रयास के साथ ID कैप्चर**उपयोगकर्ता अपने दस्तावेज़ के सामने के भाग की तस्वीर लेता है।
**ऑन-डिवाइस गुणवत्ता जाँच** — सबमिट करने से पहले, SDK चमक, धुंधलापन, और कटे हुए किनारों की जाँच करता है। यदि कोई समस्या पाई जाती है, तो उपयोगकर्ता को पुनः तस्वीर लेने के लिए प्रेरित किया जाता है।**मार्गदर्शित पुनः प्रयास के साथ बैकएंड सत्यापन** — एक बार सबमिट करने के बाद:- **उत्तीर्ण** → लाइवनेस पर आगे बढ़ें
- **विफल** → उपयोगकर्ता को एक सामान्य त्रुटि के बजाय विशिष्ट निर्देश (उदा., "दस्तावेज़ की समय-सीमा समाप्त हो चुकी है", "MRZ पढ़ने योग्य नहीं है — तेज़ रोशनी में पुनः प्रयास करें") दिखाई देते हैंयह स्व-सेवा पुनः प्रयास लूप सफलता दर को काफ़ी बढ़ा देता है। [पहचान सत्यापन चेतावनियाँ](https://docs.didit.me/hi/core-technology/id-verification/warnings-id-verification.md) के अंतर्गत सत्यापन परिणामों की पूरी सूची देखें।**4. लाइवनेस + चेहरा मिलान**एक सेल्फ़ी लाइवनेस जाँच यह सुनिश्चित करती है कि उपयोगकर्ता भौतिक रूप से उपस्थित है और रीप्ले/डीपफ़ेक हमलों को रोकती है। यदि उपयोगकर्ता समय पर प्रतिक्रिया नहीं देता है, तो प्रक्रिया हार्ड-फ़ेल होने के बजाय **एक बार स्वचालित रूप से पुनः प्रयास करती है**।**5. अंतिम परिणाम**सभी जाँचें पूरी होने के बाद, उपयोगकर्ता को तीन परिणामों में से एक दिखाई देता है:| परिणाम | विवरण |
| - | - |
| **स्वीकृत** | सभी जाँचें पास हो गईं। डेटा निकाला जा चुका है और API/webhook के माध्यम से उपलब्ध है। |
| **अस्वीकृत** | सिस्टम ने निर्धारित किया कि सत्यापन स्वीकृत नहीं किया जा सकता। |
| **समीक्षाधीन** | स्वचालित जाँचें अनिर्णायक थीं — मैन्युअल समीक्षा की आवश्यकता है। |आपका वर्कफ़्लो यह तय करता है कि उपयोगकर्ता आगे कौन-से चरण देखेगा और उन्हें आपके द्वारा निर्धारित क्रम में देखेगा।
उदाहरण के लिए:- [फ़ोन सत्यापन](https://docs.didit.me/hi/core-technology/phone-verification/overview.md) और [ईमेल सत्यापन](https://docs.didit.me/hi/core-technology/email-verification/overview.md)
- [प्रश्नावलियाँ](https://docs.didit.me/hi/core-technology/questionnaires/overview.md)
- [पते का प्रमाण](https://docs.didit.me/hi/core-technology/proof-of-address/overview.md)
- [बायोमेट्रिक सहमति](https://docs.didit.me/hi/getting-started/biometric-consent.md)
- [दस्तावेज़ हस्ताक्षर](https://docs.didit.me/hi/core-technology/electronic-signature/overview.md)स्मार्ट UX, प्रगतिशील सत्यापन, कार्रवाई योग्य फ़ीडबैक, और सहज पुनः प्रयास को मिलाकर, Didit सत्यापन यात्रा अच्छे उपयोगकर्ताओं को आगे बढ़ाती रहती है और दुर्भावनापूर्ण लोगों को बाहर रखती है — बिना किसी मैन्युअल हस्तक्षेप के।


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