1.应用范围
本文档包含创蓝闪验服务端API接口定义,供开发者参考使用。
2.接口概要
接口使用https传输协议,POST方法,请求参数放到RequestBody中以application/x-www-form-urlencoded提交,非JSON格式,响应内容则为JSON格式。本文档包含置换手机号接口和本机号校验接口说明。
接口并发,三网运营商卡有不同的限制,详情如下:
移动:单个APP默认限制1000QPS,如需扩容需要工作日提前报备
联通:单个APP默认200QPS,如需扩容需要工作日提前报备
电信:支持5000QPS,如需扩容需要工作日提前报备
3.安全方式
接口使用https传输协议,且创蓝闪验服务端使用HmacSHA256加密算法验证请求参数中的签名,确保传输过程内部不会被拦截篡改。返回参数中的手机号使用AES或RSA加密。另推荐本文档接口由APP服务端调用,不要在APP前端直接调用,这样可以在官网控制台配置IP白名单,只有在白名单的IP才是合法请求,提高安全性。
4.手机号解密算法
返回参数中的mobileName字段,需要使用解密算法解密,默认为AES算法,密文为16进制字符串,解密时需要做对应转换。如在控制台创建应用时如填写了RSA公钥,则只能使用RSA算法解密,推荐1024或2048位PKCS#8格式密钥对。如未填写则只能使用AES CBC算法,以md5(appKey)前16位字符串为秘钥,后16位字符为初始化向量解密。解密方法详见demo代码中的解密工具类。
5.置换手机号接口—Android、iOS、HarmonyOS端
注意:本部分是Android、iOS、HarmonyOS端对应的置换手机号接口说明,Web端请查看下方【6.置换手机号接口—Web端】。
5.1接口地址和说明
5.2接口请求参数
参数名 | 类型 | 参数描述 | 是否必填 | 说明 |
---|
appId | String | 应用的APPID | 是 | 由控制台创建应用时生成。 |
token | String | 运营商token | 是 | SDK返回的token,一次有效,不可压测 |
clientIp | String | 客户端IP | 否 | 由客户服务端获取的前端APP的IP,如需要使用反欺诈核验功能则传入,否则可以不传。 |
encryptType | String | 手机号加密方式 | 否 | 返回的手机号码加密方式,值包含:0(AES加密)、1(RSA加密)缺省为0,如使用RSA方式则在创建应用时必须填写RSA公钥。 |
outId | String | 客户方流水号 | 否 | 客户方流水号, 可以为空。 |
sign | String | 签名 | 是 | 签名算法:hmacSHA256(所有传入参数按字段名正序排序后拼接的字符串,应用appKey) 算法示例:1、只传入必填参数示例:hmacSHA256("appIdxxxxxxtokenxxxxxxxxxxxxxxx","xxxxxxx")2、传入了所有参数示例:hmacSHA256("appIdxxxxxxclientIp1.1.1.1encryptType0outId11111tokenxxxxxxxxxxxxxxxxx","xxxxxxx")实际值示例:9A92CD5A319D254B3DC6BEB7EAD4C2B4F4962B2F |
5.3接口响应内容
响应body数据为JSON格式。
字段名 | 类型 | 参数描述 | 说明 |
---|
code | String | 响应代码 | 200000表示成功,其他代码都为失败,详情参考附录。 |
message | String | 响应描述 | 响应代码描述 |
chargeStatus | Int | 计费标识 | 是否收费,枚举值:1:收费/0:不收费 |
data | Object | 数据内容 | |
data >mobileName | String | 手机号密文 | 手机号密文 ,根据传入的encryptType值选择对应算法解密手机号。 |
data >tradeNo | String | 交易流水号 | 闪验的交易流水号 |
5.4接口返回示例
{
"code": "200000",
"chargeStatus": 1,
"message": "成功",
"data": {
"tradeNo": "18112115031414011",
"mobileName": "1F881288CC68352FC410E8D4A36FC6E0",
"fanqizha":1,
"tag":""
}
}
6.置换手机号接口—Web端
注意:本部分是Web端接口说明,Android、iOS、HarmonyOS端请查看上方【5.置换手机号接口-Android、iOS、HarmonyOS端】。
6.1接口地址和说明
6.2接口请求参数
参数名 | 类型 | 参数描述 | 是否必填 | 说明 |
---|
appId | String | 应用的APPID | 是 | 由控制台创建应用时生成。 |
token | String | 运营商token | 是 | SDK返回的token,一次有效,不可压测 |
clientIp | String | 客户端IP | 否 | 由客户服务端获取的前端APP的IP,如需要使用反欺诈核验功能则传入,否则可以不传。 |
encryptType | String | 手机号加密方式 | 否 | 返回的手机号码加密方式,值包含:0(AES加密)、1(RSA加密)缺省为0,如使用RSA方式则在创建应用时必须填写RSA公钥。 |
outId | String | 客户方流水号 | 否 | 客户方流水号, 可以为空。 |
sign | String | 签名 | 是 | 签名算法:hmacSHA256(所有传入参数按字段名正序排序后拼接的字符串,应用appKey) 算法示例:1、只传入必填参数示例:hmacSHA256("appIdxxxxxxtokenxxxxxxxxxxxxxxx","xxxxxxx")2、传入了所有参数示例:hmacSHA256("appIdxxxxxxclientIp1.1.1.1encryptType0outId11111tokenxxxxxxxxxxxxxxxxx","xxxxxxx")实际值示例:9A92CD5A319D254B3DC6BEB7EAD4C2B4F4962B2F |
6.3接口响应内容
响应body数据为JSON格式。
字段名 | 类型 | 参数描述 | 说明 |
---|
code | String | 响应代码 | 200000表示成功,其他代码都为失败,详情参考附录。 |
message | String | 响应描述 | 响应代码描述 |
chargeStatus | Int | 计费标识 | 是否收费,枚举值:1:收费/0:不收费 |
data | Object | 数据内容 | |
data >mobile | String | 手机号密文 | 手机号密文 ,根据传入的encryptType值选择对应算法解密手机号。 |
data >tradeNo | String | 交易流水号 | 闪验的交易流水号 |
6.4接口返回示例
{
"code": "200000",
"chargeStatus": 1,
"message": "成功",
"data": {
"tradeNo": "18112115031414011",
"mobile": "1F881288CC68352FC410E8D4A36FC6E0"
}
}
7.本机号码校验接口
7.1接口地址和协议说明
7.2接口请求参数
参数名 | 类型 | 参数描述 | 是否必填 | 说明 |
---|
appId | String | 应用的APPID | 是 | 由控制台创建应用时生成。 |
token | String | 运营商token | 是 | SDK返回的token,一次有效,不可压测 |
mobile | String | 手机号 | 是 | 待校验的手机号码 |
outId | String | 客户方流水号 | 否 | 客户方流水号, 可以为空。 |
sign | String | 签名 | 是 | 签名算法:hmacSHA256(所有传入参数按字段名正序排序后拼接的字符串,应用appKey) 算法示例:1、只传入必填参数示例:hmacSHA256("appIdxxxxxxmobile11111111111tokenxxxxxxxxxxxxxxxxx","xxxxxxx")2、传入了所有参数示例:hmacSHA256("appIdxxxxxxmobile11111111111outId11111tokenxxxxxxxxxxxxxxxxx","xxxxxxx") 实际值示例:9A92CD5A319D254B3DC6BEB7EAD4C2B4F4962B2F |
7.3接口响应内容
响应body数据为JSON格式。
字段名 | 类型 | 参数描述 | 说明 |
---|
code | String | 响应代码 | 200000表示成功,其他代码都为失败,详情参考附录。 |
message | String | 响应描述 | 响应代码描述 |
chargeStatus | Int | 计费标识 | 是否收费,枚举值:1:收费/0:不收费 |
data | Object | 数据内容 | |
data >isVerify | String | 校验结果 | 值:1 是本机号码 0 非本机号码 |
data >tradeNo | String | 交易流水号 | 闪验的交易流水号 |
7.4接口返回示例
{
"code": "200000",
"chargeStatus": 1,
"message": "成功",
"data": {
"tradeNo": "18112115031414011",
"isVerify":"1"
}
}
8.附录
响应code码
状态码 | 描述 |
---|
200000 | 请求成功 |
200400 | 取号失败,号码补填不正确 |
400001 | 参数校验异常 |
403000 | 用户校验失败(一般为签名问题,参考:对接问题>服务端问题) |
415000 | 请求数据转换异常 |
500000 | 系统异常 |
500002 | 数据处理异常 |
500003 | 业务操作失败 |
500004 | 远程调用失败 |
500005 | 账户余额异常 |
500006 | 请求外部系统失败 |
504000 | 系统超时 |
400101 | 在下游系统中的商户信息不存在 |
403101 | 账户被下游系统禁用 |
403102 | 账户在下游系统中没有被激活 |
510101 | 在下游系统中的用户产品可用数量不足 |
400102 | 商户IP地址在下游系统中不合法 |
400200 | 黑名单列表 |
400201 | 手机号码不能为空 |
400901 | 账户信息不存在 |
400902 | 应用类型信息不存在 |
500901 | 邮箱未设置 |
500902 | 账户信息已存在 |
500903 | 账户相关能力已激活 |
没有更多了