ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

个人微信API接口与第三方服务联动:从微信消息到外部业务系统的数据流转

个人微信API接口与第三方服务联动:从微信消息到外部业务系统的数据流转 微信消息不能只停在微信里要流转到外部业务系统ERP、CRM、工单系统才能产生业务价值。数据流转有 3 条管道每条管道连接不同的外部系统。Eyun 的 Webhook 是管道入口sendText是反向通知出口中间靠队列把消息送到 3 个不同系统。下面按管道拆开讲。一、消息→CRM 管道消息流转到客户关系管理系统管道设计Eyun Webhook 消息事件回调 → 解析content→fromUser的 wxid 转 userId 查 CRM 客户表 → 消息内容存入 CRM 客户沟通记录 → 触发 CRM 内客户标签更新如高意向需跟进。按照 Eyun 开发文档 的回调规范Webhook 回调 JSON 含fromUser和content字段这两个字段是 CRM 管道的数据源。大白话用户在微信说的话自动存进 CRM 的客户沟通记录销售打开 CRM 就能看到这个客户在微信聊了什么。Eyun API 的 Webhook 回调是这条管道的入口。二、消息→工单管道消息流转到工单系统管道设计用户在微信描述问题 → Webhook 回调content→ AI 或规则识别问题类型 → 调工单系统 API 创建工单标题描述来源微信客户ID→ 工单 ID 通过 Eyun 的sendText回复用户 → 工单状态变更时反向推送通知到微信。sendText和 Webhook 在管道中双向使用Webhook 收消息创建工单、sendText回工单 ID 和状态通知。大白话用户在微信说我的订单没到→自动在工单系统建工单→回复用户工单号→工单处理完了用微信通知用户。三、消息→数据分析管道消息流转到数据平台做分析管道设计Eyun Webhook 消息事件回调 → 消息内容投递到 Kafka → Flink/Spark 消费做实时分析关键词频次、情感分析、热点话题→ 分析结果存数据仓库 → BI 看板展示。消息记录接口也可定时拉取历史消息补充数据管道平台管理的 wId 对应的消息数据都可流转。Eyun 的错误码体系中 1004 限频时管道做背压控制降速避免压垮下游。大白话用户在微信聊的内容实时进入数据分析平台老板在看板上看到今天客户最关心的话题是退款。3 条管道对比表数据管道流转目标管道设计Eyun 接口大白话说明业务价值消息→CRMCRM 系统回调→解析→查客户→存记录→更新标签Webhook微信话存进客户档案销售看到沟通记录消息→工单工单系统回调→识别问题→建工单→sendText 回 IDWebhooksendText微信投诉变工单客服系统处理问题消息→分析数据平台回调→投递 Kafka→Flink 分析→BI 展示Webhook消息记录接口微信内容进看板管理层看数据洞察3 管道数据流转框架代码下面这段是多路分发管道Webhook 收到消息后先入 Kafka3 个管道各自消费互不干扰避免 5 秒超时。from kafka import KafkaProducer producer KafkaProducer(bootstrap_serverskafka:9092) app.post(/eyun/webhook) def webhook(): data request.json if cache.exists(data[msgId]): # 去重防重复流转 return , 200 cache.set(data[msgId], 1, ex300) producer.send(eyun-msg, valuejson.dumps(data).encode()) return , 200 # 5 秒内返回耗时交给消费端 # CRM 管道消费 def crm_consumer(): for msg in consumer(eyun-msg, groupcrm): d json.loads(msg.value) uid wxid_to_crm_user(d[fromUser]) crm.save_chat(uid, d[content]) crm.update_tag(uid, classify(d[content])) # 工单管道消费 def ticket_consumer(): for msg in consumer(eyun-msg, groupticket): d json.loads(msg.value) if is_complaint(d[content]): tid ticket_api.create(titleextract(d[content]), sourcewechat, cidd[fromUser]) eyun.sendText(wIdINSTANCE_ID, toUserd[fromUser], contentf工单已创建{tid})3 条管道并行消费同一 topic加不同 group 互不干扰工单管道里sendText把工单 ID 反向通知回微信。结尾延伸3 条管道让微信消息不再停在微信里——CRM 管道让销售看到客户微信沟通记录、工单管道让客服在工单系统处理微信来的问题、分析管道让管理层看到微信数据洞察。3 条管道可以并行运行同一条消息同时进 CRM 和工单和分析互不干扰。管道设计的关键是先入队再处理——Webhook 收到消息后先入 Kafka 再各管道消费避免 5 秒超时遇到 Eyun 限频要主动降速别硬冲。回调规范和接口参数详见 Eyun 开发文档wId 实例在 Eyun 平台 管理。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进