Hi, my intention is to return PureCloud data for reporting. I looking at using Denodo (data virtualization tool) as a way to connect to PureCloud's Analytics API and expose the data via a Denodo view for end consumers to use in their respective applications (BI application, SQL clients, etc.).
Originally, I noticed the default pagesize is 25, so I increased it to 100 (I think this is the max pageSize). This seems to work and returns 100 records. However, I'm trying to figure out how to iterate through all the records / return all records in the Denodo view.
I'm not familiar with Denodo but the general logic when using an API that implements paging is to send requests with the pageNumber value starting at 1 and incrementing until the request returns an empty response, or a response indicating there are no records. /api/v2/analytics/conversations/details/query will return an empty JSON object when there are no more records.
You might have to refer to Denodo documentation or community forum in order to apply this logic to your application.
@anon11147534 Denodo has a pagination feature, however it appears to only work for GET methods. The current endpoint I'm using requires POST. Perhaps there's another endpoint that returns similar dimensions and metrics that I could use? I'm interested in being able to return a list of conversations that would allow the business to complete analysis on the calls and used for reporting.
From the documentation, endpoints with GET method tend to require a {conversationId} input. Unfortunately, we won't have a handy list of conversationIds to request from the API.
Analytics queries can only be executed via POST requests. If your environment doesn't support POST requests, you'll need to build and host a middleware service that will respond to a GET request from your app, make the necessary API calls, and return a response to the GET request.