历史记录
单聊云端历史消息查询
请求说明
POST https://api.netease.im/nimserver/history/querySessionMsg.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
查询存储在网易云信服务器中的单人聊天历史消息,只能查询在保存时间范围内的消息
- 跟据时间段查询点对点消息,每次最多返回100条;
- 不提供分页支持,第三方需要跟据时间段来查询。
- begintime需要早于endtime,否则会返回{"desc": "bad time", "code": 414}。
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| from | String | 是 | 发送者accid |
| to | String | 是 | 接收者accid |
| begintime | String | 是 | 开始时间,毫秒级 |
| endtime | String | 是 | 截止时间,毫秒级 |
| limit | int | 是 | 本次查询的消息条数上限(最多100条),小于等于0,或者大于100,会提示参数错误 |
| reverse | int | 否 | 1按时间正序排列,2按时间降序排列。其它返回参数414错误.默认是按降序排列,即时间戳最晚的消息排在最前面。 |
| type | String | 否 | 查询指定的多个消息类型,类型之间用","分割,不设置该参数则查询全部类型消息格式示例: 0,1,2,3
类型支持: 1:图片,2:语音,3:视频,4:地理位置,5:通知,6:文件,10:提示,11:Robot,100:自定义 |
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'begintime=1443599631111&endtime=1443599639999&from=zhangsan&to=lisi&limit=50' 'https://api.netease.im/nimserver/history/querySessionMsg.action'
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"size":xxx,//总共消息条数
"msgs":[msg1,msg2,···,msgn] //消息集合,JSONArray
}
注:查询返回的消息示例参见历史消息查询返回的消息格式说明。
主要的返回码
200、403、414、416、431、500
具体请参考code状态表
群聊云端历史消息查询
请求说明
POST https://api.netease.im/nimserver/history/queryTeamMsg.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
查询存储在网易云信服务器中的群聊天历史消息,只能查询在保存时间范围内的消息
- 跟据时间段查询群消息,每次最多返回100条;
- 不提供分页支持,第三方需要跟据时间段来查询。
- begintime需要早于endtime,否则会返回{"desc": "bad time", "code": 414}。
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| tid | String | 是 | 群id |
| accid | String | 是 | 查询用户对应的accid. |
| begintime | String | 是 | 开始时间,毫秒级 |
| endtime | String | 是 | 截止时间,毫秒级 |
| limit | int | 是 | 本次查询的消息条数上限(最多100条),小于等于0,或者大于100,会提示参数错误 |
| reverse | int | 否 | 1按时间正序排列,2按时间降序排列。其它返回参数414错误。默认是按降序排列,即时间戳最晚的消息排在最前面。 |
| type | String | 否 | 查询指定的多个消息类型,类型之间用","分割,不设置该参数则查询全部类型消息格式示例: 0,1,2,3
类型支持: 1:图片,2:语音,3:视频,4:地理位置,5:通知,6:文件,10:提示,11:Robot,100:自定义 |
| checkTeamValid | Boolean | 否 | true(默认值):表示需要检查群是否有效,accid是否为有效的群成员;设置为false则仅检测群是否存在,accid是否曾经为群成员。 |
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'begintime=1443599631111&endtime=1443599639999&tid=1513535&accid=zhangsan&limit=50' 'https://api.netease.im/nimserver/history/queryTeamMsg.action'
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"size":xxx,//总共消息条数
"msgs":[msg1,msg2,···,msgn] //消息集合,JSONArray。
}
注:查询返回的消息示例参见历史消息查询返回的消息格式说明。
主要的返回码
200、403、414、416、431、500
具体请参考code状态表
聊天室云端历史消息查询
请求说明
POST https://api.netease.im/nimserver/history/queryChatroomMsg.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
1.此接口有频控限制,每分钟可调用不超过1200次
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| roomid | long | 是 | 聊天室id |
| accid | String | 是 | 用户账号 |
| timetag | long | 是 | 查询的时间戳锚点,13位。reverse=1时timetag为起始时间戳,reverse=2时timetag为终止时间戳 |
| limit | int | 是 | 本次查询的消息条数上限(最多200条),小于等于0,或者大于200,会提示参数错误 |
| reverse | int | 否 | 1按时间正序排列,2按时间降序排列。其它返回参数414错误。默认是2按时间降序排列 |
| type | String | 否 | 查询指定的多个消息类型,类型之间用","分割,不设置该参数则查询全部类型消息。 格式示例: 0,1,2,3 支持的消息类型:0:文本,1:图片,2:语音,3:视频,4:地理位置,5:通知,6:文件,10:提示,11:智能机器人消息,100:自定义消息。用英文逗号分隔。 |
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 12345" -H "CurTime: 1459154905" -H "CheckSum: 8d3ef001b160bda737c779d75d906e48e75fc9d3" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=123456&accid=zhangsan&timetag=1471234567812&limit=20&reverse=2' "https://api.netease.im/nimserver/history/queryChatroomMsg.action"
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"size":xxx,//总共消息条数
"msgs":[msg1,msg2,···,msgn] //消息集合,JSONArray。
}
注:查询返回的消息示例参见历史消息查询返回的消息格式说明。
主要的返回码
200、403、414、416、431、500
具体请参考code状态表
历史消息查询返回的消息格式说明
注意事项:
- msgid(long类型)为消息的服务端id,msgidclient(string类型)为消息的客户端id。
- 当消息为聊天室消息时,此时只有msgid,没有msgidclient,且msgid为string类型,即"msgid": "d864"。
1.普通文本消息
json{
"from":"test1",
"msgid":792478,
"sendtime":1430967883307,
"type":0,//文本消息类型
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"msg":"哈哈哈"//消息内容
}
}
2.图片消息
json{
"from":"test1",
"msgid":792502,
"sendtime":1430978396680, //发送时间ms
"type":1, //图片类型消息
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"name":"图片发送于2015-05-07 13:59", //图片name
"md5":"9894907e4ad9de4678091277509361f7", //图片文件md5
"url":"http://nimtest.nos.netease.com/cbc500e8-e19c-4b0f-834b-c32d4dc1075e", //生成的url
"ext":"jpg", //图片后缀
"w":6814, //宽
"h":2332, //高
"size":388245 //图片大小
}
}
3.语音消息
json{
"from":"test1",
"msgid":792479,
"sendtime":1430967899646, //发送时间ms
"type":2, //语音类型消息
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"dur":4551, //语音持续时长ms
"md5":"87b94a090dec5c58f242b7132a530a01", //md5
"url":"http://nimtest.nos.netease.com/a2583322-413d-4653-9a70-9cabdfc7f5f9", //生成的url
"ext":"aac", //语音消息格式,只能是aac格式
"size":16420 //语音文件大小
}
}
4.视频消息
json{
"from":"test1",
"msgid":792505,
"sendtime":1430978424249, //发送时间ms
"type":3 //视频类型消息
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"dur":8003, //视频持续时长ms
"md5":"da2cef3e5663ee9c3547ef5d127f7e3e", //md5
"url":"http://nimtest.nos.netease.com/21f34447-e9ac-4871-91ad-d9f03af20412", //生成的url
"w":360, //宽
"h":480, //高
"ext":"mp4", //视频格式
"size":16420 //视频文件大小
}
}
5.地理位置消息
json{
"from":"test1",
"msgid":792501,
"sendtime":1430978381896, //发送时间ms
"type":4, //地理位置类型消息
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"title":"中国 浙江省 杭州市 网商路 599号", //地理位置title
"lng":120.1908686708565, // 经度
"lat":30.18704515647036 // 纬度
}
}
6.文件消息
json{
"from":"test1",
"msgid":7925061,
"sendtime":1430978435894, //发送时间ms
"type":6, //文件消息
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"name":"BlizzardReg.ttf", //文件名
"md5":"79d62a35fa3d34c367b20c66afc2a500", //文件MD5
"url":"http://nimtest.nos.netease.com/08c9859d-183f-4daa-9904-d6cacb51c95b", //文件URL
"ext":"ttf", //文件后缀类型
"size":91680 //大小
}
}
7.自定义消息
json{
"from":"test1",
"msgid":792506,
"sendtime":1430978435894, //发送时间ms
"type":100, //第三方自定义消息
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{ //自定义的内容,需要符合json格式
…
}
}
8.群通知
json{
"msgid ":278703112201,
"from":"t4", //通知发起者
"sendtime":1430978435894, //发送时间ms
"type":5, //群notifycation通知
"fromclienttype": 2, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"msgidclient": "3bfd9660665a14bce4ec95e1b1d3afed",
"body":{
"tid":4153, //群id
"tname":"key1", //群名称 (某些操作会有)
"ope":1, //notify通知类型 (0:群拉人,1:群踢人,2:退出群,3:群信息更新,4:群解散,5:申请加入群成功,6:退出并移交群主,7:增加管理员,8:删除管理员,9:接受邀请进群)
"accids":["t2"], //被操作的对象 (群成员操作时才有)
"intro":"群介绍", //(ope=3时群信息修改项)
"announcement":"群公告", //(ope=3时群信息修改项)
"joinmode":1, //加入群的模式0不需要认证,1需要认证 ,(ope=3时群信息修改项)
"config":"第三方服务器配制修改项",//(ope=3时群信息修改项)
"updatetime":1432804852021 //通知后台更新时间 (群操作时有)
}
}
9.聊天室通知
json{
"msgid": "94b58bff-95ec-4cf9-91bd-4f6933d0ac3a",
"from": "user01",
"type": 5,
"fromclienttype": 16, //1:android、2:iOS、4:PC、16:WEB、32:REST、64:MAC
"sendtime": 1567502401139,
"body": {
"id": 301, //301: 成员进入聊天室,302: 成员离开聊天室,303: 成员被加黑,304: 成员被取消黑名单,305: 成员被设置禁言,306: 成员被取消禁言,307: 设置为管理员,308: 取消管理员,309: 成员设定为固定成员,310: 成员取消固定成员,312: 聊天室信息更新,313: 成员被踢,314: 新增临时禁言,315: 主动解除临时禁言,316: 成员更新聊天室内的角色信息,317: 麦序队列中有变更,318: 聊天室禁言,319: 聊天室解除禁言状态,320: 麦序队列中有批量变更
"data": {
"opeNick": "昵称01",
"operator": "user01",
"target": ["user01"],
"tarNick": ["昵称01"],
"ext":"自定义扩展信息"
}
}
}
删除聊天室云端历史消息
请求说明
POST https://api.netease.im/nimserver/chatroom/deleteHistoryMessage.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
删除聊天室的云端历史消息
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| roomid | long | 是 | 聊天室id |
| fromAcc | String | 是 | 消息发送者的accid |
| msgTimetag | long | 是 | 消息的时间戳,单位毫秒,应该拿到原始消息中的时间戳为参数 |
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 12345" -H "CurTime: 1459154905" -H "CheckSum: 8d3ef001b160bda737c779d75d906e48e75fc9d3" -H "Content-Type: application/x-www-form-urlencoded" -d 'roomid=123456&fromAcc=zhangsan&msgTimetag=1491234567812' "https://api.netease.im/nimserver/chatroom/deleteHistoryMessage.action"
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200
}
主要的返回码
200、403、404、414、416、431、500、514
具体请参考code状态表
用户登录登出事件记录查询
请求说明
POST https://api.netease.im/nimserver/history/queryUserEvents.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
1.跟据时间段查询用户的登录登出记录,每次最多返回100条。
2.不提供分页支持,第三方需要跟据时间段来查询。
3.此接口需要联系客户经理开通方能生效,生效后可以查询。不支持查询开通前的登录登出事件记录。
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| accid | String | 是 | 要查询用户的accid |
| begintime | String | 是 | 开始时间,毫秒级 |
| endtime | String | 是 | 截止时间,毫秒级 |
| limit | int | 是 | 本次查询的消息条数上限(最多100条),小于等于0,或者大于100,会提示参数错误 |
| reverse | int | 否 | 1按时间正序排列,2按时间降序排列。其它返回参数414错误。默认是按降序排列 |
curl请求示例
curlcurl -X POST -H "AppKey: go9dnk49bkd9jd9vmel1kglw0803mgq3" -H "Nonce: 4tgggergigwow323t23t" -H "CurTime: 1443592222" -H "CheckSum: 9e9db3b6c9abb2e1962cf3e6f7316fcc55583f86" -H "Content-Type: application/x-www-form-urlencoded" -d 'accid=11111&begintime=1448948957018&endtime=1448955895518&limit=50' 'https://api.netease.im/nimserver/history/queryUserEvents.action'
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code":200,
"size":xxx,//总共记录数
"events":
[
{
"accid":"t4", //用户accid
"timestamp":1452058433412, //发生时间,ms
"eventType":2, //2表示登录,3表示登出
"clientIp":"8.8.8.8", //用户clientip
"sdkVersion":12, //sdk 版本
"clientType":"IOS", //终端
"deviceId":"a4789a14-8ef3-4a3d-9ab3-8fdc9e54f112", //设备ID,可选字段
"customTag":"自定义tag", //登录时设置的自定义tag,可选字段
"code":200 //登录成功状态,200表示成功
},
{
"accid":"t4", //用户accid
"timestamp":1452058381580, //发生时间,ms
"eventType":3, //2表示登录,3表示登出
"clientIp":"8.8.8.8", //用户clientip
"sdkVersion":12, //sdk 版本
"clientType":"IOS", //终端
"deviceId":"a4789a14-8ef3-4a3d-9ab3-8fdc9e54f112", //设备ID,可选字段
"customTag":"自定义tag", //登录时设置的自定义tag,可选字段
"code":200 //登录成功状态,200表示成功
}
]
}
主要的返回码
200、403、414、416、431、500
具体请参考code状态表
批量查询广播消息
请求说明
POST https://api.netease.im/nimserver/history/queryBroadcastMsg.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
批量查询广播消息
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| broadcastId | long | 否 | 查询的起始ID,0表示查询最近的limit条。默认0。 |
| limit | int | 否 | 查询的条数,最大100。默认100。 |
| type | long | 否 | 查询的类型,1表示所有,2表示查询存离线的,3表示查询不存离线的。默认1。 |
curl请求示例
curlcurl -X POST -H "appkey: fe416640c8e8a72734219e1847ad2547" -H "nonce: 12345" -H "curtime: 1459154905" -H "checksum: 8d3ef001b160bda737c779d75d906e48e75fc9d3" -H "Content-Type: application/x-www-form-urlencoded" -d 'type=1' "https://api.netease.im/nimserver/history/queryBroadcastMsg.action"
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"msgs": [
{
"expireTime": 1505502793520,
"body": "hello world 1",
"createTime": 1505466793520,
"isOffline": true,
"broadcastId": 48174937359009,
"targetOs": [
"ios",
"pc",
"aos"
]
},
{
"expireTime": 1505502292394,
"body": "hello world 2",
"createTime": 1505466292394,
"isOffline": true,
"broadcastId": 48174921356545,
"targetOs": [
"pc",
"aos",
"ios"
]
}
]
}
主要的返回码
200、403、414、416、431、500
具体请参考code状态表
查询单条广播消息
请求说明
POST https://api.netease.im/nimserver/history/queryBroadcastMsgById.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
查询单条广播消息
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| broadcastId | long | 是 | 广播消息ID,应用内唯一。 |
curl请求示例
curlcurl -X POST -H "appkey: fe416640c8e8a72734219e1847ad2547" -H "nonce: 12345" -H "curtime: 1459154905" -H "checksum: 8d3ef001b160bda737c779d75d906e48e75fc9d3" -H "Content-Type: application/x-www-form-urlencoded" -d 'broadcastId=123456' "https://api.netease.im/nimserver/history/queryBroadcastMsgById.action"
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200,
"msg": {
"expireTime": 1505502793520,
"body": "hello world",
"createTime": 1505466793520,
"isOffline": true,
"broadcastId": 48174937359009,
"targetOs": [
"ios",
"pc",
"aos"
]
}
}
主要的返回码
200、403、404、414、416、431、500
具体请参考code状态表
删除单条广播消息
请求说明
POST https://api.netease.im/nimserver/history/delBroadcastMsgById.action HTTP/1.1
Content-Type: application/x-www-form-urlencoded;charset=utf-8
请求中Headers的设置请参考接口概述
接口描述
删除单条广播消息
参数说明
| 参数 | 类型 | 必须 | 说明 |
|---|---|---|---|
| broadcastId | long | 是 | 广播消息ID,应用内唯一。 |
curl请求示例
curlcurl -X POST -H "appkey: fe416640c8e8a72734219e1847ad2547" -H "nonce: 12345" -H "curtime: 1459154905" -H "checksum: 8d3ef001b160bda737c779d75d906e48e75fc9d3" -H "Content-Type: application/x-www-form-urlencoded" -d 'broadcastId=123456' "https://api.netease.im/nimserver/history/delBroadcastMsgById.action"
返回说明
http 响应:json
json"Content-Type": "application/json; charset=utf-8"
{
"code": 200
}
主要的返回码
200、403、404、414、416、431、500
具体请参考code状态表


