导入单聊消息

最近更新时间:2019-05-21 16:21:25

功能说明

  • 导入历史单聊消息到云通信 IM。
  • 平滑过渡期间,将原有即时通讯实时单聊消息导入到云通信 IM。
  • 该接口不会触发回调。

接口调用说明

请求 URL 示例

https://console.tim.qq.com/v4/openim/importmsg?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json

请求参数说明

下表仅列出调用本接口时涉及修改的参数及其说明,更多参数详情请参考 REST API 简介

参数 说明
v4/openim/importmsg 请求接口
sdkappid 创建应用时云通信 IM 控制台分配的 SDKAppID
identifier 必须为 App 管理员帐号
usersig App 管理员帐号生成的签名,具体操作请参见 UserSig 后台 API
random 请输入随机的32位无符号整数

最高调用频率

100次/秒。如需提升调用频率,请根据 工单模板 提交工单申请处理。

请求包示例

  • 平滑过渡期间,实时消息导入
    {
      "SyncFromOldSystem": 1, // 平滑过渡期间,实时消息导入,消息计入未读
      "From_Account": "lumotuwe1", // 消息发送方帐号
      "To_Account": "lumotuwe2", // 接收方帐号
      "MsgRandom": 1287657, // 消息随机数
      "MsgTimeStamp": 1556178721, // 消息时间,UNIX 时间戳,单位为秒
      "MsgBody": [ // 消息内容,本条消息是一条文本消息
          {
              "MsgType": "TIMTextElem", // 文本消息元素
              "MsgContent": {
                  "Text": "hi, beauty"
              }
          }
      ]
    }
  • 历史消息导入
    {
      "SyncFromOldSystem": 2, // 历史消息导入,消息不计入未读
      "From_Account": "lumotuwe1", // 消息发送方帐号
      "To_Account": "lumotuwe2", // 接收方帐号
      "MsgRandom": 1287657, // 消息随机数
      "MsgTimeStamp": 1556178721, // 消息时间,UNIX 时间戳,单位为秒
      "MsgBody": [ // 消息内容,本条消息是一条文本消息
          {
              "MsgType": "TIMTextElem", // 文本消息元素
              "MsgContent": {
                  "Text": "hi, beauty" // 消息内容
              }
          }
      ]
    }

请求包字段说明

字段 类型 属性 说明
SyncFromOldSystem Integer 必填 该字段只能填1或2,其他值是非法值
1表示实时消息导入,消息加入未读计数
2表示历史消息导入,消息不计入未读
From_Account String 必填 消息发送方 Identifier,用于指定发送消息方
To_Account String 必填 消息接收方 Identifier
MsgRandom Integer 必填 消息随机数,由随机函数产生,用于消息去重
MsgTimeStamp Integer 必填 消息时间戳,UNIX 时间戳,单位为秒
MsgBody Object 必填 消息内容,具体格式请参考 消息格式描述(注意,一条消息可包括多种消息元素,MsgBody 为 Array 类型)
MsgType String 必填 TIM 消息对象类型,目前支持的消息对象包括: TIMTextElem(文本消息),TIMFaceElem(表情消息),TIMLocationElem(位置消息),TIMCustomElem(自定义消息)
MsgContent Object 必填 对于每种 MsgType 用不同的 MsgContent 格式,具体可参考 消息格式描述

应答包体示例

{
   "ActionStatus" : "OK",
   "ErrorInfo" : "",
   "ErrorCode" : 0
}

应答包字段说明

字段 类型 说明
ActionStatus String 请求处理的结果,OK 表示处理成功,FAIL 表示失败
ErrorCode Integer 错误码,0表示成功,非0表示失败
ErrorInfo String 错误信息

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的;
公共错误码(60000到79999)参见 错误码 文档。

本 API 私有错误码如下:

错误码 描述
90001 JSON 格式解析失败,请检查请求包是否符合 JSON 规范
90002 JSON 格式请求包中 MsgBody 不符合消息格式描述,或者 MsgBody 不是 Array 类型,请参考 TIMMsgElement 对象 的定义
90003 JSON 格式请求包体中缺少 To_Account 字段或者 To_Account 字段不是 Integer 类型
90005 JSON 格式请求包体中缺少 MsgRandom 字段或者 MsgRandom 字段不是 Integer 类型
90006 JSON 格式请求包体中缺少 MsgTimeStamp 字段或者 MsgTimeStamp 字段不是 Integer 类型
90007 JSON 格式请求包体中 MsgBody 类型不是 Array 类型,请将其修改为 Array 类型
90008 JSON 格式请求包体中缺少 From_Account 字段或者 From_Account 字段不是 Integer 类型
90009 请求需要 App 管理员权限
90010 JSON 格式请求包不符合消息格式描述,请参考 TIMMsgElement 对象 的定义
90011 批量发消息目标帐号超过500个,请减少 To_Account 中目标帐号数量
90012 To_Account 没有注册或不存在,请确认 To_Account 是否导入云通信 IM 或者是否拼写错误
90026 消息离线存储时间错误(最多不能超过7天)
90030 JSON 格式请求包体中缺少 SyncFromOldSystem 字段或者 SyncFromOldSystem 字段不是 Integer 类型
90048 请求的用户帐号不存在
90992 服务内部错误,请重试;如果所有请求都返回该错误码,且 App 配置了第三方回调,请检查 App 服务器是否正常向云通信 IM 后台服务器返回回调结果
91000 服务内部错误,请重试
93000 JSON 数据包超长,消息包体请不要超过8k

接口调试工具

通过 REST API 在线调试工具 调试本接口。

参考

导入群消息(v4/group_open_http_svc/import_group_msg