This deprecated node creates, reads, updates, and deletes records in SALESFORCE.COM objects via the SALESFORCE.COM REST API.
This node enables easy and fast access to SALESFORCE.COM via SALESFORCE.COM's REST API. This single node can create, retrieve, update, and delete records from SALESFORCE.COM objects. Each input record represents a single REST API call. Therefore, if the node has 10,000 input records, this node will make 10,000 API calls. Be sure to keep your call capacity in mind when using this node.Each REST call consists of three parts: the HTTP request method, the HTTP request URL, and the HTTP request body. Each of these parts can be either created from the input data or written directly in a node property. If a request part is written in a node property, then the written value is the same for all calls from this node.The request method, defined in the Method property, must be a string that contains the HTTP method for the call (i.e., "POST", "GET", "PATCH", etc.).The request body contains the values of all input fields that match the DataFields property. Each field value is matched with the field name to create the request body. Therefore, the input fields need to have the same names as the SALESFORCE.COM object fields in order for the request to be successful. When thinking about inputting fields, we suggest inputting fixed-point decimals as strings, rather than as doubles, to avoid rounding errors.Finally, the request URL is created from a few different input properties: the ObjectName, the Id, and the IdType. The base REST URL is retrieved from the user's login. The node then appends these three parts to the base URL to create the appropriate URLs for each call.The Data360 Transact for Salesforce node has three output pins: one for successful calls, one for failed calls, and one for calls in which the ID, if any, matches more than one record. The output of all successful calls will be output to the Success pin. If calls of different types are made (say, a create, an update, and then a delete), then the output metadata of this pin will be the union of the output metadata of all these calls. The Failure pin will contain the error messages from all pins that fail. The UnclearId pins will contain a list of the URLs of all objects that match the External ID used to call the SALESFORCE.COM system.All data is output as strings. In addition, all input data is passed to the output data along with the results of the call. This pass-through functionality ensures that all the input to each call will be passed to the output along with the results of that call, thus enabling failed or unclear calls to be reviewed easily.
Properties
ObjectName
Specify the SALESFORCE.COM object that this call will affect. This string is identical to the SObject type that would be put into a standard request URL. For example, to update an Account object, the ObjectName property should have the value "Account". This would correspond to a URL suffix such as this below:
<version>/sobjects/Account/<id>
where you can see that the "Account" string fills in for the SObject type.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
A value is required for this property.
Id
Specify the ID used in this REST call. The ID can be either an object ID or an external ID.
If this node is only creating records, this property can be left blank.
If this node is making a number of calls of different types, then this field can be NULL for the call to create this record.
If this record is a field, it must be a string.
ExternalIdName
Optionally specify the type of the ID used in the SALESFORCE.COM call. If this property is blank, then the Id property will be treated as an object ID, and URLs of form "<SfdcVersion>/sobjects/<ObjectName>/<Id>" will be created. However, if this property is filled in, then the IDs will be treated as external IDs, and URLs of form "<SfdcVersion>/sobjects/<ObjectName>/<ExternalIdName>/<Id>" will be created.
The value placed in this property is the name of the SALESFORCE.COM field for the External ID that this REST call will use. This value can be fixed for all calls made from this node by using a literal value or can change for each call by using a field reference.
This value is blank by default. If Id is blank, then this property is ignored.
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
Method
Specify the HTTP Method type for this SALESFORCE.COM call. If this node is making calls of only a single type, then a literal value should be used. If the call type will differ for each call, then a field value should be used. Choose from:
- GET
- POST
- PATCH
- DELETE
- HEAD
Choose the (from Field) variant of this property to look up the value from an input field with the name specified.
DataFields
Specify the list of fields that will be sent to SALESFORCE.COM in the body of the REST call. These fields will be sent as name-value pairs where the value of each field is associated with its name. Thus, in order to update a field named "E_mail_Address" in SALESFORCE.COM, the input field needs to be named "E_mail_Address".
Most field types in SALESFORCE.COM match up rather cleanly with Data360 Analyze types. However, the fixed-point Number type is a little tricky. Using a double value could potentially result in rounding errors when sent over the SALESFORCE.COM. To avoid these rounding errors, simply convert the double to a string before using this node. This way, no information is lost as the data is transmitted.
SfdcUsername
Specify the username under which to make all this node's calls.
A value is required for this property.
SfdcPassword
Specify the user's password.
A value is required for this property.
SfdcSecurityToken
When the Data360 Analyze server is on a machine with an IP address that SALESFORCE.COM trusts, then the password alone can enable the user to login. However, if the server is not on a machine with a trusted IP address, then the SALESFORCE.COM Security Token must be provided as well in order to log in.
This token is used for all calls from this node.
SfdcVersion
Optionally specify the SALESFORCE.COM API version that is used for all calls from this node. The string provided is placed directly into the request URL as shown below:
v<version>/sobjects/<SObjName>
Notice that the "v" that precedes the version number is not included in this property as it is prepended to the value in this property by the node.
The default value is 27.0.
IncludeNullDataFields
Optionally specify whether or not NULL fields are included in the request sent to SALESFORCE.COM. If true, then the fields are sent over with an explicit NULL value for that field. If false, then these values are not sent over.
This property is most important when updating records. If a NULL field is included in an update, then the value of that field is overwritten in SALESFORCE.COM. However, if the field is not included, then that value is left untouched.
The default value is False.
OutputDataFormat
Optionally specify if the data returned by SALESFORCE.COM will be output as individual fields, as raw XML, or in both formats. In most cases, the default, Fields, will be desired. However, in cases where performance is important, the XML option can help speed things up. Once the node outputs XML, the user can configure successor nodes to process only a subset of the XML data, thus saving either disk space or time.
If XML or Both is chosen, then this node will generate a field named "_XML".
This property affects the output of all output pins.
The default value is Fields.
ProxyUrl
Optionally specify the URL of the proxy server to use for the HTTP requests. The URL should contain the protocol (http or https), the host, and the port. All other parts of the URL will be ignored.
The URL should be in a format similar to the following:
HTTP proxy: http://proxy.example.com:1234
HTTPS proxy: https://proxy.example.com:443
The node does not support automatic detection of system proxy settings at this time.
ProxyUsername
Optionally specify the proxy username, where the proxy requires authentication.
This property should be left blank if ProxyUrl is not set.
ProxyPassword
Optionally specify the proxy password, where the proxy requires authentication.
This property should be left blank if ProxyUrl is not set.
IgnoreSystemProxy
If proxy settings are not defined then the system proxy is automatically used. This optional property tells Data360 Analyze to Ignore the system proxy when set to true.
The default value is False.
Inputs and outputs
Inputs: Input.
Outputs: Summary, Error, UnclearId.