devinflow | 2016-09-05 15:54:08 UTC | #1
I saw the Recordings API, and see that for getting the recordings, we have to pass the conversation ID as a parameter. Once we have the recording, then we can get the actual File (WAV) using the call : /api/v2/conversations/{conversationId}/recordings/{recordingId} , passing the recording ID.
What will be the best approach if what we want to accomplish is developing a Tool that givien a QUEUE as a parameter, gets all recordings associated to that QUEUE and then download them to a folder ?
There is a Endpoint that given a Queue I can get a list of all recordings? or We will first get a list of All conversations and then with each conversation ID, we make a call to get all Recordings ID, and then download each ?
Thanks
KevinGlinski | 2016-09-06 10:48:19 UTC | #2
You can get a list of all recordings that match a queue using the conversation detail analytics query. https://developer.mypurecloud.com/api/rest/v2/analytics/#postAnalyticsConversationsDetailsQuery In the result set will be the recording Id which you can then use in that call you posted.
devinflow | 2016-09-07 14:44:57 UTC | #3
Thank you Kevin!. I supposed that adding a predicate in the query passing in the dimension parameter the " "dimension": "queueId", with the correspondent id .. I will test it and check the results, to see where the recordings ids come ...
Ben_Carroll | 2017-05-10 19:59:31 UTC | #4
I know it has been a few months since this was posted so if there is an answer for it somewhere else, I’m sorry, but I can't find it.
When using the posted query with this body, I get no results that include anything even resembling a recording Id, when I know that a majority of the conversations have at least 1 recording. What am I missing?
{ "interval": "2017-05-10T04:00:00.000Z/2017-05-11T04:00:00.000Z", "order": "asc", "orderBy": "conversationStart", "paging": { "pageSize": 25, "pageNumber": 1 }, "segmentFilters": [{ "type": "and", "predicates": [{ "type": "dimension", "dimension": "queueId", "operator": "matches", "value": "8112af7a-3239-4ba3-b1b7-665ab421fe0d" }] }] }
tim.smith | 2017-05-10 17:57:15 UTC | #5
The recording data was removed from the analytics conversation model at some point in the past. Issue QM-3153 exists to add it back. In the meantime, you'll need to make requests to GET /api/v2/conversations/{conversationId}/recordings to get recording IDs for a conversation.
Ben_Carroll | 2017-05-10 20:06:09 UTC | #6
If you could please help me understand this I would appreciate it. I ran this query a few minutes ago.
{ "interval": "2017-01-05T14:55:20.021Z/2017-01-05T14:57:43.311Z", "order": "asc", "orderBy": "conversationStart", "paging": { "pageSize": "100", "pageNumber": 1 } }
This is returned in a portion of this result:
"properties": [ { "propertyType": "uuid", "property": "recordingId", "value": "46a7d07b-6b2d-41ea-972a-35cfde2afcfe" } ]
Are you saying that it is a part of the model when the query interval is in January but not in the model if the interval is for yesterday?
tim.smith | 2017-05-10 23:15:18 UTC | #7
It's because the recording ID used to be reported to analytics, but at some point in the past, this stopped happening. That's why older data will have recording IDs and newer ones won't.
Ben_Carroll | 2017-05-11 12:57:00 UTC | #8
Thanks for clarifying.
system | 2017-08-28 19:27:02 UTC | #9
This post was migrated from the old Developer Forum.
ref: 369