WIDTH Identity 开发者文档
WIDTH Identity 提供完整的身份核验与合规平台,支持 KYC、KYB、交易筛查及持续监控工作流,可通过 REST API 以及适用于 Web、iOS、Android 和 Flutter 的即插即用 SDK 接入。
核心功能
平台通过 REST API 支持 KYC、KYB、交易筛查及持续监控。Web 和移动端 SDK 为 KYC 和 KYB 提供由平台管理的核验体验。
KYC
个人身份核验工作流,涵盖证件采集、活体检测、申请人资料及筛查。
KYB
企业核验工作流,涵盖公司资料、关联方、文件及筛查。
交易筛查
通过已配置的工作流筛查交易,支持同步或异步处理。
持续监控
利用现有客户记录,通过持续监控工作流对客户重新筛查。
集成方式
提供三种主要集成方式。使用 OpenAPI 可获得完整的后端控制能力;使用 SDK 则可接入由平台管理的核验体验。
| 方式 | 适用场景 | 工作流 |
|---|---|---|
| OpenAPI (REST,服务器间通信) | 已自行采集客户数据,并希望通过后端完全控制用户体验。 | KYC、KYB、交易筛查、持续监控 |
| 移动端 SDK (Android、iOS、Flutter) | 以少量代码在移动应用中接入开箱即用的核验体验。 | KYC、KYB |
| Web SDK | 在 Web 应用中快速接入弹窗或新标签页核验。 | KYC、KYB |
环境
提供两个环境: 预发布环境(staging) 用于开发, 生产环境(production) 用于正式流量。请使用下表中对应环境的网关、存储服务和控制台。
| 资源 | 预发布环境 | 生产环境 |
|---|---|---|
| API 网关 | https://api-gateway-platform.width.com/gateway | https://api-gateway.width.com/gateway |
| 存储服务 | https://api-gateway-platform.width.com/storage | https://api-gateway.width.com/storage |
| 平台控制台 | https://platform.width.com | https://app.width.com |
凭证
请根据集成方式和环境选择凭证。移动端 SDK 凭证与 Web SDK 会话令牌的配置方式不同。
| 类型 | 适用对象 | 字段 |
|---|---|---|
OPENAPI | 服务器间 API | apiKey (前缀为 ak_)+ apiSecret (前缀为 sk_) |
SDK | 移动端 SDK(Android、iOS、Flutter) | App Key + SDK Token。使用 sdkToken初始化 SDK,并在 SDK 配置中设置 Domain。 |
| Web SDK 会话 | Web SDK | 公开的 apiKey + 一次性 sdkToken (通过 sdk.credentials获取)。选择 domainId 时,请从返回的 domains[] 列表中选取。 |
获取方式
- 登录对应环境的 One Platform Console → API & Integration 页面:
- 点击 Generate ,生成集成所需类型的凭证。
- 复制并妥善保存凭证。
apiSecret仅显示一次。
对于 Web SDK,由后端为 sdk.credentials 请求签名,并将会话令牌及选定的 domainId 返回给浏览器。每次核验都应签发新令牌,不要缓存或重复使用。请参阅 Web SDK 会话令牌参考(英文)。
apiSecret 保存在服务器端。 切勿将其硬编码到源代码、发送到浏览器或包含在移动应用中。请使用环境变量或密钥管理服务。如果密钥泄露,请立即在控制台中轮换。开始使用
先完成控制台配置,运行首次核验并确认最终决策,再连接下游业务流程。
控制台准备工作
- 选择环境。 使用 预发布环境控制台 进行开发,并使用生产环境控制台处理正式流量。
- 确认 Domain(业务单元)。 Domain 用于隔离不同业务线或地区的工作流、成员和数据。新租户包含一个
DEFAULTDomain。可在以下位置管理其他 Domain: Admin Console → Domains / Business Units。 - 生成所需凭证。 请按照 凭证 部分的说明,获取 OpenAPI、移动端 SDK 或 Web SDK 的接入凭证。
- 配置并发布工作流。 在控制台中,为所需事件类型和来源渠道发布工作流。个人核验和企业核验对应的 API 事件值分别为
KYC_EVENT和KYB_EVENT;控制台中分别显示为 KYC 和 KYB。
首次核验
- 选择 集成方式。 使用 Web 或移动端 SDK 接入由平台管理的核验界面,或使用 OpenAPI 接入自行构建的客户数据采集流程。
- 确保环境与凭证匹配。 请使用正确的基础 URL。SDK 构建版本连接到特定环境;测试前,请确认所选软件包或构建版本与凭证对应的环境一致。
- 启动核验。 初始化并启动 Web、 Android、 iOS 或 Flutter SDK。使用 OpenAPI 时,请先注册申请人,再启动工作流,并按照 KYC 或 KYB 指南提交所需节点数据。
- 获取结果。 保存
executionId并轮询workflow.execution.status,或配置工作流 webhook。请参阅 状态与案件决策参考(英文) 和 webhook 集成指南(英文)。 - 检查最终决策与用量。 在 Admin Console 中查看案件,并检查 Billing(账单)。已提交核验或等待人工审核的工作流均不代表最终批准。
工作流与决策模型
工作流将数据采集、筛查和规则检查串联起来,形成决策。启用自动路由时,WIDTH 根据 eventType 和来源渠道选择已发布的工作流。KYC 和 KYB 在每个来源渠道各有一个有效工作流;交易筛查可为同一事件类型配置多个工作流。 工作流生命周期 API 参考(英文) 还记录了可选参数 workflowId ,适用于版本 2.0.0。
用户完成输入步骤后,将运行自动检查与决策步骤。部分案件需要经过人工审核才能获得最终决策。使用 Webhook Action 节点 获取某个步骤的输出,或使用 Decision Webhook 获取最终的批准或拒绝决策,以及对应的操作、代码、原因和标签。
请在 工作流层面设置失败处理方式:
- Strict(严格,默认): 任一节点失败都会导致工作流失败。
- Lenient(宽松): 仅关键节点失败才会导致工作流失败。
- Fully tolerant(完全容错): 无论节点是否失败,工作流都会继续运行。
用量与配额
打开 Admin Console → Billing ,查看当前套餐及本计费周期的用量统计:API Calls(API 调用次数)、Cases Processed(已处理案件数)、Workflows(工作流)和 Team Members(团队成员)。
- 筛查操作在预发布环境和生产环境中都会消耗配额。
- 如果网关返回
999501 REQUEST_API_EXCEED_LIMIT,请联系支持团队提高限额。重试前,请查阅 网关错误参考(英文) 。
快速开始:请求签名
每个 OpenAPI 请求都使用 HMAC-SHA256 对请求体进行签名,并将签名作为 sign 查询参数附加到 URL。
sign = HmacSHA256(apiSecret, requestBody)
密钥和请求体均使用 UTF-8 编码,签名结果为 64 个字符的小写十六进制字符串。
import hmac, hashlib
sign = hmac.new(
api_secret.encode('utf-8'),
request_body.encode('utf-8'),
hashlib.sha256
).hexdigest()
const crypto = require('crypto');
const sign = crypto
.createHmac('sha256', apiSecret)
.update(requestBody, 'utf8')
.digest('hex');
Mac mac = Mac.getInstance("HmacSHA256");
mac.init(new SecretKeySpec(apiSecret.getBytes("UTF-8"), "HmacSHA256"));
byte[] hash = mac.doFinal(requestBody.getBytes("UTF-8"));
String sign = HexFormat.of().formatHex(hash);
请参阅 身份认证参考 ,了解完整的请求结构,包括请求头、查询参数及完整示例。
更多集成指南
以下主题可参阅 开发者参考指南(英文):
- 核验链接 :生成托管式 KYC 或 KYB 核验链接,使用
sdk.launch.link.generate。 - 姓名与名称筛查 :筛查个人或公司,使用
MANUAL_CASE_EVENT。 - 快速筛查 API :无需创建客户或配置工作流即可执行单次筛查,使用
quickscan.submit、quickscan.detail和quickscan.hits。 - Web3 交易筛查 :执行区块链交易筛查,使用
WEB3_TRANSACTION_EVENT。 - Webhook 集成 :涵盖控制台设置、请求签名、响应处理、Decision Webhook 及故障排查。
下一步:选择工作流
OpenAPI 参考
集中查阅身份认证、错误处理、幂等性、配置、文件上传等 REST 基础功能。
Web SDK
在 Web 应用中通过弹窗或新标签页完成核验。 npm install @width-com/web-sdk。
Android SDK
适用于 Activity / Compose 的即插即用 Kotlin 集成。要求 API 26+(Android 8.0)。
iOS SDK
适用于 UIKit 和 SwiftUI 的 Swift Package。要求 iOS 16.0+、Xcode 16+。
Flutter SDK
封装原生 iOS 和 Android SDK 的 Dart 插件。要求 Flutter 3.10+,仅支持移动端。
KYC 指南
完整 KYC 工作流:注册、启动、轮询及提交节点数据(OCR、particular[个人资料]、liveness[活体检测]、OTP、forms[表单])。
附录
术语表、执行状态、事件类型、文件类型及更新日志。