انتقل إلى المحتوى الرئيسي
ShieldID

Webhooks والتكاملات

Webhooks للتحقق من الهوية، وصفحة مستضافة، وأداة (widget).

أرسل المتقدم إلى صفحة تحقق مستضافة أو أدرج الأداة في مسارك الخاص، واحصل على webhook موقّع لحظة وصول النتيجة، ودع أي شخص يملك الرابط يؤكدها في صفحة عامة للتحقق من الاعتماد. تكامل KYC API مصمَّم ليبدأ العمل في ظهيرة واحدة.

  • استدعاءات موقّعة بـ HMAC-SHA256
  • نقل عبر QR من الحاسوب إلى الهاتف
  • جلسات sandbox لا تُحتسب عليك أبدًا

صفحة التحقق المستضافة

رابط واحد يتولى المسار كاملًا.

أنشئ جلسة عبر API وستحصل على عنوان URL للتحقق. أرسله بالبريد الإلكتروني أو رسالة نصية أو داخل تطبيقك، وستتولى الصفحة الباقي.

سطح المكتب

يفتح مقدم الطلب الرابط على مكتبه.

التحويل عبر رمز QR

تعرض الصفحة رمز QR وبطاقة تعليمات موجزة.

الالتقاط عبر الهاتف

يؤدي مسحه إلى تحويل الجلسة نفسها إلى التقاط المستند وصورة السيلفي.

تم التحقق

تصل الجلسة إلى VERIFIED، وهو لا يزال على الهاتف.

العودة إليك

إعادة توجيه إلى عنوان العودة الخاص بك، مع webhook موقّع، في الحالتين.

يعمل مثل إعادة التوجيه في الدفع

يصل مقدّم الطلب إلى صفحة على عنوان URL الخاص بجلستك. دون حساب ودون تثبيت أي تطبيق.

الانتقال عبر QR من سطح المكتب إلى الهاتف

عند فتحها على سطح المكتب، تعرض الصفحة رمز QR وبطاقة تعليمات موجزة بدلًا من طلب الوصول إلى الكاميرا. ومسح الرمز يفتح الرابط نفسه على الهاتف، فينتقل مباشرة إلى التقاط المستند والصورة الذاتية.

يعود إليك ومعه الإجابة

بمجرد وصول الجلسة إلى VERIFIED، تعيد الصفحة التوجيه إلى عنوان URL للعودة الخاص بك مع إلحاق معرّف الجلسة والحالة، فيعرف تطبيقك ما حدث دون انتظار أي شيء آخر.

بعلامتك التجارية، في الخطط المؤهلة

اسم شركتك وشعارها ولون التمييز وروابط الشروط والخصوصية، مطبقة على الصفحة المستضافة وصفحة التحقق من بيانات الاعتماد.

Webhooks

استدعاء موقّع لحظة صدور النتيجة.

زوّدنا بعنوان URL لـ webhook عند إنشاء الجلسة وسنرسل النتيجة إليه فور انتهاء الجلسة، دون حاجة إلى الاستعلام الدوري.

موقّع، لا مجرد مُرسَل

يحمل كل تسليم ترويسة X-Bio-Signature: وهي HMAC-SHA256 لجسم الطلب، لتتمكن من إثبات أنه صادر عنا قبل أن تثق به.

يُعاد الإرسال، لا إرسال ثم نسيان

يُعاد إرسال التسليم الفاشل ثلاث مرات، مع انتظار أطول قبل كل محاولة.

تُسجَّل كل محاولة

نجحت المحاولة أم فشلت، نحتفظ بسجل لها لدينا.

قريبًا سجل التسليم داخل البوابة، الذي تستطيع من خلاله الاطلاع على كل محاولة بنفسك، سيتوفر قريبًا.

اعتبر أحدث VERIFIED هو الحقيقة

تعني إعادة المحاولات أن التسليم قد يصل في حالات نادرة بترتيب مختلف. لا تبنِ منطقك على استلام webhook أصلًا، بل ابنه على معرّف الجلسة، ودع VERIFIED اللاحقة تستبدل السابقة. وإذا كنت تحتفظ بحالتك الخاصة، فأزل التكرار بحسب معرّف الجلسة لا بحسب استلام الـ webhook.

تحقّق من التوقيع

تحقق من البيانات قبل أن تتصرف بناءً عليها.

أعد حساب HMAC-SHA256 على المحتوى الخام للطلب وقارنه بالقيمة في X-Bio-Signature قبل أن تحلل أي شيء.

javascript
const crypto = require("crypto");

function verifySignature(rawBody, signatureHeader, secret) {
  const expected = crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
  const a = Buffer.from(expected, "hex");
  const b = Buffer.from(signatureHeader || "", "hex");
  return a.length === b.length && crypto.timingSafeEqual(a, b);
}

// Read the raw body — don't let a JSON body-parser touch it first.
app.post("/hooks/shieldid", express.raw({ type: "application/json" }), (req, res) => {
  const signature = req.header("X-Bio-Signature") || "";
  if (!verifySignature(req.body, signature, process.env.SHIELDID_WEBHOOK_SECRET)) {
    return res.status(401).send("invalid signature");
  }
  const event = JSON.parse(req.body);
  // Treat the latest VERIFIED status as authoritative; de-duplicate by session_id.
  res.status(200).send("ok");
});

أداة JS

المسار المستضاف، مدمجًا في صفحتك.

تنشئ الأداة جلسة وتعرض المسار المستضاف نفسه داخل الصفحة في iframe، فلا يغادر مقدّمو الطلبات موقعك.

  • تُعرض في iframe مع إتاحة الوصول إلى الكاميرا والميكروفون، وبحجم يناسب حاويتها.
  • يقرأ حالة الجلسة بالطريقة نفسها التي تقرؤها بها الصفحة المستضافة: عبر عنوان العودة (return URL) وwebhook الخاص بك، بمجرد انتهاء الجلسة.

قريبًا استدعاءات الإكمال داخل الصفحة (onComplete وonCancel وonStep وتغيير الحجم التلقائي) قادمة قريبًا. وإلى ذلك الحين، استخدم return_url وwebhooks لمعرفة وقت انتهاء الجلسة — فهي تعمل اليوم.

قبل أن تنقل هذا إلى بيئة الإنتاج

تقبل الأداة حاليًا مفتاح API مباشرة في المتصفح. اعتبر ذلك تسهيلًا لبيئة sandbox وليس نمطًا للإنتاج: أنشئ الجلسة من الخادم الخلفي لديك مع إبقاء مفتاحك على جهة الخادم، ولا تمرّر إلى الأداة إلا الجلسة الناتجة، وليس أبدًا مفتاحًا فعليًا يستطيع متصفح الزائر قراءته.

html
<script src="https://cdn.shieldid.ca/sdk/v1/widget.js"></script>
<div id="shieldid-verify"></div>
<script>
  TLVerify.init({
    apiKey: "vk_sand_your_key", // sandbox only — see the note above for production
    containerId: "shieldid-verify",
    returnUrl: "https://yourapp.example/verified",
    webhookUrl: "https://yourapp.example/hooks/shieldid",
    locale: "en",
  });
</script>

صفحة التحقق من الاعتماد

صفحة عامة لجلسة تم التحقق منها.

بمجرد وصول الجلسة إلى VERIFIED، يعرض رابط التحقق من الاعتماد الخاص بها تأكيدًا بلغة واضحة: اسم المتقدم ونوع الوثيقة والحالة. ويمكن لأي شخص يملك الرابط — شريك في التوقيع أو موظف استقبال أو طرف مقابل — تأكيد النتيجة دون تسجيل الدخول إلى لوحة التحكم لديك.

Jordan Reyes

بيانات نموذجية

رخصة قيادة أونتاريو

تم التحقق

  • لا يلزم تسجيل الدخول لعرضها.
  • لا تظهر عليها أبدًا صورة هوية خام ولا درجة ثقة — حالة وهوية فقط، لا أكثر.
  • بعلامتك التجارية على غرار الصفحة المستضافة، ضمن الخطط المؤهلة.

أنماط التكامل

كيف تربط ستة أنواع من الأعمال هذا كله.

اللبنات الأساسية هي نفسها في كل مكان: جلسة، ورابط أو أداة، وwebhook. أما النمط الأنسب فيختلف بحسب كيفية احتياجك للإجابة ومتى.

التأجير وإدارة العقارات

أرسل الرابط المستضاف في البريد الإلكتروني نفسه الذي يحمل طلب الإيجار. يحوّل webhook المتقدم إلى «تم التحقق» في نظامك قبل أن تراجع الملف.

القانون ومكاتب المحاماة

أرسل الرابط أثناء استقبال العميل واحفظ إشعار webhook مع الملف، بحيث يكون التعرّف على هوية العميل مسجَّلًا قبل بدء عقد الأتعاب.

شركات الكوندو

أضف رابطًا من نموذج تسجيل المالك أو المستأجر الذي يستخدمه المجلس أصلًا؛ وتصل النتيجة قبل إضافة الوحدة إلى السجل.

التقنية المالية والإقراض

يُشغّل webhook خطوة التقييم الائتماني لديك تلقائيًا، فلا ينتظر المتقدم أبدًا أن ينتبه شخص إلى وصول النتيجة.

الأسواق الإلكترونية ومنصات العمل الحر

ضمّن الأداة في مسار تسجيل البائعين أو السائقين للحصول على تجربة لا يغادر فيها المستخدم تطبيقك، وأنشئ الجلسة من الخادم الخلفي لديك كما هو موصى به أعلاه.

E-signature

شغّل المسار المستضاف قبل بدء مراسم التوقيع، واربط تسليم المستندات بالـ webhook وليس بإفادة مقدّم الطلب نفسه.

أسئلة

إجابات مباشرة عن التكامل.

ابدأ الآن

اربط webhook وشاهده يعمل.

أنشئ جلسة sandbox مع عنوان URL لـ webhook، وأجرِ عملية تحقق على هاتفك، واقرأ الاستدعاء الموقّع الذي يُرسَل.