跳到主要内容

如何开启消息对接功能

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

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

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

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

    {
    "relation": true
    }

    在微服务应用对应的 docker-compose.yaml 文件 app 服务下 volumes 中增加:

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

    如:/data/mingdao/script/volume/integrate/appextensions.json

    {
    "WebhookUrl": "https://api.yourdomain.com/message/webhook",
    "FinishTodoWebhookUrl": "https://api.yourdomain.com/todo/webhook",
    "WebhookHeaders": {}
    }

    配置参数说明

    • WebhookUrl:必填,接收消息的API接口地址。
    • FinishTodoWebhookUrl:可选,接收待办消息的API接口地址,不需要同步待办状态无需配置。
    • WebhookHeaders:可选,自定义请求头,用于身份验证等用途。
  3. 消息体规范

    HAP 通过 POST 方式,以 application/json 格式向 WebhookUrl 发送 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" // 仅工作流消息有值
    }

    完成待办推送格式如下

    {
    "messageId": "消息Id",
    "projectId": "组织Id",
    "userId": "操作者", // 单点登录中的第三方用户Id
    "processId": "流程Id"
    }
  4. 将配置文件 appextensions.json 挂载至 mingdaoyun-community 容器内 /usr/local/MDPrivateDeployment/integrate/appextensions.json 路径。

    在微服务应用对应的 docker-compose.yaml 文件 app 服务下 volumes 中增加:

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