无需 SDK 的方式
托管页面无需 SDK,适用于任何平台。
POST /v1/sessions 会返回一个 verification_url。您可以用产品现有的任何发送链接的方式将其发给申请人——电子邮件、短信、应用内跳转、屏幕上的二维码——ShieldID 会在申请人自己的手机上处理拍摄、活体检测挑战和自拍。
- 适用于网页应用、原生应用的系统浏览器或 WebView、电子邮件链接或自助终端二维码——无需安装任何内容
- 符合条件的套餐支持白标品牌定制,让用户不会感觉被转到了第三方
- 结果通过 return_url 重定向和已签名的 webhook 送达——无需配置客户端回调
网页小组件
将流程嵌入您自己的页面。
一小段脚本,可在您页面上的 iframe 中呈现托管的验证流程,而不是将申请人带离您的页面。
目前可用的功能
- TLVerify.init({ apiKey, containerId, returnUrl, cancelUrl, webhookUrl, locale, theme }) 会创建会话,并将其挂载到您选择的元素中
- 在您的页面布局内运行与托管页面完全相同的采集流程,并使用您的 accentColor 和徽标
- 目前已可用于创建会话并以内嵌方式显示流程
完成回调
即将推出onComplete、onCancel、onStep 以及 iframe 自动调整大小都属于小组件接口的一部分,但流程内部目前还不会触发它们。请不要构建依赖这些回调触发的逻辑——请改用返回 URL 和 webhook,这两种方式目前均可正常使用。
关于在浏览器中使用 API 密钥的说明
小组件自带的 init() 调用在文档中支持在客户端 JavaScript 中直接传入原始 apiKey。我们不建议在生产环境中这样做:任何人查看源代码都能获取您的密钥。请改为在您的后端通过 POST /v1/sessions 创建会话,然后将返回的 verification_url 传给小组件进行渲染——这与托管流程的建议一致,只是由链接跳转变成了嵌入。
<div id="shieldid-verify"></div>
<!-- Exact script URL is published with your API keys; the path below is illustrative. -->
<script src="https://cdn.shieldid.ca/sdk/v1/widget.js"></script>
<script>
// Recommended: create the session on your backend first (see API reference),
// then pass its verification_url straight through — never a raw API key.
TLVerify.init({
containerId: "shieldid-verify",
verificationUrl: "{{ session.verification_url }}", // from your backend
theme: { accentColor: "#0B5CD8" },
});
</script>移动端
原生 SDK 即将推出。
目前没有 iOS 或 Android SDK。在推出之前,请在应用的系统浏览器或 WebView 中打开托管验证页面——这与网页端申请人使用的流程相同,现在即可使用,并适用于您的应用运行的任何平台。
即将推出原生 iOS 和 Android SDK
选择接入方式
三种接入方式,坦诚对比。
除非有特定的嵌入需求,否则请从托管页面开始。
| 能力 | 托管页面 | 网页小组件 | 移动端 SDK |
|---|---|---|---|
| 无需 SDK,无需客户端代码 | 是 | 否 | 即将推出 |
| 保留在您自己的页面内 | 以链接形式打开 | 嵌入式 iframe | 即将推出 |
| 在您的代码中接收完成回调 | 返回 URL + webhook | 即将推出 | 即将推出 |
| 您的品牌标识 | 适用于符合条件的套餐 | 适用于符合条件的套餐 | 即将推出 |
| 现已可用 | 是 | 是 | 否 |
常见问题