在企业微信二次开发项目里,外部群机器人除了自动回复,还可以通过群成员@触发指定业务。

例如客户在群里发送“@机器人 查一下订单状态”,系统自动识别消息内容,调用订单接口,再将查询结果返回群聊。

通过星云API接入外部群消息能力后,可以结合@消息识别和业务路由,实现群内业务自动查询。

一、先识别群内@消息

收到外部群消息后,建议提取:

message_id
group_id
sender_id
content
mentioned_user_ids

其中 mentioned_user_ids 用于判断消息是否@了指定机器人账号,具体字段以实际接口返回为准。

不能只根据文本中出现“@机器人”来判断,因为普通文本不一定是真正的@消息。

二、判断客户查询需求

确认消息@了目标账号后,再解析具体内容。

例如:

@机器人 查订单 -> order_query
@机器人 查物流 -> logistics_query
@机器人 查售后 -> after_sales_query

如果客户发送:

“@机器人 帮我查一下昨天的订单。”

可以整理成:

business_type: order_query
customer_id: 1001
date: yesterday

三、自动调用对应业务接口

根据识别出的业务类型,选择对应接口。

例如:

  • 订单查询:调用订单系统

  • 物流查询:调用物流接口

  • 售后查询:调用售后系统

调用前需要关联客户身份并校验查询权限,避免将其他客户的业务数据返回群聊。

整个流程:

群内@消息 → 识别目标账号 → 解析查询内容 → 匹配业务接口 → 获取结果

四、将查询结果返回原群聊

例如订单接口返回成功后,可以整理成:

已查询到您的订单:

订单号:20261106001
订单状态:已发货
物流状态:运输中

然后根据原始 group_id 将结果发送回对应群聊。

如果查询条件不完整,可以提示客户补充订单号;如果涉及敏感订单信息,则应避免直接在群内公开。

五、避免重复触发业务

实际开发时,客户可能连续@机器人,或者同一条消息被重复回调。

建议记录:

message_id
request_id
group_id
business_type
execute_status
send_status

通过 message_id 做消息去重,通过 request_id 关联业务结果。

如果接口响应时间较长,可以采用异步任务处理,完成后再返回原始会话。

整个流程可以设计成:

客户@机器人 → 消息识别 → 客户身份校验 → 业务路由 → 接口查询 → 结果反馈

相关接口可以查看:

开发文档:星云API开发文档|企业微信API接口文档

官网:星云API|企业微信API接口服务平台

企业微信二次开发中,群内@触发的关键是准确识别目标账号和客户业务需求。通过星云API接入外部群消息能力,再结合@消息判断、业务接口路由和结果反馈机制,可以让外部群实现按需触发的自动业务查询,减少无效自动回复和人工查询成本。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐