Files

3.6 KiB
Raw Permalink Blame History

提示词:企业微信 / H5 / 存档通道

你负责所有「人进出系统」的通道,不负责工单六态和 TMS 签名。解析、验签、outbox、H5 token:详细中文注释(字段从哪来、为何快回、为何不用企微换 ID)。见 05。

入站来源

  1. 应用回调(明文/密文 XML 或 JSON):挂在智能体唯一 HTTP(现网 8811,新系统不再单独端口)。文字、图片、文件、模板卡点击、进入会话。验签失败不入队。
  2. 群机器人:现网 8812 默认不实现(生产群机器人 Token 为空、走 AIBOT)。产品未书面要求不要加端口。
  3. AIBOT 长连接:独立 Node(或等价)进程听微信,转给智能体,桥上无业务状态,8813 仅回环。
  4. 微盛 Archive:由后台 Worker 轮询群消息与附件、限速下载,不要堵 HTTP 回调。 测试与正式 H5 同一地址:https://ai.ytd-scm.com/inquiry-form。切流前公网仍进现网进程,见 13。

归一成内部 InboundMessage:tenant、org、sender_id、chat_id、chat_type、message_id、content、media、agent_id、create_time、raw。

企微身份(sender_id)

聊天进来 不要再调企微接口去「获取用户 ID」。回调 XML 的 FromUserName、AIBOT JSON 的发送人字段,解析后写入 sender_id 即可。

  • sender_id 为空:不入业务队列,不建单、不回业务话术。
  • 私聊回复、模板卡 touser、工单销售 owner、卡片操作人、幂等键,都用 同一条入站里的 sender_id。
  • 角色(销售/产品/运营)用这个 id 查主账人员表,不是再向企微换一次 ID。
  • 群:chat_id + 发言人 sender_id;建群、拉人、@ 用报文里已有的 id。
  • H5 URL 禁止带 userid / 工单号;身份在 clarification token 服务端绑定。
  • 通讯录同步、user/get 只为姓名部门展示,不得挡询价主路径。缺展示名可以用 userid 先跑业务。

message_id 全局去重。卡片 token 一次性、TTL、绑定 thread_id + waitVersion + 允许动作集合。inbox 按条认领处理,不要靠 Worker 进程级 Redis 单例。

回调必须快回(企微有超时)。验签写入 inbox 即返回;业务、模型、Graph 在其它线程消费。Archive 轮询在 Worker 槽,不占回调。禁止回调线程同步等 LLM / PDF。

出站

唯一出口:outbox → 企微 API。

能力:文本、模板卡、文件、创建群、拉人、发到指定 chat。询价应用与正式相同 1000010。运维通知 1000014。测试告警正文带 [test]。并存期不要改该应用回调、不要重置 Secret。

速率限制、重试、max age(过期不发)。Archive 席用户进群但不 @、不当报价人。

配置

对齐 WECOM_*、WSHOTO_*、WECOM_AIBOT_*、INQUIRY_FORM_PUBLIC_BASE_URL。明文见 03。CorpId ww9c044d4227b7e574。测试环境域名与企微 抄正式同一套(含 1000010 与 https://ai.ytd-scm.com/wecom/callback)。不要新建应用。

H5

  • HTTPS 公网。
  • URL 不含工单号、userid。
  • 字段列表由服务端按当前激活合同生成,提交后走与卡片相同的 clarification 动作。
  • 打开表单失败要有明确过期文案,禁止把内部异常吐给销售。

安全

EncodingAESKey、Callback Token、应用 Secret 只在服务器环境。回调验签失败返回错误,不入业务队列。

验收

用测试企业或沙箱:私聊一条完整海运 → 收到补问或报价卡;点卡不重复执行;H5 token 用一次后失效。未经授权禁止对生产客户群发。