tencent cloud

文档反馈

设置群消息扩展

最后更新时间:2023-12-12 18:11:21

    功能说明

    App 管理员和群成员可以为群聊普通消息设置消息扩展,消息扩展为一组自定义的键值对。
    注意
    此功能需 进阶版套餐,并且已开通“消息扩展功能”功能(控制台“登录与消息”配置)。
    单条群消息可设置的最大键值对数量为300条。
    被设置的群消息需要在发送时指定“支持消息扩展”,参见 在群组中发送普通消息

    接口调用说明

    适用的群组类型

    群组类型 ID
    是否支持此 REST API
    Private
    支持,同新版本中的 Work(好友工作群)
    Public
    支持
    ChatRoom
    支持,同新版本中的 Meeting(临时会议群)
    AVChatRoom
    不支持
    Community(社群)
    不支持
    即时通信 IM 内置上述群组类型,详情介绍请参见 群组系统

    请求 URL 示例

    https://xxxxxx/v4/openim_msg_ext_http_svc/group_set_key_values?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/openim_msg_ext_http_svc/group_set_key_values
    请求接口
    sdkappid
    创建应用时即时通信 IM 控制台分配的 SDKAppID
    identifier
    必须为 App 管理员账号,更多详情请参见 App 管理员
    usersig
    App 管理员账号生成的签名,具体操作请参见 生成 UserSig
    random
    请输入随机的32位无符号整数,取值范围0 - 4294967295
    contenttype
    请求格式固定值为json

    最高调用频率

    200次/秒。

    请求包示例

    基础形式
    为MsgSeq为158的群消息设置消息扩展:
    {
    "GroupId": "@TGS#1YMVAB3IZ",
    "MsgSeq": 158,
    "OperateType": 1,
    "ExtensionList": [
    {"Key": "key1", "Value": "value1", "Seq": 0},
    {"Key": "key2", "Value": "value2", "Seq": 0},
    ]
    }
    为MsgSeq为158的群消息删除消息扩展:
    {
    "GroupId": "@TGS#1YMVAB3IZ",
    "MsgSeq": 158,
    "OperateType": 2,
    "ExtensionList": [
    {"Key": "key1", "Value": "", "Seq": 1}
    ]
    }
    将MsgSeq为158的群消息的所有消息扩展清空:
    {
    "GroupId": "@TGS#1YMVAB3IZ",
    "MsgSeq": 158,
    "OperateType": 3
    }

    请求包字段说明

    字段
    类型
    属性
    说明
    GroupId
    String
    必填
    群id
    MsgSeq
    Integer
    必填
    需要设置的群消息的Seq
    OperateType
    Integer
    必填
    1 为设置消息扩展KV,2 为删除消息扩展KV,3 为清空所有消息扩展KV
    ExtensionList
    Array
    OperateType为1、2时必填
    需要设置/删除的KV,单次请求最多可设置20条KV
    其中ExtensionList中对象的每一个字段说明如下:
    字段
    类型
    属性
    说明
    Key
    String
    必填
    键值对的Key,最大为100字节
    Value
    String
    必填
    键值对的Value,最大为1000字节
    Seq
    Integer
    非App管理员调用时必填
    该条KV的版本号。群成员调用首次设置时为0,设置成功后为1。后续每次设置需要将该条扩展的最新Seq传回后台,后台将校验该条KV是否被其他人修改过,若Seq不匹配该条KV设置失败,同时返回错误码。App管理员调用时不校验Seq。

    应答包体示例

    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0,
    "ExtensionList": [
    {
    "ErrorCode": 0,
    "Extension": {
    "Key": "key1",
    "Value": "value1",
    "Seq": 1
    }
    },
    {
    "ErrorCode": 23001,
    "Extension": {
    "Key": "key2",
    "Value": "value1234",
    "Seq": 2
    }
    }
    ]
    }

    应答包字段说明

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

    错误码说明

    除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。 公共错误码(60000到79999)参见 错误码 文档。 本 API 私有错误码如下:
    错误码
    含义说明
    10002
    服务器内部错误,请重试
    10004
    参数非法,请根据错误描述检查请求是否正确
    10008
    非法请求,非进阶版套餐请求返回该错误
    23001
    Seq冲突,表示设置的KV被其他人修改过,需拉取最新的Seq再次请求
    23002
    被设置的群消息不支持设置消息扩展。
    23003
    设置KV过于频繁(单条消息超过200/min)
    23004
    被设置的群消息不存在
    联系我们

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

    技术支持

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

    7x24 电话支持