I’m building a Kotlin microservice that needs to track the current state of web messaging sessions. The documentation is a bit vague on when to hit /api/v2/conversations versus /api/v2/analytics/conversations.
My initial thought was to use the analytics endpoint because I need some historical context, but I noticed the data there seems delayed. When I call /api/v2/analytics/conversations/summary with a query like this:
GET /api/v2/analytics/conversations/summary?dateFrom=2023-10-27T12:00:00Z&dateTo=2023-10-27T13:00:00Z
The response takes a few seconds to come back, and the total count doesn’t match the live dashboard. If I switch to /api/v2/conversations/web/list, I get an instant response with accurate state values like ACTIVE or WRAPPED_UP.
Is the analytics API strictly for batch reporting, or can I rely on it for near-real-time polling? I don’t want to hammer the core conversations API if analytics is actually up-to-date enough for my use case. The latency on the analytics call is killing my thread pool.