跳到主要内容

如何将会话状态推至外部系统

如果用户处于活跃状态(可以理解为有触发 HAP 系统接口调用),在配置了接收地址的情况下,每 2 分钟会向其推送一次,推送内容包含 HAP 系统的账号 Id,如何需要获取对应第三方用户 Id,可参考 {HAP}/apidoc/zh-Hans/#tag/user/operation/removeUserRelations

  1. 在服务器中创建配置文件 appextensions.json

    如:/data/hap/script/volume/wwwapi/appextensions.json

    {
    "AppSettings": {
    "SessionWebhookUrl": "接收推送信息的 API 地址",
    "SessionWebhookHeaders": {}
    }
    }
    • SessionWebhookUrl:必填,如 https://api.domain.com/hooks/NjA0NzdjMDNjMGFjMTE3ZGUwMjRjN2Nl
    • SessionWebhookHeaders:请求头自定义参数,可选
  2. 消息体规范

    HAP 通过 POST 方式,以 application/json 格式向 SessionWebhookUrl 发送 JSON 数据,消息体格式如下:

    {
    "accountId": "HAP 账号Id"
    }
  3. 挂载配置文件

    修改微服务应用对应的 docker-compose.yamlvolumes 中增加:

    - ./volume/wwwapi/appextensions.json:/usr/local/MDPrivateDeployment/wwwapi/appextensions.json
  4. 重启 HAP 微服务应用