更新时间: 2021-03-08
# 功能描述
1、免费获取 APP 内指定某天某小时内的所有会话消息记录的下载地址,消息记录以日志文件方式提供,并对文件进行压缩,通过接口返回消息记录文件下载地址后请自行下载。
2、目前支持二人会话、讨论组、群组、聊天室、客服、系统通知消息历史记录下载。
3、消息记录数据每小时产生一次,例如 10 点的数据,在 11 点以后才能调用该接口获取到下载地址,在获取时可能会出现延迟,请尝试多次获取,最晚 1
小时即可获取到下载地址。
4、消息记录日志文件,我们为您在服务器端保存 3 天
,无论是否下载过,3 天后都将从服务器删除。
5、开发者如果需要获取图片、视频等文件信息,可通过消息中地址进行下载,融云文件存储有效期为 6 个月。
# 实现方法
# 获取消息日志下载地址
从 2021.02.24 号开始该功能需要开通后才能使用,请在开发者后台-免费基础功能中,开通Server API 历史消息日志下载 (opens new window)功能,已开通用户没有影响。
# 输入参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
date | String | 是 | 指定北京时间某天某小时,格式为 2014010101,表示获取 2014 年 1 月 1 日凌晨 1 点至 2 点的数据。 |
如业务是在新加坡数据中心,则消息历史日志服务所使用的时间为 UTC 时,获取消息日志时使用的时间及日志中的消息时间需要根据需要自行转换处理。如要下载北京时间 2019120109 的日志,需要输入 2019120101。
# 返回参数
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
url | String | 历史记录下载地址,如没有消息记录数据时,则 url 值为空。 |
date | String | 历史记录时间。 |
# 日志格式
名称 | 类型 | 说明 |
---|---|---|
appId | String | App Key。 |
fromUserId | String | 发送者 Id |
targetId | String | 接受者 Id,在消息路由中为 toUserId,当发送聊天室广播消息、全量用户落地通知(/broadcast)时此字段为空。 |
targetType | Int | 会话类型,二人会话是 1 、讨论组会话是 2 、群组会话是 3 、聊天室会话是 4 、客服会话是 5 、 系统通知是 6 、应用公众服务是 7 、公众服务是 8。targetType 在 SDK 中为 ConversationType。 |
GroupId | String | 根据不同的 targetType,可能是讨论组 Id、群组 Id 或聊天室 Id ,如 targetType 为 1 时可忽略 GroupId。 |
classname | String | 消息类型:文本消息 RC:TxtMsg 、 图片消息 RC:ImgMsg、GIF 消息 RC:GIFMsg、语音消息 RC:VcMsg、高质量语音消息 RC:HQVCMsg、文件消息 RC:FileMsg、小视频消息 RC:SightMsg、图文消息 RC:ImgTextMsg 、位置消息 RC:LBSMsg 、添加联系人消息 RC:ContactNtf 、提示条通知消息 RC:InfoNtf 、资料通知消息 RC:ProfileNtf 、通用命令通知消息 RC:CmdNtf。 |
content | String | 消息内容 |
dateTime | String | 消息时间 |
source | String | 消息来源,包括:iOS、Android、Websocket、MiniProgram(小程序)、PC、Server。 |
isDiscard | String | 是否被丢弃,true 为是,false 为否,只针对聊天室会话类型存在。 |
isSensitiveWord | String | 是否含有屏蔽敏感词,true 为含有、false 为不含有,只针对聊天室会话类型存在。 |
isForbidden | String | 是否为被禁言后发送的消息,只针对聊天室会话类型存在。 |
isNotForward | String | 消息是否不分发,true 为不分发、false 为分发,只针对聊天室会话类型存在。 |
msgUID | String | 可通过 msgUID 确定消息唯一。 |
groupUserIds | String[] | targetType 为 3 时此参数有效,显示为群组中指定接收消息的用户 ID 数组,该条消息为群组定向消息。非定向消息时内容为空,如指定的用户不在群组中内容也为空。 |
# 代码示例
请求地址: https://数据中心域名/message/history.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
Request:
POST /message/history.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Timestamp: 1408710653491 Nonce: 14314 Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8 Content-Type: Application/x-www-form-urlencoded date=2014010101
已复制
2
3
4
5
6
7
8
9
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "code":200, "url":"http://aa.com/1/c6720eea-452b-4f93-8159-7af3046611f1.gz", "date":"2014010101" }
已复制
2
3
4
5
6
7
8
# 历史消息日志删除
删除服务端消息记录日志文件,文件内容为 APP 内指定某天某小时内的所有会话消息记录,删除后文件将在随后的 10 分钟内被永久删除
。开通单群聊消息云存储功能后存储在云端的数据不会被删除,只是无法再通过“消息历史记录下载地址获取方法”获取消息日志文件。
# 输入参数
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
date | String | 是 | 指定北京时间某天某小时,格式为 2014010101,表示:2014年1月1日凌晨1点。返回成功后,消息记录文件将在随后的 10 分钟内被永久删除 。 |
如您的业务是在新加坡数据中心,则消息历史日志服务所使用的时间为 UTC 时,获取消息日志时使用的时间及日志中的消息时间需要根据需要自行转换处理。如要下载北京时间 2019120109 的日志,需要输入 2019120101。
# 返回参数
返回值 | 返回类型 | 说明 |
---|---|---|
code | Int | 返回码,200 为正常。 |
# 代码示例
请求地址: https://数据中心域名/message/history/delete.json
请求方法: POST
调用频率: 无限制
签名规则: 所有请求融云服务端 API 接口的请求均需要进行规则校验,详细请参考 通用 API 接口签名规则
Request:
POST /message/history/delete.json HTTP/1.1 Host: api-cn.ronghub.com App-Key: uwd1c0sxdlx2 Timestamp: 1408710653491 Nonce: 14314 Signature: 45beb7cc7307889a8e711219a47b7cf6a5b000e8 Content-Type: Application/x-www-form-urlencoded date=2014010101
已复制
2
3
4
5
6
7
8
9
Response:
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 {"code":200}
已复制
2
3
4