We are trying to capture the deletes for certain objects in Salesforce. For most of the objects we can use the queryAll() to get the isDeleted column. For the ones that don't have the isDeleted column, we check if that object is replicateable, if so, we make calls to the getDeleted() API to get the deleted records.

The problem is that for certain objects like CurrencyType, salesforce documentation does not have getDeleted in the supported calls list - https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/sforce_api_objects_currencytype.htm For such entities, the getDeleted() API does not throw an error. Instead, it captures the changes to the object in the result.

So, coming to the question is there a way to tell if we should not query getDeleted() for certain objects like the CurrencyType?


After lot of research and as per this doc: https://developer.salesforce.com/docs/atlas.en-us.api.meta/api/object-specific_requirements_for_data_replication.htm, I came to know that field "replicateable" is responsible for getUpdated() and getDeleted() calls i.e if field "replicateable" is true then these calls are supported.

But problem arises when one call is supported and another one not; in this case still "replicateable" is true.

So would be better if you contact salesforce to confirm this.

  • Thanks for the response! I believe your conclusion may be incorrect. It is true that `undeletable' is false for CurrencyType. However, it is also false for other objects like RecordType (developer.salesforce.com/docs/atlas.en-us.api.meta/api/…) which supports the getDeleted() API.
    – Akhilesh
    Mar 22 '18 at 19:31
  • Yes! You are correct... let me give a try again.
    – Ayub
    Mar 23 '18 at 7:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.