Salesforce SOAP API calls, Batch operations, and Bulk API v2 have specific purposes and use cases, especially when integrated with MuleSoft’s Salesforce Connector. Below is a comparison from the perspective of MuleSoft’s connector integration:
Feature |
Salesforce Batch(SOAP call) |
Salesforce Bulk V2 |
Processing/API Type |
synchronous - Each call is processed immediately and waits for the result (suitable for real-time integrations). |
asynchronous - Operates asynchronously, meaning the request is submitted and Salesforce processes it in the background. The client does not wait for the completion of the operation. |
Record Limit Per call |
200 |
Maximum number of records in a batch N/A (from v2 onwards), Maximum file size 150MB per Job, Maximum number of fields in a record 5,000, Maximum number of characters for all the data in a batch 10,000,000 |
Data Volume |
Best for smaller volumes of data (few records). |
Designed to handle large datasets with up to millions of records. |
Use Case |
Best suited for transactional operations like CRUD (Create, Read, Update, Delete) operations on a small number of records |
Ideal for mass data migrations, bulk updates, or syncing large datasets where performance and scalability are key considerations. |
payload(from Mulesoft Connector) |
application/json |
application/csv |
Error Handling |
Errors are returned immediately after processing, allowing for immediate resolution. |
Bulk API v2 returns results after processing is complete, and error handling can be done once the batch job finishes. |
Relationship Fields |
relationship field mapping is differnt from actual field specified in salesforce for specific object (it will be __r)
Account__r:{"Acc_External_id__c": "12345"} |
actual relationship fields name
in Salesforce Object, in csv payload specify usiang dot(.), example "Account__c.Acc_External_id__c" |
Call Type |
Individual record processing |
Batch processing (group of records in a single request)
|
Response Time |
Immediate response |
Delayed response (can check status later)
|
MuleSoft Operations |
Create, Update, Delete, Query |
Create, Update, Delete, Upsert (via Bulk API v2)
|
Performance |
Slower for large datasets |
High performance for large datasets
|
Complexity |
Easier to integrate for small data tasks |
Requires additional steps to monitor and retrieve results
|
In conclusion, if your goal is to process large datasets efficiently and asynchronously, use the Bulk API v2. If you're dealing with real-time transactional data and smaller record sets, SOAP API calls would be better suited. Both options are available in the MuleSoft connector, but they are optimized for different use cases.
Comments
Post a Comment