Hello @Takashi Iijima,
You may need to find in the API a REST Call to obtain the list (IDs) of reports you want to extract.
If the response include a list of elements, you may need to use a JSONFragmenter to fragment the different reports before using the JSONExtractor; this will produce as many records as reports in the JSON response. Be sure to expose the report IDs in an attribute.
Then you will make that many calls in the third HTTPCaller.
Hope this make sense to you.
Let me know if you have any questions.
Hello @Takashi Iijima,
You may need to find in the API a REST Call to obtain the list (IDs) of reports you want to extract.
If the response include a list of elements, you may need to use a JSONFragmenter to fragment the different reports before using the JSONExtractor; this will produce as many records as reports in the JSON response. Be sure to expose the report IDs in an attribute.
Then you will make that many calls in the third HTTPCaller.
Hope this make sense to you.
Let me know if you have any questions.
Hi,
Thank you for your response.
I don't see anything in the API documentation that resembles some sort of list, apart from the get- report REST Call in the 2nd HTTP caller (see image), which I took as that it would give me all reports within that specified environment.
From that HTTP caller I managed to get a hashID of a report with relevant data. See image of my workbench, where I manually inserted the hashID (it's blocked out) in the request url. I don't know if there are other report with relevant data. Maybe I also only get a limited amount of data here.
Do I need to add a JSON extractor after that 2nd HTTP caller then?
Hi @fmenco ,
How do you get the hashID you use in the second HTTPCaller?
If you can show me a JSON document that include those IDs I can give you a better advice.
Hi @fmenco ,
How do you get the hashID you use in the second HTTPCaller?
If you can show me a JSON document that include those IDs I can give you a better advice.
Hi,
I've attached more summary notations so that you can get a better indication.
The hashid I get with the JSON extractor, see summary annotions.
The hashid for the 3rd caller I get from looking at the reponsebody in the JSON formatter, and then manually typing it in in the header. Should I have also used an extractor there as well? I'm going to try that.
Unfortunately I can't send a JSON doc of a response body since it regards company information. However, I did insert a screenshot of what the response body looks like after the 3rd HTTP caller, with info blocked out.
As you can see, several reports (with different reportids) are available.
However, from the body I get only 6 different report ids max, when there should be hundreds.
After implementing the 3rd caller, I also only get only 12 or something values within the specified report, when there should be thousands.
The API is (probably) set to only initially deliver a select amount of data (for example only the 1st 6 reports), but the dilemma is that I need it all (as in reports 7-12, and 13- etc). How do I do that?
Hi,
For start, you shouldn't have to enter the hashid manually, you can use a JSONFragmenter with a query like this: json["rows"]
This should fragment the JSON and then you can use the JSONExtractor to extract the hashIDs into an attribute that you can use in the last HTTPCaller.
Now, for the complete list of reports, it seems a limitation in the API.
You should ask the product provider for more information on the API.