修改单聊历史消息

最近更新时间:2024-09-27 17:11:01

我的收藏

接口调用说明

管理员修改单聊历史消息。
可以单独修改消息中的 MsgBody 或 CloudCustomData 字段,也可以同时修改这两个字段。以请求中指定的字段值覆盖历史消息对应的字段。
待修改的单聊消息的 MsgKey 可通过以下方式获取:
开启 发单聊消息之前回调发单聊消息之后回调,通过该回调接口记录每条单聊消息的 MsgKey 。
通过 查询单聊消息 查询出待修改的单聊消息的 MsgKey 。
通过 REST API 单发单聊消息批量发单聊消息 接口发出的单聊消息,回包里会返回消息的 MsgKey 。
注意
1. 使用该接口修改消息后,被修改的消息不能恢复,请谨慎调用该接口。
2. 仅支持修改单聊C2C消息,使用推送插件推送的消息不支持修改。

请求 URL 示例

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

最高调用频率

200次/秒。

请求包示例

只修改消息的 MsgBody

{
"From_Account": "dramon1",
"To_Account": "dramon2",
"MsgKey": "1_2_3",
"MsgBody": [
{
"MsgType": "TIMTextElem",
"MsgContent": {
"Text": "hello"
}
}
]
}


只修改消息的 CloudCustomData

{
"From_Account": "dramon1",
"To_Account": "dramon2",
"MsgKey": "1_2_3",
"CloudCustomData": "your cloud custom data"
}


同时修改消息的 MsgBody 和 CloudCustomData

{
"From_Account": "dramon1",
"To_Account": "dramon2",
"MsgKey": "1_2_3",
"MsgBody": [
{
"MsgType": "TIMTextElem",
"MsgContent": {
"Text": "hello"
}
}
],
"CloudCustomData": "your cloud custom data"
}


请求包字段说明

字段
类型
属性
说明
From_Account
String
必填
消息发送方 UserID
To_Account
String
必填
消息接收方 UserID
MsgKey
String
必填
待修改消息的唯一标识。获取消息 MsgKey 的方法请参见本接口的接口说明
MsgBody
Array
选填
消息内容,具体格式请参考 消息格式描述(注意,一条消息可包括多种消息元素,MsgBody 为 Array 类型)
CloudCustomData
String
选填
消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)

应答包体示例

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

应答包字段说明

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

错误码说明

除非发生网络错误(例如502错误),否则该接口的 HTTP 返回码均为200。真正的错误码,错误信息是通过应答包体中的 ErrorCode、ErrorInfo 来表示的。 公共错误码(60000到79999)参见 错误码 文档。 本 API 私有错误码如下:
错误码
描述
20001
请求包非法
20002
UserSig 或 A2 失效
20003
消息发送方或接收方 UserID 无效或不存在,请检查 UserID 是否已导入即时通信 IM
20004
网络异常,请重试
20005
服务器内部错误,请重试
90001
JSON 格式解析失败,请检查请求包是否符合 JSON 规范
90002
JSON 格式请求包中 MsgBody 不符合消息格式描述,或者 MsgBody 不是 Array 类型,请参考 TIMMsgElement 对象 的定义
90003
JSON 格式请求包体中缺少 To_Account 字段或者 To_Account 字段不是 String 类型
90007
JSON 格式请求包体中 MsgBody 类型不是 Array 类型,请将其修改为 Array 类型
90009
请求需要 App 管理员权限
90010
JSON 格式请求包不符合消息格式描述,请参考 TIMMsgElement 对象 的定义
90012
To_Account 没有注册或不存在,请确认 To_Account 是否导入即时通信 IM 或者是否拼写错误
91000
服务内部错误,请重试
90992
服务内部错误,请重试;如果所有请求都返回该错误码,且 App 配置了第三方回调,请检查 App 服务器是否正常向即时通信 IM 后台服务器返回回调结果

接口调试工具

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

参考

批量发单聊消息(v4/openim/batchsendmsg) 查询单聊消息(v4/openim/admin_getroammsg) 撤回单聊消息(v4/openim/admin_msgwithdraw