学习目标
- 描述以API为先的开发方法的好处。
- REST API,SOAP API,Bulk API和Streaming API的状态用例。
- 命名这两种类型的API限制并描述它们的计算方式。
API首先在Salesforce
Salesforce数据API

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访问和身份验证
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旨在用于管理自定义和用于构建可以管理元数据模型的工具,而不是数据本身。
- 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进行授权。