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

# Salesforce पहचान सत्यापन ऐप: KYC और KYB

> Didit का Salesforce managed package: बिना कोड सेटअप के पहचान सत्यापन, KYC और KYB। प्रति पूर्ण KYC जांच $0.33 से, मासिक $10 निःशुल्क, कोई अनुबंध नहीं।

Salesforce Sales Cloud / Service Cloud में अपने managed package के साथ Didit पहचान सत्यापन जोड़ें। यह कंपोनेंट Contact और Lead रिकॉर्ड पेज पर जुड़ता है, आपके org के माध्यम से Apex द्वारा सत्र बनाता है (आपकी Didit API कुंजी Salesforce के भीतर ही रहती है), और परिणाम रिकॉर्ड के मानक फ़ील्ड में वापस लिखता है ताकि Flows और Reports उन पर कार्रवाई कर सकें। एक अंतर्निहित **Invocable Action** Flow Builder को सत्यापन अपने-आप ट्रिगर करने देता है, उदाहरण के लिए जब नया lead बनता है।

## पूर्वापेक्षाएँ

* एक Salesforce org (Enterprise edition या उससे ऊपर; परीक्षण के लिए Developer Edition)
* एक [Didit Console](https://business.didit.me) खाता, जिसमें एक कॉन्फ़िगर किया गया वर्कफ़्लो हो
* Setup में managed packages इंस्टॉल करने और Sites बनाने की अनुमति

***

### चरण 1: ऐप इंस्टॉल करें

नीचे दिया गया लिंक जारी किए गए **DiditVerifyManaged 1.0.0.2** package को इंस्टॉल करता है।
पैकेज इंस्टॉलेशन मार्केटप्लेस लिस्टिंग की मंज़ूरी से अलग है।

1. इंस्टॉल लिंक खोलें: [[https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU](https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU)](https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU)
2. कॉन्फ़िगरेशन और परीक्षण के दौरान **Install for Admins Only** चुनें।
   अपनी कॉन्फ़िगरेशन की पुष्टि करने के बाद इच्छित उपयोगकर्ताओं को एक्सेस दें।

![Salesforce में Didit ऐप इंस्टॉल करें](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/install-package.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=8758cc01110ca562d2e88b7cb76a9ab5)

3. **Install** पर क्लिक करें

***

### चरण 2: अपने Didit क्रेडेंशियल प्राप्त करें

#### API कुंजी प्राप्त करें (API मोड के लिए)

1. [Didit Business Console](https://business.didit.me) में लॉग इन करें
2. बाईं ओर के साइडबार में **API और webhook** पर जाएँ
3. अपनी API कुंजी कॉपी करें

![Didit Business Console से API कुंजी कैसे प्राप्त करें](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-api-key.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=9027ca685cc296a400e78d320a566453)

#### वर्कफ़्लो ID प्राप्त करें

1. Didit Business Console में **वर्कफ़्लो** पर जाएँ
2. वह वर्कफ़्लो चुनें जिसका आप उपयोग करना चाहते हैं (या नया बनाएँ)
3. **वर्कफ़्लो ID** कॉपी करें (एक UUID जैसे `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`)

![Didit Business Console से वर्कफ़्लो ID कैसे प्राप्त करें](https://mintcdn.com/didit-0f962782/gKLcMCmiLycklBol/images/shopify-how-to-get-workflow-id.jpg?fit=max\&auto=format\&n=gKLcMCmiLycklBol\&q=85\&s=529dc681169efc0a6cdc96d6c0e0a605)

***

### चरण 3: Didit सेटिंग्स कॉन्फ़िगर करें

1. ऊपर-बाईं ओर के **App Launcher** (ग्रिड आइकन) पर क्लिक करें और **"Didit"** खोजें

![didit ऐप में प्रवेश करने का तरीका](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/app-launcher-search-didit.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=1a2fb9eee64fa9735b29e4d64a20e56e)

2. **Didit** ऐप खोलें — आप **Didit Settings** टैब पर पहुँचेंगे
3. अपने क्रेडेंशियल और प्राथमिकताएँ भरें:

| फ़ील्ड | विवरण | डिफ़ॉल्ट |
| - | - | - |
| **मोड** | `api` (अनुशंसित) या `unilink` | `api` |
| **Didit API कुंजी** | आपकी Didit API कुंजी (केवल API मोड में) | — |
| **वर्कफ़्लो ID** | आपका Didit वर्कफ़्लो ID (केवल API मोड में) | — |
| **Webhook सीक्रेट** | Didit Console → API और webhook से HMAC सीक्रेट। रीयल-टाइम सत्यापन अपडेट पाने के लिए आवश्यक। अगर खाली छोड़ा गया, तो आने वाले सभी webhook अस्वीकार कर दिए जाएँगे। | — |
| **UniLink URL** | निश्चित सत्यापन URL (केवल UniLink मोड में) | — |
| **डिस्प्ले मोड** | `modal` (पॉपअप) या `embedded` (इनलाइन) | `embedded` |
| **विक्रेता डेटा** | `record_id`, `record_email`, `custom prefix + record id`, या `none` | `record_id` |
| **भाषा** | भाषा कोड (जैसे `en`, `es`, `fr`) | `Auto detect by browser` |
| **संपर्क डेटा अपने-आप भेजें** | रिकॉर्ड के डेटा से सत्यापन की जानकारी पहले से भरें | `true` |
| **बंद बटन दिखाएँ** | मोडल पर X बटन दिखाएँ | `true` |
| **बाहर निकलने की पुष्टि** | मोडल बंद करने से पहले पुष्टि करें | `true` |
| **पूर्ण होने पर अपने-आप बंद करें** | पूरा होने के बाद मोडल अपने-आप बंद करें | `false` |
| **डीबग लॉगिंग** | ब्राउज़र कंसोल लॉगिंग सक्षम करें | `false` |
| **बटन टेक्स्ट** | सत्यापन बटन का लेबल | `Verify Identity` |
| **बटन का सफलता टेक्स्ट** | सत्यापन के बाद का लेबल | `Identity Verified` |
| **बटन रंग** | बटन की पृष्ठभूमि का hex रंग | `#2667ff` |

4. **Save Settings** पर क्लिक करें

### चरण 4: रिकॉर्ड पेज में कंपोनेंट जोड़ें

1. एक **Contact** या **Lead** रिकॉर्ड पर जाएँ

![संपर्क पेज का दृश्य](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/contact-page-1.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=0a5d3676ade4b7d2e4334df2305ae050)

2. **गियर आइकन → Edit Page** पर क्लिक करें (या Setup → Object Manager → Contact/Lead → Lightning Record Pages)

![संपर्क विवरण दृश्य](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/contact-page-2.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=68b8d16948761de61d5ee8a4c5dcc0f2)

3. Lightning App Builder में, Components panel से **Didit Identity Verification** को खींचें

![didit कंपोनेंट को खींचें](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/drag-didit-component.gif?s=f34880744041ffa63271a683a641b3ba)

4. पेज के लिए **सहेजें** पर क्लिक करें और **सक्रिय करें** पर क्लिक करें, सक्रिय करते समय "Assign as Org Default" चुनें, वीडियो देखें:

![didit कंपोनेंट के साथ पेज सहेजें और सक्रिय करें](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/save-and-activate.gif?s=2f9f3fffb2fed482ea524236b5ad910d)

5. ऊपर का उदाहरण Contact रिकॉर्ड पेज दिखाता है — Lead रिकॉर्ड पेज के लिए चरण बिल्कुल वैसे ही हैं।

## How It Works

### API मोड (अनुशंसित)

1. उपयोगकर्ता Contact/Lead रिकॉर्ड पर **Verify Identity** पर क्लिक करता है
2. Apex, Didit API के ज़रिए एक सत्र बनाता है (API कुंजी सर्वर-साइड पर ही रहती है)
3. Didit SDK सत्यापन प्रवाह खोलता है, जो आपकी **Display Mode** सेटिंग के आधार पर मोडल ओवरले या इनलाइन एम्बेडेड दृश्य के रूप में दिखता है
4. पूरा होने पर रिकॉर्ड अपने आप अपडेट हो जाता है:
   * `Verification Status` → सत्र का परिणाम (`Approved`, `Declined`, `In Review` आदि)
   * `Identity Verified` → Approved पर `true`; Declined पर `false`
   * `Verified At` टाइमस्टैम्प और `Didit Session ID`
   * `Verified Document Type`, `Document Expiry Date`, `AML Check Status` (webhook के ज़रिए भरे जाते हैं, नीचे देखें)
5. कंपोनेंट सत्यापित स्थिति, दस्तावेज़ का प्रकार, समाप्ति तिथि और AML परिणाम इनलाइन दिखाता है, और इसके लिए पेज लेआउट कॉन्फ़िगरेशन की ज़रूरत नहीं है

### UniLink मोड

1. उपयोगकर्ता **Verify Identity** पर क्लिक करता है
2. एक निश्चित UniLink URL मोडल या iframe में खुलता है (कोई API कॉल नहीं चाहिए)
3. पूरा होने पर परिणाम रिकॉर्ड में सहेजा जाता है

### स्वचालित सत्यापन अपडेट (Webhooks)

जब कोई सत्यापन सत्र पूरा होता है (चाहे एजेंट पेज देख रहा हो या नहीं), Didit आपके Salesforce org को एक webhook भेजता है, जो Contact/Lead रिकॉर्ड को अपने आप अपडेट करता है। इसके लिए एक बार Salesforce Site सेटअप करना ज़रूरी है।

#### यह क्यों ज़रूरी है?

Salesforce, बिना सार्वजनिक endpoint के, बाहरी सेवाओं से आने वाले HTTP अनुरोध स्वीकार नहीं करता। Salesforce Site यह endpoint बनाती है, ताकि Didit सत्यापन परिणाम सीधे आपके org में रीयल-टाइम में भेज सके।

#### चरण 1: Setup > Sites पर जाएँ

Salesforce में **gear icon > Setup** पर क्लिक करें। Quick Find बॉक्स में **Sites** टाइप करें और **Sites and Domains** के अंतर्गत उस पर क्लिक करें।

![चरण 1 - Sites खोज](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step1-sites-search.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=07d8ca3804316538de6d15b6ccb39caf)

अगर आप पहली बार सेटअप कर रहे हैं, तो **"I have read and accepted the Salesforce Site Terms of Use"** को चेक करें और **Register My Salesforce Site Domain** पर क्लिक करें।

![चरण 1 - पंजीकृत डोमेन वाला Sites पेज](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step1-sites-registered.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=9a89d50c21cfc4911cf707a111f963ad)

#### चरण 2: नई Site बनाएँ

Sites सूची में **New** बटन पर क्लिक करें। इन्हें भरें:

* **Site Label**: `DiditWebhook`
* **Site Name**: अपने आप `DiditWebhook` से भर जाता है
* **Default Web Address**: `didit`
* **Active**: चेक किया हुआ
* **Active Site Home Page**: `InMaintenance`

बाकी सभी फ़ील्ड डिफ़ॉल्ट पर छोड़ दें और **Save** पर क्लिक करें।

![चरण 2 - नई Site फ़ॉर्म](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step2-new-site-form.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=d5869ff430f4050ebde176ff6020c260)

#### चरण 3: जाँचें कि Site बन गई है

सहेजने के बाद आपको Site का विवरण पेज दिखेगा। **Site URL** नोट कर लें, जो कुछ ऐसा दिखेगा: `https://your-org.develop.my.salesforce-sites.com/didit`। यह आपको बाद में चाहिए होगा।

![चरण 3 - Site बन गई](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step3-site-created.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=daa8ed30fedd1369d33abe13828ddb12)

#### चरण 4: webhook क्लास के लिए Guest User एक्सेस दें

Site के विवरण पेज पर **Public Access Settings** पर क्लिक करें। इससे Guest User प्रोफ़ाइल खुलती है। नीचे स्क्रॉल करके **Enabled Apex Class Access** तक जाएँ और **Edit** पर क्लिक करें। Available सूची से **DiditWebhookReceiver** चुनें और उसे Enabled सूची में ले जाने के लिए **Add** पर क्लिक करें। **Save** पर क्लिक करें।

![चरण 4 - Apex Class Access](https://mintcdn.com/didit-0f962782/yCWnhXcnyUBtSh0w/images/salesforce/step4-apex-class-access.png?fit=max\&auto=format\&n=yCWnhXcnyUBtSh0w\&q=85\&s=8bcfbece75a5a7864e8e1ab8fc07db9d)

#### चरण 5: Didit Console में webhook कॉन्फ़िगर करें

1. [business.didit.me](https://business.didit.me) > **API & Webhooks** पर जाएँ
2. अपना **Webhook URL** सेट करें: `https://your-org.develop.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/`

> **नोट:** सटीक डोमेन फ़ॉर्मेट आपके org प्रकार पर निर्भर करता है। Developer Edition orgs के URL में `.develop` शामिल होता है। Production orgs के लिए URL है `https://your-org.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/`। पक्का करने के लिए हमेशा अपने Site विवरण पेज (चरण 3) से URL कॉपी करें।

3. **Webhook गुप्त कुंजी** कॉपी करें
4. Salesforce में **Didit Settings** पर जाएँ और सीक्रेट को **Webhook Secret** फ़ील्ड में चिपकाएँ
5. **Save Settings** पर क्लिक करें

बस इतना ही। अब से हर सत्यापन परिणाम अपने आप Contact/Lead रिकॉर्ड को अपडेट करेगा, भले ही कोई Salesforce पेज खुला न हो।

#### webhook क्या सहेजता है

जब Didit webhook भेजता है, तो Contact या Lead अपने आप अपडेट हो जाता है।

**हमेशा अपडेट होते हैं, वर्कफ़्लो के प्रकार की परवाह किए बिना:**

| फ़ील्ड | इसमें क्या संग्रहीत होता है |
| - | - |
| **Verification Status** | `Approved`, `Declined`, `In Review`, `In Progress`, `Abandoned` |
| **Identity Verified** | Approved पर `true`; Declined या Abandoned पर `false` |
| **Verified At** | Approved परिणाम का टाइमस्टैम्प |
| **Didit Session ID** | सत्र UUID |

**केवल तब अपडेट होते हैं जब वह सुविधा आपके वर्कफ़्लो का हिस्सा हो:**

| फ़ील्ड | इसके लिए आवश्यक |
| - | - |
| **Verified Document Type** | आपके वर्कफ़्लो में पहचान सत्यापन |
| **Document Expiry Date** | आपके वर्कफ़्लो में पहचान सत्यापन |
| **AML Check Status** | आपके वर्कफ़्लो में AML स्क्रीनिंग |
| **Verification Decline Reasons** | आपके वर्कफ़्लो में पहचान सत्यापन |

अगर कोई सुविधा आपके Didit वर्कफ़्लो में सक्षम नहीं है, तो संबंधित फ़ील्ड बस खाली छोड़ दिए जाते हैं, कुछ भी टूटता नहीं है।

हर सत्र के लिए एक **Didit Verification** चाइल्ड रिकॉर्ड (`Didit_Verification__c`) भी बनता है, जो अतिरिक्त विवरण (दस्तावेज़ नंबर, जारीकर्ता देश, दस्तावेज़ पर नाम, जन्म तिथि, चेहरा मिलान स्कोर, लाइवनेस स्कोर, AML हिट संख्या) के साथ पूरा ऑडिट ट्रेल देता है। यह अतिरिक्त विवरण भी केवल वर्कफ़्लो में शामिल सुविधाओं के लिए उपलब्ध होता है।

इतिहास देखने के लिए आप **Didit Verifications** संबंधित सूची को अपने Contact/Lead पेज लेआउट में जोड़ सकते हैं।

### फ़्लो ऑटोमेशन (इनवोकेबल एक्शन)

प्लगइन में एक Invocable Apex एक्शन शामिल है, जिसे Salesforce Flows सत्यापन को अपने आप शुरू करने के लिए कॉल कर सकते हैं:

1. Flow Builder में एक **Action** एलिमेंट जोड़ें
2. **"Create Didit Verification Session"** खोजें
3. एक Contact या Lead रिकॉर्ड ID पास करें
4. एक्शन `url`, `sessionId`, `success` और `error` लौटाता है
5. लिंक को ग्राहक तक पहुँचाने के लिए URL का उपयोग **Send Email** या **Send Notification** एक्शन में करें

**उपयोग के उदाहरण:**

* **Lead बनने पर** : हर नए lead को अपने आप सत्यापन लिंक भेजें
* **दस्तावेज़ समाप्ति निगरानी** : एक Scheduled Flow बनाएँ जो रोज़ चले, वे सभी Contacts खोजे जहाँ `Document Expiry Date ≤ TODAY + 90 days` हो, और पुनः सत्यापन लिंक भेजे। यह webhook द्वारा भरे गए `Document Expiry Date` फ़ील्ड का उपयोग करके सीधे काम करता है

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

### बटन पर क्लिक करने पर कुछ नहीं होता

* सुनिश्चित करें कि आपने **Didit Settings** में अपनी API कुंजी और Workflow ID सहेजी हैं
* जाँचें कि Workflow ID उसी एप्लिकेशन का है जिसकी API कुंजी आप उपयोग कर रहे हैं
* **Didit Settings** में **Debug Logging** सक्षम करें और त्रुटियों के लिए ब्राउज़र कंसोल जाँचें

### Didit API से गैर-JSON प्रतिक्रिया प्राप्त हुई

* पुष्टि करें कि `https://verification.didit.me` के लिए Remote Site Setting सक्रिय है: Setup → Remote Site Settings
* [Didit Business Console](https://business.didit.me) में जाँचें कि आपकी API कुंजी मान्य है और उसकी समय-सीमा समाप्त नहीं हुई है

### Webhook 401 लौटाता है: "Webhook secret not configured"

* **Didit Settings** पर जाएँ, Didit Console → API & Webhooks से कॉपी की गई अपनी Webhook Secret Key को **Webhook Secret** फ़ील्ड में चिपकाएँ, फिर **Save Settings** पर क्लिक करें

### Webhook 401 लौटाता है: "Invalid signature" या "Request timestamp is stale"

* अमान्य हस्ताक्षर: सुनिश्चित करें कि **Didit Settings** में Webhook Secret, Didit Console में दिए गए Secret से बिल्कुल मेल खाता है, उसमें कोई अतिरिक्त स्पेस या अक्षर न हो
* पुराना टाइमस्टैम्प: webhooks को भेजे जाने के 5 मिनट के भीतर पहुँचना आवश्यक है। यदि आपकी Salesforce org की घड़ी सिंक से बाहर है, तो इससे फ़ॉल्स पॉज़िटिव आ सकते हैं, लेकिन यह बहुत दुर्लभ है

### सत्यापन विंडो नहीं खुलती (ब्राउज़र कंसोल में CSP त्रुटि)

* `https://verify.didit.me` के लिए CSP Trusted Site managed package में शामिल है और अपने-आप डिप्लॉय हो जाती है। यदि आप source से डिप्लॉय कर रहे हैं, तो सुनिश्चित करें कि आपके डिप्लॉयमेंट में `cspTrustedSites/Didit_Verify_Frontend.cspTrustedSite-meta.xml` शामिल है

## सहायता (24/7)

हमारी टीम आपको शुरुआत करने में मदद के लिए उपलब्ध है।

> [card] [ईमेल](mailto:hello@didit.me)
>
> [hello@didit.me](mailto:hello@didit.me) पर हमें ईमेल भेजें।


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