Salesforce: Difference between revisions

From Starfish ETL
Jump to navigation Jump to search
Line 7: Line 7:


==System.Web.Services.Protocols.SoapException: REQUEST_LIMIT_EXCEEDED: TotalRequests Limit exceeded.==
==System.Web.Services.Protocols.SoapException: REQUEST_LIMIT_EXCEEDED: TotalRequests Limit exceeded.==
When I received this error, I was using the non-bulk API and upserting Contacts one at a time.  This caused me to very quickly go over my rolling 24 hour limit.
When I received this error, I was using the non-bulk API and upserting Contacts one at a time.  This caused me to very quickly go over my rolling 24 hour limit. We contacted Salesforce and were able to raise our API limit for 2 weeks.  It's best to use the non-bulk API for troubleshooting and then switch to the bulk API for mass imports.
 
==The Bulk API seems to hang.==
==The Bulk API seems to hang.==
When using the Bulk API, Starfish builds a csv file locally which is then uploaded to Salesforce and processed by Salesforce.  Salesforce then returns the results of the process.  Sometimes, Salesforce never responds.  When this happens, Starfish continues to wait for a response.  If this occurs, check the results of the data load inside Salesforce by going to Setup -> Monitor -> Jobs -> Bulk Data Load Jobs.  Based on the results in Salesforce, you can choose when to Cancel the Job in Starfish and choose what to do as a result.
When using the Bulk API, Starfish builds a csv file locally which is then uploaded to Salesforce and processed by Salesforce.  Salesforce then returns the results of the process.  Sometimes, Salesforce never responds.  When this happens, Starfish continues to wait for a response.  If this occurs, check the results of the data load inside Salesforce by going to Setup -> Monitor -> Jobs -> Bulk Data Load Jobs.  Based on the results in Salesforce, you can choose when to Cancel the Job in Starfish and choose what to do as a result.

Revision as of 15:25, 7 August 2015

Salesforce Destination

Using Salesforce as a destination is fairly straight forward. Input your Username and Password, making sure to append your user's API Token to the end of your password. If you are not using Bulk Mode, be careful to not run too many transactions or you could hit your rolling 24 hour limit. If you are using Bulk Mode and performing updates or upserts, make sure you are matching on a field that is marked a unique identifier from a foreign program, else you will get an error.

FAQ

SFBulkPost operation: /job error: System.Net.WebException: The remote server returned an error: (400) Bad Request.

When I received this error, I was matching against a standard text field. You must go into setup and check the "External ID" checkbox for the field you are matching on.

System.Web.Services.Protocols.SoapException: REQUEST_LIMIT_EXCEEDED: TotalRequests Limit exceeded.

When I received this error, I was using the non-bulk API and upserting Contacts one at a time. This caused me to very quickly go over my rolling 24 hour limit. We contacted Salesforce and were able to raise our API limit for 2 weeks. It's best to use the non-bulk API for troubleshooting and then switch to the bulk API for mass imports.

The Bulk API seems to hang.

When using the Bulk API, Starfish builds a csv file locally which is then uploaded to Salesforce and processed by Salesforce. Salesforce then returns the results of the process. Sometimes, Salesforce never responds. When this happens, Starfish continues to wait for a response. If this occurs, check the results of the data load inside Salesforce by going to Setup -> Monitor -> Jobs -> Bulk Data Load Jobs. Based on the results in Salesforce, you can choose when to Cancel the Job in Starfish and choose what to do as a result.