闪验、创蓝闪验

1.应用范围

本文档包含创蓝闪验服务端API接口定义,供开发者参考使用。

本文档为V2版本服务端接口文档,对接2.3.0以后版本SDK(包含2.3.0)。V2版本接口与V1版本接口不兼容,2.3.0版本以前版本的SDK需对接V1版服务端接口。历史V1版本接口文档在资源下载的服务端Demo包中。

 如需服务端相关文档以及Demo程序下载请移步至SDK资源下载


2.接口概要

接口使用https传输协议,POST方法,请求参数放到RequestBody中以application/x-www-form-urlencoded提交,非JSON格式,响应内容则为JSON格式。本文档包含获取手机号接口和本机号校验接口说明,如APP使用SDK一键登录功能则参考(4.获取手机号接口),APP使用SDK本机号校验功能则参考(5.本机号校验接口)。


3.安全方式

接口使用https传输协议,且闪验服务端使用HmacSHA256加密算法验证请求参数中的签名,确保传输过程内部不会被拦截篡改。返回参数中的手机号使用AES或RSA加密。另推荐本文档接口由APP服务端调用,不要在APP前端直接调用,这样可以在官网控制台配置IP白名单,只有在白名单的IP才是合法请求,提高安全性。

 

注:返回参数中的mobileName字段,需要使用解密算法解密,默认为AES算法,密文为16进制字符串,解密时需要做对应转换。如在控制台创建应用时如填写了RSA公钥,则可以选择使用RSA算法解密,推荐1024或2048位PKCS#8格式密钥对。如未填写则只能使用AES CBC算法,以md5(appKey)前16位字符串为秘钥,后16位字符为初始化向量解密。解密方法详见demo代码中的解密工具类。



4.一键登录V2(获取手机号码)接口


4.1接口地址和说明

名称

说明

说明

本接口对接SDK一键登录功能,接收SDK一键登录返回的token将其置换为真实手机号码。

本接口为V2版本服务端接口,对接2.3.0以后版本SDK(包含2.3.0)。V2版本接口与V1版本接口不兼容,2.3.0以前版本的SDK需对接V1版服务端接口。历史V1版本接口文档在资源下载的服务端Demo包中。

协议

HTTPS

请求方式

POST

编码格式

UTF8

请求内容类型

application/x-www-form-urlencoded

响应内容类型

application/json

请求地址

https://api.253.com/open/flashsdk/mobile-query

4.2接口请求参数

参数名

说明

appId

当前APP对应的appid , 非空

token

运营商token, SDK返回  , 非空 (token有有效期,过期失效或使用一次后失效)

clientIp

客户端IP,可以为空,如需要使用反欺诈核验功能则可传入,由客户服务端获取的前端APP的IP

encryptType

手机号加密方式,可以为空,可选值:0(AES加密)、1(RSA加密)缺省为0 ,如使用RSA方式在创建应用时必须填写RSA公钥。

outId

客户方流水号, 可以为空

sign

签名,非空 ,签名算法 hmacSHA256(所有传入参数按字段名正序排序后拼接的字符串,应用appKey) 后再16进制字符串转换 .

算法示例:hmacSHA256("appIdxxxxxxclientIp1.1.1.1encryptType0outId11111tokenxxxxxxxxxxxxxxxxx","xxxxxxx")

实际值示例:9A92CD5A319D254B3DC6BEB7EAD4C2B4F4962B2F

4.3接口响应内容

响应body数据为JSON格式。

字段名

类型

说明

code

String

响应code码。200000:成功,其他失败。见附录响应code

message

String

响应code码解释

chargeStatus

Int

是否收费,枚举值:1:收费/0:不收费

data

Object

 

data >mobileName

String

手机号密文 ,根据传入的encryptType值选择对应算法解密手机号。

data >tradeNo

String

交易流水号

 data >fanqizha

Int

反欺诈,需要在后台开启后生效。

1:白名单/2:黑名单/3:可信任度低/4:未找到

 data >tag

String

反欺诈标签版,需要在后台开启后生效。

标签属性,判断的依据信息,用于黑名单。

样例:批量操作/系统环境异常/信用低/小号养号

 

4.4接口返回示例


{
"code": "200000",
"chargeStatus": 1,
"message": "成功",
"data": {
    "tradeNo": "18112115031414011",
    "mobileName": "1F881288CC68352FC410E8D4A36FC6E0",
    "fanqizha":1,
    "tag":""
  }
}






5.本机认证V2(本机号码校验)接口


5.1接口地址和协议说明

名称

说明

说明

本接口对接SDK本机认证功能,接收SDK返回的token和传入的手机号码,校验当前流量卡的手机号与传入的手机号码是否一致并返回校验结果。

本接口为V2版本服务端接口,对接2.3.0以后版本SDK(包含2.3.0)。V2版本接口与V1版本接口不兼容,2.3.0以前版本的SDK需对接V1版服务端接口。历史V1版本接口文档在资源下载的服务端Demo包中。

协议

HTTPS

请求方式

POST

编码格式

UTF8

请求内容类型

application/x-www-form-urlencoded

响应内容类型

application/json

请求地址

https://api.253.com/open/flashsdk/mobile-validate

5.2接口请求参数

参数名

说明

appId

当前APP对应的appid , 非空 

token

运营商token , 非空 (token有有效期,过期失效或使用一次后失效)

mobile

校验的手机号码,非空

outId

客户方流水号,可为空

sign

签名,SDK传入,非空 ,签名算法 hmacSHA256(所有传入参数按字段名排序后拼接的字符串,应用appKey) 后再16进制字符串转换 .

算法示例:hmacSHA256("appIdxxxxxxmobile11111111111outId11111tokenxxxxxxxxxxxxxxxxx","xxxxxxx")

实际值示例:ACBCDA658C9B89B29E19E3DE310B8C3AB1078A46E2AE1B1C8FF06E39BCBFBAB1

5.3接口响应内容

响应body数据为JSON格式。

字段名

类型

说明

code

String

响应code码。200000:成功,其他失败。见附录响应code

message

String

响应code码解释

chargeStatus

Int

是否收费,枚举值:1:收费/0:不收费

data

Object

 

data >isVerify

String

是否校验通过 1是  0否

 data >tradeNo

String

交易流水号




 

5.4接口返回示例


{
"code": "200000",
"chargeStatus": 1,
"message": "成功",
"data": {
    "tradeNo": "18112115031414011",
    "isVerify":"1"
}
}



6.附录

响应code码

状态码

描述

200000

请求成功

400001

参数校验异常

403000

用户校验失败

(一般为签名问题,参考:对接问题>