Incomplete Data Retrieval (Hourly)

Hi Dev team. Is there an “ideal time” to do an hourly API call for reporting? My customer is pulling data 10 minutes past the hour with the Max HT being 6 minutes for their interactions. The information they are receiving in their report is incomplete. If they pull the data later in the day, then they see all of the interaction details. They are wanting to know if there is a best practice for when to pull the data for the hourly report to ensure all of the data is there? Below is a look at their queries.

Agent Stats:
url = 'https://api.mypurecloud.com/api/v2/analytics/conversations/aggregates/query'
data = {
"interval": f"{starttime}/{endtime}",
"granularity": "PT30M",

"groupBy": [
"userId",
"mediaType",
"requestedRoutingSkillId"

],
"metrics": [
"nOffered",
"tFlowOut",
"tAnswered",
"tAbandon",
"nOutbound",
"tNotResponding",
"tHandle",
"oServiceLevel",
"tAcw",
"tTalk",
"tTalkComplete",
"tShortAbandon",
"nTransferred"
]
}

Call Details:
url = 'https://api.mypurecloud.com/api/v2/analytics/conversations/details/query'
data = {
"order": "desc",
"orderBy": "conversationStart",
"paging": {
"pageSize": 100,
"pageNumber": 1
},
"interval": f"{starttime}/{endtime}",
"segmentFilters": [
{
"type": "or",
"predicates": [

    {
      "dimension": "mediaType",
      "value": "voice",
      "operator": "matches"
    }
  ]
}

],
"conversationFilters": [],
"evaluationFilters": [],
"surveyFilters": []
}

Queue Stats:
url = 'https://api.mypurecloud.com/api/v2/analytics/conversations/aggregates/query'
data = {
"interval": f"{starttime}/{endtime}",
"granularity": "PT30M",
"groupBy": [
"mediaType",
"queueId",
"requestedRoutingSkillId"
],
"metrics": [
"nOffered",
"tFlowOut",
"tAnswered",
"tAbandon",
"nOutbound",
"tNotResponding",
"tHandle",
"oServiceLevel",
"tAcw",
"tTalk",
"tTalkComplete",
"tShortAbandon",
"nTransferred",
"nOverSla"

]
}

Agent Stats Inbound:
url = 'https://api.mypurecloud.com/api/v2/analytics/conversations/aggregates/query'
data = {
"interval": f"{starttime}/{endtime}",
"granularity": "PT30M",
"groupBy": [
"userId",
"mediaType",
"requestedRoutingSkillId"
],
"metrics": [
"nOffered",
"tFlowOut",
"tAnswered",
"tAbandon",
"nOutbound",
"tNotResponding",
"tHandle",
"oServiceLevel",
"tAcw",
"tTalk",
"tTalkComplete",
"tShortAbandon",
"nTransferred"
],
"filter": {
"predicates": [
{
"type": "dimension",
"dimension": "originatingDirection",
"operator": "matches",
"value": "inbound"
}
],
"type": "and"
}
}

Agent Stats outbound:
url = 'https://api.mypurecloud.com/api/v2/analytics/conversations/aggregates/query'
data = {
"interval": f"{starttime}/{endtime}",
"granularity": "PT30M",
"groupBy": [
"userId",
"mediaType",
"requestedRoutingSkillId"
],
"metrics": [
"nOffered",
"tFlowOut",
"tAnswered",
"tAbandon",
"nOutbound",
"tNotResponding",
"tHandle",
"oServiceLevel",
"tAcw",
"tTalk",
"tTalkComplete",
"tShortAbandon",
"nTransferred"
],
"filter": {
"predicates": [
{
"type": "dimension",
"dimension": "originatingDirection",
"operator": "matches",
"value": "outbound"
}
],
"type": "and"
}
}

Agent user Details:
url = 'https://api.mypurecloud.com/api/v2/analytics/users/details/query'

data = {
"interval": f"{starttime}/{endtime}",
"order": "asc",
"userFilters": [],
"presenceFilters": [
{
"type": "and",
"predicates": [
{
"type": "dimension",
"dimension": "systemPresence",
"operator": "exists"
}
]
}
],

}

Interval agent Phone stats:
url = "https://api.mypurecloud.com/api/v2/analytics/users/aggregates/query"

Thank you in advance.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.