个人微信API接口承载什么功能,取决于上层软件产品的形态。同一套Eyun接口,在客服工具、销售软件、CRM系统、通知系统4类产品中承载的功能子集完全不同。本文按产品类型横切,对比4类产品各自调用的Eyun功能子集与技术要点,接口字段以 Eyun开发文档 为准。
4类产品的功能映射逻辑
产品类型决定功能子集。客服工具核心是消息双向流转,以Webhook+sendText为主;销售软件核心是富媒体推送,以sendText+sendImage+sendFile为主;CRM系统核心是数据补全,以联系人同步+消息记录为主;通知系统核心是单向高并发,以sendText+多wId为主。每类产品只用到Eyun功能的一个子集,不存在"全都要"的产品。
客服工具类:消息双向流转
核心需求是用户消息进来、客服回复出去的闭环。Eyun Webhook接收用户消息(回调JSON含fromUser/content/msgId/wId),客服处理完调sendText回复。会话上下文依赖消息记录接口拉历史,按fromUser聚合为会话链路。
功能子集:sendText + sendImage + Webhook + 消息记录。sendImage用于客服回图片截图说明,消息记录用于新客服接手时看历史。关键技术点是5秒回调超时——Webhook收到消息必须先返回200再异步处理,否则触发3次重试导致重复回复,msgId做幂等去重。
销售软件类:富媒体组合推送
核心需求是把产品信息以多种形态推给客户。sendText推文字介绍,sendImage推产品图,sendFile推报价单PDF。三种消息类型按销售流程编排:首次触达发文字+图片,跟进阶段发文件。客户跟进记录依赖联系人同步接口构建客户列表,标记跟进阶段。
功能子集:sendText + sendImage + sendFile + 联系人同步。关键技术点是消息类型编排顺序——先发文字再发图片体验更自然,sendFile的文件需先上传再引用。错误码1001(参数错误)常出现在文件路径错误时,调用前校验文件可达性。
CRM系统类:微信行为数据补全
核心需求是用微信交互数据补全CRM客户画像。联系人同步接口拉好友列表构建客户基础库,消息记录接口拉交互历史分析沟通频次和活跃度,Webhook监控客户主动联系事件。CRM侧调sendText做客户触达。
功能子集:联系人同步 + 消息记录 + Webhook + sendText。关键技术点是增量同步——首次全量拉取建基线,后续按lastMessageTime游标只拉增量,避免每次全量拉取压垮wId实例。4类Webhook事件(消息/好友/群/状态)中,好友事件用于客户关系变化监控。
通知系统类:单向高并发推送
核心需求是把系统状态变更推给用户,单向、不回复、高并发。订单状态、审批结果、告警通知都属此类。只需sendText接口,但要求高并发下多wId负载。
功能子集:sendText + 多wId管理。关键技术点是wId分片——按用户ID哈希分配到不同wId实例,单实例并发控制在接口上限内。Token集中管理,1002错误码触发自动刷新重试保证推送不断裂。通知类不需要Webhook(用户不回复),架构最简。
4类产品功能对比
产品类型 | 核心功能 | Eyun功能子集 | 关键技术点 | 数据流向 |
|---|---|---|---|---|
客服工具 | 消息双向流转 | sendText+sendImage+Webhook+消息记录 | 5秒超时+msgId幂等 | 双向闭环 |
销售软件 | 富媒体组合推送 | sendText+sendImage+sendFile+联系人同步 | 消息编排+文件校验 | 单向为主 |
CRM系统 | 行为数据补全 | 联系人同步+消息记录+Webhook+sendText | 增量同步+游标管理 | 数据汇聚 |
通知系统 | 单向高并发推送 | sendText+多wId管理 | wId分片+Token刷新 | 单向广播 |
4类产品功能子集互有重叠但核心不同:客服重双向,销售重富媒体,CRM重数据,通知重并发。一个产品可能横跨两类(如销售CRM),但承载的主功能子集由其产品定位决定。
产品类型与功能子集映射框架
PRODUCT_CAPABILITY = { "客服工具": { "core": "消息双向流转", "apis": ["sendText", "sendImage", "Webhook", "消息记录"], "wid": "single", "webhook": True, "sync": "session"}, "销售软件": { "core": "富媒体组合推送", "apis": ["sendText", "sendImage", "sendFile", "联系人同步"], "wid": "single", "webhook": False, "sync": "contact"}, "CRM系统": { "core": "行为数据补全", "apis": ["联系人同步", "消息记录", "Webhook", "sendText"], "wid": "single", "webhook": True, "sync": "incremental"}, "通知系统": { "core": "单向高并发推送", "apis": ["sendText", "多wId管理"], "wid": "sharding", "webhook": False, "sync": None}, } def get_capability_subset(product_type): """按产品类型返回Eyun功能子集与接入策略""" return PRODUCT_CAPABILITY.get(product_type, {})框架按产品类型输出功能子集、wId策略、Webhook依赖、数据同步方式4个维度的接入参数。开发前先确定产品类型,按子集接入对应接口——避免通知系统误配Webhook(无回复需求)或客服工具漏配消息记录(缺会话上下文)。wId和Token开通在 Eyun平台 操作,接口字段对照 Eyun开发文档。
4类产品对应4个功能子集,不是每个产品都要接全套接口。客服重收发闭环,销售重富媒体推送,CRM重数据补全,通知重并发分片——产品定位决定功能子集,功能子集决定接入方案。先明确产品类型再按子集接入,比上来就全量对接接口更高效。