मुख्य सामग्री पर जाएं
अपने एप्लिकेशन में iframe का उपयोग करके Didit सत्यापन फ़्लो सीधे एम्बेड करें। इससे उपयोगकर्ताओं को आपकी साइट से बाहर रीडायरेक्ट किए बिना एक सहज अनुभव मिलता है।

अवलोकन


सबसे तेज़ तरीका: बस अपना UniLink URL कॉपी करके पेस्ट करें।

आपको क्या चाहिए

  1. एक Didit वर्कफ़्लो (जो Didit Console में बनाया गया हो)
  2. आपका UniLink URL (अपने वर्कफ़्लो पर Copy Link पर क्लिक करें)

इम्प्लीमेंटेशन

⚠️ आवश्यक: लाइवनेस डिटेक्शन के दौरान कैमरा एक्सेस के लिए allow एट्रिब्यूट अनिवार्य है।

मुख्य लाभ

  • 1 मिनट से कम सेटअप: कोई बैकएंड नहीं, कोई API कुंजी नहीं
  • शून्य कॉन्फ़िगरेशन: कॉलबैक URL वर्कफ़्लो सेटिंग्स में सेट होता है
  • MVP के लिए आदर्श: तुरंत शुरू करें

API सत्र iframe (बैकएंड के साथ)

उन उन्नत इंटीग्रेशन के लिए जिन्हें प्रति-सत्र अनुकूलन चाहिए।

कब उपयोग करें

  • हर सत्र के लिए कस्टम vendor_data या metadata पास करें
  • हर सत्र के लिए अलग-अलग कॉलबैक URL सेट करें
  • सत्यापन शुरू होने से पहले सर्वर-साइड पर सत्र ट्रैक करें
  • सत्रों को अपनी उपयोगकर्ता ID से जोड़ें

इम्प्लीमेंटेशन

चरण 1: सत्र बनाएँ (बैकएंड) सत्र-निर्माण रिस्पॉन्स में url नाम का फ़ील्ड होता है, इसे iframe के src के रूप में उपयोग करें।
चरण 2: iframe में एम्बेड करें (फ़्रंटएंड)

इवेंट सुनना (postMessage)

सत्यापन पेज पैरेंट विंडो को इवेंट भेजता है। हर मैसेज का यह एनवेलप होता है:
पेलोड नेस्टेड है: event.data.sessionId नहीं, event.data.data.sessionId पढ़ें:
मुख्य इवेंट: didit:ready ({ sessionId }), didit:started, didit:step_started / didit:step_completed / didit:step_changed ({ step, ... }), didit:status_updated ({ status }), didit:completed ({ sessionId, status }), didit:cancelled, didit:error ({ error, step? }), didit:close_request, और didit:layout ({ contentHeight, colorScheme, dir }, देखें नीचे)। JavaScript SDK इवेंट संदर्भ में वे सत्यापन इवेंट सूचीबद्ध हैं जो टाइप्ड कॉलबैक के रूप में उपलब्ध हैं। संस्करण 0.5.0 से, SDK layout मैसेज को अंदर से संभालता है और उन्हें onEvent को नहीं भेजता।

didit:layout से iframe का आकार तय करें

सत्यापन पेज didit:layout मैसेज के साथ बताता है कि उसे कितनी जगह चाहिए। यह लोड होने पर एक बार भेजता है, और जब भी उसकी कंटेंट की ऊँचाई, थीम या टेक्स्ट दिशा बदलती है, तब फिर से भेजता है:
अपने iframe में didit:layout प्राप्त करने के लिए, उसके सत्यापन URL में sdk_presentation=embedded जोड़ें। संस्करण 0.5.0 से, JavaScript SDK यह प्रेज़ेंटेशन स्वयं सेट करता है। प्रेज़ेंटेशन पैरामीटर के बिना, पेज अपना स्टैंडअलोन लेआउट उपयोग करता है और layout मैसेज नहीं भेजता।
यह होस्ट अनुशंसित आकार का पालन करता है: 1024px और उससे अधिक चौड़ाई पर एक निश्चित कार्ड, 540px और उससे कम पर पूरी स्क्रीन, और इनके बीच 500px चौड़ा iframe जो पेज द्वारा बताई गई ऊँचाई लेता है:
541px से 1023px के बीच, यह उदाहरण layout मैसेज आने तक 700px की शुरुआती ऊँचाई का उपयोग करता है, जो दिखाई दे रही विंडो की ऊँचाई के 90% तक सीमित है। कंप्यूटर और फ़ोन के आकार तुरंत लागू होते हैं। फ़ोन पर iframe पूरी विंडो को ढक लेता है, इसलिए अपने होस्ट में सत्यापन से बाहर निकलने का तरीका दें। iframe के चारों ओर बनाए गए कंट्रोल को पेज की थीम और टेक्स्ट दिशा से मिलाने के लिए colorScheme और dir का उपयोग करें। यदि उपयोगकर्ता का कनेक्शन टूट जाता है, तो पेज “No internet connection” स्क्रीन दिखाता है, जो कनेक्शन वापस आने पर अपने आप बंद हो जाती है। यदि उपयोगकर्ता वहाँ Exit Verification चुनता है, तो पेज error: "network_error" के साथ didit:error भेजता है, फिर didit:cancelled। didit:cancelled मिलने पर iframe बंद करें।

मोडल इम्प्लीमेंटेशन

आपके पेज पर ओवरले होने वाले एक परिष्कृत मोडल अनुभव के लिए:

HTML/CSS/JS


React कंपोनेंट

मोडल-आधारित सत्यापन के लिए एक पुन: उपयोग योग्य React कंपोनेंट:

उपयोग


Vue कंपोनेंट


कॉन्फ़िगरेशन

आवश्यक अनुमतियाँ

कैप्चर, लोकेशन, कॉपी और मीडिया संगतता के लिए इस पूरी अनुमति सूची का उपयोग करें:
allow एट्रिब्यूट अनुमतियाँ सौंपता है; यह उपयोगकर्ता के चुनाव या आपके होस्ट पेज के किसी सख़्त Permissions-Policy हेडर को ओवरराइड नहीं करता।

iframe का आकार

सत्यापन प्रवाह अपने iframe के आकार के अनुसार खुद को व्यवस्थित करता है। iframe को उस विंडो के हिसाब से आकार दें जिसमें वह दिखाया जाएगा: मध्यम रेंज के लिए, पहला didit:layout संदेश आने तक 500px गुणा 700px से शुरू करें, उसी ऊँचाई सीमा के साथ। didit:layout उदाहरण तीनों आकार लागू करता है, जिसमें कोई संदेश आने से पहले कंप्यूटर और फ़ोन के आकार भी शामिल हैं।

कंटेंट सिक्योरिटी पॉलिसी (CSP)

यदि आप CSP का उपयोग करते हैं, तो Didit को अपने frame-src डायरेक्टिव में जोड़ें:

क्रॉस-डिवाइस सत्यापन

InContext iframe क्रॉस-डिवाइस सत्यापन को अपने-आप सपोर्ट करता है:
  1. उपयोगकर्ता डेस्कटॉप पर सत्यापन शुरू करता है
  2. यदि कैमरा उपलब्ध नहीं है, तो QR कोड दिखाया जाता है
  3. उपयोगकर्ता मोबाइल पर QR कोड स्कैन करता है
  4. उपयोगकर्ता मोबाइल पर सत्यापन पूरा करता है
  5. डेस्कटॉप का iframe परिणाम के साथ अपने-आप अपडेट हो जाता है
यह अपने-आप होता है, किसी अतिरिक्त कॉन्फ़िगरेशन की ज़रूरत नहीं है।

समस्या निवारण

कैमरा काम नहीं कर रहा

  1. सुनिश्चित करें कि iframe में पूरी अनुमति सूची शामिल है
  2. जाँचें कि आपकी साइट HTTPS पर उपलब्ध है
  3. सत्यापित करें कि उपयोगकर्ता ने आपके डोमेन को कैमरे की अनुमति दी है
  4. यदि iframe में कैमरा एक्सेस विफल हो, तो Redirect विधि आज़माएँ

iframe लोड नहीं हो रहा

  1. कंटेंट सिक्योरिटी पॉलिसी (CSP) से जुड़ी समस्याएँ जाँचें
  2. https://verify.didit.me को अपने frame-src डायरेक्टिव में जोड़ें
  3. ब्राउज़र कंसोल में त्रुटियाँ जाँचें

postMessage प्राप्त नहीं हुआ

  1. सुनिश्चित करें कि आप सही ओरिजिन सुन रहे हैं (https://verify.didit.me, या आपका व्हाइट लेबल डोमेन)
  2. जाँचें कि iframe खोलने से पहले इवेंट लिसनर जोड़ा गया है
  3. इवेंट का नाम और ढाँचा जाँचें: टाइप्स पर प्रीफ़िक्स होता है (didit:completed, verification_complete नहीं), और पेलोड event.data.data के अंदर नेस्टेड होता है

उदाहरण रिपॉज़िटरी

GitHub रिपॉज़िटरी

GitHub पर स्रोत कोड और उदाहरण देखें

अंतिम संशोधन 7 नवंबर 2026