"做一个微信机器人要多少个接口?"这个问题没有标准答案,完全取决于你想做到什么程度。接口不是越多越好,也不是越少越省,核心思路是:Eyun 接口数 + 自写接口数 = 总接口数。Eyun 负责微信端的能力(收消息、发消息、处理事件),自写接口负责业务层的能力(存数据、后台管理、规则配置)。按功能扩展程度可以分成3档:MVP版、功能版、增强版,每档需要的接口数量差很多。

第1档:MVP版

MVP版解决一个最核心的问题:"收到用户消息能自动回一句"。就是最简单的一问一答机器人,用户发"你好",机器人回"欢迎咨询,请问有什么可以帮您"。

Eyun 接口这边,两个核心接口就够了:sendText 用来发回复文本,Webhook 消息回调用来收用户消息。两个接口,一收一发,跑通闭环。如果要求再高点,可以加一个健康检查接口 readyz,用来监控机器人是否在线,这算可选的第3个。按照 Eyun 开发文档 的规范,sendText 需要传 wId、toUser、content 三个必填参数;Webhook 回调需要在5秒内返回 HTTP 200。

大白话:MVP版2个 Eyun 接口够用——收消息用回调,发回复用 sendText,1个开发1天就能跑通最简单的一问一答。如果连MVP都跑不通,那后面的功能不用想了。

第2档:功能版

功能版在MVP的基础上,要满足"真能上线用"的要求。功能范围一般包括:关键词自动回复、加好友自动发欢迎语、群消息识别回复、消息记录存库、管理员后台可查询可配置。

Eyun 接口这边,需要5-7个:sendText(文本)、sendImage(图片)、sendFile(文件)、Webhook 消息回调、Webhook 好友事件回调、Webhook 群事件回调,再加一个消息记录接口用来补历史数据。这7个接口里,前3个是主动发消息的不同类型,后3个是被动收事件的不同类型,最后1个是拉历史数据的。Eyun API 的4类事件回调(消息/好友/群/状态)就是功能版的事件源。

自写接口这边,需要4-6个:消息列表查询、客户列表查询、管理员登录、规则配置、统计报表。这些都是业务后台的标配,Eyun 不会帮你做,得自己写。大白话:功能版5-7个 Eyun 接口 + 4-6个自写接口,加起来9-13个——能发文本图片文件,能收消息好友群事件,有后台看数据改规则,3个人2周差不多能做出来。

第3档:增强版

增强版就是功能版的全面升级,用户量上来之后才需要考虑。功能范围一般包括:批量推送、定时任务、多 wId 管理、AI 大模型接入、工作流编排、权限体系、监控告警。

Eyun 接口这边,除了功能版的5-7个,还要再加 Webhook 状态变更回调(知道哪个微信号掉线了)、多 wId 管理接口(批量管理一堆微信号),再加上如果需要用到的高级能力(比如名片转发、位置发送等),合计8个以上。Eyun 的错误码体系在增强版里很有用,碰到 1001 或者 wId 异常的情况,可以自动切换到备用 wId,保证业务不中断。在 Eyun 平台 上开通多 wId 后,这些接口就能直接用了。

自写接口这边,就比较多了,至少10个起步:批量推送任务接口、定时任务管理接口、wId 池管理接口、AI 对话上下文接口、权限管理接口、告警接口、日志查询接口、工作流配置接口、报表导出接口、敏感词管理接口。这些接口每一个背后都是一套独立模块。大白话:增强版8+个 Eyun 接口 + 10+个自写接口,合计18+个——可以管几十个微信号、定时批量发、接 AI 聊天、有完整的权限和监控体系,一般需要5-8个人做1个月。

3档功能对比一览

功能档

Eyun接口数

自写接口数

总接口数

功能范围

实现周期

Eyun接口清单

大白话说明

MVP版

2-3

0-1

2-4

简单一问一答自动回复

1人 / 1天

sendText、Webhook消息回调、(可选)健康检查

收消息→回消息,跑通闭环就够

功能版

5-7

4-6

9-13

自动回复+好友欢迎+群消息+后台

3人 / 2周

sendText、sendImage、sendFile、消息/好友/群事件回调、消息记录

能发多种消息、能收多种事件、有管理后台

增强版

8+

10+

18+

功能版+批量推送+多wId+AI+工作流

5-8人 / 1个月

功能版5-7个 + 状态回调 + 多wId管理 + 高级能力

管一堆号、批量发、AI聊天、权限监控全有

3档机器人接口清单示例

下面这段代码把3档的接口清单列成结构化数据,做项目评估的时候可以直接拿过来算工时:

# 3档微信机器人接口清单
api_matrix = {
    "MVP版": {
        "eyun_api": [
            "sendText",                # 发送文本回复
            "Webhook消息回调",          # 接收用户消息
        ],
        "custom_api": [
            # "readyz健康检查",         # 可选
        ],
        "total": 2,
        "dev": "1人 × 1天",
    },
    "功能版": {
        "eyun_api": [
            "sendText", "sendImage", "sendFile",   # 三类消息发送
            "Webhook消息回调", "Webhook好友事件",   # 消息/好友事件
            "Webhook群事件", "消息记录查询",        # 群事件 + 历史补全
        ],
        "custom_api": [
            "消息列表查询", "客户列表查询",   # 数据查询
            "管理员登录", "规则配置",         # 后台管理
            "统计报表",                       # 数据看板
        ],
        "total": 12,
        "dev": "3人 × 2周",
    },
    "增强版": {
        "eyun_api": [
            "sendText", "sendImage", "sendFile",
            "Webhook消息/好友/群/状态回调",
            "消息记录查询", "多wId管理",
            # "名片发送、位置发送等高级能力",
        ],
        "custom_api": [
            "批量推送任务", "定时任务管理", "wId池管理",
            "AI对话上下文", "权限管理", "告警通知",
            "日志查询", "工作流配置", "报表导出", "敏感词管理",
        ],
        "total": 20,
        "dev": "5-8人 × 1个月",
    },
}

for level, info in api_matrix.items():
    print(f"【{level}】总接口约 {info['total']} 个,开发周期 {info['dev']}")
    print(f"  Eyun接口:{len(info['eyun_api'])} 个 - {info['eyun_api']}")
    print(f"  自写接口:{len(info['custom_api'])} 个 - {info['custom_api']}\n")

总结:先做MVP,够用就好,别一上来搞增强版

按3档来量化的话,做一个微信机器人需要的接口数大概是:MVP版2-3个(1天能跑通)、功能版9-13个(2周可用)、增强版18+个(1个月成熟)。接口数不是越多越好,每增加一个接口就多一份维护成本、多一处故障点、多一份测试工作量。

选型心法就一句话:先做MVP验证需求,1-2天跑通最简单的一问一答,确认真有人用、真有业务价值,再考虑升级到功能版。等用户规模上来、微信号不够用、单机器人顶不住的时候,再上增强版。千万别一上来就按增强版规划——大多数项目,MVP其实就够用了。

具体每个 Eyun 接口的参数定义、回调格式说明可以查 Eyun 开发文档,接口的开通和实例管理在 Eyun 平台 上操作就行。

Logo

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

更多推荐