Data flows are a way to organize multiple operations in a single transaction. Data flows organize a series of patch calls to create, update, or delete connected data - entities and API calls that are related to each other using foreign keys, response values, or parent/child relationships. Data flows are all-or-none -- if a single operation in the flow fails, all of the operations will rollback.
The table below compares and contrasts data flows with the API:
Patches -The basic unit of a dataflow is a patch. A patch performs a specific operation (create, update or delete) on a system object, and contains property information or references a token, for the operation.
Tokens - Patches can get or set variables (see tokens) for use in a subsequent patch. For example, a create account patch could set a variable for the account ID which will then be used to add contact information to the account.
Envelopes - Patches that are related are placed together in an envelope. An envelope defines the transactional scope of the operation. If any patch within the envelope fails, then all preceding patches will rollback and the operation will be terminated.
Using data flows offers users the following benefits:
Considerations to make where deciding between a Data Import and a Data Flow include:
Common scenarios where you might want to use data flows include