Salesforce Write CONNECTOR HANDLING

This page describes how IMan processes data, and the APIs used to processd the data.

It is important to understand the error handling process as this will probably affect how failures should be retried and handled.

Flat Data

Flat data is any data without children.

Action on Transform Error - Abort

When the action of Transform Error is set to Abort the Tree API will be used.

The Tree API permits batches up to 200 objects per request. IMan will batch up records in 200 record chunks. For example, if inserting/updating 500 records, a total of three requests would be made where the first two requests would contain 200 records and the last record containing 100.

Error Behaviour

If one record fails the 199 other records in the batch will fail and no more will be attempted.

All previously successful records from other requests will have already been inserted/created and changes will not be rolled back.

Action on Transform Error - Reject Record

When the action of Transform Error is set Reject Record the Composite API will be used.

The Composite API creates a request for every 25 or fewer records.

Error Behaviour

Error handling will follow the standard IMan error handling: each erroneous record will be reported back in the audit report and successful records will be committed.

Hierarchical Data

Hierarchical data is any data that as more than one level, that is an object that has children.

Action on Transform Error - Abort

The tree API will be used if the connector is set to abort. The connector will create single request per parent object. It will include the first 199 children in this first request.

If the parent has more than 199 children records, separate requests of up to 200 children at a time will be made.

Error Behaviour

  • If the parent fails.
    • No children are attempted.
    • The integration will halt.
  • If a child in the first parent/child request fails.
    • The parent fails.
    • The children will fail and no further requests are attempted.
    • Any previously successful parent/child records will already be committed and will not be rolled back.
    • The integration will halt.
  • If a child in the second request fails.
    • The parent and children from the first request will have been committed.
    • The children in the request will fail.
    • Subsequent will children fail (as they will not be processed).
    • The integration will halt.

Action on Transform Error - Reject Record

When the action of Transform Error is set Reject Record the Composite API will be used.

The connector will create a single request per parent object. It will include the first 24 children in this first request.

If the parent has more than 24 children records, separate requests of up to 25 children at a time will be made.

The connector will auto-link the parent record with the children on these requests by using the id from the parent record on the first request.

Error Behaviour

Error handling largely follows the standard IMan error handling:

  • If the parent fails.
    • No children are attempted.
    • The next parent record will be attempted.
  • If a child in the first request fails.
    • The parent fails,
    • The next parent record will be attempted.
  • If a child in the second request fails.
    • The parent and children from the first request will have been committed.
    • The individual child record will fail in that request will fail, but the other children will succeed.
    • No further child requests for the parent will be made.
    • The next parent object will be attempted.