无缝集成|一文读懂Salesforce外部服务(External Services)

外部服务(External Services)是一种Salesforce集成方法,无需代码即可将外部Web服务无缝连接到Salesforce组织

外部服务通过使用OpenAPI等行业标准以声明方式将外部API和计算集成Salesforce中,从而促进跨多个平台和服务的集成体验。帮助客户在信用评分、支付、地图绘制、全渠道零售等领域利用专业的外部服务。

外部服务的优势

  • 更少的样板代码

外部服务(External Services)生成封装外部服务的API操作的Apex类,允许它们在Apex代码的各个部分中使用。这鼓励了代码的可重用性,并最大限度地减少重复。

  • 简化的开发流程

通过导入所需外部服务的OpenAPI规范来快速创建集成。这导致Salesforce自动生成Apex类和方法,从而方便直接调用该服务。

  • 消除冗余代码

通过提供与外部API连接的标准化方式,简化集成过程。这意味着不再需要重复的代码来处理HTTP请求、身份验证或解析响应。

  • 与Flow的兼容性

外部服务可以通过Flow直接调用。这对于管理员和顾问来说非常方便。

  • 可维护性

如果外部服务的API规范发生任何更改,更新Salesforce中的外部服务定义将导致重新生成Apex类。这确保了代码与API中的最新变化保持一致,使维护更容易,并使集成保持最新状态。

外部服务结构

使用外部服务首先要注册一个外部Web服务并提交其OpenAPI规范,这定义了服务的操作。命名凭据(Named Credential)用于端点URL和身份验证详细信息。然后,平台开始将操作转换为可调用操作,以便在Flow Builder等Salesforce工具中使用。

这使得通过点击(而不是编码)即可连接外部服务。一旦注册,外部服务操作将成为你可以添加到Flow和其他工具中的构建块。当Flow运行时,它将调用外部服务操作来交换数据。这允许无缝集成,无需编写复杂的代码。

外部服务的集成示例

  • 以下是如何使用外部服务的一些示例:
  • 将信用评分服务集成到帐户页面中,以显示信用限额。
  • 通过外部验证服务检查折扣资格。
  • 整合灵活的订单数字支付服务。
  • 为区域规划引入可视化地图服务。
  • 通过外部服务获得Slack中的实时订单通知。
  • 联系外部欺诈检测服务进行交易。
  • 将独立的全渠道零售解决方案统一到一个Salesforce体验中。

外部服务的关键术语

以下是一些有助于理解外部服务的关键术语:

  • 外部Web服务:Salesforce外部托管的服务,通过REST API公开。
  • API规范:定义外部Web服务的操作。使用OpenAPI标准。
  • OpenAPI规范:基于JSON的API规范格式,可以被人和机器读取。
  • 可调用操作:对于Flow来说,这些是从外部服务的操作生成的构建块。用于Flow Builder。它们还可以与Apex和REST API一起使用。
  • Flow Builder:使用可调用操作创建自动化流程的工具。
  • Flow:使用Flow Builder创建的自动化。收集数据并执行操作。

外部服务的注意事项

  • 身份验证障碍

身份验证(Authentication)可能是一件棘手的事情。尽管外部服务处理基本的身份验证,但OAuth2等更复杂的方法需要深入研究自定义编码或第三方解决方案。

  • 复杂的数据类型

如果你需要处理复杂的数据结构,可能会比较困难。映射和管理嵌套对象或数组需要付出额外的努力。

  • 错误处理(Error Handling)

涉及到错误处理时,外部服务仅提供一个基本的映射。如果外部系统的API遇到障碍,通过错误详细信息(Error Details)寻找方法可能会感觉就像在迷宫中徘徊。

  • 节流和速率限制

就像高峰时段的交通一样,Callouts也存在限制,限制同时连接和总花费时间。

作者:自由侠部落

🔥🔥Salesforce学习资料、高薪岗位、考证攻略,$40考试优惠券

本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接

如果文章的内容对你有帮助,欢迎点赞~


http://www.niftyadmin.cn/n/5243011.html

相关文章

深信服行为管理AC设置禁止用户使用向日葵等远程软件

需求:在特定的时间内禁止内外网用户使用向日葵、todesk等远程软件;只禁止使用专业的远程软件,内网的ssh、telnet、RDP需要正常放行 AC版本:AC13.0.62.001 Build20221107 通过访问权限策略来控制 1、行为管理→访问权限策略→新…

轻量封装WebGPU渲染系统示例<42>- vsm阴影实现过程(源码)

前向实时渲染vsm阴影实现的主要步骤: 1. 编码深度数据,存到一个rtt中。 2. 纵向和横向执行遮挡信息blur filter sampling, 存到对应的rtt中。 3. 将上一步的结果(rtt)应用到可接收阴影的材质中。 具体代码情况文章最后附上的实现源码。 当前示例源码github地址: …

*p++和(*p)++的区别

*p和(*p)的区别 *和是同优先级操作符,且都是从右至左结合的 ∗ * ∗p:取p所指单元的值,p指向下一单元,即p自加1,然后p指向下一个地址。和 (p)意思一样 (*p):()的优先级比和都高,所以作用在()内…

排序算法之二:冒泡排序

冒泡排序的思路 冒泡排序是交换排序 基本思想:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动…

基于Java学生课外活动管理系统

基于Java学生课外活动管理系统 功能需求 1、活动信息录入:系统需要提供录入各类课外活动信息的功能,包括但不限于活动名称、活动类别、活动时间、活动地点等信息。此外,系统还应支持对活动信息进行修改、删除和查询的操作。 2、学生报名管…

MySQL:update set的坑

目录 一、问题描述 二、为何会出现这样的问题? 三、正确的方案 一、问题描述 我在修改mysql数据表时,看到下面的现象。 我表中原始数据如下: 执行了下面的修改,显示执行成功。 update user_function_record_entity set open_…

BLUE引擎开始游戏没反应如何解决

很常见的架设配置出错导致blue引擎开始游戏按钮灰色选择服务器断开点开始游戏没反应怎么办?简单说下这类问题通常 是网关与登录器不配套,替换生成登录器同上生成的网关以及logingate网关IP给占用了或者客户端文件bluem2_client.dat是否和登录器版本不一致。 1、开始…

【算法问题】N 皇后问题

目录 1.问题定义2.思路分析2.1.基于数组的回溯2.2.基于集合的回溯2.3.基于位运算的回溯 3.代码实现 (Java)3.1.基于数组的回溯3.2.基于数组的回溯3.3.基于位运算的回溯 4.扩展 参考:52.N 皇后 II 1.问题定义 (1)在国际象棋的规则中&#xff…