引言
Salesforce提供给外部系统的标准RestAPI类型,还是非常丰富的,能满足用户基本的增删改查的操作。
就是由于提供的RestAPI多,所以本文旨在为salesforce开发者或者是集成开发者,提供一个RestAPI的用法总结,以及基本的java代码实现用例。
目录
第一部分,Salesforce RestAPI介绍
第二部分,核心操作与API调用示例
第三部分,高级主题与最佳实践
第一部分:Salesforce REST API介绍
1.RestAPI简介
关于Salesforce的标准RestAPI,可以参考Trailhead的这个章节去学习。
2.访问权限与安全
访问Salesforce是需要提前取得AccessToken(访问令牌)的。关于Salesforce的认证方式和取得令牌的方法,可以参考这两篇文章(用Springboot(java程序)访问Salesforce RestAPI和JWT认证方式),有详细的介绍
3.基础URL介绍
3.1 执行SOQL文
官方文档,在这里。
请求URL:
curl https://MyDomainName.my.salesforce.com/services/data/v61.0/query/?q=SELECT+name,id+from+Account -H "Authorization: Bearer token"
注意,对于一条请求,Salesforce最多返回2000条数据,对于剩下的数据,在Response中会给一个链接,如下:
"nextRecordsUrl" : "/services/data/v61.0/query/01gD0000002HU6KIAW-2000"
用上面的链接,继续请求接下来的2000件,如此循环。
curl https://MyDomainName.my.salesforce.com/services/data/v61.0/query/01gD0000002HU6KIAW-2000 -H "Authorization: Bearer token"
具体的Response,查看上面的官方文档。
3.2 复数Record增删改查操作
对于复数Record的操作,可以使用Composite的URL,官方文档,在这里。
增删改查的总结,如下表:具体的Response,查看上面的官方文档。
注意,这里也有取得数据的方法,但是区别于SOQL文的是,不能加入检索条件,只能指定好ID去检索。也不能检索多个Object,只能指定一个Object。
对于upsert操作,只能实现以外部Key作为条件,去判断是Update还是Create,是不能用SalesforceID去判断的。
第二部分:核心操作与API调用示例
直接上代码,看一下java是如何实现。以下代码是基于这篇和这篇文章的基础上扩展的。
1. 查询操作
public static String getCrmData(String query) {
String queryResult = "";