2

I set up one user in salesforce for all my API use from ACT-On. I have one list in act-on with 37220 records in it and it only sends changes to salesforce in their update process. I run the process once a day.

Act-on shows 2701 updated records and batches updates by the 100 for the salesforce API. Meaning that of my 37220 records in act-on only 2701 should get updated in salesforce and using 100 batches, that is only 271 API CALLS.

HOWEVER SALESFORCE IS SHOWING 35,064 API CALLS.

Any ideas? Act-on is a marketing product like Marketo, Eloquent, etc....

1
  • Can you clarify where exactly you are seeing the 35064 api calls reported
    – superfell
    Commented Dec 3, 2013 at 2:45

1 Answer 1

2

The remaining calls may are due to other non-reportable transactions, such as queries, searches, and/or describes. A program that makes inefficient queries, non-cached describes, etc. would cause a large number of API calls to be reported. This is a fairly extreme example, it appears, since this program appears to be running with approximately 1.06 API calls per existing record, which is abysmal.

As a side note, 2701 records batched in groups of 100 is 28 API calls, not 271. It would seem to me that this program is spending the majority of its time performing queries and non-cached describe calls, and using very few API calls on the actual updates. The developer(s) should update their program, as salesforce.com supports larger batches than 100 in most cases (the ultimate limiter is the per-transaction SOAP size).

The most efficient query/update cycle on 37220 records would be approximately 215 API calls, assuming it was querying the entire database and updating the 2701 records you mentioned. One can only surmise where the remaining calls are going off to. Even a poorly written program shouldn't get much higher than approximately 373 API calls, and that's under the assumption that they are querying all 37k records and updating all of them; even a few describe calls should still leave the application under 400 total API calls daily running once per day.

However, only salesforce.com would be able to truly answer the question (that, or the developer of the software). Salesforce.com can provide the information to you at the cost of $500 per day of reporting, assuming you would like a complete list of transactions performed by the user, including any APIs accessed, including describes, searches, queries, and of course DML statements. The developer themselves should be able to trace their application's progress and see why the performance is suffering.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .