skothamachu | 2023-12-05 21:38:07 UTC | #1
Below is the query i am using to get the user details query.
query = PureCloudPlatformClientV2.UserDetailsQuery()
query.paging = PureCloudPlatformClientV2.PagingSpec()
query.paging.page_size = 100
query.paging.page_number = 1
query.interval ='2023-12-01T00:00:00Z/2023-12-05T00:00:00Z'
#user_filters
query.user_filters = []
user_filters = PureCloudPlatformClientV2.UserDetailQueryFilter()
user_filters.type ='and'
user_filters.predicates = []
user_predicates = PureCloudPlatformClientV2.UserDetailQueryPredicate()
user_predicates.type ='dimension'
user_predicates.dimension ='userId'
user_predicates.operator ='matches'
user_predicates.value ='*******'
user_filters.predicates.append(user_predicates)
query.user_filters.append(user_filters)
#presence_filters
query.presence_filters =[]
presence_filters = PureCloudPlatformClientV2.PresenceDetailQueryFilter()
presence_filters.type = 'or'
presence_filters.predicates = []
pf_predicates = PureCloudPlatformClientV2.PresenceDetailQueryPredicate()
pf_predicates.type= 'dimension'
pf_predicates.dimension = 'systemPresence'
pf_predicates.operator = 'exists'
pf_predicates.value = None
presence_filters.predicates.append(pf_predicates)
query.presence_filters.append(presence_filters)
api_instance = PureCloudPlatformClientV2.AnalyticsApi(apiclient);
try:
user_details = True
while(user_details):
api_response = api_instance.post_analytics_users_details_query(query)
json_response = json.loads((api_response.to_json()))
print(json_response)
if (json_response['user_details'] != None):
query.paging.page_number = query.paging.page_number + 1
else:
user_details = False
except ApiException as e:
print("Exception when calling RoutingApi->get_routing_queues: %s\n" % e)
Below is the response I am receiving . However, the Sum of Idle time coming from the response is 1hr 34 mins. where as the Genesys Reports UI shows the Idle time for December 1st is 1hr 52 mins. Can you tell the query adjustments that need to be done to get the exact value ?
'primary_presence': [{
'start_time': '2023-11-30T23:16:44.720000+00:00',
'end_time': '2023-12-01T00:14:47.226000+00:00',
'system_presence': 'ON_QUEUE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T00:14:47.226000+00:00',
'end_time': '2023-12-01T00:44:21.144000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T00:44:21.144000+00:00',
'end_time': '2023-12-01T02:33:51.250000+00:00',
'system_presence': 'IDLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T02:33:51.250000+00:00',
'end_time': '2023-12-01T13:58:48.614000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T13:58:48.614000+00:00',
'end_time': '2023-12-01T14:13:51.351000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T14:13:51.351000+00:00',
'end_time': '2023-12-01T14:33:15.311000+00:00',
'system_presence': 'IDLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T14:33:15.311000+00:00',
'end_time': '2023-12-01T14:33:22.099000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T14:33:22.099000+00:00',
'end_time': '2023-12-01T16:56:56.085000+00:00',
'system_presence': 'ON_QUEUE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T16:56:56.085000+00:00',
'end_time': '2023-12-01T17:02:23.804000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T17:02:23.804000+00:00',
'end_time': '2023-12-01T17:07:58.370000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T17:07:58.370000+00:00',
'end_time': '2023-12-01T17:56:41.416000+00:00',
'system_presence': 'ON_QUEUE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T17:56:41.416000+00:00',
'end_time': '2023-12-01T18:01:44.274000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T18:01:44.274000+00:00',
'end_time': '2023-12-01T18:30:12.930000+00:00',
'system_presence': 'ON_QUEUE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T18:30:12.930000+00:00',
'end_time': '2023-12-01T18:31:19.833000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T18:31:19.833000+00:00',
'end_time': '2023-12-01T19:09:54.526000+00:00',
'system_presence': 'ON_QUEUE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T19:09:54.526000+00:00',
'end_time': '2023-12-01T19:47:32.135000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T19:47:32.135000+00:00',
'end_time': '2023-12-01T20:02:49.498000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T20:02:49.498000+00:00',
'end_time': '2023-12-01T20:03:36.974000+00:00',
'system_presence': 'IDLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T20:03:36.974000+00:00',
'end_time': '2023-12-01T20:04:46.305000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T20:04:46.305000+00:00',
'end_time': '2023-12-01T20:05:19.894000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-01T20:05:19.894000+00:00',
'end_time': '2023-12-02T00:34:11.120000+00:00',
'system_presence': 'ON_QUEUE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-02T00:34:11.120000+00:00',
'end_time': '2023-12-02T00:49:13.620000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-02T00:49:13.620000+00:00',
'end_time': '2023-12-02T02:03:12.554000+00:00',
'system_presence': 'IDLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-02T02:03:12.554000+00:00',
'end_time': '2023-12-02T02:21:59.291000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-02T02:21:59.291000+00:00',
'end_time': '2023-12-02T04:57:35.572000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-02T04:57:35.572000+00:00',
'end_time': '2023-12-03T12:57:13.576000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-03T12:57:13.576000+00:00',
'end_time': '2023-12-03T14:19:11.489000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-03T14:19:11.489000+00:00',
'end_time': '2023-12-03T19:43:03.680000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-03T19:43:03.680000+00:00',
'end_time': '2023-12-03T21:32:26.784000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-03T21:32:26.784000+00:00',
'end_time': '2023-12-03T22:00:36.716000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-03T22:00:36.716000+00:00',
'end_time': '2023-12-03T22:04:40.609000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-03T22:04:40.609000+00:00',
'end_time': '2023-12-04T06:13:18.086000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T06:13:18.086000+00:00',
'end_time': '2023-12-04T08:01:46.185000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T08:01:46.185000+00:00',
'end_time': '2023-12-04T10:54:49.190000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T10:54:49.190000+00:00',
'end_time': '2023-12-04T14:43:04.829000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T14:43:04.829000+00:00',
'end_time': '2023-12-04T20:42:22.552000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T20:42:22.552000+00:00',
'end_time': '2023-12-04T21:56:51.120000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T21:56:51.120000+00:00',
'end_time': '2023-12-04T22:22:36.484000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T22:22:36.484000+00:00',
'end_time': '2023-12-04T22:26:47.047000+00:00',
'system_presence': 'AVAILABLE',
'organization_presence_id': '***'
}, {
'start_time': '2023-12-04T22:26:47.047000+00:00',
'end_time': '2023-12-05T14:31:01.451000+00:00',
'system_presence': 'OFFLINE',
'organization_presence_id': '***'
}
]```
-------------------------
ralegner | 2023-12-05 21:47:55 UTC | #2
Open the network console log on your browser with that UI open. Then hit the refresh icon in the upper right of your screenshot. This will make the UI view re-query the APIs to pull the data. You should then be able to find the API endpoints its using and the exact body and response it uses to populate that data. Compare its methods with your own and you should be able to spot the differences.
-------------------------
skothamachu | 2023-12-15 20:20:46 UTC | #3
Hi,
Below is the image from the UI and the response from the network console.

The sum of Idle time is not matching and also the timing for -"not available" is not present in the response. Can you tell mw how these things are calculated ?
{ "userDetails": [ { "userId": ------------------------------------------, "primaryPresence": [ { "startTime": "2023-12-01T02:33:51.250Z", "endTime": "2023-12-01T13:58:48.614Z", "systemPresence": "OFFLINE", "organizationPresenceId": "ccf3c10a-aa2c-4845-8e8d-f59fa48c58e5" }, { "startTime": "2023-12-01T13:58:48.614Z", "endTime": "2023-12-01T14:13:51.351Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T14:13:51.351Z", "endTime": "2023-12-01T14:33:15.311Z", "systemPresence": "IDLE", "organizationPresenceId": "7ffa01cd-7866-4ad7-8faa-31e11b42f51f" }, { "startTime": "2023-12-01T14:33:15.311Z", "endTime": "2023-12-01T14:33:22.099Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T14:33:22.099Z", "endTime": "2023-12-01T16:56:56.085Z", "systemPresence": "ONQUEUE", "organizationPresenceId": "e08eaf1b-ee47-4fa9-a231-1200e284798f" }, { "startTime": "2023-12-01T16:56:56.085Z", "endTime": "2023-12-01T17:02:23.804Z", "systemPresence": "OFFLINE", "organizationPresenceId": "ccf3c10a-aa2c-4845-8e8d-f59fa48c58e5" }, { "startTime": "2023-12-01T17:02:23.804Z", "endTime": "2023-12-01T17:07:58.370Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T17:07:58.370Z", "endTime": "2023-12-01T17:56:41.416Z", "systemPresence": "ONQUEUE", "organizationPresenceId": "e08eaf1b-ee47-4fa9-a231-1200e284798f" }, { "startTime": "2023-12-01T17:56:41.416Z", "endTime": "2023-12-01T18:01:44.274Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T18:01:44.274Z", "endTime": "2023-12-01T18:30:12.930Z", "systemPresence": "ONQUEUE", "organizationPresenceId": "e08eaf1b-ee47-4fa9-a231-1200e284798f" }, { "startTime": "2023-12-01T18:30:12.930Z", "endTime": "2023-12-01T18:31:19.833Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T18:31:19.833Z", "endTime": "2023-12-01T19:09:54.526Z", "systemPresence": "ONQUEUE", "organizationPresenceId": "e08eaf1b-ee47-4fa9-a231-1200e284798f" }, { "startTime": "2023-12-01T19:09:54.526Z", "endTime": "2023-12-01T19:47:32.135Z", "systemPresence": "OFFLINE", "organizationPresenceId": "ccf3c10a-aa2c-4845-8e8d-f59fa48c58e5" }, { "startTime": "2023-12-01T19:47:32.135Z", "endTime": "2023-12-01T20:02:49.498Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T20:02:49.498Z", "endTime": "2023-12-01T20:03:36.974Z", "systemPresence": "IDLE", "organizationPresenceId": "7ffa01cd-7866-4ad7-8faa-31e11b42f51f" }, { "startTime": "2023-12-01T20:03:36.974Z", "endTime": "2023-12-01T20:04:46.305Z", "systemPresence": "OFFLINE", "organizationPresenceId": "ccf3c10a-aa2c-4845-8e8d-f59fa48c58e5" }, { "startTime": "2023-12-01T20:04:46.305Z", "endTime": "2023-12-01T20:05:19.894Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-01T20:05:19.894Z", "endTime": "2023-12-02T00:34:11.120Z", "systemPresence": "ON_QUEUE", "organizationPresenceId": "e08eaf1b-ee47-4fa9-a231-1200e284798f" }, { "startTime": "2023-12-02T00:34:11.120Z", "endTime": "2023-12-02T00:49:13.620Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-02T00:49:13.620Z", "endTime": "2023-12-02T02:03:12.554Z", "systemPresence": "IDLE", "organizationPresenceId": "7ffa01cd-7866-4ad7-8faa-31e11b42f51f" }, { "startTime": "2023-12-02T02:03:12.554Z", "endTime": "2023-12-02T02:21:59.291Z", "systemPresence": "OFFLINE", "organizationPresenceId": "ccf3c10a-aa2c-4845-8e8d-f59fa48c58e5" }, { "startTime": "2023-12-02T02:21:59.291Z", "endTime": "2023-12-02T04:57:35.572Z", "systemPresence": "AVAILABLE", "organizationPresenceId": "6a3af858-942f-489d-9700-5f9bcdcdae9b" }, { "startTime": "2023-12-02T04:57:35.572Z", "systemPresence": "OFFLINE", "organizationPresenceId": "ccf3c10a-aa2c-4845-8e8d-f59fa48c58e5" } ] } ], "totalHits": 24 } ```
ralegner | 2023-12-15 20:56:40 UTC | #4
The total values aren't calculated in the UI based of the user detail time stamps, they come from/v2/analytics/users/aggregates/query that you'll see also runs in the network log of the console. The user detail records only show primary presence, user status metrics (from aggregates) are more detailed because the system design is structured in a way where the agent can have a presence and a routing status. Your numbers don't match from manually calculating because you aren't seeing the full picture from the user detail records alone.
Deeper explanation is documented here on the dev center's page for the user aggregate endpoint. https://developer.genesys.cloud/analyticsdatamanagement/analytics/aggregate/user-query
system | 2024-01-15 20:56:43 UTC | #5
This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.
This post was migrated from the old Developer Forum.
ref: 23531