المتطلبات الأساسية
- مؤسسة Salesforce (إصدار Enterprise أو أعلى؛ أو إصدار Developer للاختبار)
- حساب في Didit Console مع سير عمل مُهيَّأ
- صلاحية تثبيت الحزم المُدارة وإنشاء Sites في Setup
الخطوة 1: تثبيت التطبيق
يثبّت الرابط أدناه الحزمة المنشورة DiditVerifyManaged 1.0.0.2. تثبيت الحزمة منفصل عن الموافقة على إدراج التطبيق في السوق.- افتح رابط التثبيت: https://login.salesforce.com/packaging/installPackage.apexp?p0=04td10000004M0LAAU
- اختر Install for Admins Only أثناء تهيئة التكامل واختباره. امنح الوصول للمستخدمين المقصودين بعد التحقق من إعداداتك.

- انقر على Install
الخطوة 2: احصل على بيانات اعتماد Didit
احصل على مفتاح API (لوضع API)
- سجّل الدخول إلى Didit Business Console
- انتقل إلى API & Webhooks في الشريط الجانبي الأيسر
- انسخ مفتاح API الخاص بك

احصل على مُعرّف سير العمل
- في Didit Business Console، انتقل إلى Workflows
- اختر سير العمل الذي تريد استخدامه (أو أنشئ واحداً جديداً)
- انسخ Workflow ID (وهو UUID بالشكل
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx)

الخطوة 3: هيّئ إعدادات Didit
- انقر على App Launcher (أيقونة الشبكة في أعلى اليسار) وابحث عن “Didit”

- افتح تطبيق Didit، وستصل مباشرة إلى علامة التبويب Didit Settings
- أدخل بيانات الاعتماد والتفضيلات الخاصة بك:
- انقر على Save Settings
الخطوة 4: أضف المكوّن إلى صفحات السجلات
- انتقل إلى سجل Contact أو Lead

- انقر على أيقونة الترس → Edit Page (أو Setup → Object Manager → Contact/Lead → Lightning Record Pages)

- في Lightning App Builder، اسحب Didit Identity Verification من لوحة المكوّنات

- انقر على Save ثم Activate للصفحة، واختر “Assign as Org Default” عند التفعيل، وشاهد الفيديو:

- يستخدم المثال أعلاه صفحة سجل Contact، والخطوات نفسها تنطبق على صفحات سجلات Lead.
كيفية العمل
وضع API (موصى به)
- يضغط المستخدم على Verify Identity في سجل Contact/Lead
- ينشئ Apex جلسة عبر Didit API (يبقى مفتاح API على الخادم)
- يفتح Didit SDK مسار التحقق، إما كطبقة منبثقة أو كعرض مدمج داخل الصفحة، وذلك حسب إعداد Display Mode لديك
- عند الانتهاء، يُحدَّث السجل تلقائياً:
Verification Status← نتيجة الجلسة (Approved،Declined،In Review، وغيرها)Identity Verified←trueعند Approved؛ وfalseعند Declined- الطابع الزمني
Verified AtوDidit Session ID Verified Document TypeوDocument Expiry DateوAML Check Status(تُملأ عبر webhook، انظر أدناه)
- يعرض المكوّن حالة التحقق ونوع المستند وتاريخ الانتهاء ونتيجة AML مباشرة داخل الصفحة، دون الحاجة إلى أي إعداد لتخطيط الصفحة
وضع UniLink
- يضغط المستخدم على Verify Identity
- يُفتح رابط UniLink ثابت في نافذة منبثقة أو في iframe (لا حاجة إلى استدعاء API)
- عند الانتهاء، تُحفظ النتيجة في السجل
التحديثات التلقائية للتحقق (Webhooks)
عند اكتمال جلسة التحقق (سواء كان الوكيل يتابع الصفحة أم لا)، يرسل Didit webhook إلى مؤسسة Salesforce الخاصة بك لتحديث سجل Contact/Lead تلقائياً. يتطلب ذلك إعداد Salesforce Site مرة واحدة.لماذا يلزم هذا؟
لا تقبل Salesforce طلبات HTTP واردة من خدمات خارجية دون endpoint عام. ينشئ Salesforce Site هذا الـendpoint حتى يتمكن Didit من دفع نتائج التحقق مباشرة إلى مؤسستك في الوقت الفعلي.الخطوة 1: انتقل إلى Setup > Sites
في Salesforce، انقر على أيقونة الترس > Setup. في مربع Quick Find، اكتب Sites وانقر عليه ضمن Sites and Domains.

الخطوة 2: إنشاء Site جديد
انقر على زر جديد في قائمة Sites. املأ الحقول التالية:- Site Label:
DiditWebhook - Site Name: يُملأ تلقائياً بالقيمة
DiditWebhook - Default Web Address:
didit - Active: محدَّد
- Active Site Home Page:
InMaintenance

الخطوة 3: تحقق من إنشاء Site
بعد الحفظ، ستظهر صفحة تفاصيل Site. دوِّن Site URL، وسيبدو على النحو التاليhttps://your-org.develop.my.salesforce-sites.com/didit. ستحتاج إليه لاحقاً.

الخطوة 4: امنح Guest User صلاحية الوصول إلى فئة webhook
في صفحة تفاصيل Site، انقر على Public Access Settings. يفتح هذا ملف تعريف Guest User. مرّر إلى الأسفل حتى Enabled Apex Class Access وانقر على تعديل. حدِّد DiditWebhookReceiver من قائمة Available وانقر على إضافة لنقلها إلى قائمة Enabled. انقر على حفظ.
الخطوة 5: اضبط webhook في وحدة تحكم Didit
- انتقل إلى business.didit.me > API وwebhook
- اضبط رابط Webhook على:
https://your-org.develop.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/
ملاحظة: تعتمد تنسيق النطاق الدقيق على نوع مؤسستك. تتضمن مؤسسات Developer Edition النطاق.developفي الرابط. أما مؤسسات الإنتاج فتستخدمhttps://your-org.my.salesforce-sites.com/didit/services/apexrest/didit/webhook/. انسخ الرابط دائماً من صفحة تفاصيل Site (الخطوة 3) للتأكد.
- انسخ المفتاح السري لـ webhook
- في Salesforce، انتقل إلى Didit Settings والصق السر في حقل Webhook Secret
- انقر على Save Settings
ما الذي يحفظه webhook
عندما يرسل Didit webhook، يُحدَّث سجل Contact أو Lead تلقائياً. يُحدَّث دائماً، بغض النظر عن نوع سير العمل:
يُحدَّث فقط عند تضمين الميزة في سير العمل:
إذا لم تكن الميزة مفعّلة في سير عمل Didit لديك، فستبقى الحقول المقابلة فارغة ببساطة، ولن يتعطل أي شيء.
كما يُنشأ سجل فرعي Didit Verification (
Didit_Verification__c) لكل جلسة، ليمنحك سجل التدقيق كاملاً مع تفاصيل إضافية (رقم المستند، ودولة الإصدار، والاسم الوارد في المستند، وتاريخ الميلاد، ودرجة مطابقة الوجه، ودرجة كشف الحيوية، وعدد تطابقات AML)، وذلك أيضاً فقط للميزات المضمّنة في سير العمل.
يمكنك إضافة القائمة المرتبطة Didit Verifications إلى تخطيط صفحة Contact/Lead لعرض السجل.
أتمتة Flow (إجراء Invocable)
تتضمن الإضافة إجراء Invocable Apex يمكن لـ Salesforce Flows استدعاؤه لتشغيل التحقق تلقائياً:- في Flow Builder، أضف عنصر الإجراء
- ابحث عن “Create Didit Verification Session”
- مرّر معرّف سجل Contact أو Lead
- يعيد الإجراء القيم
urlوsessionIdوsuccessوerror - استخدم الرابط في إجراء Send Email أو Send Notification لإرساله إلى العميل
- عند إنشاء Lead: أرسل تلقائياً رابط التحقق إلى كل Lead جديد
- مراقبة انتهاء صلاحية المستند: أنشئ Scheduled Flow يعمل يومياً، ويعثر على جميع سجلات Contact حيث تكون
Document Expiry Date ≤ TODAY + 90 days، ثم يرسل رابط إعادة التحقق. يعمل هذا مباشرة باستخدام الحقلDocument Expiry Dateالذي يملؤه webhook.
استكشاف الأخطاء وإصلاحها
الزر لا يستجيب عند النقر
- تأكد من أنك حفظت مفتاح API ومعرّف سير العمل (Workflow ID) في إعدادات Didit
- تحقق من أن معرّف سير العمل ينتمي إلى التطبيق نفسه الذي يخص مفتاح API
- فعّل Debug Logging في إعدادات Didit، ثم تحقق من وحدة تحكم المتصفح بحثاً عن الأخطاء
”رد غير بصيغة JSON من Didit API”
- تحقق من أن Remote Site Setting الخاص بالعنوان
https://verification.didit.meمفعّل: Setup → Remote Site Settings - تحقق من أن مفتاح API صالح ولم تنتهِ صلاحيته في Didit Business Console
يعيد Webhook الاستجابة 401 — “Webhook secret not configured”
- انتقل إلى Didit Settings والصق مفتاح webhook السري (المنسوخ من Didit Console → API & Webhooks) في حقل Webhook Secret، ثم انقر Save Settings
يعيد Webhook الاستجابة 401 — “Invalid signature” أو “Request timestamp is stale”
- التوقيع غير صالح: تأكد من أن Webhook Secret في Didit Settings يطابق تماماً المفتاح الموجود في Didit Console، دون مسافات أو أحرف إضافية
- الطابع الزمني قديم: يجب أن تصل webhook خلال 5 دقائق من إرسالها. إذا كانت ساعة مؤسسة Salesforce غير متزامنة، فقد يؤدي ذلك إلى إيجابيات كاذبة، لكن هذا نادر جداً
نافذة التحقق لا تفتح (خطأ CSP في وحدة تحكم المتصفح)
- الـCSP Trusted Site الخاص بالعنوان
https://verify.didit.meمضمّن في الحزمة المُدارة ويُنشر تلقائياً. إذا كنت تنشر من المصدر مباشرة، فتأكد من تضمينcspTrustedSites/Didit_Verify_Frontend.cspTrustedSite-meta.xmlفي عملية النشر
الدعم (24/7)
فريقنا متاح لمساعدتك على البدء في استخدام الخدمة وتشغيلها.البريد الإلكتروني
أرسل لنا بريداً إلكترونياً على hello@didit.me.