Message-Middle-Platform消息中心SDK
联诚科技集团Message-Middle-Platform消息中间平台SDK接入指南(java版)
使用前提
- 使用 message-middle-platform 消息中间平台 java SDK, 您需要使用消息平台提供的App Key、App Secret和消息中间平台 URL 地址
- LicOS SDK 支持JAVA JDK1.8及其以上版本
SDK获取和安装
推荐您通过 Maven 安装依赖的方式使用 SDK。
pom.xml配置
<!-- 请使用最新版SDK -->
<dependency>
<groupId>com.kmlc.message</groupId>
<artifactId>message-sdk</artifactId>
<version>1.0.1-RELEASE</version>
</dependency>
配置文件说明:
配置 | 说明 |
---|---|
ak | Access Key Id 用于标示用户 |
sk | Secret Access Key 密钥 |
url | 请求消息中间平台的URL |
统一返回结果 Result<T>
说明:
名称 | 类型 | 描述 |
---|---|---|
success | boolean | 请求状态 true 成功 |
message | String | 返回处理消息 |
code | integer | http请求状态码 |
content | T | 返回数据对象 |
timestamp | long | 时间戳 |
请求成功返回结果
Result<T>
reuslt:
{
"success" : true,
"message" : "操作成功",
"code" : 200,
"timestamp" : 1670910618211,
"content" : { //返回 T 对象 或 T 对象集合
...
}
}
请求失败返回结果
Result<T>
reuslt:
{
"success" : false,
"message" : "错误信息",
"code" : xxx, //错误状态码
"timestamp" : 1670910618211,
"content" : { //返回一个为 null 的 T 对象
}
}
用户注册/修改方法 register(RequestDto request)
请求参数
名称 | 类型 | 是否必填 | 示例 | 描述 |
---|---|---|---|---|
alias | String | 是 | test_957aba78d04b | 第三方系统唯一号 |
name | String | 否 | LicOS_test | 请求用户名 |
cid | String | 否 | test_59b916c29627 | 客户端Id |
phone | String | 是 | 13312341234 | 用户手机号码 |
avatar | String | 否 | test_957aba78d04b | 用户类别 |
cate | String | 否 | test_957aba78d04b | 用户类别,由业务系统自己定义 |
响应参数
名称 | 类型 | 示例 | 描述 |
---|---|---|---|
ak | String | test_957aba78d04b | Access key Id |
alias | String | LicOS_test | 第三方系统唯一号 |
cid | String | test_59b916c29627 | 客户端Id |
phone | String | 13312341234 | 用户手机号码 |
请求示例:
public static void main(String[] args) {
RequestDto request = new RequestDto();
request.setAlias("test_957aba78d04b1"); // 第三方用户唯一别名
request.setName("test_name");//发消息者名字
request.setCid("test_59b916c29628");//客户端id
request.setPhone("13312341234");//用户手机号码
...
/*
String ak="0000001"
String sk="kmlc3302133"
String url ="http://127.0.0.1:8081/msgv2"
*/
MessageClient messageClient = new MessageClient("0000001", "kmlc3302133", "http://127.0.0.1:8081/msgv2");
Result<UserVO> register = messageClient.register(request);
//TODO 执行其它逻辑
...
}
请求成功返回结果
Result<UserVO>
reuslt:
{
"success" : true,
"message" : "操作成功",
"code" : 200,
"timestamp" : 1670910618211,
"content" : { //返回 T 对象
"ak" : "0000001" ,
"alias" : "test_licos" ,
"phone" : "13312341234" ,
"cid" : "test_122321321"
}
}
请求失败返回结果
Result<UserVO>
reuslt:
{
"success" : false,
"message" : "错误信息",
"code" : xxx, //错误状态码
"timestamp" : 1670910618211,
"content" : { //返回一个为 null 的 T 对象
}
}
统一推送接口 push(PushDTO dto)
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
messageReqPlatformDTO | MessageReqPlatformDTO | 否 | 平台消息参数,和其余两种推送方式组合使用 |
messageReqAppDTO | MessageReqAppDTO | 否 | 个推参数,和其余两种推送方式组合使用 |
messageReqSmsDTO | MessageReqSmsDTO | 否 | 短信参数,和其余两种推送方式组合使用 |
outId | String | 是 | 客户端请求唯一标识Id |
receiverType | ReceiverType | 是 | 接收者类型 广播所有 ALL,根据userid推送 USERID ,根据别名推送 ALIAS |
receiverIds | List<String> |
是 | 消息接收者id |
Result<Object>
result:
返回结果参照统一结果返回 Result<T>
结构 ,泛型为Object表示后端没有对象返回,content 为 null
获取socket连接token socketToken(SocketTokenDTO dto)
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
alias | String | 是 | 用户别名,别名和 id 至少有一个 |
userId | String | 是 | 用户 id ,别名和 id 至少有一个 |
type | String | 是 | 客户端类型 mobile 、web |
响应参数
名称 | 类型 | 描述 |
---|---|---|
token | String | 该token用于连接到socket服务器 |
userId | String | 消息服务提供的userId |
type | String | 客户端类型 mobile 、web |
connectUrl | String | ws连接地址 |
请求返回示例
Result<SocketTokenVO>
reuslt:
{
"success" : true,
"message" : "操作成功",
"code" : 200,
"timestamp" : 1670910618211,
"content" : { //返回 T 对象
"token" : "0000001" ,
"userId" : "test_licos" ,
"type" : "13312341234" ,
"connectUrl" : "test_122321321"
}
}
获取平台消息 分页 多条件 getPlatformMessage(GetPlatformMessageDTO getMessage)
请求参数
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
title | String | 否 | 标题 |
cate | String | 否 | 消息类别字段 区分公告站内信等不同类型的消息 |
isRead | Boolean | 否 | 是否已读 |
isCompleted | Boolean | 否 | 是否完成 |
receiverUserId | String | 否 | userId 多个之间按逗号分隔 |
receiverAlias | String | 否 | 别名 多个之间按逗号分隔 |
sendId | String | 否 | 发送者id |
senderType | String | 否 | 发送类型 |
search | String | 否 | 搜索条件 |
pageNo | Integer | 是 | 页数 |
pageSize | Integer | 是 | 每页大小 |
sort | String | 否 | 按照id进行排序 默认降序 |
readSort | String | 否 | 按照isRead 字段 进行排序 进行排序 默认升序 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
pageNo | Integer | 页数 |
pageSize | Integer | 每页大小 |
total | long | 总条数 |
content | List |
返回数据 |
MessagePlatformVO | ||
msgId | String | 消息id |
outId | String | 请求唯一号 |
title | String | 标题 |
content | String | 内容 |
extras | String | 附加内容 |
cate | String | 消息类别字段 区分公告站内信等不同类型的消息 |
isRead | Boolean | 阅读状态 |
isReceive | Boolean | 发送状态 |
isCompleted | Boolean | 完成状态 |
createTime | Date | 创建时间 |
readTime | Date | 阅读时间 |
receiverUserId | String | 接收者id |
sendId | String | 发送者唯一id,由业务系统自己定义 |
senderType | String | 发送者类别,由业务系统自己定义 |
Result<PageResponse<MessagePlatformVO>>
result:
返回结果参照统一结果返回 Result<T>
结构
获取某条消息并且设置已读 getPlatformMessageById(String msgId)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
msgId | String | 是 | 消息id |
响应参数
名称 | 类型 | 描述 |
---|---|---|
msgId | String | 消息id |
outId | String | 请求唯一号 |
title | String | 标题 |
content | String | 内容 |
extras | String | 附加内容 |
cate | String | 消息类别字段 区分公告站内信等不同类型的消息 |
isRead | Boolean | 阅读状态 |
isReceive | Boolean | 发送状态 |
isCompleted | Boolean | 完成状态 |
createTime | Date | 创建时间 |
readTime | Date | 阅读时间 |
receiverUserId | String | 接收者id |
sendId | String | 发送者唯一id,由业务系统自己定义 |
senderType | String | 发送者类别,由业务系统自己定义 |
Result<MessagePlatformVO>
result:
返回结果参照统一结果返回 Result<T>
结构
按条件设置消息已读 readPlatformMessage(SetPlatformMessageReadDTO dto)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
outId | String | 是 | 请求唯一号 |
msgId | String | 否 | 消息id 多个之间按逗号分隔 |
cate | String | 是 | 消息类别字段 区分公告站内信等不同类型的消息 |
receiverUserId | String | 是 | 接收者Id |
receiverAlias | String | 是 | 接收者别名 |
sendId | String | 是 | 发送者id |
senderType | String | 是 | 发送类型 |
Result<Object>
result:
返回结果参照统一结果返回 Result<T>
结构 泛型为Object表示后端没有对象返回,content 为 null
按条件设置消息已完成 completePlatformMessage(SetPlatformMessageReadDTO dto)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
outId | String | 是 | 请求唯一号 |
msgId | String | 否 | 消息id 多个之间按逗号分隔 |
cate | String | 是 | 消息类别字段 区分公告站内信等不同类型的消息 |
receiverUserId | String | 是 | 接收者Id |
receiverAlias | String | 是 | 接收者别名 |
sendId | String | 是 | 发送者id |
senderType | String | 是 | 发送类型 |
Result<Object>
result:
返回结果参照统一结果返回 Result<T>
结构 泛型为Object表示后端没有对象返回,content 为 null
获取某条消息的已读未读信息 getPlatformMessageRead(String outId)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
outId | String | 是 | 请求唯一号 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
readList | List<UserSimpleInfo> |
已读消息 |
unReadList | List<UserSimpleInfo> |
未读消息 |
UserSimpleInfo | ||
userId | String | 用户id |
alias | String | 别名 |
avatar | String | 图标 |
name | String | 用户名 |
Result<ReadInfoVO>
result:
返回结果参照统一结果返回 Result<T>
结构
条件删除消息 deletePlatformMessage(DeleteMessageDTO dto)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
outId | String | 是 | 请求唯一号 |
msgId | String | 是 | 消息id |
Result<Object>
result:
返回结果参照统一结果返回 Result<T>
结构
消息对应的接收者简要信息 getPlatformMessageIdsByOutId(String outId)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
outId | String | 是 | 请求唯一号 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
userId | String | 用户id |
msgId | String | 消息id |
alias | String | 别名 |
Result<List<MsgSimple>>
result:
返回结果参照统一结果返回 Result<T>
结构
根据sendId分组列表 getPlatformMessageGroupBySendId(GetPlatformMessageGroupBySendIdDTO dto)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
cate | String | 是 | 消息类别字段 区分公告站内信等不同类型的消息 |
receiverAlias | String | 是 | 接收者别名 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
sendId | String | 发送者id |
cate | String | 类型 |
title | String | 标题 |
content | String | 内容 |
createTime | Date | 创建时间 |
noNum | Long | 根据sendId 查询到未读的数量 |
Result<List<SendIdGroupVO>>
result:
返回结果参照统一结果返回 Result<T>
结构
查询最新的一条消息 getPlatformMessageLatest(GetPlatformMessageLatestDTO dto)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
cate | String | 是 | 消息类别字段 区分公告站内信等不同类型的消息 |
receiverAlias | String | 是 | 接收者别名 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
msgId | String | 消息id |
outId | String | 请求唯一号 |
title | String | 标题 |
content | String | 内容 |
extras | String | 附加内容 |
cate | String | 消息类别字段 区分公告站内信等不同类型的消息 |
isRead | Boolean | 阅读状态 |
isReceive | Boolean | 发送状态 |
isCompleted | Boolean | 完成状态 |
createTime | Date | 创建时间 |
readTime | Date | 阅读时间 |
receiverUserId | String | 接收者id |
sendId | String | 发送者唯一id,由业务系统自己定义 |
senderType | String | 发送者类别,由业务系统自己定义 |
Result<MessagePlatformVO>
result:
返回结果参照统一结果返回 Result<T>
结构
查询消息数量 getCount(GetNoCompletedNumDTO dto)
请求参数类型
名称 | 类型 | 是否必填 | 描述 |
---|---|---|---|
outId | String | 否 | 请求唯一号 |
isRead | Boolean | 否 | 是否已读 |
isCompleted | Boolean | 否 | 是否完成 |
receiverUserId | String | 否 | userId 按照逗号分隔 |
receiverAlias | String | 否 | 别名 按逗号分隔 |
sendId | String | 是 | 发送者Id |
senderType | String | 否 | 发送类型 |
响应参数
名称 | 类型 | 描述 |
---|---|---|
count | long | 消息数量 |
Result<CountVO>
result:
返回结果参照统一结果返回 Result<T>
结构