How to extract from Zuora using Aqua API with Talend ? ( Zuora Aqua API , Talend , Extract , Json , Java

How to extract from Zuora using Aqua API with Talend ?  ( Zuora Aqua API , Talend , Extract , Json , Java

The Aggregate Query API (AQuA) is a REST API that executes multiple Export ZOQL or ZOQL queries.

tZuoraAquaQuery : Talend Zuora connector

 

technology : Zuora Aqua API , Talend , Extract , Json , Java

We can do full extract of Zuora using Talend , this job will work as the following :

For each object 

  1. SEND a POST query
  2. Loop : Check the status of the query execution ( running / completed)
  3. If the status is completed , download the file 

How to do  it  with Talend ?

 

 

Talend Zuora AQUA Template Job

 

 

Talend Zuora AQUA advanced Template Job

 

 

 

3 Responsesso far.

  1. rajmatiGM says:

    We need to implement this , Can you help us in this regard , share few more details ?

  2. Talendadmin says:

    Hi Michal,

    Have you posted your query to Aqua ?
    Can you see the file executing in https://apisandbox.zuora.com/apps/BatchQuery.do ?

    Your logic seem correct however :

    in the row generator you get the string , it’s complex to handle a document in there.

    in the tRestClient4 choose , send the query in the string column ( input ) , you get the answer in a string format as well.

    Can you show the errors please ?

    Thanks

  3. michal.klucz says:

    Hello, could you explain what are you doing on last screen?
    ( https://talendexpert.com/wp-content/uploads/2015/05/TalendExtractZuoraAquaAPI.jpg )
    Im interested in receiving some data for AccountingPeriod, so:
    in component 1 (tJava) I have:
    globalMap.put(“restMessage”, “{\”format\” : \”csv\”, \”version\” : \”1.1\”, \”name\” : \”Example\”, \”encrypted\” : \”none\”, \”partner\” : \”myPartnerName\”, \”project\” : \”test\”, \”queries\” : [ { \”name\” : \”AccountingPeriod\”, \”query\” : \”select Id,StartDate,EndDate,FiscalYear,Name,Status from AccountingPeriod\”, \”type\” : \”zoqlexport\” }] }”);

    in component 2 tRowGenerator I have 1 new column “document” of Document type with value of globalMap.get(“restMessage”);

    in component 3 I map document to target document column.
    and all of this is linked to component 4 tRestClient

    I have tons of errors but I want to if my idea is correct.

Leave a Reply