Happy Business Starts Here

Savvy Scholar

Data Integration through Zuora REST API

My use case is to get all the data from Zuora.

I saw Zuora REST API documentation, but i have following issues regarding this:

  1. I have to fetch data for all accounts but there is no endpoint to get all account related data. There is an endpoint(/v1/accounts/{account-key}) where i need to pass account-id to get specific account related details but i don't have account-id itself. So how can i get data for all accounts?
  2. Same is the case with lot of other endpoints like Bill Run, Communication Profile, Contacts etc.
  3. There is another endpoint to get all accounting codes but if i want to query data which is updated or created after specific date/time then there is no way to do that. Anyhow i need to fetch all accounting-codes that is not recommneded approach for my use-case.

I also checked out /v1/action/query REST endpoint but here as well i faced following issues:

  1. I can't query related objects fields which are returned by describe object (https://rest.zuora.com/v1/describe/{object}) call.
  2. It doesn't support export ZOQL queries.

I also checked out /v1/object/export REST endpoint but documentation says that it doesn't support some data sources, objects, and fields in Export ZOQL queries. Is there any way to know that which objects and fields are not supported by Export ZOQL queries?


There is another recommnded way i.e. AQUA API but it maintains session at Zuora side which we want to avoid.

So what is the recommended way to get data for all objects, fields through REST API? We want to get data increamentally. 

Support SME

Re: Data Integration through Zuora REST API

The recommended method to achieve your requirement is to use AQuA in Stateful Mode. Reference: https://knowledgecenter.zuora.com/DC_Developers/T_Aggregate_Query_API/BA_Stateless_and_Stateful_Mode...

Can you help explain what does AQuA 'maintains session at Zuora side' mean? AQuA results older than 72 hours are automatically purged from the system. 

Savvy Scholar

Re: Data Integration through Zuora REST API

AQuA 'maintains session at Zuora side' means that if i execute same query again then i get result which is updated after the last call. As Zuora documentation says: 

The first request executes queries against all data in the database, and returns all data that satisfies the query criteria.

Subsequent requests execute the queries against incremental data created or updated since the last AQuA session. Each request returns incremental data for only the object specified in the FROM clauses of the queries; changes made to joined objects are not returned.


Support SME

Re: Data Integration through Zuora REST API

stateful aqua will 'maintains session at Zuora side' indeed. Will use stateless aqua and add criteria, such as CreatedDate >= '2018-11-01T00:00:00.000', be the workaround?