服务端对接指南
1 能力介绍
合作方在用户登录成功后,合作方平台可以通过accessToken调用该能力获取用户信息,包括如用户手机号码等。
注意:本接口需要服务端调用(API),请勿使用SDK调用。
为各位开发者提供更便捷的对接方法,我们提供DEMO,请下载使用:接口调用DEMO
2 接口定义
| 接口名称 | getUserInfo.do |
| 接口描述 | 请求API资源,获取用户信息 |
| 承载协议 | HTTPS |
| 承载网络 | 公网 |
| 请求方式 | POST/GET |
| 数据格式 | 请求参数以form表单形式提交,返回数据类型为:Json |
| 约束 | 服务端调用 |
| Content-Type | application/x-www-form-urlencoded;charset=utf-8 |
| 接口URL | https://open.e.189.cn/openapi/asymauth/gbcs/getUserInfo.do |
3 请求参数
天翼账号支持以POST或GET方式提交数据,考虑到请参数长度可能受限,建议以POST方式提交,请求参数个数固定,如下表所述:
通用请求参数是本规范下所有接口必传的参数,共5个,具体如下表:
| 字段标识 | 说明 | 数据类型 | 长度 | 可空 |
|---|---|---|---|---|
clientId | 申请应用时分配的应用ID(APPID) | String | 20 | N |
timeStamp | 时间戳,毫秒 | Long | 20 | N |
format | 返回格式,目前仅支持json | String | 20 | N |
params | 使用XXTea加密方式对接口定义的所有参数(除APPId,timeStamp,format,sign)拼接后的字符串加密,如params=XXTea((accessToken=SDK返回的令牌信息:*********), appSecret),其中appSecret是申请应用时平台生成的应用秘钥,参数拼接无顺序要求。 | String | 1024 | N |
sign | sign参数是对除sign外其他参数的RSA加密值,加密算法如下: sign=RSA(APPId+format+params+timeStamp, RSA_Private_key) 需要注意参数拼接key升序排序。其中RSA_Private_key是合作方的RSA私钥,合作方需要向开放平台提供RSA公钥,用于访问接口时的验签。 (RSA公钥生成工具:https://id.189.cn/api?initialSrc=/html/api_detail_630.html;配置RSA公钥入口:管理中心——应用管理——查看应用详情——基本信息) | String | 1024 | N |
4 响应参数
4.1 响应参数
| 字段标识 | 说明 | 数据类型 | 长度 | 可空 |
|---|---|---|---|---|
| result | 响应结果码 0表示取号成功, 小于0表示获取失败; -9999表示用户未登录或登录状态已过期, -39表示accessToken无效, -2表示接获取接入信息出错, -32表示accessToken为空, -2 表示AppID为空 | String | 32 | N |
msg | 返回结果描述 结果描述与结果码result相对应 | String | 32 | N |
data | 加密数据:data采用合作方的RSA公钥加密,当取号失败时,data为空,取号成功时,data中包含mobile,openId等数据,具体见data解密后数据结构 | String | 32 | N |
4.2 data解密后数据结构
data解密后将得到json结构的数据,具体字段如下:
| 字段标识 | 说明 | 数据类型 | 长度 | 可空 |
|---|---|---|---|---|
| mobile | 手机号(如:189123456) | String | 30 | N |
| nickName | 用户昵称 | String | 30 | Y |
| openId | 用户在该应用下统一标识,可以唯一标识一个用户 | String | 32 | N |
| userIconUrl | 用户头像链接尺寸(大)160X160 | String | 256 | Y |
| userIconUrl2 | 用户头像链接尺寸(中)100*100 | String | 256 | Y |
userIconUrl3 | 用户头像链接尺寸(小)50X50 | String | 256 | Y |
用户绑定天翼账号的电子邮箱 | String | 30 | Y | |
operator | 手机号码所属运营商:“中国电信”、“中国移动”、“中国联通” | String | 30 | Y |
正确返回结果示例:
Json示例:
{
"result": 0,
"msg": "操作成功",
"data":"446a47c3b601cd41dc1afe43e926c2ee"
}
data解密后:
{
"userIconUrl": "http://avatar.e.189.cn/avatar/default/default_large.jpg",
"nickName": "天翼用户",
"userIconUrl2": "http://avatar.e.189.cn/avatar/default/default_middle.jpg",
"operator": "中国移动",
"userIconUrl3": "http://avatar.e.189.cn/avatar/default/default_small.jpg",
"mobile": "18912345678",
"openId": "7a50ce59a45f1ae02f4181963ab2c681"
}