# 消息服务管理

# 接口调用方式

本接口为主OA Http Rest,允许被异构系统远程调用,调用前需要调用Rest接口文档 (opens new window)获取Restful token身份凭证。

# 系统消息对象

# 系统消息对象示例

{
  "id" : -6675423597613201249,
  "creationDate" : 1397631785000,
  "referenceId" : 1524058743291659976,
  "messageCategory" : 10,
  "messageContent" : "张三发起调查《调查样式1》",
  "messageType" : 0,
  "senderId" : -8361687019900091749,
  "receiverId" : -8361687019900091749,
  "userId" : -8361687019900091749,
  "senderName" : "张三",
  "linkType" : "message.link.inq.alreadyauditing",
  "openType" : 0,
  "linkParam0" : "1524058743291659976",
  "linkParam1" : null,
  "linkParam2" : null,
  "linkParam3" : null,
  "linkParam4" : null,
  "linkParam5" : null,
  "linkParam6" : null,
  "linkParam7" : null,
  "linkParam8" : null,
  "linkParam9" : null,
  "isRead" : false
}

# 系统消息属性说明

参数 说明
id 消息主键,唯一标示消息
creationDate 创建时间
referenceId 主对象ID,例如此处为调查对象的ID
messageCategory 消息所属应用类型,应用类型请查看应用类型枚举说明
messageContent 消息内容
messageType 消息类型,目前只有系统消息一种
senderId 发送者ID
receiverId 接收者ID
userId 消息接收人Id
senderName 发送者名称
linkType 链接类型
openType 链接的打开方式,0:新窗口打开;1:工作区打开
linkParam0 — linkParam9 链接参数,顺序要与消息链接配置中保持一致。
isRead 是否已读

# 导出协同全部系统消息

导出协同中个人的全部系统消息。

接口请求说明:

V6.0之前请求方式
http请求方式:GET
http://ip:port/seeyon/rest/message/all/{userId}
例如:http://127.0.0.1:8088/seeyon/rest/message/all/-8361687019900091749

V6.0开始请求方式【增加分页】
http请求方式:GET
http://ip:port/seeyon/rest/message/all/{userId}?pageNo=1&pageSize=20
例如:http://127.0.0.1:8088/seeyon/rest/message/all/-8361687019900091749?pageNo=1&pageSize=20

注:请求需要携带token,否则无法使用,获取并传递token方法参考:https://open.seeyoncloud.com/seeyonapi/781/

参数说明:

参数 是否必须 说明
userId 人员ID

返回说明

正常情况下会返回UserHistoryMessage对象的JSON格式集合ArrayList,消息不存在返回null,JSON数据包参考:系统消息对象示例

参数说明 请参考:系统消息属性说明

# 导出协同全部未读系统消息

导出协同中个人的全部未读系统消息。

接口请求说明:

V6.0之前请求方式
http请求方式:GET
http://ip:port/seeyon/rest/message/unread/{userId}?ispage=true/false
例如:http://127.0.0.1:8088/seeyon/rest/message/unread/-8361687019900091749

V6.0开始请求方式【增加分页】
http请求方式:GET
http://ip:port/seeyon/rest/message/unread/{userId}?pageNo=1&pageSize=20
例如:http://127.0.0.1:8088/seeyon/rest/message/unread/-8361687019900091749?pageNo=1&pageSize=20

注:请求需要携带token,否则无法使用,获取并传递token方法参考:https://open.seeyoncloud.com/seeyonapi/781/

参数说明:

参数 是否必须 说明
userId 人员ID
ispage 默认true返回20条,false返回所有

返回说明

正常情况下会返回UserHistoryMessage对象的JSON格式集合ArrayList,消息不存在返回null,JSON数据包参考:系统消息对象示例

参数说明 请参考:系统消息属性说明

# 发送协同消息

外部系统通过消息接口,可以把系统消息发送到协同平台。

接口请求说明:

http请求方式:POST
接收人为用户ID:http://ip:port/seeyon/rest/message/userId
接收人为登录名:http://ip:port/seeyon/rest/message/loginName

注:请求需要携带token,否则无法使用,获取并传递token方法参考:https://open.seeyoncloud.com/seeyonapi/781/

具体代码调用方式请查看REST接口调用示例

参数说明:

此请求为【接收人为用户ID】POST请求,传递参数如下:

{
  "userIds": [11111,22222],/***接受人ID**/
  "sendUserId" : "3333",/***发起人用户ID;V5.6增加发起者登录名参数【senderLoginName】**/
  "content" : 我是消息内容,/***消息内容**/
  "url" : [],/***消息连接**/
}

此请求为【接收人为登录名】POST请求,传递参数如下:

{
  "sendUserId" : "3333",/***发起人用户ID;V5.6增加发起者登录名参数【senderLoginName】**/
  "loginNames" : [张三,李四],/***登录名**/
  "content" : 我是消息内容,/***消息内容**/
  "url" : [],/***消息连接**/
}
参数 是否必须 说明
loginNames 接收人为登录名,可以多人接收
userIds 接收人为用户ID,可以多人接收
content 消息内容:可以是发送人,标题,内容的组合
url 接收人触发的链接,跟接收人一一对应,如果为空则此接收人没有链接
sendUserId 发起者ID 与发起者登录名【senderLoginName】填写一个即可
senderLoginName(V5.6增加) 发起者登录名 与发起者ID【sendUserId】填写一个即可

返回说明

返回值:ServiceResponse;成功则返回1,失败而没有异常是0,有异常返回是-1,并且返回异常信息

备注

若消息还需要经过OA推送至微协同,请参考该FAQ进一步开发:

【微协同集成】调用标准消息推送接口,OA收到了消息但是微协同收不到 https://open.seeyoncloud.com/#/faq/faq/v1/share?url=Z2JySmU+NDI4OA==

# 获取消息URL连接

通过获取的消息对象中的linkType 和ReferenceId 来获取消息URL连接。

接口请求说明:

http请求方式:GET
http://ip:port/seeyon/rest/message/linkurl/{linkType}?ReferenceId={ReferenceId}
例如:http://127.0.0.1:8088/seeyon/rest/message/linkurl/message.link.col.pending?ReferenceId=2197872205573017031

注:请求需要携带token,否则无法使用,获取并传递token方法参考:https://open.seeyoncloud.com/seeyonapi/781/

参数说明:

参数 是否必须 说明
linkType 消息对象中的linkType属性
ReferenceId 消息对象中的ReferenceId属性
year 年,只有获取绩效消息才需要
month 月,只有获取绩效消息才需要

返回说明

正常情况下会返回消息的URL连接,消息不存在返回空。

# 改变未读消息读取状态

通过人员ID以及人员未读消息对象中的ID 来改变当前消息的ISREAD属性。

接口请求说明:

http请求方式:POST
http://ip:port/seeyon/rest/message/isread
例如:http://127.0.0.1:8088/seeyon/rest/message/isread

注:请求需要携带token,否则无法使用,获取并传递token方法参考:https://open.seeyoncloud.com/seeyonapi/781/

参数说明:

参数 是否必须 说明
userid 人员ID
messageid 未读消息ID
代码示例:
  Map res = new HashMap();
  String userid ="5195799439650475398";
  String[] messageid ={"-6208158811057140087"};
  res.put("userid", userid);
  res.put("messageid", messageid); 
  return res;
String result = client.post("message/isread",res, String.class);

返回说明

正常情况下会返回消息的JSON信息,消息不存在返回空。

创建人:admin
修改人:tanghu、het