1. 服务端接口

1.1. 移动认证服务端接口

1.1.1. 获取用户登录手机号码的接口

简要描述

  • 获取用户登录手机号码的接口

请求URL

请求方式

  • POST+json,Content-type设置为application/json

请求参数

参数名 必选 类型 说明
channel string 运营商类型: (0:移动),(1:电信),(2:联通)
platform string 平台编号: IOS (0, "ios"), ANDROID (1, "android")
app_key string 应用APPKEY
auth_code string 校验码,当运营商类型为1时,必填
token string 身份标识,获取用户信息
sign string

除sign 外其它参数的 RSA 加密值, 加密算法如下:

sign=RSA(app_key+auth_code+channel+platform+token,RSA_Private_key) 转16进制。

签名算法为:SHA256withRSA。

需要注意参数拼接 key升序排序,密钥格式为PSKCS#8,1024位(bit)。

其中 RSA_Private_key是合作方的 RSA 私钥,合作方需要向开放平台提供 RSA 公钥,用于访问接口时的验签

请求示例

{
    "header": {
        "Content-type": application/json,
    },
    "body": {
       "channel":"1",
       "platform":"0",
       "app_key":"99bfd12b542b36ad35ea378a07edf349",
       "auth_code":"1234",
       "token":"nm899e6f8f32b44f81972cbe28ca01623a",
       "sign":"4B36329C1429512FD24C2C460065F677D3521EC56A91370AFF40E65990AF74C7D12C9F0E6061D2E2C6FE022B66CCD23554249ECA13D5F8FB0E8C7459DD6D25A0309FD6AE73D4918E45EAF85AB7D4DA942B3664966B92CEFC57B7B28CC4EE57186A1B27860FF74698FE6307A85F0DD9D3A13A34397CB8F4F921DC3869BAA9B80"
    }
}

返回参数

参数名 必选 类型 说明
code int 返回状态码
msg string 返回状态码描述信息
time long 请求消息发送的系统时间的毫秒值
body string

返回体,表示手机号码,加密方式为RSA,

开发者使用在社区配置的加密公钥对应的私钥进行解密,

密钥格式为PSKCS#8,生成密钥位数为1024位(bit),body为16进制字符串。

####

返回示例

{
      "header": {
        "code": 200,
        "msg": "操作成功",
        "time": 1561690611021
                 },
      "body": "4B36329C1429512FD24C2C460065F677D3521EC56A91370AFF40E65990AF74C7D12C9F0E6061D2E2C6FE022B66CCD23554249ECA13D5F8FB0E8C7459DD6D25A0309FD6AE73D4918E45EAF85AB7D4DA942B3664966B92CEFC57B7B28CC4EE57186A1B27860FF74698FE6307A85F0DD9D3A13A34397CB8F4F921DC3869BAA9B80"
}

时序图

1.1.2. 校验用户登录号码接口

简要描述

  • 校验用户登录号码接口

请求URL

请求方式

  • POST+json,Content-type设置为application/json

请求参数

参数名 必选 类型 说明
channel string 运营商类型: (0:移动),(1:电信),(2:联通)
platform string 平台 IOS (0, "ios"), ANDROID (1, "android")
app_key string 应用APPKEY
token string 身份标识,获取用户信息
phone_num string 手机号
sign string

除 sign 外其它参数的 RSA 加密值,加密算法如下:

sign=RSA(app_key+channel+phone_num+platform+token,RSA_Private_key)转16进制。

签名算法为:SHA256withRSA, 1024位(bit)。

需要注意参数拼接 key 升序排序,密钥格式为PSKCS#8。

其中 RSA_Private_key 是合作方的 RSA 私钥,合作方需要向开放平台提供RSA公钥,用于访问接口时的验签

#### 请求示例

{
    "header": {
        "Content-type": application/json,
    },
    "body": {
       "channel":"1",
       "platform":"0",
       "app_key":"99bfd12b542b36ad35ea378a07edf349",
       "token":"nm899e6f8f32b44f81972cbe28ca01623a",
       "phone_num":"18123972798",                                        
       "sign":"4B36329C1429512FD24C2C460065F677D3521EC56A91370AFF40E65990AF74C7D12C9F0E6061D2E2C6FE022B66CCD23554249ECA13D5F8FB0E8C7459DD6D25A0309FD6AE73D4918E45EAF85AB7D4DA942B3664966B92CEFC57B7B28CC4EE57186A1B27860FF74698FE6307A85F0DD9D3A13A34397CB8F4F921DC3869BAA9B80"
    }
}

返回参数

参数名 必选 类型 说明
code int 返回状态码
msg string 返回状态码描述信息
time long 请求消息发送的系统时间的毫秒值
body string

返回体,表示校验结果(true/false),加密方式为RSA,

开发者使用在社区配置的加密公钥对应的私钥进行解密,

密钥格式为PSKCS#8,生成密钥位数为1024位(bit),body为16进制字符串。

#### 返回示例

{
      "header": {
         "code": 200,
         "msg": "操作成功",
         "time": 1561690611021
                 },
      "body": "4B36329C1429512FD24C2C460065F677D3521EC56A91370AFF40E65990AF74C7D12C9F0E6061D2E2C6FE022B66CCD23554249ECA13D5F8FB0E8C7459DD6D25A0309FD6AE73D4918E45EAF85AB7D4DA942B3664966B92CEFC57B7B28CC4EE57186A1B27860FF74698FE6307A85F0DD9D3A13A34397CB8F4F921DC3869BAA9B80"
}

时序图

1.1.3. 平台返回码说明

返回码 返回描述信息
900001 解密运营商返回结果错误
900002 加签运营商请求错误
900003 xxtea加密请求参数错误
900004 运营商参数3DesAndBase64加密错误
900005 channel来源渠道参数错误
900006 platform平台类型参数错误
900007 authCode校验码参数错误
900008 手机号格式不正确
900009 appId错误
900010 token参数错误
900011 验签失败
900012 token失效
900013 权限不足
900014 应用未授权
900015 参数异常
900016 ip白名单校验失败
900017 加密失败
900018 无法获取手机号
900019 次数不足
900020 内部错误

1.2. 短信验证码接口

1.2.1. 短信通知

简要描述

· 使用短信通知时,调用此API,请求LinkAccount业务平台给指定用户发送短信验证码。

接口类型

表1 接口类型说明

请求方法 post
请求URL https://account.linkedme.cc/sms/text/send
通信协议 https

请求参数

表2 请求Header参数说明

参数名称 是否必选 参数类型 默认值 说明
Content-Type String 固定填application/json; charset=UTF-8

表3 请求Body参数说明

参数名称 是否必选 参数类型 默认值 说明
app_key String appKey
recipient String 被叫号码 格式:国家码+手机号码。示例:+8613423222222,如果携带多个接收方号码,则以英文逗号分隔。每个号码最大长度为21位,最多允许携带1000个号码(目前只支持国内号码)
sign_name String 签名名称 是用户在LinkAccount平台申请通过的短信签名
template_id String 模版ID 是用户在LinkAccount平台申请通过的短信模版ID
template_params String[] 短信模板的变量值列表,用于依次填充“template_id”参数指定的模板内容中的变量,该参数需填写为JSONArray格式
status_callback_url String LinkAccount平台将业务产生的话单推送至此服务器
sign String sign=RSA(app_key+extend+recipient+sign_name+status_callback_url+template_id+template_params, RSA_Private_key),转16进制,签名算法为:SHA256withRSA。需要注意参数拼接 key 升序排序,密钥格式为 PSKCS#8,1024 位(bit),其中 RSA_Private_key 是合作方的 RSA 私钥, 合作方需要向开放平台提供 RSA 公钥,用于访问接口时的验签.(template_params转变为字符串)
extend String 用户附属信息,此标识由第三方服务器定义,会在后续的通知消息中携带此信息。不允许携带以下字符:“{”,“}”(即大括号)

请求实例

{ 
"app_key":"7e289a2484f4368dbafbd1e5c7d06903", 
"recipient":"+8613412345678", 
"sign_name":"短信", 
"template_id":"45", 
"template_params":["1224","你好","2019/12/12","12:12"], 
"status_callback_url":"http://requestbin.fullcontact.com/scvavdsc", 
"sign":"226964223a202230313233343536372d383961622d636465662d303
132332d343536373839616263646566222c0d0a2020226e616d65223a20226 
4656d6f617070222c0d0a2020226f776e6572223a207b0d0a2020202022656d 
61696c223a2022757365726e616d65406578616d706c652e636f6d222c0d0a2 
0202020226964223a202230313233343536372d383961622d636465662d3031 
32332d3435363738396162636464ff", 
"extend":"linkedme" 
}
参数类型 是否必选 参数类型 默认值 说明
result SmsResult[] 短信结构体,当返回响应出现异常时不包含此字段

表5 SmsResult 定义

参数名称 是否必选 参数类型 默认值 说明
smsMsgId String 短信的唯一标识
originTo String 接收方号码
createTime String 创建时间(LinkAccount接收到发送短信请求的时间)
status String 状态码

响应实例

 {
    "header": {
        "code": 200,
        "msg": "操作成功",
        "success": true,
        "alert": true,
        "time": 1564486490320
    },
    "body": {
        "result": [
            {
                "smsMsgId": "7524a9aa-19d1-4be6-bef0-2b0ce5dd6107",
                "originTo": "+8613412345678",
                "createTime": 1564486490192,
                "status": "000000"
            }
        ]
    }
}

时序图

平台返回码说明

返回码 返回信息描述
000000 成功
19 appKey不能为空
21 验签失败
24 验签签名为空
1100008 app_key无效
1100016 消息发送为空
1100018 签名名称为空
1100020 短信接收方号码格式错误
1100021 短信签名无效
1100022 模版ID无效
1100023 模版参数个数不匹配
1100024 参数值长度超过预设值
1100025 日期格式错误
1100026 模版数字格式错误
1100030 模版ID为空
1100041 ip白名单校验失败
1100042 公钥为空
1300014 该号码超出当日发送限制
1300015 该号码超出小时发送限制
1300016 该号码超出分钟发送限制
200000 签名名称不能为空
300005 模板Code为空
900019 余额不足
-10003 验签失败
-10004 ip白名单校验失败
-10005 公钥为空
-10006 验签签名为空

1.2.2. 短信回调通知

简要描述

· 该接口用于客户接收短信平台主动发送的短信状态报告

· 请求方向 :LinkAccount业务平台 → 客户服务器

· 使用前提: 开发者在开发应用时,若需订阅状态通知,必须要提供状态接收URL(status_callback_url),并且确保URL能够正常处理LinkAccount业务平台发送的通知信息

· 使用限制: 仅支持POST方式

表1 接口类型说明

请求方法 post
请求URL 开发者应用接收短信报告状态的URL
通信协议 https

表2 请求Body参数说明

参数名称 是否必选 参数类型 说明
smsMsgId String 发送短信成功时返回的短信唯一标识
total String 长短信拆分后的短信条数。当短信未拆分时该参数取值为1
sequence String 长短信拆分后的短信序号,当total参数取值大于1时,该参数才有效。当短信未拆分时该参数取值为1
status String 短信状态码
msg String 短信报告内容
source String 短信状态报告来源 : 1:短信平台自行产生的状态报告。2:短信中心返回的状态报告。3:短信安全管控产生的状态报告。
updateTime String 通常为短信平台接收短信状态报告的时间
to String 接收方号码
extend String 用户附属信息,此参数的值与“语音通知API”中的"extend"参数值一致

请求实例

{
     "smsMsgId":"e1f27fd2-59cb-4827-b926-4550856e2c44",
     "total": "1",
     "sequence": "1",
     "status": "1300001",
     "msg": "用户已成功收到短信",
     "source": "2",
     "updateTime": "2019-07-27",
     "extend": "linkedme",
     "to": "+8613412345678"
}

平台返回码说明

返回码 返回信息描述
1300001 用户已成功收到短信
1300002 短信已超时
1300003 短信已删除
1300004 短信递送失败
1300005 短信已接收
1300006 短信发送失败
1300007 短信被拒绝
1300008 平台内部路由错误
1300009 号码达到分钟下发限制
1300010 号码达到下发限制
1300011 短信关键字拦截
1300012 号码黑名单
1300013 手机号码不合法

1.3. 语音验证码接口

1.3.1. 语音通知

简要描述

· 使用语音通知功能时,调用此API,请求LinkAccount业务平台给指定用户播放语音通知。

接口类型

表1 接口类型说明

请求方法 post
请求URL https://account.linkedme.cc/sms/voice/send
通信协议 https

请求参数

表2 请求Header参数说明

参数名称 是否必选 参数类型 默认值 说明
Content-Type String 固定填application/json; charset=UTF-8

表3 请求Body参数说明

参数名称 是否必选 参数类型 默认值 说明
recipient String 被叫号码 格式:国家码+手机号码。示例:+8613423222222
template_id String 语音通知模板ID,用于唯一标识语音通知模板
template_params String[1-10] 语音通知模板的变量值列表,用于依次填充templateId参数指定的模板内容中的变量,该参数需填写为JSONArray格式
app_key String appKey
status_callback_url String LinkAccount平台将业务产生的话单推送至此服务器
sign String sign=RSA(app_key+extend+recipient+status_callback_url+template_id+template_params, RSA_Private_key),转16进制,签名算法为:SHA256withRSA。需要注意参数拼接 key 升序排序,密钥格式为 PSKCS#8,1024 位(bit),其中 RSA_Private_key 是合作方的 RSA 私钥, 合作方需要向开放平台提供 RSA 公钥,用于访问接口时的验签.(template_params中的参数用逗号隔开)
extend String 用户附属信息,此标识由第三方服务器定义,会在后续的通知消息中携带此信息。不允许携带以下字符:“{”,“}”(即大括号)

请求实例

{
  "recipient": "15970704470",
  "app_key": "7e289a2484f4368dbafbd1e5c7d06903",
  "status_callback_url": "http://requestbin.fullcontact.com/scvavdsc",
  "extend": "linkedme",                  
 "sign":"226964223a202230313233343536372d383961622d636465662d30
   3132332d343536373839616263646566222c0d0a2020226e616d65223a2
   02264656d6f617070222c0d0a2020226f776e6572223a207b0d0a202020
   2022656d61696c223a2022757365726e616d65406578616d706c652e63
   6f6d222c0d0a20202020226964223a202230313233343536372d383961
   622d636465662d303132332d3435363738396162636464ff",
   "template_id": "TTS01",
   "template_params": [
        "2222"
     ]   
}

响应参数

表4响应结果参数

参数名称 是否必选 参数类型 默认值 说明
sms_msg_id String 请求返回的会话sms_msg_id,如果请求失败,则sms_msg_id为空
status String 请求返回的结果码

响应实例

 {
    "header": {
        "code": 200,
        "msg": "操作成功",
        "success": true,
        "alert": true,
        "time": 1564108757224
    },
    "body": {
        "sms_msg_id": "977713dc-386b-4a3e-b6a0-a783629c2c87",
        "status": "000000"
    }
}

时序图

平台返回码说明

返回码 返回信息描述
000000 SUCCESS
19 appKey不能为空
21 验签失败
24 验签签名为空
300006 参数格式不正确
300007 模版ID不能为空
300008 模版不存在
900019 余额不足
1100008 app_key无效
1100017 短信接收方号码为空
1100020 短信接收方号码格式错误
1100039 语音信息设置失败
1100041 ip白名单校验失败
1100042 公钥为空
110036 语音播放信息为空
-10006 验签签名为空

1.3.2. 语音回调通知

简要描述

· 用户通话结束后,LinkAccount业务平台通过此接口向SP推送通话的状态信息
**· 请求方向 :LinkAccount业务平台(客户端) → 客户服务器(服务端)
· 使用前提: 开发者在开发应用时,若需订阅状态通知,必须要提供状态接收URL(status_callback_url),并且确保URL能够正常处理LinkAccount业务平台发送的通知信息
· 使用限制: LinkAccount业务平台推送话单信息给开发者应用,仅支持POST方式

表1 接口类型说明

请求方法 post
请求URL 开发者应用接收通话状态通知的URL
通信协议 https

表2 请求Body参数说明

参数名称 是否必选 参数类型 说明
msgId String 通话链路的唯一标识
status Integer 通话状态 0:成功接听, 1:未接听, 2:其他原因
callerNum String 主叫号码,号码为全局号码格式(包含国家码)
to String 被叫号码,号码为全局号码格式(包含国家码)
callOutStartTime String 呼出开始时间
callEndTime String 呼叫结束时间, 时间格式为“yyyy-MM-dd HH:mm:ss”
extend String 用户附属信息,此参数的值与“语音通知API”中的"extend"参数值一致

请求实例

{
    "msgId": "11fb06c3-b5ca-4822-99fe-15000cc43d83",
    "status": 0,
    "callerNum": "+8631180985016",
    "to": "+86134123456578",
    "callOutStartTime": "2019-07-29 06:27:08",
    "callEndTime": "2019-07-29 06:27:21",
    "extend": "linkedme"
}

平台返回码说明

返回码 返回信息描述
0 成功接听
1 未接听
2 其他原因

results matching ""

    No results matching ""