Step 1: Credentials loaded successfully.
Calling retrieveToken()...
retrieveToken response: {"access_token":"00D9Q00000KI07h!AQEAQGgPK_Vr8.6cfhfMX3zCtOzwVv4BDYAtRfqlQzUOA65b0ZU7IaCTsfzRFCfTiY3T6.Sq2SXy5PKpL2q4_MboNv2aT0X1","instance_url":"https://zurichcx--uat.sandbox.my.salesforce.com","id":"https://test.salesforce.com/id/00D9Q00000KI07hUAD/0059Q00001DHVScQAP","token_type":"Bearer","issued_at":"1794776156986","signature":"tZIgMVT0Ix39xH0y01/y0J1YbtjdCheVghzAQUeMaBk="}
Step 2: Token retrieved → {"access_token":"00D9Q00000KI07h!AQEAQGgPK_Vr8.6cfhfMX3zCtOzwVv4BDYAtRfqlQzUOA65b0ZU7IaCTsfzRFCfTiY3T6.Sq2SXy5PKpL2q4_MboNv2aT0X1","instance_url":"https://zurichcx--uat.sandbox.my.salesforce.com","id":"https://test.salesforce.com/id/00D9Q00000KI07hUAD/0059Q00001DHVScQAP","token_type":"Bearer","issued_at":"1794776156986","signature":"tZIgMVT0Ix39xH0y01/y0J1YbtjdCheVghzAQUeMaBk="}
Calling createBulkReq()...
createBulkReq response: {"id":"7509Q00000oBAYjQAO","operation":"upsert","object":"Communication__c","createdById":"0059Q00001DHVScQAP","createdDate":"2026-11-15T20:55:57.000+0000","systemModstamp":"2026-11-15T20:55:57.000+0000","state":"Open","externalIdFieldName":"External_Identifier__c","concurrencyMode":"Parallel","contentType":"CSV","apiVersion":49.0,"contentUrl":"services/data/v49.0/jobs/ingest/7509Q00000oBAYjQAO/batches","lineEnding":"CRLF","columnDelimiter":"PIPE"}
Step 3: Bulk API job created → {"id":"7509Q00000oBAYjQAO","operation":"upsert","object":"Communication__c","createdById":"0059Q00001DHVScQAP","createdDate":"2026-11-15T20:55:57.000+0000","systemModstamp":"2026-11-15T20:55:57.000+0000","state":"Open","externalIdFieldName":"External_Identifier__c","concurrencyMode":"Parallel","contentType":"CSV","apiVersion":49,"contentUrl":"services/data/v49.0/jobs/ingest/7509Q00000oBAYjQAO/batches","lineEnding":"CRLF","columnDelimiter":"PIPE"}
Calling processBatchData()...
Fetching DE batch 1...
Processed undefined records in batch 1

CSV Preview:
Journey__c|Bounce_Category__c|Campaign__c|Subject_Line__c|Opened__c|Unsubscribed__c|Bounced__c|Clicked__c|External_Identifier__c|Customer__c|Sent_Date__c|Open_Date__c|Bounce_Date__c|Unsubscribe_Date__c

processBatchData completed. updateBulkReq response → "CSV uploaded"
Step 4: Data processed and sent to Bulk API job.
Step 5: Bulk API job closed → {"statusCode":200,"rawResponse":"{\"id\":\"7509Q00000oBAYjQAO\",\"operation\":\"upsert\",\"object\":\"Communication__c\",\"createdById\":\"0059Q00001DHVScQAP\",\"createdDate\":\"2026-11-15T20:55:57.000+0000\",\"systemModstamp\":\"2026-11-15T20:55:57.000+0000\",\"state\":\"UploadComplete\",\"externalIdFieldName\":\"External_Identifier__c\",\"concurrencyMode\":\"Parallel\",\"contentType\":\"CSV\",\"apiVersion\":49.0}","json":{"id":"7509Q00000oBAYjQAO","operation":"upsert","object":"Communication__c","createdById":"0059Q00001DHVScQAP","createdDate":"2026-11-15T20:55:57.000+0000","systemModstamp":"2026-11-15T20:55:57.000+0000","state":"UploadComplete","externalIdFieldName":"External_Identifier__c","concurrencyMode":"Parallel","contentType":"CSV","apiVersion":49}}
Step 6: Job results → {"statusCode":200,"rawResponse":"{\"id\":\"7509Q00000oBAYjQAO\",\"operation\":\"upsert\",\"object\":\"Communication__c\",\"createdById\":\"0059Q00001DHVScQAP\",\"createdDate\":\"2026-11-15T20:55:57.000+0000\",\"systemModstamp\":\"2026-11-15T20:55:57.000+0000\",\"state\":\"InProgress\",\"externalIdFieldName\":\"External_Identifier__c\",\"concurrencyMode\":\"Parallel\",\"contentType\":\"CSV\",\"apiVersion\":49.0,\"jobType\":\"V2Ingest\",\"lineEnding\":\"CRLF\",\"columnDelimiter\":\"PIPE\",\"numberRecordsProcessed\":0,\"numberRecordsFailed\":0,\"retries\":0,\"totalProcessingTime\":0,\"apiActiveProcessingTime\":0,\"apexProcessingTime\":0}","json":{"id":"7509Q00000oBAYjQAO","operation":"upsert","object":"Communication__c","createdById":"0059Q00001DHVScQAP","createdDate":"2026-11-15T20:55:57.000+0000","systemModstamp":"2026-11-15T20:55:57.000+0000","state":"InProgress","externalIdFieldName":"External_Identifier__c","concurrencyMode":"Parallel","contentType":"CSV","apiVersion":49,"jobType":"V2Ingest","lineEnding":"CRLF","columnDelimiter":"PIPE","numberRecordsProcessed":0,"numberRecordsFailed":0,"retries":0,"totalProcessingTime":0,"apiActiveProcessingTime":0,"apexProcessingTime":0}}
Step 7: fetchBulkJobErrors status: 204
fetchBulkJobErrors response (CSV):


No failed rows. All records processed successfully.

Salesforce Job ID: 7509Q00000oBAYjQAO