Salesforce 数据API分类

Salesforce中提供了四种数据API接口。数据API接口为开发者提供了操作Salesforce数据的能力。它们分别是:

  • REST API:依据RESTful方法对数据进行新建、读取、更新、删除(CRUD)处理。REST API支持JSON和XML格式。REST API是轻量级的API,适用于处理网络应用或移动应用中。
  • SOAP API:基于SOAP协议,使用WSDL格式的文件处理数据。只支持XML格式。适用于服务器之间的通信。
  • Bulk API:是一种特殊定制的REST API,针对大批量数据(50000条记录或更多)的处理有更好的效果。
  • Streaming API:适用于当数据发生变化时发送提示消息。

启用API权限

要使用API,需要在用户的简档中,将“已启用 API”(API Enabled)复选框勾选。

API限制

Salesforce中有两种API限制。“并发限制”限制了同时运行的持续时间高于20秒的API请求的数量,“数量限制”限制了24小时之内运行的API请求的总数。

要查看可运行的API的剩余数量,可以在设置界面中搜索“系统概览”,打开“系统概览”页面。在“API 使用情况”部分可以查看最近24小时之内运行的API数量,和最多允许的数量。

要设定API的使用通知,可以在设置界面中搜索“API 使用通知”,打开“所有API 使用通知”界面。点击“新建”按钮即可新建API使用通知,当API使用数量达到一定的阈值时,会自动发送邮件通知相关的用户。

生成API WSDL文件

在设置界面下,搜索“API”,点击“开发”菜单项下面的“API”链接,进入“API WSDL”页面。

在此页面中,可以生成和下载各种WSDL和客户端证书,供API开发者使用。

比如:

  • 点击“生成企业 WSDL”链接,在显示的窗口中点击“Generate”按钮,即可得到一个WSDL文件
  • 在SoapUI中使用此文件新建项目,即可建立与相应Salesforce系统的API通信
  • 开发者可以使用“login”操作来进行登录请求。注意,在Salesforce登录时,密码的部分需要输入密码和安全口令(Security Token)。比如密码是“123”,安全口令是“abc”,那么在“”标签中需要输入“123abc”。示例如下:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:enterprise.soap.sforce.com">
<soapenv:Header>
<urn:LoginScopeHeader>
<urn:organizationId></urn:organizationId>
<!--Optional:-->
<urn:portalId></urn:portalId>
</urn:LoginScopeHeader>
</soapenv:Header>
<soapenv:Body>
<urn:login>
<urn:username>用户名</urn:username>
<urn:password>密码和安全口令</urn:password>
</urn:login>
</soapenv:Body>
</soapenv:Envelope>
  • 在登录成功后,系统会生成会话ID(在“”标签中)和服务器URL(在“”标签中)。开发者需要记录下它们,以便于在以后的其他请求中使用
  • 开发者可以使用比如“create”等操作来对各种对象进行操作请求。在相应的标签中输入相应的值,并且在对应的标签中输入之前的会话ID或服务器URL,即可发送请求,完成操作

企业WSDL和合作伙伴WSDL的区别

Salesforce中最经常使用的是两种WSDL:

  • 企业WSDL(Enterprise WSDL)
  • 合作伙伴WSDL(Partner WSDL)

它们有以下特点:

  1. 企业WSDL是强类型的,它和特定的某个Salesforce组织紧密联系在一起。当此Salesforce组织被修改之后,比如自定义字段、对象被修改,生成的企业WSDL也会不同
  2. 合作伙伴WSDL是弱类型的,不和特定的Salesforce组织联系在一起,所以当Salesforce组织被修改之后,不会生成不同的合作伙伴WSDL

如果开发者需要通过API对某个特定的Salesforce组织进行CRUD操作,则使用企业WSDL。如果对多个Salesforce组织进行操作,则使用合作伙伴WSDL。

Apex 的 API 简介的更多相关文章

  1. Web Api 简介

    ASP.NET Web API 简介  ASP.NET MVC 4 包含了 ASP.NET Web API, 这是一个创建可以连接包括浏览器.移动设备等多种客户端的 Http 服务的新框架, ASP. ...

  2. ZooKeeper系列4:ZooKeeper API简介及编程

    问题导读: 1.ZooKeeper API 共包含几个包? 2.如何使用ZooKeeper API 创建zookeeper应用程序? 1)ZooKeeper API 简介   ZooKeeper AP ...

  3. WebSocket API简介

    WebSocket是html5新增加的一种通信协议,目前流行的浏览器都支持这个协议,例如Chrome,Safari,Firefox,Opera,IE等等,对该协议支持最早的应该是chrome,从chr ...

  4. 构建简单的 C++ 服务组件,第 1 部分: 服务组件体系结构 C++ API 简介

    构建简单的 C++ 服务组件,第 1 部分: 服务组件体系结构 C++ API 简介 熟悉将用于 Apache Tuscany SCA for C++ 的 API.您将通过本文了解该 API 的主要组 ...

  5. Raphael Js矢量库API简介:

    Raphael Js矢量库API简介:Raphael Javascript 是一个 Javascript的矢量库. 2010年6月15日,著名的JavaScript库ExtJS与触摸屏代码库项目jQT ...

  6. 开放数据接口 API 简介与使用场景、调用方法

    此文章对开放数据接口 API 进行了功能介绍.使用场景介绍以及调用方法的说明,供用户在使用数据接口时参考之用. 在给大家分享的一系列软件开发视频课程中,以及在我们的社区微信群聊天中,都积极地鼓励大家开 ...

  7. Monkey脚本API简介

    一.API简介 LaunchActivity(pkg_name, cl_name):启动应用的Activity.参数:包名和启动的Activity. Tap(x, y, tapDuration): 模 ...

  8. web API简介(四):客户端储存之IndexedDB API

    概述 前篇:web API简介(三):客户端储存之Web Storage API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. Index ...

  9. web API简介(三):客户端储存之Web Storage API

    概述 前篇:web API简介(二):客户端储存之document.cookie API 客户端储存从某一方面来说和动态网站差不多.动态网站是用服务端来储存数据,而客户端储存是用客户端来储存数据. W ...

随机推荐

  1. [转]numpy的getA()/getA1()/getH()/getI()函数

    转自https://blog.csdn.net/weixin_42906066/article/details/82625779 1.mat.getA() 将自身矩阵变量转化为ndarray类型的变量 ...

  2. Java List<T> 去重

    1.List<T>,是个泛型,实际业务里,它经常是一个bean,例如Person类,里面有age.name等属性. 2.如果List<Person>  ps 有重复的数据,我们 ...

  3. 【笔记】Java微服务之路(持续更新)

    微服务架构的说明: 微服务的架构风格是将一个单体的应用程序开发拆解为一组"小"的服务,这里的"小"是以业务边界 来区分的,而不是根据代码的多少区分.每个服务都运 ...

  4. 项目倒入maven 遇到的问题只有 main 了

    归根结底是倒入错了: (1)首先  view->Toolbar; (2) 点击 File==>project structure 然后:在 project settings中点击 modu ...

  5. IEEE 二进制浮点数的表示

    朋友在谈一个物流相关的项目,是以前项目的一个延续,涉及到后台的扩展,手机端的App,外加两个App的对接的蓝牙打印机.这个项目前后说了一个多月了吧,最近才草拟了协议.项目本来不复杂,但是客户却如此的拖 ...

  6. Python之np.random.permutation()函数的使用

    官网的解释是:Randomly permute a sequence, or return a permuted range. 即随机排列序列,或返回随机范围.我的理解就是返回一个乱序的序列.下面通过 ...

  7. webstorm关闭烦人的eslint语法检查

    使用了eslint语法检查之后发现JS代码里面处处是红线,通过右键菜单中的fix eslint problems选项又会发现页面代码的格式被eslint换行得不分青红皂白,索性关闭exlint语法检查 ...

  8. Prometheus 监控K8S 资源状态对象

    Prometheus 监控K8S 资源状态对象 官方文档:https://github.com/kubernetes/kube-state-metrics kube-state-metrics是一个简 ...

  9. JDBC与Druid简单介绍及Druid与MyBatis连接数据库

    序言 java程序与数据建立连接,首先要从jdbc说起,然后直接上阿里认为宇宙最好的数据库连接池druid,然后再说上层程序对象与数据源映射关联关系的orm-mybatis. JDBC介绍 JDBC( ...

  10. NRF24L01双向无线通信

    最近闲来无事,利用手头资源研究了一下基于nrf24L01的双向通信实验,整个系统如下图所示. 原理: nrf24L01本身是一种单向通信的无线模块,但是,当nrf24L01工作在增强型的 ShockB ...