消息发送接口

消息中心应用提供了消息发送接口和批量消息发送接口,应用还提供了消息发送功能,里面调用了消息发送接口

1. 消息发送接口

消息发送接口api如下

url: $platformUrl/message/main/message/sendmessage
method: post
request cookie:
    user_session: $user_session          //用户登录后获取的user_session
request body(application/json)
    {
        "templateCode": "template1",        //消息微服务中定义的模板
        "params": {                //消息参数
            "url": "消息打开的功能地址",
            "变量名": "变量值"        // url, code, submitter为平台内置变量
        },
        "receiverId":  "",            //消息接收者id,支持部门或人的id
        "senderId": "",                //消息发送者id
        "senderName": "",            //消息发送者名称
        "channel": ""                //消息发送通道: portal,email,sms,wx,dingtalk,多通道使用逗号分隔
    }
response body(application/json)
    {
        "success": true,        //状态, 取值范围true, false
        "msg": ""             //错误消息
    }
response status: 200表示成功,其它表示失败

1.1 templateCode

templateCode是指消息微服务中的消息模板编码

1.2 如何使用第三方的短信模板?

第一步:第三方短信平台申请短信模板;

第二步:应用门户中“系统管理->第三方平台配置->短信配置”功能中定义自定义短信

第三步:应用门户中“消息中心->消息模板管理”功能中定义消息模板,在消息模板的短信模板中引用第二步中的“编码”

第四步:通过上面的发消息接口,发送消息。

1.3 消息内容模板可以使用${变量名}的方式定义变量

发送消息时需要给出相应变量的值。有三个变量名(code, url, submitter)是内置名称,不允许使用。

任务消息模板是一个特殊的消息模板,格式类似如下:

收到${submiter}提交的新任务: ${title}, 请查看`http://entryhcr0096-vip.a.xcaas.net/entry/pcapp/pc/sms.w?code=${code}`

收到的短信中,点击此链接将会自动唤起app并打开相应的功能页面。

2. 自定义消息通道

2.1 注册自定义消息通道

消息通道地址支持两种格式:

绝对地址:以http:或https:开头;
微服务地址:以"/服务名"开头;

消息通道编码不能包含sms

2.2 实现自定义通道接口

自定义通道接口需要符合以下规范:

method: post
request body(application/xml):
{
    "url": "",            //查看消息地址
    "code": "",        //消息编码
    "channel": "",        //消息通道编码
    "message": ""        //消息内容,JSON格式
}

response(application/json):
{
    "success": true,    //取值范围true, false
    "message": ""        //成功或错误信息
}

其中message参数内容包括发送者、接收者和参数,格式如下

{
    "senderId": "发送者ID",
    "senderName": "发送者姓名",
    "receiverId": ["接收者ID"],
    "receiverName":"接收者姓名"],
    "params": {//发送消息时传入的params
        "title": "123456"
    }
}

2.3 常见错误

  • No message available

自定义通道的地址设置的不对

  • 消息模板XXX未指定短信模板时,不能使用短信方式

code不能包含sms,会被认为是短信

3. 批量消息发送接口

批量消息发送接口api如下

url: $platformUrl/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"
}]

4. 匿名调用

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

results matching ""

    No results matching ""

    results matching ""

      No results matching ""