一、一键验证-一键登录api接口

1、获取本机手机号 (token置换手机号)

请求路径: 【域名】【端口号】/req/api/server/Onekey/mobileQuery

请求方式 :POST

描述 : 获取手机号接口

请求参数 : 类型JSON

参数名称 参数类型 是否必须 描述
sign string yes 请求签名
time_stamp string yes 13位 时间戳 (北京时间)【间隔超过60秒,会出现签名错误】
app_id string yes 应用id
request_id string no 请求id
access_token string yes 置换手机号token 【从APP中获取】
is_phone_encode boolean no 返回手机号为aes对称加密(秘钥是该应用的api_master_secret的前16位)

签名规则:

  1. master_secret + time_stamp
  2. 最后对上述值取 32 位大写 MD5

示例:

{
"sign":"xxxxxxxB2D8CADF37C5F6F",
"time_stamp":"1578365985366",
"app_id":"95094xxxxxxxxDE48",
"request_id":"xxxxxxxff000624276214",
"access_token":"xxxxxxx436902315",
"is_phone_encode":"false"
}

返回参数: 类型JSON

参数名称 参数类型 描述
code string 响应code码
request_id string 请求id
object tel string 下发手机号
order_bill string 订单号

示例:

{
"code": "00000",
"object": {
"tel":"29uZE51bWJlckNoZWNrIn0=",
"order_bill""onekey155512472288837792046343"
},
"request_id": "XX123456"
}

2、本机号码校验

请求地址 : :【域名】【端口号】/req/api/server/Onekey/phoneValidate

请求方式 :POST

描述 : 开发者获取token后,需要将token传递到应用服务器,由应用服务器发起本机号码校验接口的调用。

请求参数 :参数类型JSON

参数名称 参数类型 必须 描述
app_id String yes 应用ID
access_token String yes 运营商校验用的token (从APP中获取)
time_stamp String yes 时间戳 精确到毫秒
request_id String no 用户端的请求序列号
tel String yes 手机号
sign String yes 签名

签名规则:

  1. master_secret + time_stamp

2. 最后对上述值取 32 位大写 MD5

示例:

{
"app_id": "xxxxxxx08E660ED002DE48",
"access_token": "xxxxxxx2166cecb51f24476d8fa4fe4436902315",
"time_stamp": "1578365985366",
"request_id": "xxxxxx1995ff000624276214",
"tel": "18xxxxxxxx56",
"sign": "xxxxxxx2D8CADF37C5F6F"
}

返回参数 :参数类型JSON

参数名称 参数类型 描述
code string 错误码
msg string 错误信息
request_id string 用户端的请求序列号
object is_local_phone string 是否是本机手机号(0:本机号码,1:非本机号码)
order_billl string 订单号

示例:

{
"code": "00000",
"request_id": "1232132130",
"object":{
"is_local_phone":"1”,
"order_bill":"onekey_12348434"
}
}

二、短信发送接口

接口描述 :短信发送 接口

接口Url:

【域名】【端口号】 /req/api/server/Sms/smsSend

注:如需配置IP白名单,获取 【域名】【端口号】 请联系客服。

支持格式: JSON

HTTP请求方式: POST

签名: sign = MD5( app master 秘钥 + time_stamp13)

格式:JSON

请求参数样例:

{
"sign": "xxxxx",
"app_id ": "xxxxx",
"sms_template": "模板名称",
"sms_param": {
"code": "457156",
"name": "张先生",
"product":"Iphone X"
},
"tel": "138XXXXXXX",
"time_stamp13": "1520489490817"
}
参数 必须 类型范围 说明
sign true String 请求签名(32位)
MD5(app master秘钥 + time_stamp13)
time_stamp13 true String 13位时间戳 (需要实时获取,如果服务器的时间非北京时间,需要用对时接口校对时间,时间戳示例: 1520489490817 )
app_id true String 应用id ,从平台的应用详情中获取应用的appid
tel true String 手机号码
sms_template true String 模板名称 , 从平台的短信模板中获取短信模板的名称
sms_param true JSON 模板参数 ,如果无参数,传空json:{}

返回参数

格式: JSON。

样例:

{
"code":"00000",
"msg":"OK",
"order_bill":"1234567890"
}

参数意义:

参数 类型范围 说明
code String ” 00000 ” :代表成功
msg String “ OK ” : 代表成功
order_id string 订单号

*注意:如果接收到的错误码不是00000,都视为有错误

*注意:如果HTTP请求超时,不代表 平台 未接收订单,可以根据单号查询订单是否接收成功.

请做好异常处理.

三、二次校验接口

请求路径 : 【服务器】【端口号 /req/api/server/Server/recheckVerifyToken

请求方式 :POST

(注:app_sign 生成规则,api_master_secret + current_time组成的字符串进行 md5加密 )

请求参数 :参数类型JSON

参数名称 参数类型 是否必填 描述
app_id string yes 应用ID
app_sign string y es 请求 签名 , 时效性1分钟
current_time string y es 当前时间
verify_order_id string y es 订单号
verify_token string y es 验证结果token
request_id string y es 用户端的请求序列号
tel S tring no 非必填参数,但是一键验证的二次校验时必须带上此参数

示例:

{
"app_id": "3BC097110B9C64C6969ED48C914B295B",
"app_sign": "7530A4C8AD469A93B4EB2202F670B979",
"current_time": "1530155497246",
"verify_token": "39A16F220657FA98180E3F1A33C6*****",
"request_id": "XX123456",
"tel": "138****2354"
}

返回参数 :参数类型JSON

参数名称 参数类型 描述
code string 错误码
request_id string 每个http请求的唯一标识

示例:

{
"code": "00000",
"request_id": "XX123456"
}

注:如果code非00000则为错误。

四、服务器时间校对接口

接口描述: 此 接口 用于贵方服务器与平台服务器的时间校对,我方平台服务器时间为标准北京时间。如果与我方服务器时间一致可以无需调用,通过调用此接口可以计算出与我方服务器的时间差。

接口Url: 【服务器】【端口号】 /req/api/server/Server/serverTimeStamp13Check

支持格式: JSON

HTTP请求方式: POST

请求参数:

​ 格式:JSON

样例:

{
"time_stamp13": "1520489490817"
}
参数 必须 类型范围 说明
time_stamp13 true String 13位时间戳

返回参数:

格式: JSON。

样例:

{
"code":"00000",
"time_diff":"-10" //负数为平台服务器时间慢,正数为比平台服务器快。
}

参数意义:

参数 类型范围 说明
code String ”00000”:代表成功
msg String "OK” : 代表成功
time _d iff string 时间差(单位毫秒,计算公式:time_diff=平台服务器时间-timestamp13(客户请求参数))
system_time_stamp13 string 系统当前时间

注:此接口为辅助接口,一般情况下只需要服务启动时校对一次即可。