Smile Signals 提供强大的风险筛查解决方案,通过一个人的手机号码或电子邮件地址,从各种活动和事件中获取实时风险信号,帮助您在当今快节奏的金融环境中保持最新动态——在这样的环境中,准确及时的风险评估对于做出明智决策至关重要。
Signals API 套件可提供数百种风险信号访问权限,使您能够根据自身用例和市场细分选择合适的信号。
当前可用的 Signals 套件
Signals | 计费方式 | 请求同步异步 | Webhook事件 | 描述 |
|---|---|---|---|---|
Per Hit | 同步 | N/A | Smile 的首个风险筛查服务包含预先选择的 30 种最常见风险信号,只需用户的手机号码即可立即开始使用。 | |
Per Hit | 同步 | N/A | 通过专有信号筛选和评估潜在借款人。 | |
Per Hit | 同步 | N/A | 分析社会保障服务数据和信息,可即时洞察用户的就业和收入状况。 | |
Per Hit | 同步 | N/A | 获取用户数字足迹和在线活动的宝贵洞察。 | |
Per Hit | 同步 | N/A | 发现用户借贷活动的早期迹象。 | |
Per Hit | 同步 | N/A | 分析数百个与借贷行为相关的信号以降低您的风险。 | |
Per Request | 同步 | N/A | 确保用户未被列入黑名单。 | |
Per Request | 异步 | VERIFICATION_STARTED VERIFICATION_COMPLETED | 验证功能可帮助您确认用户提供的数据与预验证和或权威来源的数据是否匹配,需用户提供 ID。 |
计费方式说明
只针对每个产品的Create请求收费
- 例如Footprints, 只会对
POST /alpha/footprints请求进行统计。对于List, Get 请求不收费。
且Create请求的响应满足如下计费逻辑
- 假设POST请求的响应JSON为
response对象,下面列出了不同计费方式的计费逻辑。
计费方式 | 描述 | 计费字段 | 计费逻辑 |
|---|---|---|---|
Per Hit | 命中收费 |
|
|
Per Request | 查询收费 |
|
|
{
"code": "OK",
"message": "xxx",
"requestId": "<requestId>",
"data": {
"id": "xxxx",
"status": "COMPLETED", // 计费字段1
"resultCode": "SUCCESS", // 计费字段2 ('NO_DATA' or 'SUCCESS' for Per Request)
"resultMessage": "xxxxx",
"requestMeta": {
},
"items": [
]
}
}关于 API 请求的同步与异步返回机制说明
Smile API 支持 同步(Synchronous) 和 异步(Asynchronous) 两种请求处理方式。开发者可根据业务场景选择合 适的返回机制。
-
同步请求(Synchronous)
同步请求会在接口调用成功后,直接返回完整的结果,无需额外配置。
流程说明:
- 客户端发起 API 请求
- Smile API 完成资源处理
- 接口响应中直接返回处理结果
-
异步请求(Asynchronous)
异步请求不会在接口调用时立即返回处理结果,而是通过 Webhook 事件的方式进行结果通知。
使用异步请求前的准备:
- 需要先在 Smile Developer Portal 中订阅对应的 Webhook 事件(请查看当前可用的 Signals 套件列表)。Webhook 支持的事件列表以及详细文档请参考Webhooks文档。
- 确保您的系统可以接收并处理 Webhook 回调请求
异步请求流程说明:
- 客户端发起 API 请求
- 接口调用成功后,立即返回当前资源的 ID(如 verificationId)
- Smile 在后台异步处理该资源
- 资源处理完成后:Smile 通过已订阅的 Webhook 事件将最终处理结果推送至您的 Webhook 接收地址
注意事项:
- 异步模式下,接口成功响应并不代表资源已处理完成
- 请以 Webhook 事件通知的结果 作为最终处理状态
- 建议在系统中根据资源 ID 做状态追踪与幂等处理
集成步骤
在您的系统中实施 Smile API 的风险筛查服务只需几个简单步骤。建议按照以下流程逐步完成集成与验证。
-
前置准备
在开始集成之前,请确保:
- 您已注册 Smile Developer Portal 账号
- 您具备基本的 API 调用和 HTTP 请求经验
- 您的系统可以安全存储并管理 API 凭证(API Key / Secret)
-
获取 API 凭证(Credentials)
所有 Smile API 请求都需要在 HTTP 请求头中携带 Authorization 信息。 Smile 使用 Basic Auth 作为身份认证方式。
操作步骤如下:
- 登录 Smile Developer Portal
- 创建并获取 API Key 和 API Secret
- 按照文档说明,将 API Key:API Secret 进行 Base64 编码,并放入请求头中 详细认证方式请参考文档:API身份验证。
-
在 Sandbox(沙箱)环境中测试接口
Smile 提供 Sandbox 环境用于开发和功能验证,建议在正式上线前先完成沙箱测试。
- Sandbox 环境支持完整的 API 调用流程
- 所有返回结果均为 Mock 数据,不会产生真实业务影响
- 适合用于验证:
- 接口连通性
- 参数格式是否正确
- 请求/响应处理逻辑
请参考以下文档进行测试:在 Sandbox 模式下进行测试 。
-
切换至 Production(生产)环境
在 Sandbox 环境测试完成且逻辑验证通过后,即可切换至 Production 环境。切换时请注意:
- 使用 Production 环境的 API Key 和 API Secret
- 请求域名更换为:https://open.smileapi.io/v1
- Production 环境返回的为 真实数据,将直接影响业务决策
建议在切换后先进行小规模测试,确认数据与业务预期一致。
-
上线前检查与最佳实践(推荐)
在正式上线前,建议完成以下检查:
✅ API Key / Secret 未硬编码在前端或公共仓库
✅ 已处理接口异常、超时和错误返回
✅ 已做好日志记录与请求追踪
✅ 已根据业务需求设置合理的调用频率和风控策略
关于API中Consent对象的说明
为满足合规(Compliance)要求,部分 API 请求中需要传入 Consent 对象,用于表明用户已就相关条款或声明表示同意。
Consent 对象示例
{
"type": "Terms And Conditions",
"version": 1,
"consentedWith": "I agree to the terms and conditions.",
"consentedAt": "2021-04-14T09:30:24Z",
"consentTemplateId": null
}
字段说明
| 字段名 | 类型 | 是否必填 | 说明 |
|---|---|---|---|
| consentedAt | String (ISO 8601) | 必填 | 用户表示同意的时间,需使用 ISO 8601 UTC 时间格式 |
| consentTemplateId | String | 条件必填 | 在 Smile Developer Portal 中创建的 Consent 模板 ID, 注意Sandbox和Production环境的模版不能共用,需要单独创建 |
| type | String | 条件必填 | Consent 类型说明,例如条款名称 |
| version | Number | 条件必填 | Consent 版本号 |
| consentedWith | String | 条件必填 | 用户同意时所显示或确认的文案内容 |
- 必填规则说明
- consentedAt 为必填字段,无论采用哪种方式传递 Consent 信息
- 以下两种方式 二选一即可,无需同时提供:
- 使用 consentTemplateId
- consentTemplateId 可在 Smile Developer Portal 中创建 Consent 模板后获取
- 适用于希望统一管理 Consent 内容的场景
- 当提供 consentTemplateId 时,type、version、consentedWith 可不填写
- 使用 type + version + consentedWith 组合
- 该方式下,type、version、consentedWith 需同时提供
- 字段内容可由接入方自行定义,不做严格校验
- 适用于不使用 Portal 模板、或希望快速接入的场景
校验与合规说明
- Consent 对象主要用于满足合规要求
- Smile API 不会对 Consent 内容进行严格校验
- 只需确保:
- 必填字段存在
- 字段值有效即可
