Salesforce中REST API与Connect REST API的差异及API类型清晰解析
Salesforce 核心API分类详解
一、数据操作类API
这类API是跨系统集成的基础,核心用于CRUD(创建、读取、更新、删除)Salesforce核心业务数据:
- REST API:最通用的HTTP接口,支持标准/自定义对象的数据操作、SOQL/SOSL查询、Apex方法调用,适配绝大多数常规集成场景。
- SOAP API:基于SOAP协议的传统接口,功能和REST API重叠,但更适合需要严格契约、遵循企业级安全规范的场景(如.NET、Java传统系统集成)。
- Bulk API:专门处理大规模数据批量操作(十万级以上数据导入/导出),支持异步处理以降低系统负载,v2版本相比v1更简洁易用。
- Composite API:允许将多个REST请求打包成单次请求发送,减少网络往返次数,适合需要一次性完成多步关联操作的场景。
二、业务逻辑与扩展类API
聚焦于调用或扩展Salesforce自定义业务逻辑:
- Apex REST API:开发者通过编写Apex类自定义的REST接口,用于暴露定制化业务逻辑,满足特定业务场景的集成需求。
- Apex SOAP API:与Apex REST类似,但基于SOAP协议,适配需要SOAP契约的定制集成场景。
- Metadata API:用于操作Salesforce元数据(自定义对象、字段、页面布局、触发器等),核心服务于DevOps场景,比如自动化部署、版本控制。
三、体验与协作类API
围绕Salesforce的用户协作、社区体验功能设计:
- Connect REST API:专门用于访问Chatter协作功能及社区、用户交互相关数据,比如发布/获取Chatter消息、管理关注关系、社区用户操作、动态流展示等。
- Experience Cloud API:用于定制和管理Experience Cloud(原Community Cloud)的页面、组件与用户权限,打造自定义外部门户体验。
- Chatter API:早期的Chatter功能接口,目前已基本被Connect REST API替代,功能重叠但覆盖范围更窄。
四、其他特殊用途API
- Streaming API:基于推送机制的实时接口,当指定数据发生变化时主动向客户端推送通知,适合订单状态实时同步等场景。
- Tooling API:面向开发者的接口,用于访问开发工具相关元数据与运行时信息,比如查询Apex执行日志、管理自定义标签。
- Analytics API:用于访问Einstein Analytics(Tableau CRM)的数据集、仪表盘与分析结果,实现数据可视化集成。
REST API 与 Connect REST API 的关键差异
| 对比维度 | REST API | Connect REST API |
|---|---|---|
| 核心定位 | 通用数据操作入口,覆盖全量标准/自定义对象的CRUD与查询 | 专注于Chatter协作+社区/用户交互场景,仅处理相关特定实体 |
| 操作对象 | 所有标准对象(Account、Contact等)、自定义对象、Apex类、部分元数据 | Chatter消息、用户动态、关注关系、社区用户、文件分享、群组等协作类实体 |
| 典型使用场景 | ERP与Salesforce客户数据同步、自定义应用的数据读写 | 开发企业内部协作工具、社区门户的用户互动功能、第三方办公系统集成Chatter |
| 权限要求 | 基于对象/字段级CRUD权限+API启用权限 | 在基础数据权限外,额外需要Chatter相关权限(如发布消息、管理群组),社区功能需对应许可证权限 |
| 端点格式 | 基础端点为 /services/data/vXX.X/,后续接对象路径(如 /sobjects/Account) | 基础端点为 /services/data/vXX.X/chatter/,后续接协作实体路径(如 /feed-elements 获取动态) |
举个直观例子:
- 同步客户信息到外部系统,用REST API调用
/sobjects/Account; - 在外部系统展示Salesforce内部团队的Chatter动态,用Connect REST API调用
/chatter/feed-elements。
内容的提问来源于stack exchange,提问作者Android18
相关产品推荐
相关产品推荐

