I’m trying to pull a full report of conversation details for our adherence tracking in the Central timezone queue. The goal is to get every call from the last 24 hours so I can cross-reference it with our WFM data.
I started by hitting the /api/v2/analytics/conversations/details/query endpoint. The docs mention both cursor-based and page-based pagination, but I’m not sure which one applies here or how to switch between them properly. My current request uses a simple JSON body with a date range.
Here is the payload I’m sending:
{
"dateFrom": "2023-10-27T00:00:00.000Z",
"dateTo": "2023-10-27T23:59:59.999Z",
"viewId": "all"
}
The response comes back with a nextPageUri field. I assumed I should just hit that URI for the next batch. But when I do, the response structure looks slightly different, and eventually, I stop getting data even though I know there are more records. I’m getting a 200 OK, so it’s not an error, just incomplete data.
I’ve tried adding page and pageSize parameters to the initial request, like so:
GET /api/v2/analytics/conversations/details/query?page=1&pageSize=100
But the API seems to ignore those or return the same cursor-based nextPageUri. I’m confused about whether I should be following the URI chain or incrementing a page number manually.
Is there a specific header or parameter I’m missing to force page-based pagination? Or is cursor the only way and I’m just handling the URI wrong? I need to make sure I capture every single interaction without missing a chunk in the middle.