پرش به محتوای اصلی
ShieldID

وب‌هوک‌ها و یکپارچه‌سازی‌ها

وب‌هوک‌های تأیید هویت، یک صفحهٔ میزبانی‌شده و یک ویجت.

متقاضی را به یک صفحهٔ تأیید هویت میزبانی‌شده بفرستید یا ویجت را در جریان خودتان قرار دهید، لحظه‌ای که نتیجه آماده شد یک وب‌هوک امضاشده دریافت کنید، و بگذارید هر کسی با پیوند، آن را در یک صفحهٔ عمومی بررسی اعتبار تأیید کند. یکپارچه‌سازی KYC API که برای راه‌اندازی در یک بعدازظهر ساخته شده است.

  • فراخوان‌های بازگشتی امضاشده با HMAC-SHA256
  • انتقال با QR از دسکتاپ به تلفن همراه
  • جلسه‌های sandbox هرگز صورتحساب نمی‌شوند

صفحهٔ تأیید هویت میزبانی‌شده

یک پیوند، کل جریان را انجام می‌دهد.

از طریق API یک نشست ایجاد کنید و یک نشانی راستی‌آزمایی دریافت می‌کنید. آن را با ایمیل، پیامک یا در برنامهٔ خودتان ارسال کنید — بقیه را صفحه انجام می‌دهد.

رایانهٔ رومیزی

متقاضی پیوند را پشت میز کار خود باز می‌کند.

انتقال با کد QR

صفحه یک کد QR و یک کارت راهنمای کوتاه نشان می‌دهد.

ثبت با تلفن

با اسکن آن، همان نشست به مرحلهٔ ثبت سند و سلفی منتقل می‌شود.

تأییدشده

نشست به VERIFIED می‌رسد، همچنان روی تلفن.

بازگشت به شما

در هر دو حالت، بازگشت به نشانی بازگشت شما و یک webhook امضاشده.

مانند تغییر مسیر پرداخت عمل می‌کند

متقاضی در صفحه‌ای با نشانی اختصاصی نشست شما وارد می‌شود. بدون حساب کاربری و بدون نیاز به نصب برنامه.

انتقال با QR، از دسکتاپ به تلفن

وقتی روی دسکتاپ باز شود، به‌جای درخواست دسترسی به دوربین، صفحه یک کد QR و یک کارت راهنمای کوتاه نشان می‌دهد. اسکن آن همان پیوند را روی تلفن باز می‌کند و مستقیماً به ثبت مدرک و سلفی می‌رود.

با پاسخ، به شما بازمی‌گردد

پس از آنکه نشست به VERIFIED برسد، صفحه به نشانی بازگشت شما هدایت می‌شود و شناسه و وضعیت نشست به آن افزوده می‌شود تا برنامهٔ شما بدون انتظار برای چیز دیگری بداند چه رخ داده است.

با برند شما، در طرح‌های واجد شرایط

نام شرکت، لوگو، رنگ تأکیدی و پیوندهای شرایط و حریم خصوصی شما، که روی صفحه میزبانی‌شده و صفحه بررسی اعتبارنامه اعمال می‌شود.

وب‌هوک‌ها

یک callback امضاشده، در لحظهٔ آماده شدن نتیجه.

هنگام ایجاد نشست یک نشانی وب‌هوک به ما بدهید تا به محض پایان نشست، نتیجه را به آن ارسال کنیم، بدون نیاز به poll کردن.

امضاشده، نه فقط ارسال‌شده

هر ارسال یک هدر X-Bio-Signature دارد: یک HMAC-SHA256 از بدنهٔ درخواست، تا پیش از اعتماد بتوانید ثابت کنید از طرف ما آمده است.

با تلاش مجدد، نه ارسال و فراموشی

ارسالی که ناموفق باشد سه بار دوباره تلاش می‌شود و پیش از هر تلاش، زمان انتظار طولانی‌تر می‌شود.

هر تلاش ثبت می‌شود

چه موفق چه ناموفق، سابقهٔ تلاش را در سمت خودمان نگه می‌داریم.

به‌زودی گزارش ارسال داخل پرتال، تا خودتان هر تلاش را ببینید، به‌زودی ارائه می‌شود.

آخرین VERIFIED را حقیقت بدانید

تلاش‌های مجدد یعنی ممکن است در موارد نادر ارسالی با ترتیب نادرست برسد. منطق خود را اصلاً بر دریافت وب‌هوک استوار نکنید — آن را بر شناسهٔ نشست استوار کنید و بگذارید VERIFIED بعدی جایگزین قبلی شود. اگر وضعیت خودتان را نگه می‌دارید، تکراری‌ها را بر اساس شناسهٔ نشست حذف کنید، نه بر اساس دریافت وب‌هوک.

بررسی امضا

پیش از اقدام، به محتوای ارسالی اعتماد کنید.

پیش از پردازش هر چیزی، 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 با دسترسی به دوربین و میکروفون نمایش داده می‌شود و اندازهٔ آن با محفظه‌اش تنظیم می‌شود.
  • وضعیت جلسه را همانند صفحهٔ میزبانی‌شده می‌خواند: از طریق نشانی بازگشت و وب‌هوک شما، پس از پایان جلسه.

به‌زودی فراخوان‌های بازگشتی (callback) تکمیل درون‌صفحه (onComplete، onCancel، onStep، تغییر اندازهٔ خودکار) به‌زودی ارائه می‌شوند. تا آن زمان از return_url و وب‌هوک‌ها استفاده کنید تا بفهمید جلسه کی پایان می‌یابد — این‌ها همین امروز کار می‌کنند.

پیش از انتقال به محیط عملیاتی

ویجت در حال حاضر کلید 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

داده‌های نمونه

گواهینامهٔ رانندگی انتاریو

تأییدشده

  • برای مشاهدهٔ آن نیازی به ورود نیست.
  • هیچ تصویر خام مدرک و هیچ امتیاز اطمینانی هرگز در آن نمایش داده نمی‌شود — فقط یک وضعیت و هویت، نه چیزی بیشتر.
  • در طرح‌های واجد شرایط، با همان برندسازی صفحهٔ میزبانی‌شده.

الگوهای یکپارچه‌سازی

اینکه شش نوع کسب‌وکار این را چگونه پیاده می‌کنند.

اجزای سازنده همه‌جا یکسان است: یک جلسه، یک پیوند یا ویجت، یک وب‌هوک. الگوی مناسب بسته به اینکه چگونه و چه زمانی به پاسخ نیاز دارید تغییر می‌کند.

اجاره و مدیریت ملک

پیوند میزبانی‌شده را در همان ایمیل درخواست اجاره بفرستید. وب‌هوک پیش از آنکه پرونده را بررسی کنید، متقاضی را در سیستم شما به «تأییدشده» تبدیل می‌کند.

حقوقی و دفاتر حقوقی

پیوند را هنگام پذیرش موکل بفرستید و رسید وب‌هوک را همراه پرونده نگه دارید، تا شناسایی موکل پیش از آغاز قرارداد وکالت ثبت شده باشد.

شرکت‌های کاندومینیوم

از فرم ثبت‌نام مالک یا مستأجر که هیئت‌مدیره همین حالا استفاده می‌کند پیوند بدهید؛ نتیجه پیش از افزوده‌شدن واحد به فهرست می‌رسد.

فین‌تک و وام‌دهی

وب‌هوک به‌طور خودکار مرحلهٔ پذیره‌نویسی شما را فعال می‌کند، تا متقاضی هرگز منتظر نماند که کسی متوجه رسیدن نتیجه شود.

بازارچه‌ها و پلتفرم‌های کار آزاد

ویجت را در فرایند آشناسازی (onboarding) فروشندگان یا رانندگان جاسازی کنید تا جریان کار هرگز از برنامهٔ شما خارج نشود؛ نشست را همان‌طور که در بالا توصیه شد، از بک‌اند خود ایجاد کنید.

E-signature

جریان میزبانی‌شده را پیش از آغاز مراسم امضا اجرا کنید و انتشار اسناد را به وب‌هوک مشروط کنید، نه به اظهار خود متقاضی.

پرسش‌ها

پاسخ‌های صریح دربارهٔ یکپارچه‌سازی.

شروع کنید

یک وب‌هوک راه بیندازید. اجرای آن را تماشا کنید.

یک نشست sandbox با نشانی وب‌هوک ایجاد کنید، یک راستی‌آزمایی روی تلفن خودتان اجرا کنید و callback امضاشده‌ای را که ارسال می‌شود بخوانید.