tencent cloud

文档反馈

发单聊消息之后回调

最后更新时间:2024-02-19 11:07:08

    功能说明

    App 后台可以通过该回调实时对单聊消息进行操作,包括:
    对单聊消息进行实时记录(例如记录日志,或者同步到其他系统)。
    对单聊消息进行数据统计(例如人数,消息数等)。

    注意事项

    要启用回调,必须配置回调 URL,并打开本回调对应的开关,配置方法详见 第三方回调配置
    回调的方向是即时通信 IM 后台向 App 后台发起 HTTPS POST 请求。
    App 后台在收到回调请求之后,务必校验请求 URL 中的参数 SDKAppID 是否是自己的 SDKAppID。
    若同时开启发单聊消息之前和之后两种回调,且发单聊消息之前回调返回禁止发言,则发单聊消息之后回调将不会被触发。
    若同时开启发单聊消息之前和之后两种回调,且发单聊消息之前回调变动了消息体,则发单聊消息之后回调将使用变动过的消息进行回调。
    其他安全相关事宜请参考 第三方回调简介:安全考虑 文档。

    可能触发该回调的场景

    App 用户通过客户端发送单聊消息。
    App 管理员通过 REST API(sendmsg 接口)发送单聊消息。

    回调发生时机

    即时通信 IM 后台收到用户发送的单聊消息并将该消息下发给目标用户之后。
    注意:
    若消息下发失败(例如被脏字过滤),仍会触发该回调。

    接口说明

    请求 URL 示例

    以下示例中 App 配置的回调 URL 为 https://www.example.com示例:
    https://www.example.com?SdkAppid=$SDKAppID&CallbackCommand=$CallbackCommand&contenttype=json&ClientIP=$ClientIP&OptPlatform=$OptPlatform

    请求参数说明

    参数
    说明
    https
    请求协议为 HTTPS,请求方式为 POST
    www.example.com
    回调 URL
    SdkAppid
    创建应用时在即时通信 IM 控制台分配的 SDKAppID
    CallbackCommand
    固定为 C2C.CallbackAfterSendMsg
    contenttype
    固定值为 JSON
    ClientIP
    客户端 IP,格式如:127.0.0.1
    OptPlatform
    客户端平台,取值参见 第三方回调简介:回调协议 中 OptPlatform 的参数含义

    请求包示例

    {
    "CallbackCommand": "C2C.CallbackAfterSendMsg", // 回调命令
    "From_Account": "jared", // 发送者
    "To_Account": "Jonh", // 接收者
    "MsgSeq": 48374, // 消息序列号
    "MsgRandom": 2837546, // 消息随机数
    "MsgTime": 1557481126, // 消息的发送时间戳,单位为秒
    "MsgKey": "48374_2837546_1557481126", // 消息的唯一标识,可用于 REST API 撤回单聊消息
    "OnlineOnlyFlag":1,//在线消息,为1,否则为0;
    "SendMsgResult": 0, // 该条消息的下发结果
    "ErrorInfo": "send msg succeed", // 该条消息下发失败的错误信息,若消息发送成功,则为"send msg succeed"
    "UnreadMsgNum": 7, // To_Account 未读的单聊消息总数量
    "MsgBody": [ // 消息体
    {
    "MsgType": "TIMTextElem", // 文本
    "MsgContent": {
    "Text": "red packet"
    }
    }
    ],
    "CloudCustomData": "your cloud custom data"
    }

    请求包字段说明

    字段
    类型
    说明
    CallbackCommand
    String
    回调命令
    From_Account
    String
    消息发送者 UserID
    To_Account
    String
    消息接收者 UserID
    MsgSeq
    Integer
    消息序列号,用于标记该条消息(32位无符号整数)
    MsgRandom
    Integer
    消息随机数,用于标记该条消息(32位无符号整数)
    MsgTime
    Integer
    消息的发送时间戳,单位为秒<br>单聊消息优先使用 MsgTime 进行排序,同一秒发送的消息则按 MsgSeq 排序,MsgSeq 值越大消息越靠后
    MsgKey
    String
    该条消息的唯一标识,可根据该标识进行 REST API 撤回单聊消息
    OnlineOnlyFlag
    Integer
    是否仅发送给在线用户标识。1代表仅发送给在线用户,否则为0
    SendMsgResult
    Integer
    该条消息的发送结果,0表示发送成功,非0表示发送失败,具体可参见 错误码
    ErrorInfo
    String
    该条消息下发失败的错误信息,若消息发送成功,则为"send msg succeed"
    UnreadMsgNum
    Integer
    To_Account 未读的单聊消息总数量(包含所有的单聊会话)。若该条消息下发失败(例如被脏字过滤),该字段值为-1
    MsgBody
    Array
    消息体,具体参见 消息格式描述
    CloudCustomData
    String
    消息自定义数据(云端保存,会发送到对端,程序卸载重装后还能拉取到)

    应答包示例

    {
    "ActionStatus": "OK",
    "ErrorInfo": "",
    "ErrorCode": 0 // 0为回调成功,1为回调出错
    }

    应答包字段说明

    字段
    类型
    属性
    说明
    ActionStatus
    String
    必填
    请求处理的结果,OK 表示处理成功,FAIL 表示失败
    ErrorCode
    Integer
    必填
    错误码,0为回调成功;1为回调出错
    ErrorInfo
    String
    必填
    错误信息

    参考

    联系我们

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

    技术支持

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

    7x24 电话支持