htabbach | 2016-06-28 17:28:14 UTC | #1
I am going through documentation but still cannot figure out the method(s) I need to call to get call metrics by conversation id, what I need is 1- Call start time 2- Call end time 3- Total Talk time 4- Hold time 5- Call disposition (Answered by an agent, abandoned, etc) 6- Any other information I can get about the call like the agent user name
Thank you!
anon81547345 | 2016-06-28 20:16:10 UTC | #2
You could try the GET /api/v2/analytics/conversations/{conversationId}/details endpoint. This will give you data for that call grouped first by the call participant and then sub-grouped by the call segment.
If using the .NET API, you could try using the method defined here: https://developer.mypurecloud.com/api/rest/client-libraries/csharp/latest/AnalyticsApi.html#getconversationsconversationiddetails
htabbach | 2016-06-28 23:57:00 UTC | #3
Thanks for the response, I saw that method but it is still missing some metrics like how long did the call hold in queue before it was presented to queue, does this metric even exists in the API?
anon81547345 | 2016-06-29 17:30:36 UTC | #4
If you are routing via ACD there should be an "acd" participant. If you look at that participant's "interact" segment you will see a segmentStart and a segmentEnd. The segmentStart is when that interaction entered the queue. The segmentEnd is the time when an agent actually picked up the interaction. If you were looking for the queue hold time for that particular interaction you could calculate the difference between these times. Note that the time between the segmentStart & segmentEnd also includes the time that any agents were being alerted.
{ "participantId": "participantId", "participantName": "myQueue", "purpose": "acd", "sessions": [ { "mediaType": "voice", "sessionId": "sessionId", "ani": "aniHere", "direction": "inbound", "segments": [ { "segmentStart": "2016-06-28T18:43:46.587Z", "segmentEnd": "2016-06-28T18:43:51.418Z", "queueId": "queueId", "disconnectType": "transfer", "segmentType": "interact" } ] } ] }
htabbach | 2016-07-05 20:17:52 UTC | #5
Thank you for the response, Ok, so I was able to get the SegmentStart and SegmentEnd for the Interact segment which represents the time the call entered the queue and the time the call was presented to the agent.
I can calculate hold time based on that.
How do I get the talk time then?
anon81547345 | 2016-07-06 14:33:36 UTC | #6
I'm assuming that your definition of talk time is any time that the agent was talking to the caller (no hold time or wrap-up time). You could calculate this similar to the queue hold time. Just find the "agent" participant and calculate the duration of all of the "interact" segments for that participant. The participant could have multiple interact segments say if perhaps the agent put the caller on hold.
Also note that you could possibly have multiple agent and/or acd participants on a conversation. An agent could possibly transfer a call back into queue which would then give you a second acd or agent participant. Depending on how you want your stats calculated you may want to take this into consideration.
system | 2017-08-28 19:25:04 UTC | #7
This post was migrated from the old Developer Forum.
ref: 102