![](/server/index.php?s=/api/attachment/visitFile/sign/747090162a5e89edbff20f0316de546c)

### 说明
消息订阅是将e10的消息推送给第三方系统，第三方系统需要按照e10的标准消息格式实现对应的消息发送接口。

### 一，开启消息订阅：
  在消息中心-消息渠道中打开消息订阅（ ${e10Url}/info/message/basic/channel ）
  ![](https://im.weaver.com.cn/server/index.php?s=/api/attachment/visitFile&sign=a217ed4d422dd30d7713a1ddcbc24f49)

### 二，配置消息订阅
1、配置地址( ${e10Url}/info/message/subsp/subsp ). 注意消息推送接口目前只支持按照e10标准规范提供的消息接口
 ![](https://im.weaver.com.cn/server/index.php?s=/api/attachment/visitFile&sign=c09874b7c91bef9c9f56fe11a43fa5e4)
2、消息订阅支持两种模式调用HTTP接口 以及调用ESB
  （1）、HTTP调用方式
   ![](https://im.weaver.com.cn/server/index.php?s=/api/attachment/visitFile&sign=ef48ef2560c1912e0ad92e1c3cc1784f)
   （2）、ESB调用方式
   需要现在esb中新建一个消息中心的esb动作流如图：
   ![](https://im.weaver.com.cn/server/index.php?s=/api/attachment/visitFile&sign=5b7e45ece50c49eebeca103861b5679c)
   新建保存后在消息订阅中能选到该动作流如图：
   ![](https://im.weaver.com.cn/server/index.php?s=/api/attachment/visitFile&sign=67c32f1bf1b9cfee44dc3e843e148ea8)
3、规则类型
![](https://im.weaver.com.cn/server/index.php?s=/api/attachment/visitFile&sign=427db03447ea80273815b7f52abb09cf)
该功能主要是用于过滤消息的规则类型，有些消息规则不需要推送到第三方 地方配置即可。
### 三，消息订阅接口调用
 目前消息中心开启消息订阅之后，e10系统会自动调用第三方的消息发送接口。(支持http直接调用，也支持触发esb动作流，通过esb动作流调用)

业务系统需要按照消息订阅的接口格式实现接口，支持标准的入参，出参格式。
### 入参格式：
 消息订阅推送消息到第三方接口支持两种格式， json,key-value
 请求格式如下：
   json：
   
   
   
     {"id":"12345",//消息id   
	 "title":"xxxx",//消息标题  
	 "content":"xxxxx",//消息内容   
	 "h5Url":"httpxxx",//“h5打开地址，可以为空”     
	 "pcUrl":"hxxxx",//“pc浏览器打开地址，可以为空”
	 "senderId":"12345",//“消息发送人id”,
	 "senderWorkCode":"发送人工号",//可以为空
	 "receivers":["123","456"],//接收人id列表
	 "receiverWorkCodes":["a","b"],//接受人工号列表
	 "moduleId":123,//模块id
	 "eventId":123, //事件id,
	 "isTodo":false,//是否为待办消息
	 "type":1 ,//1代表发送消息,2代表撤回 撤回消息时 id,type必传,如果存在receivers代表撤回指定人员的消息
	 //,如果receivers 为空代表撤回所有消息,3代表未读转已读，4代表为处理转已处理。
	 "entityIds":[1231,111]//事项id
	 }

   
注意:  对于流程挂载表单的情况下, 同一条流程消息会根据接受人所在的流程节点不一样,使用不同的h5,pc打开地址; 
  此时消息id不唯一,消息id+接受人id才能保证数据唯一. 
  比如一条流程消息发给A,B,C个人, 不同人员处在不同的流程节点上使用不同的URL地址打开  ,此时系统会3次请求外部系统, 每一次消息接受人不同,pc,h5打开地址不同
  
  消息id:   123
  接受人   :
  A ,     消息打开地址 urlA
  B ,     消息打开地址urlB
 C ,     消息打开地址urlC

   第一次请求  消息id: 123,消息接受人: A, 消息打开地址 urlA
   第二次请求  消息id: 123,消息接受人: B, 消息打开地址 urlB
   第三次请求  消息id: 123,消息接受人: C, 消息打开地址 urlC
  
### 出参格式
消息返回格式:
  调用成功返回 “success” 代表成功，其他代表调用失败
##新增支持标记已读以及已处理接口调用
 开启后当消息中心调用标记接口的时候会调用订阅接口参数：
 
     {"id":"12345",//消息id   
	 "receivers":["123","456"],//接收人id列表
	 "type":3 //3代表未读转已读，4代表为处理转已处理。
	 }
