Salesforce-API

Salesforce API(1)

学习目标

完成本单元后,您将能够:

  • 描述以API为先的开发方法的好处。
  • REST API,SOAP API,Bulk API和Streaming API的状态用例。
  • 命名这两种类型的API限制并描述它们的计算方式。

API首先在Salesforce

嗨,妈呀!您是否准备好在公海上航行,寻找完美的Salesforce API来进行集成?那么,船长,抓住你的眼罩,找到一只鹦鹉。您即将浏览Force.com区域并了解我们的所有API。
Salesforce API环境和海蓝一样广阔。这是因为Salesforce采用API优先方法来构建Salesforce平台上的功能。 API首先意味着在专注于设计UI之前,为功能构建强大的API。这种方法使Salesforce开发人员能够灵活地根据需要操作数据。

Salesforce知道其客户和合作伙伴总是在想办法扩展Salesforce功能和令人兴奋的AppExchange应用程序。提供一个用于在平台上开发的综合工具箱是重中之重。这种方法还可以让Salesforce在API之上构建UI,确保它们之间的行为相同。

把这个模块想象成你的API第一个伴侣。我们将一起浏览一些常规的API信息,对Salesforce的API套件进行调查,并深入使用一些常见的API。所有这些信息将为您提供所需的知识,以便为您的项目选择正确的API。

Salesforce数据API

在Salesforce API的海洋中,有一个我们在本模块中关注的常用API的关键群组。它们是REST API,SOAP API,Bulk API和Streaming API。他们一起组成了Salesforce数据API。他们的目的是让您操纵您的Salesforce数据,而其他API让您可以自定义页面布局或构建自定义开发工具。您也可以使用其他Salesforce API来操纵Salesforce数据的子集。例如,Analytics(分析)REST API侧重于分析。但是这四个API广泛应用于Salesforce核心数据的各个区域。

Salesforce data APIs

REST API

REST API是基于RESTful原则的简单而强大的Web服务。它通过REST资源和HTTP方法公开各种Salesforce功能。例如,您可以创建,读取,更新和删除(CRUD)记录,搜索或查询数据,检索对象元数据以及访问组织中有关限制的信息。 REST API支持XML和JSON。

由于REST API具有轻量级的请求和响应框架,并且易于使用,所以对于编写移动应用程序和Web应用程序非常有用。

SOAP API

SOAP API是基于具有相同名称的行业标准协议的功能强大且功能强大的Web服务。它使用Web服务描述语言(WSDL)文件来严格定义通过API访问数据的参数。 SOAP API仅支持XML。大部分SOAP API功能也可以通过REST API获得。这取决于哪个标准更好地满足您的需求。

因为SOAP API使用WSDL文件作为API和使用者之间的正式契约,所以编写服务器到服务器的集成是非常好的。

Bulk API

批量API是一种专门用于一次加载和查询大量数据的RESTful API。我们的意思是5万条记录或更多。批量API是异步的,这意味着您可以提交请求并稍后返回结果。处理大量数据时,这种方法是首选方法。 Bulk API有两个版本(1.0和2.0)。两个版本都处理大量的数据,但是我们在这个模块中使用Bulk API 2.0,因为它使用起来更容易一些。

批量API非常适合执行涉及大量记录的任务,例如首次将数据加载到组织中。

Streaming API

Streaming API是一个专门的API,用于设置在对数据进行更改时触发的通知。它使用发布 – 订阅(pub-subscribe)或发布/订阅(pub / sub)模型,用户可以在其中订阅广播某些类型的数据更改的频道。

发布/订阅模型通过消除轮询的需要来减少API请求的数量。流式API对编写应用程序非常有用,否则这些应用程序需要经常轮询更改。

API访问和身份验证

您不需要宝藏地图来访问Salesforce API。所有您需要的是以下版本之一的组织:企业版,无限制版,开发人员版,性能版或专业版(带附加组件)。确保您具有“API启用”权限,并且您已准备好开始集成。
除了SOAP API login()调用之外,所有API调用都需要身份验证。您可以使用其中一个受支持的OAuth流,也可以使用从SOAP API login()调用中检索的会话标识进行身份验证。查看开发者指南,了解您所选择的API。

API限制

任何值得他或她的盐的船长都知道何时为了船的利益而限制船员。如果船长让水手整天喝酒,什么事都做不了。同样,Salesforce也会限制每个组织的API调用次数,以确保实例的健康状况。这些限制是为了防止流氓脚本将我们的服务器砸成浮木。他们不妨碍你的日常工作。尽管如此,熟悉它们是个好主意。
有两种类型的API限制。并发限制限制了同时运行的长时间呼叫(20秒或更长)的数量。总限制限制了在24小时内滚动的呼叫数量。

并发限制因组织类型而异。对于开发者版本组织,限制是一次五个长时间运行的调用。对于沙箱组织来说,这是25个长时间运行的呼叫。

根据您购买的组织版本,许可证类型和扩展包,总数限制会有所不同。例如,Enterprise Edition组织每个Salesforce许可证可获得1000个呼叫,每个Force.com Light App许可证可获得200个呼叫。使用无限的应用包,相同的企业版组织可以获得额外的4000个电话。根据组织版本,总限制也受到最低限额和最高限额的限制,但我们不会在这里进行讨论。如果您想了解更多信息,请参阅参考资料部分中的API请求限制链接。

你有几种方法来检查你的剩余的API调用。您可以在“系统概述”页面的“API使用情况”框中查看它们。从“设置”中,在快速查找方框中输入系统概览,然后选择系统概览。您也可以在您的组织超出您指定的多个API调用时设置通知。为此,从安装程序中,在快速查找框中输入API使用通知,然后选择API使用通知。

使用REST或SOAP API时,LimitInfoHeader响应标题可以为您提供有关剩余呼叫的信息。您还可以访问REST API限制资源,了解组织中各种限制的信息。

我使用哪个API?

为您的整合需求选择正确的API是一个重要的决定。以下是我们最常用的API的一些信息,包括支持的协议,数据格式,通信范例和用例。将本节作为参考,您可以在考虑使用哪个API时返回。

请注意我们已经谈到的四个数据API。接下来我们将深入其中。

API名称 协议 数据格式 通讯
REST API REST JSON, XML 同步
SOAP API SOAP (WSDL) XML 同步
Chatter REST API REST JSON, XML 同步(照片异步处理)
Analytics REST API REST JSON, XML 同步
Bulk API REST CSV, JSON, XML 同步
Metadata API SOAP (WSDL) XML 同步
Streaming API Bayeux JSON 异步(数据流)
Apex REST API REST JSON, XML, Custom 同步
Apex SOAP API SOAP (WSDL) XML 同步
Tooling API REST or SOAP (WSDL) JSON, XML, Custom 同步

何时使用REST API

REST API提供了一个强大,方便,简单的基于REST的Web服务接口,用于与Salesforce进行交互。它的优点包括易于集成和开发,并且是移动应用程序和Web项目使用的最佳技术选择。但是,如果您有多个要处理的记录,请考虑使用Bulk API,该API基于REST原则并针对大量数据集进行了优化。

何时使用SOAP API

SOAP API为与Salesforce进行交互提供了一个强大,方便且简单的基于SOAP的Web服务界面。您可以使用SOAP API创建,检索,更新或删除记录。您还可以使用SOAP API执行搜索等等。使用任何支持Web服务的语言使用SOAP API。

例如,您可以使用SOAP API将Salesforce与您的组织的ERP和财务系统集成。您还可以向公司门户网站提供实时销售和支持信息,并使用客户信息填充关键业务系统。

何时使用Chatter REST API

使用Chatter REST API来显示Salesforce数据,尤其是在移动应用程序中。除Chatter提要,用户,组和追随者外,Chatter REST API还提供对文件,推荐,主题,通知,Data.com采购等的编程式访问。 Chatter REST API类似于其他公司提供的API,例如Facebook和Twitter,但也暴露了Chatter之外的Salesforce功能。

何时使用Analytics REST API

您可以使用Google Analytics REST API以编程方式访问Google Analytics资产(如数据集,镜头和仪表板)。将查询直接发送到Analytics平台。访问已导入到Google Analytics平台的数据集。创建和检索镜头。访问XMD信息。检索数据集版本的列表。创建和检索分析应用程序。创建,更新和检索Google Analytics仪表板。检索应用程序的依赖关系列表。确定哪些功能可供用户使用。使用快照。操作复制的数据集。

何时使用批量API

批量API基于REST原则,并针对加载或删除大量数据进行了优化。您可以使用它通过提交批来异步查询,查询所有,插入,更新,插入或删除许多记录。 Salesforce在后台处理批次。

相比之下,SOAP API针对实时客户端应用程序进行了优化,每次更新一些记录。您可以使用SOAP API来处理许多记录,但是当数据集包含数十万条记录时,SOAP API不太实用。批量API旨在使处理从数千条到数百万条记录的数据变得简单。

使用Bulk API最简单的方法是使用CSV文件在Data Loader中处理记录。使用Data Loader可以避免编写自己的客户端应用程序。

何时使用元数据API

使用元数据API检索,部署,创建,更新或删除您的组织的自定义项。最常见的用法是将更改从沙箱或测试组织迁移到生产环境。元数据API旨在用于管理自定义和用于构建可以管理元数据模型的工具,而不是数据本身。

访问Metadata API中功能的最简单方法是使用Force.com IDE或Force.com迁移工具。这两个工具都是基于元数据API构建的,分别使用标准的Eclipse和Ant工具来简化对Metadata API的处理。

  • Force.com IDE构建在Eclipse平台上,供熟悉集成开发环境的程序员使用。在IDE中编译,编译,测试和部署。
  • 如果您使用脚本或命令行在本地目录和Salesforce组织之间移动元数据,Force.com迁移工具是理想选择。

何时使用流式API

使用Streaming API接收与您定义的SOQL查询匹配的数据更改的通知。

如果要将通知从服务器推送到客户端,则Streaming API非常有用。考虑经常轮询的应用程序的流API。持续轮询Salesforce基础设施的应用程序会消耗不必要的API调用和处理时间。 Streaming API减少了不返回数据的请求的数量,对于需要数据更改的一般通知的应用程序也非常理想。

流式API使您可以减少API调用的数量并提高性能。

何时使用Apex REST API

如果要公开Apex类和方法,请使用Apex REST API,以便外部应用程序可以通过REST体系结构访问您的代码。 Apex REST API支持OAuth 2.0和会话ID进行授权。

何时使用Apex SOAP API

如果要将Apex方法公开为SOAP Web服务API,请使用Apex SOAP API,以便外部应用程序可以通过SOAP访问您的代码。

Apex SOAP API支持OAuth 2.0和会话ID进行授权。

何时使用工具API

使用工具API将Salesforce元数据与其他系统集成。元数据类型公开为sObjects,因此您可以访问复杂类型的一个组件。这个字段级访问加快了对复杂元数据类型的操作。您还可以为Force.com应用程序构建自定义开发工具。例如,使用工具API来管理和部署Apex类和触发器以及Visualforce页面和组件的工作副本。您还可以设置检查点或堆转储标记,执行匿名Apex,并访问日志记录和代码覆盖率信息。

REST和SOAP都支持。

你可能也会喜欢...