External Services:声明式集成外部 REST API

用 External Services 声明式集成外部 REST API,无需编写代码。本文讲解 External Services 的关键术语(外部 web 服务、API 规范、invocable actions、Flow Builder)、从 API 规范到运行时 callout 的六步工作流,以及定义有效且受支持的 OpenAPI schema 的两层要求(OpenAPI 验证 + External Services 特定限制),帮助你排查注册失败并流畅地把 Salesforce 连接到外部世界。...

📅 2026/10/5 ✍️ ponybai 🏷️ salesforce, developer, integration, headless

一、开始使用 External Services

slide_2

External Services 让你声明式(无需代码)集成外部托管的 REST API。本单元介绍 External Services 特性、关键术语(外部 web 服务、API 规范、invocable actions、Flow Builder),并讲解从注册 API 规范到运行时调用外部服务的完整六步工作流。

学习目标

slide_3

完成本单元后,你将能够:解释 External Services 特性及什么是外部服务;描述在 Salesforce 中注册和使用外部服务的高层工作流。

为什么需要 External Services?

slide_4

客户期望无缝体验——即使这些体验跨越多个平台和服务。External Services 让你声明式(无需代码!)集成外部托管、执行业务操作或计算的服务。

可集成的第三方服务示例:账户详情页的信用评分、折扣资格验证、数字支付服务、地图服务与可视化工具、Slack 实时订单通知、欺诈预防与身份验证、全渠道零售、Google 服务、政府 API、CDC、世界银行数据。只要有带 OpenAPI 规范的 REST API,External Services 就能把它带进你的 Salesforce org。

External Services 实战

slide_5

两个真实用例:

  • 自动用户配置——注册外部薪资应用为 External Service,操作转化为 invocable actions,构建流:新用户创建时自动启动流,把用户添加为薪资应用的协作者(获得考勤和薪资数据访问权限)。
  • 下单时信用验证——注册信用验证服务,构建流接收订单金额和信用条款作为输入,调用信用服务,根据响应更新账户信用条款。

两个场景都零自定义代码:注册 → Actions → Flow → 运行时 callout,全部声明式,全部在 Salesforce 内。

术语澄清

slide_6

几个易混淆的术语:

  • External Services(大写)——Salesforce 产品,通过 OpenAPI 规范注册外部 web 服务,把操作带入 Salesforce 作为 invocable actions 供 Flow Builder 使用。
  • 外部 web 服务(小写)——任何托管在 Salesforce 之外的功能、动作或流程,必须是基于 REST 的 HTTPS API。
  • API 规范(API Spec)——JSON 格式的 OpenAPI 文件,描述 API 能做什么——输入、输出、端点、认证,人机皆可读。
  • Invocable Actions——Flow Builder 和 Einstein Bots 中可用的声明式构建块,由 External Services 把注册的 API 操作转化而来。
  • Flow Builder——点选工具,构建收集数据并执行操作的流——现在包括外部服务调用。

六步工作流

slide_7

External Services 遵循六步工作流:

  1. 外部提供者托管一个基于 REST 的 API(如银行的信用检查服务)
  2. 提供者或开发者分享描述 API 能力的 JSON API 规范
  3. 管理员创建 Named Credential——用 API URL 认证 web 服务端点
  4. 管理员用 Named Credential 和 API 规范注册 web 服务,External Services 导入操作 → 创建 invocable actions
  5. 管理员用 Flow Builder 访问 invocable actions 构建流
  6. 运行时:流向 web 服务端点发送 callout → web 服务返回输出 → Salesforce 捕获响应供流使用

资源(单元一)

slide_8

继续学习:Salesforce Help「External Services」、Trailhead「Build Flows with Flow Builder」。下一步:深入 API 规范,学习什么是有效且受支持的 schema。

二、定义 External Service 的 API 规范

slide_9

API 规范是桥接外部 web 服务和 Salesforce 的关键文档。本单元学习什么是 schema 定义、为什么重要,以及什么让 API 规范既有效(符合 OpenAPI 标准)又受支持(满足 External Services 特定要求)。

学习目标(单元二)

slide_10

完成本单元后,你将能够:描述 API 规范的目的;解释受支持的 External Services schema 定义的要素;列举三个会导致 API 规范失败的问题。

为什么需要 Schema 定义?

slide_11

API 规范包含描述 API 能力的 schema 定义。即使不是你来创建,理解它也是必需的。API 规范包含:

  • Schema 定义——org 调用外部服务的输入输出类型(如 ID 为数字输入、名称为文本输出)。
  • 端点信息——API 所在的 URL。
  • 认证参数——如何安全连接(通常通过 Setup 里的 Named Credential)。

示例:一个虚构的银行 API 支持四个操作——GET(检索账户)、POST(新增)、PUT(更新)、DELETE(删除)。每个操作在规范中描述其 HTTP 方法、路径、参数和响应格式。规范人可读,也结构化供机器处理。

什么是有效且受支持的 Schema?

slide_12

External Services 成功消费 API 规范需满足两层要求:

  • 第一层:Schema 验证(OpenAPI 规则)——schema 必须机器可读,遵循 OpenAPI 规范的结构、语法、逻辑一致性。结构错误 → API 无法通信 → External Services 无法摄取。
  • 第二层:受支持的 External Services Schema——External Services 的特定要求,如文件大小超限、对象数量超限、操作数量超限。

两层都必须通过才能成功注册。构建 API 规范前,先查阅 External Services Considerations 文档。

Schema 验证入门

slide_13

Schema 验证是第一关——每个 API 规范必须通过的结构、逻辑、语法检查。为什么重要:schema 人可读但也必须机器可读,必须遵循逻辑结构,结构错误 → 错误和异常 → External Services 无法摄取。

OpenAPI 规范定义了这些通用规则,标准化了 API 描述方式,省去调用外部 web 服务的猜测。关键验证点:所有必填字段存在且命名正确、数据类型匹配期望格式、端点是有效 URL、参数正确定义类型和必填/可选标记、响应结构完整。

受支持的 External Services Schema

slide_14

除 OpenAPI 验证外,External Services 有自己的特定要求。常见导致注册失败的原因:

  1. 文件大小——规范超过最大文件大小,解决:拆分成多个小规范。
  2. 对象限制——schema 定义对象过多,解决:只注册真正需要的操作。
  3. 操作限制——定义的操作过多,解决:优先注册核心操作。
  4. 不支持的数据类型——用了 External Services 不识别的类型,解决:映射到支持的类型。
  5. 缺少认证——Named Credential 未正确配置,解决:注册前验证凭证。

始终先查阅 External Services Considerations 帮助文档。

资源(单元二)

slide_15

继续学习:Salesforce Help「Register an External Service」「External Services Considerations」、Swagger Open API(schema 工具和文档)、Salesforce Developer「Apex Reserved Keywords」(命名操作和参数相关)。现在你已拥有完整的 External Services 工具包:理解工作流、定义有效 schema、声明式集成外部 API。


文章来源:Trailhead - External Services