说明
对 API 发出的每个 HTTP 请求都必须经过身份认证。此操作是为了保证访问服务的客户端是否为系统已登记的用户身份认证。
在调用 API 之前,您需要从企业管理平台中开发者模块创建 clientID
与 secret
,用于申请访问 token,点此查看如何获取。
请求地址
https://openapi.haiwell.com/api/v1/token
请求方法
POST
请求参数
参数 | 参数类型 | 数据类型 | 是否必需 | 描述 |
---|---|---|---|---|
Credentials | Header | String | 是 | base64Encode(clientID:secret),以冒号连接clientID 和 secret ,然后进行 Base64 编码 |
HTTP 状态码
返回值 | 描述 |
---|---|
200 | 操作成功,详见响应参数 |
500 | 服务端异常,详见异常响应参数 |
业务错误码
返回值 | 描述 |
---|---|
10010 | 客户端传参异常,详见异常响应参数 |
10016 | 无效 clientID 和 secret |
30029 | 当前接口业务限流,请稍后重试 |
50000 | 服务端异常 |
响应参数
参数 | 数据类型 | 描述 |
---|---|---|
code | Long | 成功返回码默认 0 |
reason | Long | 服务端定义的标签,用于业务快速定位问题 |
data | object | 数据结构体 |
- data.token | String | 访问令牌 |
- data.expire | Long | 访问令牌有时间戳,单位为秒 (默认 30 分钟过期) |
异常响应参数
参数 | 数据类型 | 描述 |
---|---|---|
error_msg | String | 表示一个错误代码字符串,可以用于对错误进行分类,并对错误进行处理 |
code | String | 服务端定义的错误码,用于快速定位问题 |
reason | String | 服务端定义的标签,用于业务快速定位问题 |
请求消息示例
POST /api/v1/token HTTP/1.1
Content-Type: application/json
Credentials: czZCaGRSa3F0MzpnWDFmQmF0M2JW=+---
{
}
响应参数示例
HTTP/1.1 200 OK
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"code": 0,
"reason": "OK",
"data": {
"expire": 1701851209,
"token": "token"
}
}
业务异常响应参数
HTTP/1.1 200 Bad Request
Content-Type: application/json;charset=UTF-8
Cache-Control: no-store
Pragma: no-cache
{
"error_msg": "Invalid authorized",
"reason": "INVALID_AUTHORIZED",
"code": "10016",
}
注意
Client 授权方式只适用于服务器之间的身份认证。如果在开放客户端使用(如:移动 APP),就存在安全风险,clientID 和访问令牌可能会被盗用。