Skip to content

feat(kf): 添加读取消息功能,支持所有消息类型#2

Merged
funcodingdev merged 1 commit into
masterfrom
genspark_ai_developer
Nov 4, 2025
Merged

feat(kf): 添加读取消息功能,支持所有消息类型#2
funcodingdev merged 1 commit into
masterfrom
genspark_ai_developer

Conversation

@funcodingdev

Copy link
Copy Markdown
Owner

功能说明

本PR实现了企业微信客服消息读取功能(sync_msg API),完整支持官方文档定义的所有消息类型。

主要变更

新增文件

    • 消息读取操作的参数定义

修改文件

    • 添加syncMsg操作到操作列表
    • 实现syncMsg的API调用和消息解析逻辑

功能特性

支持的消息类型

根据官方文档 https://developer.work.weixin.qq.com/document/path/94670,完整支持以下所有消息类型:

基础消息类型

  • text - 文本消息
  • image - 图片消息
  • voice - 语音消息
  • video - 视频消息
  • file - 文件消息
  • location - 地理位置消息
  • link - 链接消息

特殊消息类型

  • business_card - 名片消息
  • miniprogram - 小程序消息
  • msgmenu - 菜单消息

视频号消息

  • channels_shop_product - 视频号商品消息
  • channels_shop_order - 视频号订单消息
  • channels - 视频号消息

其他消息类型

  • merged_msg - 聊天记录消息/群聊记录
  • meeting - 会议消息
  • calendar - 日历消息
  • note - 笔记消息

事件消息

  • event - 事件消息,支持以下所有事件类型:
    • enter_session - 用户进入会话事件
    • msg_send_fail - 消息发送失败事件
    • servicer_status_change - 接待人员接待状态变更事件
    • session_status_change - 会话状态变更事件
    • user_recall_msg - 用户撤回消息事件
    • servicer_recall_msg - 接待人员撤回消息事件
    • reject_customer_msg_switch_change - 拒收客户消息变更事件

功能参数

  1. open_kfid (必填) - 客服账号ID
  2. cursor (可选) - 增量拉取游标,用于持续同步
  3. token (可选) - 回调事件返回的token,可降低频率限制
  4. limit (可选) - 拉取条数,默认100,最大1000
  5. voice_format (可选) - 语音格式:0-AMR,1-SILK
  6. parse_message_types (可选) - 是否自动解析消息类型,默认true

自动消息解析

当启用 parse_message_types 时,会自动:

  • 将各类消息的内容提取到 parsed_content 字段
  • 为事件消息添加 event_type 字段,方便快速筛选事件类型
  • 保留原始消息结构,不影响原有字段

API返回字段

  • errcode - 错误码
  • errmsg - 错误信息
  • next_cursor - 下次拉取的游标(需持久化保存)
  • has_more - 是否还有更多数据(1-有,0-无)
  • msg_list - 消息列表(已解析)

使用场景

  1. 定期拉取客服消息,实现消息存档
  2. 监控客服会话,及时响应客户需求
  3. 分析客户咨询内容,优化服务质量
  4. 实现客服机器人的消息处理流程
  5. 跨系统同步客服对话记录

测试建议

  1. 测试基础消息类型的拉取和解析
  2. 测试事件消息的接收和event_type筛选
  3. 测试增量拉取(使用cursor持久化)
  4. 测试不同语音格式的选择
  5. 验证消息解析功能的准确性

相关文档

@funcodingdev
funcodingdev force-pushed the genspark_ai_developer branch from 9e3d431 to 7d2d7a4 Compare November 4, 2025 16:00
@funcodingdev
funcodingdev merged commit 7d2d7a4 into master Nov 4, 2025
1 check failed
@funcodingdev
funcodingdev deleted the genspark_ai_developer branch November 4, 2025 16:31
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.

1 participant