消息发送接口

消息中心应用提供三个发送消息 API,用于发送消息

  • 发送消息(简洁):用于在设计器中使用,固定使用消息中心的简单消息 SEND_SIMPLE_MESSAGE 模版
  • 发送消息:用于在代码中使用,可使用任意消息模版
  • 批量发送消息:用于在代码中使用,可一次发送多个消息

发送消息(简洁)

发送消息(简洁)API 用于在设计器中使用。使用前需要通过“高级-租户内跨应用调服务、数据”将 API 添加到 IDE 的服务组件面板中。

切换到高级页,点击“租户内跨应用调服务、数据”,弹出“使用租户下其他服务、数据”窗口,选中 message,点击操作列中的“选择使用服务和数据”图标,如下图所示

1762739204612

选中主服务下的消息服务(服务),点击确定按钮,如下图所示

1762738322893

切换到页面页,经过上面的步骤,服务组件面板中就会显示出发送消息(简单),如下图所示

1762738387495

在页面中添加发送消息(简洁)服务,设置参数,如下图所示

  • 消息内容:一段文本,页面上可以使用长文本显示
  • 接收者:人员 ID,多人使用逗号分隔
  • 链接:不必填,点击消息打开的页面地址

1762738419460

运行时,API 调用如下图所示

1762738564736

发送消息(简洁)API 固定使用消息中心的简单消息 SEND_SIMPLE_MESSAGE 模版,标题和内容默认都是 ${content},参数 content 获取的就是消息内容参数的值,如果不希望标题和内容显示的一样,可以在消息模版管理中修改简单消息,如下图所示

1762739975119

修改后,企业微信收到消息的界面,如下图所示

1762739806671

发送消息

消息中心的消息发送使用的是发送消息 API,开发者可以参考。消息发送界面如下图所示

1722235725478

发送消息 API 如下,由消息模板和消息参数形成消息,使用指定的发送通道,发送给接收者

请求 url: 
    /message/main/message/sendmessage
请求方法: 
    post
请求头:
     cookie:
        user_session: $user_session     //用户登录后获取的 user_session
请求参数:
    body(application/json)
    {
        "templateCode": "",             //消息模板编码
        "params": {                     //消息参数
            "url": "",              //消息打开的页面地址
            "变量名": ""             //变量值,url、code、submitter、title、subTitle 为平台内置变量
        },
        "receiverId":  "",        //消息接收者 id,支持部门或人的 id
        "senderId": "",            //消息发送者 id
        "senderName": "",        //消息发送者名称
        "channel": ""            //消息发送通道: portal、email、sms、wx、dingtalk,多通道使用逗号分隔
    }
请求返回
    body(application/json)
    {
        "success": true,        //状态, 取值范围 true, false
        "msg": ""             //错误消息
    }
请求状态
    status: 200 表示成功,其它表示失败

消息模板

在“消息中心-消息模板管理”中定义消息模板,消息模板包括:编码(消息发送接口使用)、名称、标题、内容模板、短信模板(发短信时使用)、链接(点击消息打开的页面)、发送方式和接收者等内容。

1722236168342

1722236575386

消息参数

在消息模板的内容模板中定义消息内容,例如:“收到${submiter}提交的任务 ${title}, 请及时处理。”,其中使用 ${变量名} 的方式引用消息参数。

系统内置标题 title、副标题 subTitle、消息链接 url、消息编码 code、发送者 submitter 等消息参数

  • title、subTitle、url 在消息参数 params 中赋值后使用
  • code,、submitter 可以直接使用
  • $(title) 定义消息标题,标题写入消息表的 ftitle 列
  • ${subTitle} 定义消息副标题,副标题写入消息表的 fsubtitle 列
  • ${url} 定义消息链接,链接写入消息表的 furl 列
  • 其它消息参数名,开发者自定义
  • 内容模板的值写入 fremark 列

消息发送接口中的消息参数 params 用于给 ${变量名} 参数赋值,例如

params: {"title":"111111","subTitle":"222222"}

调用接口后写入数据表,如下图所示

1722237938740

特别说明

  • 如果需要发送短信消息,需要自定义短信模板,在消息模板中配置短信模板

批量消息发送

批量发送消息 API 如下

请求 url: 
    /message/main/message/sendmessagelist

批量发送消息接口和发送消息接口的用法一样,区别在于参数为 JSON 数组,例如下面的代码表示发送两条消息

    [{
        "templateCode": "TASK_MANAGE",
        "params": {
            "url": "",
            "title": "hello"
        },
        "receiverid": "/nXeWxDG33oAoY0mpL4A.ogn/nXeWEBy33W8qNkslqxO.psm",
        "senderId": "system",
        "senderName": "system",
        "channel": "portal"
    },
    {
        "templateCode": "TASK_MANAGE",
        "params": {
            "url": "",
            "title": "hello world"
        },
        "receiverid": "/nXeWxDG33oAoY0mpL4A.ogn/nXeWEBy33W8qNkslqxO.psm",
        "senderId": "system",
        "senderName": "system",
        "channel": "portal"
    }]

匿名调用

消息中心提供的发送消息 API 默认都是注册用户(登录后)才能访问,可在应用资源管理中设置匿名调用

步骤如下:打开“系统管理-权限设置-应用资源管理”,选择“消息中心”服务,添加生产配置的“匿名用户”角色,在 API 权限中,选中发送消息和批量发送消息,如下图所示

1722243024536

results matching ""

    No results matching ""