API接入说明
API调用
流程
URL说明
openapi.hiar.com
,不同的能力通过在URI
上增加一层目录来区分https://openapi.hiar.com/hris 代表hris开放能力
https://openapi.hiar.com/leliaRTC 代表leliaRTC能力
URL
重写会话信息
Header
传递会话信息,KEY
为x-openapi-session-data
,内容格式为JSON
字符串,如下:{"corp_id": 1}
调用方式
application/json
认证
认证方式
http
.header
传递以下信息// 由企业平台上查看
X-HIAR-OPENAPI-APPID: hiar01231230123
// 随机生成uuid
X-HIAR-OPENAPI-NONCE: 5a63aa78-f6bc-11ec-b939-0242ac120002
// 符合RF3339标准的时间
X-HIAR-OPENAPI-DATE: 2022-06-27T16:34:04+08:00
// 通过特定的加密规则生成签名
X-HIAR-OPENAPI-SIGNATURE: X1RAmXcABtwvKnaIYEY5a1O65Nm0y6gfVHbIBz7t668=
签名生成规则
signature=HMAC-SHA256-HEX(secret, signing_string)
。需要两个参数:
secret
和signing_string
secret
由平台上创建应用后生成signing_string
的计算公式为signing_string = HTTP METHOD + \n + PATH + \n + canonical_query_string + \n + app_id + \n + date + \n + nonce + \n
http uri
部分,必须以 “/” 开头,不包含query
key
从小到大进行排序 ,然后按key=value
格式进行拼接,多个key
用&
连接,如果key
存在重复key
值,按对应value
升序,在拼接。如: name=paul&age=19&age=20signing_string
拼接后例子:"get
/account/v1/user
page=1&limit=10
hiar1d98ncv515f5e1
2022-07-05T17:46:33+08:00
5a71e2ec-fc47-11ec-81db-acde48001122
"
sha256
算法进行加密,加密后在做一次base64
编码signature
结果验证:bash
# signature生成伪代码
signature = base64(sha256(signing_string, secret))
# secret: IkcyCWpRxjCztzvOjHdLKKfgTpzmCqQ1
# 按上面signing_string拼接例子和secret生成的signature如下:
+TfnNKz8XTvZJNpFSrnlLk+3m1swS+jhRuKxemo7YLQ=
返回
{
"code": 0,
"reason": "SUCCESS",
"message": "操作成功",
"data": {
...
}
}
{
"code": 1001,
"reason": "INVALID_PARAM",
"message": "参数错误"
}
修改于 2023-06-26 07:15:39