企业内部开发
基础
连接微信
办公
会议
会议统计管理
企业内部开发
服务端API
消息接收与发送
智能机器人
接收消息
接收消息
最后更新:2025/11/20

目录

  • 概述
  • 消息推送
  •       文本消息
  •       图片消息
  •       图文混排消息
  •       语音消息
  •       文件消息
  •       结构体说明
  •             文本
  •             图片
  •             图文混排
  •             语音
  •             文件
  •             引用
  • 流式消息刷新
  • 概述

    当用户与智能机器人发生交互,向机器人发送消息时,交互事件将加密回调给机器人接受消息url,智能机器人服务通过接收并处理回调消息,实现更加丰富的自定义功能。

    目前支持触发消息回调交互场景:

    1. 用户群里@智能机器人或者单聊中向智能机器人发送文本消息
    2. 用户群里@智能机器人或者单聊中向智能机器人发送图文混排消息
    3. 用户单聊中向智能机器人发送图片消息
    4. 用户单聊中向智能机器人发送语音消息
    5. 用户单聊中向智能机器人发送本地文件消息
    6. 用户群里@智能机器人或者单聊中向智能机器人发送引用消息

      3 (1).png 4.png

      交互流程如下图所示:
      企业微信截图_17509401646139.png

      流程说明:
      1.当用户跟智能机器人交互发送支持的消息类型时,企业微信后台会向开发者后台推送消息推送。用户跟同一个智能机器人最多同时有三条消息交互中。
      2.开发者回调url接收到新消息推送后:可选择生成流式消息回复,并使用用户消息内容调用大模型/AIAgent;也可直接回复模板卡片消息
      3.若开发者回复消息类型包含流式消息,企业微信在未收到流式消息回复结束前,会不断向开发者回调url推送流式消息刷新(从用户发消息开始最多等待6min,超过6min结束推送)。开发者接收到流式消息刷新后,生成流式消息回复

      接收消息与被动回复消息都是加密的,加密方式参考回调和回复的加解密方案

     

    消息推送

    文本消息

    协议格式如下:

    {
        "msgid": "CAIQ16HMjQYY\/NGagIOAgAMgq4KM0AI=",
        "aibotid": "AIBOTID",
        "chatid": "CHATID",
        "chattype": "group",
        "from": {
            "userid": "USERID"
        },
        "response_url": "RESPONSEURL",
        "msgtype": "text",
        "text": {
            "content": "@RobotA hello robot"
        },
        "quote": {
            "msgtype": "text",
            "text": {
                "content": "这是今日的测试情况"
            }
        }
    }

    参数说明:

    参数说明
    msgid本次回调的唯一性标志,开发者需据此进行事件排重(可能因为网络等原因重复回调)
    aibotid智能机器人id
    chatid会话id,仅群聊类型时候返回
    chattype会话类型,single\group,分别表示:单聊\群聊
    from该事件触发者的信息
    from.userid操作者的userid
    response_url支持主动回复消息的临时url
    msgtype消息类型,此时固定是text
    text文本消息内容,可参考 文本 结构体说明
    quote引用内容,若用户引用了其他消息则有该字段,可参考 引用 结构体说明

    图片消息

    {
        "msgid": "CAIQz7/MjQYY/NGagIOAgAMgl8jK/gI=",
        "aibotid": "AIBOTID",
        "chatid": "CHATID",
        "chattype": "group",
        "from": {
            "userid": "USERID"
        },
        "response_url": "RESPONSEURL",
        "msgtype": "image",
        "image": {
            "url": "https://ww-aibot-img-1258476243.cos.ap-guangzhou.myqcloud.com/BHoPdA3/cdnimg_e2e243ba85a2d05ef201392de7291a.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDbBpaJvdLBvpnibcYcfyPuaO5f9U1UoGo%26q-sign-time%3D1733467811%3B1733468111%26q-key-time%3D1733467811%3B1733468111%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D0f7b6576943685f82870bc8db306dbf09dfe0fd6 "
        }
    }

    参数说明:

    参数说明
    msgid本次回调的唯一性标志,开发者需据此进行事件排重(可能因为网络等原因重复回调)
    aibotid智能机器人id
    chatid会话id,仅群聊类型时候返回
    chattype会话类型,single\group,分别表示:单聊\群聊
    from该事件触发者的信息
    from.userid操作者的userid
    response_url支持主动回复消息的临时url
    msgtype消息类型,此时固定是image
    image图片的内容,可参考 图片 结构体说明

    图文混排消息

    {
        "msgid": "CAIQrcjMjQYY/NGagIOAgAMg6PDc/w0=",
        "aibotid": "AIBOTID",
        "chatid": "CHATID",
        "chattype": "group",
        "from": {
            "userid": "USERID"
        },
        "response_url": "RESPONSEURL",
        "msgtype": "mixed",
        "mixed": {
            "msg_item": [
                {
                    "msgtype": "text",
                    "text": {
                        "content": "@机器人 这是今日的测试情况"
                    }
                },
                {
                    "msgtype": "image",
                    "image": {
                        "url": "https://ww-aibot-img-1258476243.cos.ap-guangzhou.myqcloud.com/BHoPdA3/cdnimg_e2e243ba85a2d05ef201392de7291a.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDbBpaJvdLBvpnibcYcfyPuaO5f9U1UoGo%26q-sign-time%3D1733467811%3B1733468111%26q-key-time%3D1733467811%3B1733468111%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D0f7b6576943685f82870bc8db306dbf09dfe0fd6 "
                    }
                }
            ]
        },
        "quote": {
            "msgtype": "text",
            "text": {
                "content": "这是今日的测试情况"
            }
        }
    }

    参数说明:

    参数说明
    msgid本次回调的唯一性标志,开发者需据此进行事件排重(可能因为网络等原因重复回调)
    aibotid智能机器人id
    chatid会话id,仅群聊类型时候返回
    chattype会话类型,single\group,分别表示:单聊\群聊
    from该事件触发者的信息
    from.userid操作者的userid
    response_url支持主动回复消息的临时url
    msgtype消息类型,此时固定是mixed
    mixed图文混排内容,可参考 图文混排 结构体说明
    quote引用内容,若用户引用了其他消息则有该字段,可参考 引用 结构体说明

    语音消息

    {
        "msgid": "CAIQrcjMjQYY/NGagIOAgAMg6PDc/w0=",
        "aibotid": "AIBOTID",
        "chatid": "CHATID",
        "chattype": "group",
        "from": {
            "userid": "USERID"
        },
        "response_url": "RESPONSEURL",
        "msgtype": "voice",
        "voice": {
            "content": "这是语音转成文本的内容"
        }
    }

    参数说明:

    参数说明
    msgid本次回调的唯一性标志,开发者需据此进行事件排重(可能因为网络等原因重复回调)
    aibotid智能机器人id
    chatid会话id,仅群聊类型时候返回
    chattype会话类型,single\group,分别表示:单聊\群聊
    from该事件触发者的信息
    from.userid操作者的userid
    response_url支持主动回复消息的临时url
    msgtype消息类型,此时固定是voice
    voice语音内容,可参考 语音 结构体说明

     

    文件消息

    {
        "msgid": "CAIQrcjMjQYY/NGagIOAgAMg6PDc/w0=",
        "aibotid": "AIBOTID",
        "chatid": "CHATID",
        "chattype": "group",
        "from": {
            "userid": "USERID"
        },
        "response_url": "RESPONSEURL",
        "msgtype": "file",
        "file": {
            "url": "https://ww-aibot-img-1258476243.cos.ap-guangzhou.myqcloud.com/BHoPdA3/cdnimg_e2e243ba85a2d05ef201392de7291a.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDbBpaJvdLBvpnibcYcfyPuaO5f9U1UoGo%26q-sign-time%3D1733467811%3B1733468111%26q-key-time%3D1733467811%3B1733468111%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D0f7b6576943685f82870bc8db306dbf09df00000 "
        }
    }

    参数说明:

    参数说明
    msgid本次回调的唯一性标志,开发者需据此进行事件排重(可能因为网络等原因重复回调)
    aibotid智能机器人id
    chatid会话id,仅群聊类型时候返回
    chattype会话类型,single\group,分别表示:单聊\群聊
    from该事件触发者的信息
    from.userid操作者的userid
    response_url支持主动回复消息的临时url
    msgtype消息类型,此时固定是file。特殊的,智能机器人目前仅支持100M大小以内的文件回调
    file可参考 文件 结构体说明

     

    结构体说明

    文本

    {
        "content": "@RobotA hello robot"
    }

    参数说明:

    参数说明
    content文本消息内容

    图片

    {
        "url": "https://ww-aibot-img-1258476243.cos.ap-guangzhou.myqcloud.com/BHoPdA3/cdnimg_e2e243ba85a2d05ef201392de7291a.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDbBpaJvdLBvpnibcYcfyPuaO5f9U1UoGo%26q-sign-time%3D1733467811%3B1733468111%26q-key-time%3D1733467811%3B1733468111%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D0f7b6576943685f82870bc8db306dbf09dfe0fd6 "
    }

    参数说明:

    参数说明
    url图片的下载url, 该url五分钟内有效。注意获取到的文件是已加密的,不能直接打开。加密AESKey与回调加解密的AESKey相同。加密方式:AES-256-CBC,数据采用PKCS#7填充至32字节的倍数;IV初始向量大小为16字节,取AESKey前16字节,详见:https://datatracker.ietf.org/doc/html/rfc2315

    图文混排

    {
        "msg_item": [
            {
                "msgtype": "text",
                "text": {
                    "content": "@机器人 这是今日的测试情况"
                }
            },
            {
                "msgtype": "image",
                "image": {
                    "url": "URL"
                }
            }
        ]
    }

    参数说明:

    参数说明
    msg_item.msgtype图文混排中的类型,text/image,分别表示:文本和图片
    msg_item.text图文混排中的文本内容,可参考 文本 结构体说明
    msg_item.image图文混排中的图片内容,可参考 图片 结构体说明

    语音

    {
        "content": "这是语音转成文本的内容"
    }

    参数说明:

    参数说明
    content语音转换成文本的内容

     

    文件

    {
        "url": "https://ww-aibot-img-1258476243.cos.ap-guangzhou.myqcloud.com/BHoPdA3/cdnimg_e2e243ba85a2d05ef201392de7291a.png?sign=q-sign-algorithm%3Dsha1%26q-ak%3DAKIDbBpaJvdLBvpnibcYcfyPuaO5f9U1UoGo%26q-sign-time%3D1733467811%3B1733468111%26q-key-time%3D1733467811%3B1733468111%26q-header-list%3Dhost%26q-url-param-list%3D%26q-signature%3D0f7b6576943685f82870bc8db306dbf09dfe0fd6 "
    }

    参数说明:

    参数说明
    url文件的下载url, 该url五分钟内有效。注意获取到的文件是已加密的,不能直接打开。加密AESKey与回调加解密的AESKey相同。加密方式:AES-256-CBC,数据采用PKCS#7填充至32字节的倍数;IV初始向量大小为16字节,取AESKey前16字节,详见:https://datatracker.ietf.org/doc/html/rfc2315

     

    引用

    {
        "msgtype": "text",
        "text": {
            "content": "这是今日的测试情况"
        },
        "image": {
            "url": "URL"
        },
        "mixed": {
            "msg_item": [
                {
                    "msgtype": "text",
                    "text": {
                        "content": "@机器人 这是今日的测试情况"
                    }
                },
                {
                    "msgtype": "image",
                    "image": {
                        "url": "URL"
                    }
                }
            ]
        },
        "voice": {
            "content": "这是语音转成文本的内容"
        },
        "file": {
            "url": "URL"
        }
    }

    参数说明:

    参数说明
    msgtype引用的类型,text/image/mixed/voice/file,分别表示:文本/图片/图文混排/语音/文件消息类型
    text引用的文本内容,可参考 文本 结构体说明
    image引用的图片内容,可参考 图片 结构体说明
    mixed引用的图文混排内容,可参考 图文混排 结构体说明
    voice引用的语音内容,可参考 语音 结构体说明
    file引用的文件内容,可参考 文件 结构体说明

     

    流式消息刷新

    {
        "msgid": "CAIQz7/MjQYY/NGagIOAgAMgl8jK/gI=",
        "aibotid": "AIBOTID",
        "chatid": "CHATID",
        "chattype": "group",
        "from": {
            "userid": "USERID"
        },
        "msgtype": "stream",
        "stream": {
            "id": "STREAMID"
        }
    }

    参数说明:

    参数说明
    msgid本次回调的唯一性标志,开发者需据此进行事件排重(可能因为网络等原因重复回调)
    aibotid智能机器人id
    chatid会话id,仅群聊类型时候返回
    chattype会话类型,single\group,分别表示:单聊\群聊
    from该事件触发者的信息
    from.userid操作者的userid
    msgtype消息类型,此时固定是stream。特殊的,该消息事件仅支持流式消息的回复
    stream.id流式消息的id,智能机器人根据该id返回对应的流式消息
    上一篇概述
    下一篇接收事件
      本节内容
    服务端API
    基础
    连接微信
    办公
    会议
    会议统计管理
    客户端API
    小程序
    基础
    连接微信
    办公
    JS-SDK
    基础
    连接微信
    办公
    消息推送(原“群机器人”)
    更新日志
    联系我们