SOAP API

SOAP API includes a new call, several changed calls, a new header, and a changed header.

New Calls

This call is new in API version 35.0.

renderEmailTemplate()
Replaces merge fields in the text bodies of email templates with their corresponding Salesforce record IDs, even for polymorphic fields. The email template bodies and their corresponding whoId and whatId values are specified in the argument. This call takes an array of RenderEmailTemplateRequest objects and returns the rendered template bodies as part of the body results in RenderEmailTemplateResult.

Changed Calls

These calls have changed in API version 35.0.

describeAppMenu()
The networkId field has been added. This field represents the community to retrieve the tab set from if the appMenuType is set to NetworkTabs.
describeFlexiPages()
The contexts argument has been added. This argument represents the contexts for the FlexiPages, such as Account or Contact.
describeLayout() and DescribeLayoutResult
The parentLayoutId field has been added to the DescribeLayoutSection subtype. This field represents the ID of the layout upon which the DescribeLayoutSection resides.
describeAvailableQuickActions() and DescribeAvailableQuickActionResult
The actionEnumOrId field has been added. This field represents the unique ID for the action. If the action doesn’t have an ID, its API name is used.
describeQuickActions() and DescribeQuickActionResult
The actionEnumOrId field has been added. This field represents the unique ID for the action. If the action doesn’t have an ID, its API name is used.
The showQuickActionVfHeader field has been added. This field indicates whether to show the Visualforce quick action header and footer.
The visualforcePageUrl field has been added. This field represents the URL for the Visualforce page associated with the action.
describeSObjects() and DescribeSObjectResult
The mruEnabled field has been added. This field indicates whether the object appears in Most Recently Used (MRU) lists (true) or not (false).
The master field has been added to the RecordTypeInfo subtype. This field indicates whether the record type is the master record type (true) or not (false). The master record type is the default record type that’s used when a record has no custom record type associated with it.
describeTabs() and DescribeTabSetResult
The description field has been added to DescribeTabSetResult. This field is the description for this standard or custom app.
describeTheme()
The Id-Modified_Since header has been added. Use it to determine if object metadata has changed. You can include the If-Modified-Since header with a date in EEE, dd MMM yyyy HH:mm:ss z format when you use the SObject Describe resource. If you do, response metadata will only be returned if the object metadata has changed since the provided date. If the metadata has not been modified since the provided date, a 304 Not Modified status code is returned, with no response body.
runTests() and RunTestsResult
The apexLogId field has been added. This field represents the ID of an ApexLog object that is created at the end of a test run. The ApexLog object is created if there is an active trace flag on the user running an Apex test, or on a class or trigger being executed.
sendEmail() and SingleEmailMessage
The following fields of SingleEmailMessage have changed in all API versions.
bccAddresses, ccAddresses, and toAddresses
  • You can set contacts, leads, and users as email recipients by specifying their IDs instead of email addresses.
  • If you add an email recipient by ID instead of email address, you can specify opt-out email options with the optOutPolicy field.
  • Email addresses are verified to ensure that they have the correct format and haven’t been marked as bounced.

The following fields have been added to SingleEmailMessage and are available in API version 35.0 and later.
documentAttachments
This field is deprecated. Use entityAttachments instead.
entityAttachments
Optional. Array of IDs of Document or ContentVersion items to attach to the email.
optOutPolicy
Optional. If you added recipients by ID instead of email address and the Email Opt Out option set, this field determines the behavior of the sendEmail() call. The opt-out settings for recipients added by their email addresses aren’t checked and those recipients always receive the email. Possible values of the SendEmailOptOutPolicy enumeration are:
  • SEND (default)—The email is sent to all recipients and the Email Opt Out option of the recipients is ignored.
  • FILTER—No email is sent to the recipients that have the Email Opt Out option set and emails are sent to the other recipients.
  • REJECT—If any of the recipients have the Email Opt Out option set, sendEmail() throws an error and no email is sent.
treatBodiesAsTemplate
Optional. If set to true, the subject, plain text, and HTML text bodies of the email are treated as template data. The merge fields are resolved using the renderEmailTemplate() call. Default is false.
treatTargetObjectAsRecipient
Optional. If set to true, the targetObjectId (a contact, lead, or user) is the recipient of the email. If set to false, the targetObjectId is supplied as the WhoId field for template rendering but isn’t a recipient of the email. The default is true.

New Headers

This header is new in API version 35.0.

OwnerChangeOption
Represents a flag for a specific action performed when changing a record owner though an update or upsert call. Used only inside the ChangeOwnerOptions header.

Changed Headers

This header has changed in API version 35.0.

OwnerChangeOptions
Represents actions that can be performed when a record’s owner is changed.