登录#
请求参数#
Parameter | Type | Required | Description |
---|---|---|---|
op | String | 是 | 操作, login |
args | Array | 是 | 账户列表 |
> apiKey | String | 是 | API key |
> passphrase | String | 是 | API key 的密码 |
> timestamp | String | 是 | 时间戳,Unix Epoch时间,单位是秒 |
> sign | String | 是 | 签名字符串 |
响应参数#
Parameter | Type | Description |
---|---|---|
event | String | 操作,login 或者 error |
code | String | 错误码 |
msg | String | 错误消息 |
connId | String | WebSocket连接ID |
apiKey: 调用 API 的唯一标识。可通过开发者管理平台申请
passphrase:你注册 API Key 时设置的密码,请务必牢记。
timestamp:Unix Epoch 时间戳,单位为秒,如 1704876947 sign:签名字符串,签名算法如下:
先将timestamp 、 method 、requestPath 进行字符串拼接,再使用HMAC SHA256方法将拼接后的字符串和SecretKey加密,然后进行Base64编码
SecretKey: 用户申请APIKey时所生成的安全密钥,如:22582BD0CFF14C41EDBF1AB98506286D 其中 timestamp 示例:const timestamp = '' + Date.now() / 1,000 其中 sign 示例: sign=CryptoJS.enc.Base64.stringify(CryptoJS.HmacSHA256(timestamp +'GET'+ '/users/self/verify', secret))
method 总是 'GET'
requestPath 总是 '/users/self/verify'
Tips
请求在时间戳之后30秒会失效,如果您的服务器时间和 API 服务器时间有偏差,推荐使用 REST API查询API服务器的时间,然后设置时间戳
请求示例#
shell
{
"op": "login",
"args": [{
"apiKey": "985d5b66-57ce-40fb-b714-afc0b9787083",
"passphrase": "123456",
"timestamp": "1538054050",
"sign": "7L+zFQ+CEgGu5rzCj4+BdV2/uUHGqddA9pI6ztsRRPs="
}]
}
响应示例#
200
全部成功响应示例
{
"event": "login",
"code": "0",
"msg": "",
"connId": "a4d3ae55"
}
全部失败响应示例
{
"event": "error",
"code": "60009",
"msg": "Login failed.",
"connId": "a4d3ae55"
}