Skip to content

feat(mp): 新增被动回复消息「转接AI回复」支持 (transfer_biz_ai_ivr)#3879

Open
Copilot wants to merge 2 commits intodevelopfrom
copilot/add-ai-reply-to-user-messages
Open

feat(mp): 新增被动回复消息「转接AI回复」支持 (transfer_biz_ai_ivr)#3879
Copilot wants to merge 2 commits intodevelopfrom
copilot/add-ai-reply-to-user-messages

Conversation

Copy link
Contributor

Copilot AI commented Feb 25, 2026

微信公众号被动回复消息缺少 transfer_biz_ai_ivr 类型支持,无法触发平台 AI 回复功能。

变更内容

  • 新增常量 WxConsts.XmlMsgType.TRANSFER_BIZ_AI_IVR = "transfer_biz_ai_ivr"
  • 新增消息类 WxMpXmlOutTransferBizAiIvrMessage,继承 WxMpXmlOutMessage,构造时自动设置 msgType
  • 新增 Builder TransferBizAiIvrBuilder,遵循现有 Builder 模式
  • 注册 XStream 序列化:在 XStreamTransformer 中注册新消息类型
  • 工厂方法WxMpXmlOutMessage.TRANSFER_BIZ_AI_IVR() 支持链式调用

使用示例

// Builder 方式(推荐)
WxMpXmlOutTransferBizAiIvrMessage msg = WxMpXmlOutMessage.TRANSFER_BIZ_AI_IVR()
    .fromUser(wxMessage.getToUser())
    .toUser(wxMessage.getFromUser())
    .build();

生成的 XML:

<xml>
  <ToUserName><![CDATA[openid]]></ToUserName>
  <FromUserName><![CDATA[gh_xxx]]></FromUserName>
  <CreateTime>1399197672</CreateTime>
  <MsgType><![CDATA[transfer_biz_ai_ivr]]></MsgType>
</xml>

官方文档:https://developers.weixin.qq.com/doc/subscription/guide/product/message/Passive_user_reply_message.html

Original prompt

This section details on the original issue you should resolve

<issue_title>被动回复用户消息,缺少:转接AI回复</issue_title>
<issue_description># 提问前,请确保阅读过项目首页说明以及wiki开发文档相关内容,完成内容后,请务必移除包括本句在内的无用内容,以免影响他人阅读,否则直接关闭,谢谢合作~

简要描述

被动回复用户消息,缺少:转接AI回复

官方文档地址

请提供所需功能对应的微信官方文档地址以便进行确认。
链接:https://developers.weixin.qq.com/doc/subscription/guide/product/message/Passive_user_reply_message.html#%E8%BD%AC%E6%8E%A5AI%E5%9B%9E%E5%A4%8D

转接AI回复
当用户发送消息给公众号时,公众号开发者服务器回复如下内容,会触发微信公众平台的AI回复。 注意,需要公众号在微信公众平台上已开启AI回复功能,并且AI已学习完毕历史发表文章。AI回复功能目前在灰度过程中。

12345678

参数 是否必须 说明
ToUserName 是 接收方账号(收到的OpenID)
FromUserName 是 开发者微信号
CreateTime 是 消息创建时间 (整型)
MsgType 是 消息类型,固定值 transfer_biz_ai_ivr

</issue_description>

Comments on the Issue (you are @copilot in this section)

Custom agent used: 全部用中文
需要用中文,包括PR标题和分析总结过程


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- 在 WxConsts.XmlMsgType 中新增 TRANSFER_BIZ_AI_IVR 常量
- 新增 WxMpXmlOutTransferBizAiIvrMessage 消息类
- 新增 TransferBizAiIvrBuilder 构建器类
- 在 WxMpXmlOutMessage 中添加 TRANSFER_BIZ_AI_IVR() 工厂方法
- 在 XStreamTransformer 中注册新消息类型
- 新增单元测试 WxMpXmlOutTransferBizAiIvrMessageTest

Co-authored-by: binarywang <1343140+binarywang@users.noreply.github.com>
Copilot AI changed the title [WIP] Add AI reply for passive user messages feat(mp): 新增被动回复消息「转接AI回复」支持 (transfer_biz_ai_ivr) Feb 25, 2026
Copilot AI requested a review from binarywang February 25, 2026 03:20
@binarywang binarywang marked this pull request as ready for review February 25, 2026 03:25
Copilot AI review requested due to automatic review settings February 25, 2026 03:25
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

本 PR 为 weixin-java-mp 公众号被动回复消息体系补齐微信官方新增的 transfer_biz_ai_ivr(转接平台 AI 回复)能力,使 SDK 可按官方要求输出对应 XML,从而触发公众平台 AI 回复功能。

Changes:

  • WxConsts.XmlMsgType 中新增 TRANSFER_BIZ_AI_IVR = "transfer_biz_ai_ivr" 常量,统一复用消息类型字符串。
  • 新增被动回复消息实体 WxMpXmlOutTransferBizAiIvrMessage 及其 Builder(TransferBizAiIvrBuilder),并在 WxMpXmlOutMessage 提供工厂方法以支持链式构建。
  • XStreamTransformer 注册新消息类型,并补充对应 XML 序列化单测。

Reviewed changes

Copilot reviewed 6 out of 6 changed files in this pull request and generated no comments.

Show a summary per file
File Description
weixin-java-mp/src/test/java/me/chanjar/weixin/mp/bean/message/WxMpXmlOutTransferBizAiIvrMessageTest.java 新增 transfer_biz_ai_ivr 被动回复 XML 输出与 Builder 构建的测试用例。
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/util/xml/XStreamTransformer.java 注册新 WxMpXmlOutTransferBizAiIvrMessage 以支持 XStream 序列化输出 XML。
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/builder/outxml/TransferBizAiIvrBuilder.java 新增转接 AI 回复消息的 Builder,复用通用字段设置逻辑。
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/message/WxMpXmlOutTransferBizAiIvrMessage.java 新增被动回复“转接AI回复”消息类,构造时自动设置 msgType
weixin-java-mp/src/main/java/me/chanjar/weixin/mp/bean/message/WxMpXmlOutMessage.java 新增 TRANSFER_BIZ_AI_IVR() 工厂方法以支持链式构建。
weixin-java-common/src/main/java/me/chanjar/weixin/common/api/WxConsts.java XmlMsgType 中新增 TRANSFER_BIZ_AI_IVR 常量。

@augmentcode
Copy link

augmentcode bot commented Feb 25, 2026

🤖 Augment PR Summary

Summary: 补齐公众号被动回复消息类型 transfer_biz_ai_ivr,用于触发微信公众平台 AI 回复能力。
Changes:

  • WxConsts.XmlMsgType 新增 TRANSFER_BIZ_AI_IVR 常量
  • 新增 WxMpXmlOutTransferBizAiIvrMessageTransferBizAiIvrBuilder 与工厂方法 WxMpXmlOutMessage.TRANSFER_BIZ_AI_IVR()
  • XStreamTransformer 注册新类型,并新增对应的 XML 序列化测试

🤖 Was this summary useful? React with 👍 or 👎

Copy link

@augmentcode augmentcode bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Review completed. No suggestions at this time.

Comment augment review to trigger a new review at any time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

被动回复用户消息,缺少:转接AI回复

3 participants