Happy Business Starts Here

0 Kudos

deleting objects with child objects in single call

Currently to delete an Account, one must use the API to delete subscriptions, invoices, payments, amendments individually. This is a lot of calls and lot of steps to follow. THere should be a way to delete an account or subscription or any object together with all it's children. 

 

example: 

invoices:

manual steps:

1) change invoices to draft

2) if payments, delete payments, processed payments can't be deleted

3) cancel draft invoiecs

4 delete cancelled invoices

 

new way: call delete() from API and this will delete all payments, amendments and invoice itself.

 

Ideally this should work for any object type. Account, subscription, invoice, etc

 

2 Comments
Zuora Engineering

There are 3 ways to delete account and its children.

 

SOAP API:

http://knowledgecenter.zuora.com/DC_Developers/SOAP_API/E_SOAP_API_Calls/delete_call

 

REST API:

https://www.zuora.com/developer/api-reference/#section/API-Versions

curl -X DELETE -H "apiAccessKeyId: dummyUser" -H "apiSecretAccessKey: dummyPassword" -H "Content-Type: application/json" "https://rest.zuora.com/v1/object/account/{id}"

 

Both SOAP AND REST are synchronous API call. When the account has large number of children data, it may time out. but in the backend the deleting operation is still on going.

 

UI

UI delete is async call. UI triggers the delete operation and returns. The operation runs in the backend. When you delete large account, it's recommended to delete from UI.

 

Please note, the delete operation is not cancellable. all data are deleted. Please make sure you want to delete account.

New Student

>

>UI

>UI delete is async call. UI triggers the delete operation and returns. The operation runs in the backend. When >you delete large account, it's recommended to delete from UI.

 

Is there any way to get a callback when the account is finally deleted?

 

We have been seeing that the account goes into a canceled status while whatever happens in the backend is happening. Would it work more quickly to actually delete if our code deleted all associated objects before the deletion of the account?

 

We have also seen instances of the account being deleted, but never moving out of the canceled state

Its puzzling since the account was created a few seconds before