tencent cloud

文档反馈

导入群消息

最后更新时间:2023-03-10 15:13:13

    功能说明

    • 该 API 接口的作用是导入群组的消息,不会触发回调、不会下发通知。
    • 当 App 需要从其他即时通信系统迁移到即时通信 IM 时,使用该协议导入存量群消息数据。

    接口调用说明

    适用的群组类型

    群组类型 支持此 REST API
    Private 支持,同新版本中的 Work(好友工作群)
    Public 支持
    ChatRoom 支持,同新版本中的 Meeting(会议群)
    AVChatRoom 不支持
    Community(社群) 支持

    即时通信 IM 内置以上四种群组类型,详情请参阅 群组系统

    说明:

    AVChatRoom(直播群)不支持导入群消息,对此类型的群组进行操作时会返回10007错误;因为此类型群组所适用的场景不支持查看入群前的历史消息,所以没有提供这一功能。

    请求 URL 示例

    https://xxxxxx/v4/group_open_http_svc/import_group_msg?sdkappid=88888888&identifier=admin&usersig=xxx&random=99999999&contenttype=json
    

    请求参数说明

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

    参数 说明
    xxxxxx SDKAppID 所在国家/地区对应的专属域名:
  • 中国:console.tim.qq.com
  • 新加坡:adminapisgp.im.qcloud.com
  • 首尔: adminapikr.im.qcloud.com
  • 法兰克福:adminapiger.im.qcloud.com
  • 孟买:adminapiind.im.qcloud.com
  • 硅谷:adminapiusa.im.qcloud.com
  • v4/group_open_http_svc/import_group_msg 请求接口
    sdkappid 创建应用时即时通信 IM 控制台分配的 SDKAppID
    identifier 必须为 App 管理员帐号,更多详情请参见 App 管理员
    usersig App 管理员帐号生成的签名,具体操作请参见 生成 UserSig
    random 请输入随机的32位无符号整数,取值范围0 - 4294967295
    contenttype 请求格式固定值为json

    最高调用频率

    200次/秒。

    请求包示例

    批量导入群消息,一次最多导入7条。
    使用本接口导入消息后所有成员的未读计数都会变成0,如果要保留未读计数,请在导入所有消息后再导入群成员或者设置成员未读计数。
    导入的消息必须按照时间戳递增的顺序导入,且导入消息的时间戳必须小于当前时间,并大于建群时间和当前群内最新一条消息的时间,否则会失败。

    {
        "GroupId": "@TGS#2C5SZEAEF",
        "RecentContactFlag":1,// 表示会触发会话更新(avchatroom 群不支持)
        "MsgList": [
            {
                "From_Account": "leckie", // 指定消息发送者
                "SendTime":1620808101,
                "Random": 8912345, // 消息随机数(可选)
                "MsgBody": [ // 消息体,由一个 element 数组组成,详见 TIMMessage 消息对象
                    {
                        "MsgType": "TIMTextElem", // 文本
                        "MsgContent": {
                            "Text": "red packet"
                        }
                    },
                    {
                        "MsgType": "TIMFaceElem", // 表情
                        "MsgContent": {
                            "Index": 6,
                            "Data": "abc\u0000\u0001"
                        }
                    }
                ]
            },
            {
                "From_Account": "peter", // 指定消息发送者
                "SendTime":1620892821,
                "MsgBody": [ // 消息体,由一个 element 数组组成,详见 TIMMessage 消息对象
                    {
                        "MsgType": "TIMTextElem", // 文本
                        "MsgContent": {
                            "Text": "red packet"
                        }
                    }
                ]
            }
    
        ]
    }
    

    请求包字段说明

    字段 类型 属性 说明
    GroupId String 必填 要导入消息的群 ID
    RecentContactFlag Integer 选填 会话更新识别,为1的时候标识触发会话更新,默认不触发(avchatroom 群不支持)。社群不支持此字段
    MsgList Object 必填 导入的消息列表
    From_Account String 必填 指定消息发送者
    SendTime Integer 必填 消息发送时间
    Random Integer 选填 32位无符号整数;如果5分钟内两条消息的随机值相同,后一条消息将被当做重复消息而丢弃
    MsgBody Array 必填 TIM 消息,详情请参阅 TIMMsgElement对象的定义
    MsgType String 必填 TIM 消息对象类型,目前支持的消息对象包括: TIMTextElem(文本消息),TIMFaceElem(表情消息),TIMLocationElem(位置消息),TIMCustomElem(自定义消息)
    MsgContent Object 必填 MsgContent 为 TIM 消息对象, 详情可参阅 TIMMsgElement对象的定义
    TopicId String 选填 话题的 ID,若具有此选项表示将消息导入至对应的话题中,仅支持话题的社群适用此选项

    应答包体示例

    {
        "ActionStatus": "OK",
        "ErrorInfo": "",
        "ErrorCode": 0,
        "ImportMsgResult": [
            {
                "MsgSeq": 1,
                "MsgTime": 1620808101,
                "Result": 0
            },
            {
                "MsgSeq": 2,
                "MsgTime": 1620892821,
                "Result": 0
            },
        ]
    }
    

    应答包字段说明

    字段 类型 说明
    ActionStatus String 请求处理的结果,OK 表示处理成功,FAIL 表示失败
    ErrorInfo String 错误信息
    ErrorCode Integer 错误码,0表示成功,非0表示失败
    ImportMsgResult Array 具体的消息导入结果
    Result Integer 单条消息导入结果
    • 0表示单条消息成功
    • 10004表示单条消息发送时间无效
    • 80002表示为消息内容过长,目前支持12K字节的消息,请调整消息长度
    MsgTime Integer 消息的时间戳
    MsgSeq Integer 消息序列号,唯一标示一条消息

    错误码说明

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

    错误码 含义说明
    10004 参数非法,请根据错误描述检查请求是否正确
    10007 操作权限不足,例如 Public 群组中普通成员尝试执行踢人操作,但只有 App 管理员才有权限
    10010 群组不存在,或者曾经存在过,但是目前已经被解散
    10015 操群组 ID 非法,请检查群组 ID 是否填写正确
    10020 消息内容过长,目前最大支持12K字节的消息,请调整消息长度

    接口调试工具

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

    参考

    设置成员未读消息计数(v4/group_open_http_svc/set_unread_msg_num

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持