tencent cloud

文档反馈

设置单聊消息扩展

最后更新时间:2024-07-16 10:41:26

    功能说明

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

    请求 URL 示例

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

    最高调用频率

    200次/秒。

    请求包示例

    基础形式
    为MsgKey为44739199_12_1665388280的单聊消息设置消息扩展:
    {
    "From_Account": "62768",
    "To_Account": "116400",
    "MsgKey": "44739199_12_1665388280",
    "OperateType": 1,
    "ExtensionList": [
    {"Key": "k1", "Value": "v1", "Seq": 0},
    {"Key": "k2", "Value": "v2", "Seq": 0},
    {"Key": "k3", "Value": "v3", "Seq": 0}
    ]
    }
    为MsgKey为44739199_12_1665388280的单聊消息删除消息扩展:
    {
    "From_Account": "62768",
    "To_Account": "116400",
    "MsgKey": "44739199_12_1665388280",
    "OperateType": 2,
    "ExtensionList": [
    {"Key": "key1", "Value": "", "Seq": 1}
    ]
    }
    将MsgKey为44739199_12_1665388280的单聊消息的所有消息扩展清空:
    {
    "From_Account": "62768",
    "To_Account": "116400",
    "MsgKey": "44739199_12_1665388280",
    "OperateType": 3
    }

    请求包字段说明

    字段
    类型
    属性
    说明
    From_Account
    String
    选填
    消息发送方 UserID(用于指定发送消息方账号)
    To_Account
    String
    必填
    消息接收方 UserID
    MsgKey
    String
    必填
    单聊消息的唯一标识。获取消息 MsgKey 的方法请参见单发单聊消息的接口说明
    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": "k1",
    "Value": "v1",
    "Seq": 1
    }
    },
    {
    "ErrorCode": 23001,
    "Extension": {
    "Key": "k2",
    "Value": "v1234",
    "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 电话支持