大约 2 分钟

Thread 回调事件

若对 Thread 中的一条消息进行相关操作,包括发送、撤回或修改,环信服务器会向你的 app server 发送回调请求。

回调请求的字段描述

Thread 回调请求中的字段含义如下表所示:

字段数据类型含义
chat_typeString固定值为 notify。通知回调包含了 Thread 和 Reaction 的回调,需要结合 payload 中的 type 字段确定具体类型。
hostString服务器名称。
appkeyString即时通讯服务分配给每个应用的唯一标识,由 orgnameappname 参数的值组成,生成后无法修改。
fromString固定为 admin
toString消息所属的 Thread 的群组 ID。
eventTypeString事件类型,固定为 chat
msg_idLong回调事件的消息 ID。
timestampLong生成回调事件的时间。
payload.typeString固定值 thread
payload.dataJSONThread 操作数据结构。
payload.data.msg_parent_idString创建 Thread 的消息 ID,可能为空。
payload.data.nameStringThread 名称。
payload.data.fromStringThread 消息的操作人。
payload.data.idStringThread ID。
payload.data.message_countNumberThread 中的消息数量。
payload.data.operationStringThread 中的消息操作:update_msg,表示消息的发送、撤回或修改。
payload.data.muc_parent_idString创建 Thread 时所在的群组 ID。
payload.data.timestampLong操作消息的时间。
payload.data.last_messageJSON最近一条消息的内容。
payload.data.last_message.fromStringThread 中最新一条消息的操作者。
payload.data.last_message.idString最新一条消息的消息 ID。
payload.data.last_message.toStringThread 中最新一条消息的接收方,即 Thread ID。
payload.data.last_message.timestampLong操作最新一条消息的时间。
payload.data.last_message.payload.extJSONThread 中最新一条消息包含的扩展内容
payload.data.last_message.payload.bodiesListThread 中最新一条消息的消息体。
payload.data.last_message.payload.bodies.msgStringThread 中最新一条消息的消息内容。
payload.data.last_message.payload.bodies.txtStringThread 中最新一条消息的消息类型。
payload.data.last_message.metaJSON最新一条消息的界面不可见的元数据。
payload.data.last_message.meta.thread.msg_parent_idString创建 Thread 的消息 ID。
payload.data.last_message.meta.thread.thread_nameStringThread 名称。
payload.data.last_message.meta.thread.muc_parent_idString创建 Thread 时所在的群组 ID。
payload.data.last_message.payload.fromString消息操作者传入的 from 字段的值。
payload.data.last_message.payload.toStringThread 中最新一条消息的接收方,即 Thread ID。
payload.data.last_message.payload.typeString群聊,固定为 groupchat

回调请求示例

{
    "chat_type": "notify",
    "payload":
    {
        "data":
        {
            "msg_parent_id": "98XXXX12",
            "name": "test",
            "from": "user1",
            "last_message":
            {
                "payload":
                {
                    "ext":
                    {},
                    "bodies":
                    [
                        {
                            "msg": "thread test",
                            "type": "txt"
                        }
                    ],
                    "meta":
                    {
                        "thread":
                        {
                            "msg_parent_id": "98XXXX12",
                            "thread_name": "test",
                            "muc_parent_id": "user2"
                        }
                    },
                    "from": "user1",
                    "to": "17XXXX93",
                    "type": "groupchat"
                },
                "from": "XXXX#XXXX_yifan2",
                "id": "10XXXX28",
                "to": "XXXX#XXXX_17XXXX93",
                "timestamp": 1651029973455
            },
            "id": "17XXXX93",
            "message_count": 49,
            "operation": "update_msg",
            "muc_parent_id": "user2",
            "timestamp": 1651029973455
        },
        "type": "thread"
    },
    "host": "XXXX",
    "appkey": "XXXX#XXXX",
    "from": "admin",
    "to": "user2",
    "eventType": "chat",
    "msg_id": "10XXXX24",
    "timestamp": 1651029973480
}