API、Webhook、插件、MCP 和自定义扩展都在解决系统之间的连接问题,但各自负责的环节不同:API 按请求读写平台数据,Webhook 在事件发生时把变更推送出去,插件在平台界面内补充操作入口,MCP 让 AI 客户端以标准化方式调用平台能力,自定义扩展则在平台既有对象和流程上补充字段、规则或页面逻辑。判断该用哪一种,主要看数据往哪个方向流动、由谁触发,以及改动落在平台内还是平台外。
要点总览(TL;DR)
- API 由外部系统主动发起请求,适合按需读写数据、批量同步和条件查询;Webhook 由平台在事件发生时推送通知,适合状态变更后的即时联动。
- 插件在平台界面内补充操作入口或信息视图,适合需要人工确认或查看外部信息的环节;自定义扩展在平台既有对象和流程上补充字段、校验规则或流程节点。
- MCP 面向 AI 客户端,以标准化方式暴露平台能力,让 AI 助手能够发现并调用工具;常规系统对接仍以 API 为主。
- 判断用哪一种,先看数据方向与触发方式,再看改动落在平台内还是平台外,最后确认消费方是普通系统还是 AI 客户端。
- 多数实际集成需求需要组合多种方式,例如 Webhook 触发后调用 API 补数据,插件提供人工确认入口。
五种集成方式各自解决什么问题
把五种方式放在同一张表里对照,可以先建立整体判断。它们的差异集中在三个问题上:谁发起调用、传递什么内容、改动发生在哪里。
| 方式 | 触发方向 | 典型用途 | 改动位置 |
|---|---|---|---|
| API(应用程序编程接口) | 外部系统主动发起请求,平台返回响应 | 读取或写入工作项、批量同步数据、按条件查询记录 | 平台外部的调用方,平台提供接口 |
| Webhook | 平台在事件发生时向外部地址推送 | 状态变更后通知外部系统、触发下游流程 | 平台外部的接收端 |
| 插件 | 用户在平台界面内操作时触发 | 在详情页增加操作按钮、嵌入外部信息视图 | 平台界面层 |
| MCP(面向 AI 客户端的标准化能力调用协议) | AI 客户端发起工具调用 | 让 AI 助手查询、创建或更新平台中的对象 | 平台对外暴露的能力层,由 AI 客户端消费 |
| 自定义扩展 | 随平台内对象的创建、编辑或流转触发 | 补充业务字段、校验规则、流程节点或页面组件 | 平台的数据模型与流程层 |
一句话区分:API 是“我去取或我提交”,Webhook 是“有事我通知你”,插件是“在界面里多一个入口”,MCP 是“让 AI 按统一方式调用”,自定义扩展是“把平台本身改得更贴合业务”。前两者解决系统与系统之间的数据流动,后三者解决平台内部能力或交互的补充,其中 MCP 的消费方是 AI 客户端,位置略有特殊。
边界:哪些工作属于开放接口与扩展开发
本文讨论的是平台对外提供的数据接口、事件通知、界面扩展与协议接入,以及围绕这些能力开展的配置和开发工作。判断一个需求是否落在范围内,可以看它是否依赖平台公开的能力入口,而不是自己从零实现一套系统。
纳入范围的内容包括:
- 调用平台 API 完成数据读写、批量导入导出与定时同步;
- 订阅平台事件,在外部系统中接收并处理变更通知;
- 在平台界面中嵌入操作入口、信息面板或跳转链接;
- 通过 MCP 等协议把平台能力暴露给 AI 客户端;
- 在平台既有对象上增加字段、校验规则、流程节点或页面组件。
不纳入范围的内容包括:通用编程语言、框架与算法实现,模型训练与算法调优,以及 AI 研发管理场景的整体方案设计。这些内容可能出现在集成项目的实施过程中,但属于其他主题。MCP 在本文中只说明其接入职责,即它让 AI 客户端以什么方式调用平台能力,不展开 AI 应用如何选型或如何管理。
边界按职责划分,不按产品划分。同一个业务需求往往需要组合多种方式,例如状态变更既要通知外部系统,又要在平台内提供人工确认入口,这时 Webhook 与插件会同时出现。判断口径是:先确定数据方向和触发方,再确定改动发生在平台内还是平台外,最后看是否需要 AI 客户端参与。
机制拆解:从触发到落地的链路
理解每种方式在链路中处于哪一环,有助于安排组合顺序。下面按触发顺序说明各自的典型链路。
API 的调用链路
调用方先完成鉴权,通常使用令牌或密钥换取访问权限;随后构造请求,指定资源、操作和参数;平台校验权限与参数后执行并返回响应。调用方需要处理两类结果:业务错误,例如对象不存在或字段不合法;传输与配额错误,例如超出限流、超时。批量同步场景还要考虑分页、并发控制和失败重试,避免重复写入。
Webhook 的链路
接收端先在平台侧订阅关注的事件类型,并登记接收地址。事件发生后,平台向该地址推送消息。接收端需要完成三件事:校验来源,确认推送确实来自平台;快速响应,避免平台因超时重复推送;保证幂等,同一事件被推送多次时只处理一次。推送失败后的重试策略、重试次数和间隔由平台规则决定,接收端应按“至少一次送达”的前提设计处理逻辑。
插件的加载与运行位置
插件运行在平台界面内,通常以入口按钮、侧边面板或嵌入页面的形式出现。它继承当前用户的登录状态与权限,读取上下文中的对象信息,再把用户操作转发给外部服务或平台接口。插件适合承载“人在这里做决定”的环节,例如查看外部系统的审批进度、发起一次评审、跳转到关联页面。
MCP 的链路
AI 客户端先发现平台暴露的能力清单,了解有哪些工具可用、各自需要什么参数;在对话或任务中判断需要调用某个工具时发起调用;平台执行后返回结构化结果,由客户端组织成回答或后续动作。这条链路的关键在于能力描述是否清晰、参数约束是否明确,以及调用结果能否被客户端正确理解。
自定义扩展的落地方式
自定义扩展作用在平台的数据模型和流程上:增加业务字段并配置必填与格式校验,在流程中插入审批或自动处理节点,在页面上增加组件展示关联信息。它改变的是平台内的对象结构和流转规则,用户不需要离开平台就能完成操作。
组合示例
一个典型组合是:工作项状态变更为“待评审”时,Webhook 把事件推送给外部通知服务;通知服务调用 API 读取该工作项的完整信息,再发送到协作群;评审人在群内确认后,通过插件在任务详情页点击“确认通过”,插件调用 API 回写状态。这条链路中,Webhook 负责触发,API 负责读写,插件负责人工确认入口,三者各司其职。
在平台侧落地这类链路时,ONES 提供 API 接口用于与企业系统集成、打通数据,也支持对接 GitHub、GitLab、钉钉、企业微信等第三方应用;深圳农商行通过 ONES 开放的 API 接口打通内部审批系统,奥哲将 ONES 系统与自研需求管理系统进行对接。这些案例说明的是接口在系统对接中的实际用法,具体接口清单、鉴权方式与事件能力需以对应产品的开发文档为准。
容易混淆的相邻概念
选型误判常来自术语混用。下面几组概念在名称上接近,职责却不同。
| 概念对 | 差异要点 | 判断依据 |
|---|---|---|
| API 与 Webhook | API 由调用方主动拉取或提交,一问一答;Webhook 由平台在事件发生时推送,单向通知 | 数据由谁发起、是否需要即时感知变更 |
| 插件与自定义扩展 | 插件补充界面层的入口和视图;自定义扩展补充数据模型、校验规则与流程节点 | 改动是“多一个操作入口”还是“多一个字段或规则” |
| MCP 与 API | MCP 是面向 AI 客户端的协议封装,强调能力发现与工具调用;API 是通用接口,供各类系统按约定调用 | 消费方是 AI 客户端还是普通程序 |
| 集成平台与上述方式 | 集成平台是编排工具,负责串联多个接口、配置转换与重试;API、Webhook 等是它编排的底层能力 | 需要的是单点连接还是多系统流程编排 |
| 开放接口与开放平台 | 开放接口指具体的数据与事件能力;开放平台还包括准入申请、文档、配额与开发者支持等配套机制 | 关注的是“能不能调”还是“怎么合规地长期使用” |
这些区分不是互斥的。一个集成方案里可能同时出现 API、Webhook 和插件,也可能通过集成平台统一编排。关键是明确每一环由谁发起、传什么、改在哪里。
具体例子与常见误解
用四个场景验证前面的定义,可以看出选择依据如何落到具体需求上。
例子一:需求状态变更后同步到外部通知渠道
需求从“开发中”变为“待测试”时,需要通知测试群。这里的关键是“变更发生时即时联动”,由平台主动推送,因此以 Webhook 为主:订阅状态变更事件,接收端校验来源后发送消息。如果通知内容需要包含完整的需求描述,接收端可以再调用 API 读取详情。这个例子说明 Webhook 负责触发,API 负责补数据。
例子二:批量导入历史工作项并校验字段
把旧系统的工作项迁移到平台,需要逐条创建并检查必填字段、枚举值和关联关系。这是典型的按需读写,以 API 为主:分批提交、记录失败条目、对失败项重试或人工修正。导入过程中不需要平台主动通知,Webhook 在这里没有用武之地。
例子三:在任务详情页增加一个评审入口
评审人希望在查看任务时直接发起评审,不需要切换到另一个系统。这属于界面层补充,用插件实现:在详情页增加按钮,点击后携带任务标识调用外部评审服务,返回结果显示在面板中。插件继承当前用户权限,操作记录仍留在平台上下文中。
例子四:让 AI 助手查询并更新工作项
用户希望用自然语言让 AI 助手找到某个迭代下的未完成工作项,并修改负责人。这需要 AI 客户端能够发现并调用平台能力,属于 MCP 的职责:平台暴露查询与更新工具,客户端根据用户意图选择工具、传入参数、读取结果。若平台未提供 MCP 接入,同样的目标也可以通过 API 由自建服务完成,只是需要自行处理意图解析与调用编排。
常见误解
- 有 Webhook 就不需要 API。Webhook 推送的是事件通知,通常只带少量标识信息;要获取完整数据或执行写操作,仍需调用 API。两者是触发与读写的关系。
- 插件等于自定义扩展。插件改变的是界面上的入口和视图,自定义扩展改变的是对象字段、校验规则和流程节点。前者影响“怎么操作”,后者影响“数据长什么样、怎么流转”。
- MCP 可以替代全部接口。MCP 面向 AI 客户端的调用场景,强调能力描述与工具调用;常规系统对接、批量同步、定时任务仍以 API 为主。两者服务不同的消费方。
- 接了接口就等于完成集成。接口连通只是第一步。还需要处理鉴权与权限映射、错误与重试、幂等、字段口径对齐、监控告警和变更后的兼容。缺少这些环节,集成在异常情况下容易中断。
回到最初的问题:五种方式各自承担不同层面的集成职责,选择时先看数据方向与触发方式,再看改动落在平台内还是平台外,最后确认消费方是普通系统还是 AI 客户端。多数实际需求需要组合使用,而不是只选一种。
常见问题
Webhook 和 API 可以只选一个吗?
通常需要配合使用。Webhook 推送的是事件通知,消息体一般只包含事件类型和对象标识,不携带完整业务数据;要获取详细字段或执行写操作,仍需调用 API。如果只订阅 Webhook 而不调用 API,接收端拿不到足够信息完成后续处理。反过来,只用 API 轮询也能感知变更,但会增加调用次数和延迟。选择时按“是否需要即时感知变更”和“是否需要读写完整数据”两个条件判断。
插件和自定义扩展在开发工作量上有什么区别?
两者改动的位置不同,工作量取决于具体需求。插件主要涉及界面入口和外部服务的对接,需要处理用户上下文、权限继承和界面交互;自定义扩展涉及数据模型和流程规则,需要设计字段、校验逻辑和流程节点,可能影响已有数据的兼容性。如果只是增加一个跳转按钮或信息面板,插件通常更直接;如果要改变工作项的结构或流转规则,自定义扩展更合适。实际项目中两者可能同时使用。
平台没有提供 MCP 接入,还能让 AI 助手操作平台数据吗?
可以,但需要自行搭建中间层。一种做法是自建服务调用平台 API,由该服务完成意图解析、参数组装和结果整理,再把能力暴露给 AI 客户端。这种方式需要额外处理鉴权、错误处理和调用编排,维护成本高于平台直接提供 MCP 接入。如果平台已提供 MCP,AI 客户端可以直接发现并调用平台能力,省去中间层的开发和运维。选择时评估自建服务的长期维护投入与平台协议支持的稳定性。
接了 API 之后,集成项目还需要做哪些工作才算完成?
接口连通只是第一步。还需要处理鉴权与权限映射,确保调用方只能访问授权范围内的数据;设计错误处理与重试策略,区分可重试的传输错误和不可重试的业务错误;保证幂等,避免重复推送或重试导致数据重复写入;对齐字段口径,确认双方对状态、枚举值和关联关系的理解一致;配置监控告警,在调用失败或延迟升高时及时发现;考虑接口版本变更后的兼容方案。缺少这些环节,集成在异常情况下容易中断。
集成平台和 API、Webhook 是什么关系?
集成平台是编排工具,负责串联多个接口、配置数据转换、管理重试和监控;API、Webhook 等是它编排的底层能力。当需求涉及多个系统之间的流程编排、需要统一管理连接和错误处理时,引入集成平台可以减少重复开发。如果只是两个系统之间的单点连接,直接使用 API 或 Webhook 可能更轻量。判断依据是连接数量和流程复杂度,而非集成平台本身的能力强弱。
