跳到主要内容

如何开启消息对接功能

在集成过单点登录的前提下(基于 企业微信钉钉Welink飞书组织架构同步API 集成等同于开启过单点登录),HAP系统支持将应用消息推送给外部系统,当然也可以由HAP团队定制开发与外部系统的消息接口对接【定制开发则需另收费】。

主动接收HAP应用消息的启用方式如下:

  1. 如果非基于 企业微信、钉钉、Welink、飞书、组织架构同步API 集成,则需要提前挂载以下配置文件:

    /data/hap/script/volume/sso/extend.json

    {
    "relation": true
    }

    微服务应用对应的 docker-compose.yaml volumes 中增加:

    - ./volume/sso/extend.json:/usr/local/MDPrivateDeployment/sso/extend.json
  2. 创建接收应用消息所需的配置文件

    /data/hap/script/volume/integrate/appextensions.json

    {
    "WebhookUrl": "接收消息的 API 接口地址", // 必填,如:https://api.domain.com/hooks/NjA0NzdjMDNjMGFjMTE3ZGUwMjRjN2Nl
    "FinishTodoWebhookUrl": "接收待办完成消息的 API 接口地址", // 可选,不需要同步待办状态无需配置
    "WebhookHeaders": {} // 请求头自定义参数,可选
    }

    发送消息推送格式如下:(POST application/json)

    {
    "messageId": "消息Id",
    "message": "消息内容",
    "messageType": 11, // 11:工作表系统消息,12:工作表讨论提到消息,13:工作表讨论回复我的,14:工作流待处理消息(填写、审批、系统消息发送记录),15:工作流系统消息不发送记录
    "messageTypeV2": 11, // 11:工作表系统消息,12:工作表讨论提到消息,13:工作表讨论回复我的,14:工作流待办消息(填写、审批),15:工作流系统消息不发送记录,16:工作流系统消息发送记录
    "appId": "应用Id",
    "appName": "应用名称",
    "attachments": ["附件地址|附件名"], // 图片类型可直接使用、文档类型目前只能作为附件数量提醒(无法直接下载)
    "redirectUrl": "跳转地址", // 对应 HAP 系统内的消息处理落地页
    "targets": ["用户Id"], // 单点登录中的第三方用户Id
    "projectId": "组织Id",
    "createUserId": "创建者", // 单点登录中的第三方用户Id,系统触发类消息为空
    "processId": "流程Id" // 仅工作流消息有值
    }

    完成待办推送格式如下:(POST application/json

    {
    "messageId": "消息Id",
    "projectId": "组织Id",
    "userId": "操作者", // 单点登录中的第三方用户Id
    "processId": "流程Id"
    }
  3. 挂载配置文件

    微服务应用对应的 docker-compose.yaml volumes 中增加:

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