如何将会话状态推至外部系统
如果用户处于活跃状态(可以理解为有触发 HAP 系统接口调用),在配置了接收地址的情况下,每 2 分钟会向其推送一次,推送内容包含 HAP 系统的账号 Id,如何需要获取对应第三方用户 Id,可参考 {HAP}/apidoc/zh-Hans/#tag/user/operation/removeUserRelations 。
-
在服务器中创建配置文件
appextensions.json如:
/data/hap/script/volume/wwwapi/appextensions.json:{
"AppSettings": {
"SessionWebhookUrl": "接收推送信息的 API 地址",
"SessionWebhookHeaders": {}
}
}SessionWebhookUrl:必填,如https://api.domain.com/hooks/NjA0NzdjMDNjMGFjMTE3ZGUwMjRjN2NlSessionWebhookHeaders:请求头自定义参数,可选
-
消息体规范
HAP 通过
POST方式,以application/json格式向SessionWebhookUrl发送 JSON 数据,消息体格式如下:{
"accountId": "HAP 账号Id"
} -
挂载配置文件
修改微服务应用对应的
docker-compose.yaml,volumes中增加:- ./volume/wwwapi/appextensions.json:/usr/local/MDPrivateDeployment/wwwapi/appextensions.json -
重启 HAP 微服务应用