Newer Version Available

This content describes an older version of this product. View Latest

Change Event Header Fields

Check out the descriptions of the fields that the change event header contains.
Field Name Field Type Description
entityName string The API name of the standard or custom object that the change pertains to. For example, Account or MyObject__c.
recordIds Array One or more record IDs for the changed records. Typically, this field contains one record ID. But if the same change occurred in multiple records of the same object type during the same transaction, Salesforce groups the change notifications and sends one change event for all affected records. In this case, the recordIds field contains an array of record IDs for all records that have the same change. Examples of operations with same changes are:
  • Update of fieldA to valueA in Account records
  • Deletion of Account records
changeType Enumeration The operation that caused the change. Can be one of the following values:
  • CREATE
  • UPDATE
  • DELETE
  • UNDELETE

For gap events, the change type starts with the GAP_ prefix.

  • GAP_CREATE
  • GAP_UPDATE
  • GAP_DELETE
  • GAP_UNDELETE

For overflow events, the change type is GAP_OVERFLOW.

changeOrigin string Only populated for changes done by API apps; empty otherwise. The Salesforce API and the API client ID that initiated the change, if set by the client. Use this field to detect whether your app initiated the change to not process the change again and potentially avoid a deep cycle of changes.

The format of the changeOrigin field value is:

1com/salesforce/api/<API_Name>/<API_Version>;client=<Client_ID>
  • <API_Name> is the name of the Salesforce API used to make the data change. It can take one of these values: soap, rest, bulkapi, xmlrpc, oldsoap, toolingsoap, toolingrest, apex, apexdebuggerrest.
  • <API_Version> is the version of the API call that made the change and is in the format XX.X.
  • <Client_ID> is a string that contains the client ID of the app that initiated the change. If the client ID is not set in the API call, client=<Client_ID> is not appended to the changeOrigin field.

Example:

1com/salesforce/api/soap/44.0;client=Astro

The client ID is set in the Call Options header of an API call. For an example on how to set the Call Options header, see:

transactionKey string A string that uniquely identifies each Salesforce transaction. You can use this key to identify and group all changes that were made in the same transaction.
sequenceNumber int The sequence of the change within a transaction. The sequence number starts from 1. A lead conversion is an example of a transaction that can have multiple changes. A lead conversion results in the following sequence of changes, all within the same transaction.
  1. Create an account
  2. Create a contact
  3. Create an opportunity
  4. Update a lead
isTransactionEnd boolean Indicates whether this change is the final change in a transaction.
commitTimestamp long The date and time when the change occurred, represented as the number of milliseconds since January 1, 1970 00:00:00 GMT.
commitUser string The ID of the user that ran the change operation.
commitNumber long The system change number (SCN) of a committed transaction, which increases sequentially. This field is provided for diagnostic purposes. The field value is not guaranteed to be unique in Salesforce—it is unique only in a single database instance. If your Salesforce org migrates to another database instance, the commit number might not be unique or sequential.