salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五) (2)

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

3) 通过SOQL语句进行查询:标准 rest接口同样支持使用SOQL去返回指定的list信息。格式为:services/data/v51.0/query/?q=SOQL query, 其中 SOQL使用 + 分隔 。下面demo中在Account表中查询了 Id以及Name。response中包含了记录数以及细节信息,可以通过层级结构进行数据的获取。

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

 2. 新建场景

1) 单表常规操作新建:针对表的创建,因为我们需要request body指定哪些字段创建成哪些值,所以我们的method肯定不可能是 GET了,针对标准的单表创建,类型选择Post,将报文内容放在{}(花括号)中间,然后使用键值对方式,左面是字段的API Name,右面对应相关的值,按照以下的方式即可。点击Execute,我们可以看到 response的结构体返回了新建的Id,结果状态等信息。

 

salesforce零基础学习(一百零三)项目中的零碎知识点小总结(五)

2) 级联表(nested records)创建数据:我们很多时候会有针对父子表的操作,标准的rest api同样支持级联表(lookup / master-detail)的创建,当然也只是支持创建操作,如果想要对级联表进行更新或者删除,需要使用相关的record id或者外键去进行操作,此种操作只是支持新建。同样先说一下request method,使用的是post。然后再说一下request URL为:/services/data/v51.0/composite/tree/Account/。这里我们可以看到和上面的区别很大,使用的是 composite/tree,然后后面跟着的是级联表父表的API Name。最后再说明一下request body,我们以下面的例子去进行具体的说明。下面的demo是创建两条  Account数据,第一条Account数据要级联创建 Contact数据自动关联这条 Account,第二条 Account的数据要级联创建Contact以及Case。这里有两个关键点需要说明:

每个层级结构中都有一个 referenceId:这个是必须要有的,并且是唯一的,当成功以后referenceId用来对应着成功插入数据的record id,这个可以随便赋值,只要保证唯一即可。

我们看到针对子表插入的时候,使用的是 Contacts / Cases等。这个是子表和父表关联时的 Child Relationship Name,因为这两个都是标准表,所以没有__r,如果是自定义表的关系,这个 Child Relationship Name后面需要添加 __r用来代表子表名称。

request body 内容如下所示:

{
    "records" :[
        {
        "attributes" : {"type" : "Account", "referenceId" : "ref1"},
        "name" : "SampleAccount1",
        "industry" : "Banking",
        "Contacts" : {
            "records" : [
                {
                    "attributes" : {"type" : "Contact", "referenceId" : "ref2"},
                    "lastname" : "Smith",
                    "Title" : "President",
                    "email" : "sample@salesforce.com"
                },{
                    "attributes" : {"type" : "Contact", "referenceId" : "ref3"},
                    "lastname" : "Evans",
                    "title" : "Vice President",
                    "email" : "sample@salesforce.com"
                }
            ]
        }
      },
      {
        "attributes" : {"type" : "Account", "referenceId" : "ref4"},
        "name" : "SampleAccount2",
        "industry" : "Banking",
        "Cases" : {
            "records" : [
                {
                    "attributes" : {"type" : "Case", "referenceId" : "ref5"},
                    "Status": "New",
                    "Priority": "Meduim",
                    "Origin" : "Phone"
                }
            ]
        },
        "Contacts" : {
            "records" : [
                {
                    "attributes" : {"type" : "Contact", "referenceId" : "ref6"},
                    "lastname" : "Jones",
                    "title" : "President",
                    "email" : "sample@salesforce.com"
                }
            ]
        }
        }
    ]
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydwpw.html