设备交互图示
1、2、3:工作人员在打开箱门时必须
进行身份识别,身份信息传送给服务器,服务器返回该身份人可操作的钥匙信息。
4、5:工作人员成功取得/归还钥匙后,向服务器上报是否取得/归还成功。
API
测试环境 serverUrl = http://222.212.141.34:18080
设备认证
实例:
请求:
POST /auth/oauth/token?grant_type=client_credentials
Authorization: Basic a2V5X2NhYmluZXQ6d15ZYGZYeW5WKWRba2hxQyo3QXJ+XUIjc0dqfWVOOUw=
响应
{
"access_token": "a9e259a0-7d71-4446-b019-859d876acb69",
"token_type": "bearer",
"expires_in": 43197,
"scope": "device:key_cabinet",
"active": true,
"client_id": "key_cabinet"
}
请求参数:grant_type
:client_credentials
请求头:Authorization
: Basic a2V5X2NhYmluZXQ6d15ZYGZYeW5WKWRba2hxQyo3QXJ+XUIjc0dqfWVOOUw=
响应内容:access_token
: 授权token,后续其他接口请求需要携带此tokenexpires_in
: token有效期(秒),有效期超过后需要重新访问此接口申请token
判断该身份人可操作的钥匙信息
请求实例:
请求:
GET /attendance/device/key-cabinet/authorization?idcard=1234354657&cabinet=123×tamp=456132166
Authorization: Bearer a9e259a0-7d71-4446-b019-859d876acb69
响应:
{
"code" : 0,
"data" : {
"license": "湘M***",
"cabinet": "123"
}
}
请求参数:idcard
:操作人身份证号cabinet
:钥匙柜标识timestamp
:请求发生时时间戳
请求头:Authorization
: Bearer {access_token} ;使用 Bearer与认证接口响应的access_token进行组合
响应内容:code
= 0
: 请求正常code
= 10001
: 请求异常,该用户不存在操作的钥匙license
: 车牌号cabinet
: 钥匙柜标识
钥匙操作结果报告
请求实例:
请求:
POST /attendance/device/key-cabinet/result?timestamp=456132166
Authorization: Bearer a9e259a0-7d71-4446-b019-859d876acb69
{
"idcard" : "12334534643",
"action" : "TAKE",
"result" : 1,
"cabinet" : "123",
"license" : "湘M***"
}
响应:
{
"code" : 0
}
请求参数:timestamp
:请求发生时时间戳action
: 操作:TAKE(取)、PUT (放)result
: 结果:1(成功)、0 (失败)idcard
: 操作人身份证号cabinet
:钥匙柜标识license
: 车牌号
请求头:Authorization
: Bearer {access_token} ;使用 Bearer与认证接口响应的access_token进行组合
响应参数:code
= 0
: 请求正常code
= 1
: 请求异常,非法操作钥匙