Access Recordings From External Applications
You can play back and download CXone Recordings from external applications, such as from your CRM system.
There are 2 main ways of accessing recordings from outside CXone:
-
Get basic metadata and a temporary URL to the media file using the Media Playback API
-
Launch the CXone Player or download a media file directly from your CRM system using a URL: Access Media Files From Your CRM System
Media Playback API
You can use this API to access CXone Recording media and metadata.
-
When playing back an interaction:
-
For voice-only and voice-and-screen media types, the API transfers the interaction metadata and a link to the media file.
-
For chat and email media types, the API transfers the interaction metadata and the transcript. If the media type is set to all (and not specifically set to chat or email), then if there is a screen recording, you will also get a link to the media file for digital
Any non-voice channel such as chat, email, SMS, work item, and messaging channels interactions.
-
-
When downloading, the API transfers a link to the media file.
The Media Playback API is available in the DEVone Developer Community portal.
For more information about domains and URLs, see Getting Started in the DEVone Developer Community portal.
Before You Start
Before you can start using the Media Playback API, you must set up permissions and generate an access token.

-
Set up permissions
Make sure you have the appropriate permissions enabled in Admin > Security > Roles and Permissions to use the Media Playback API:
-
If you're generating access keys for other users, then you need the Admin > General Permissions > Access Key: Create permission.
-
If you're generating access keys from your own user, then you need the Admin > General Permissions > My Access Key: Create permission.
-
-
Generate an access token
To use this API, you must first generate an access token (to be used as an authorization bearer token when calling the Media Playback API).
-
Go to CXone.
-
Click the app selector
and select Admin
-
Click Employees.
-
Select the user you're going to generate the access key for.
-
Go to the Access Keys tab and generate an access key.
-
Copy both the Access Key ID and Secret Access Key and save them somewhere safe. If you don't copy the Secret Access Key or if you lose it, you'll need to create a new one.
-
Call this API:
URL: https://<enter your region, this is the subdomain (first 3 characters) of the CXone URL (for example: na1, na2, au1, eu1)>.nice-incontact.com/authentication/v1/token/access-key
Type: POST
Request body:
{
"accessKeyId": <access key>,
"accessKeySecret": <secret>
}
-
Extract the access_token from the response body. Use this string as a bearer token authorization header when calling the Media Playback API.
-
Verify the entity permissions—checks are applied and may result in success or unauthorized.
-
GET Contacts
Access the full contact (the entire interaction with all segments) based on ACD Call ID. The ACD Call ID depends on the ACD solution, for example, this is the same as the CXone Master Contact ID. Keep in mind that using the ACD Call ID GET method, you can play back or download interactions recorded from December 13, 2018. Accessing an interaction recorded before December 13, 2018 will give an Interaction Not Found error.

Playback

https://na1.nice-incontact.com/media-playback/v1/contacts?acd-call-id=123456&media-type=all&exclude-waveforms=true

200 OK
{
"value": {
"contactId": "11e766de-4ace-33d0-9ff6-0242ac110004",
"Interactions": [
{
"Interaction": {
"mediaType": "voice-and-screen",
"startTime": "2018-11-20T08:20:31.941Z",
"endTime": "2018-11-20T08:25:56.957Z",
"data": {
"startTime": "2018-11-20T08:20:31.941Z",
"endTime": "2018-11-20T08:25:56.957Z",
"acwEndTime": "2018-11-20T08:27:09.643Z",
"fileToPlayUrl": "https://test-mcrplaybackmanager-4b5e-9234-54cbe7855ca1.mp4",
"videoImageUrl": null,
"waveformDataList": [
{
"channel": 0,
"normalizedPcmData": [
0.001,
0.001,
0.001
]
}
],
"participantDataList": [
{
"participantType": "AGENT",
"agentName": "Mary Walker",
"participantId": "271863",
"userId": "11e846d2-dd9f-6f10-9aef-0242ac110002",
"voiceStages": [
{
"stageType": "ACTIVE",
"startTime": "2018-11-20T08:20:31.941Z",
"endTime": "2018-11-20T08:25:56.957Z",
"segmentID": "e079511b-c077-489e-85a3-24b1b147d3c7",
"displays": null
}
],
"screenStages": [
{
"stageType": "ACTIVE",
"startTime": "2018-11-20T08:20:31.941Z",
"endTime": "2018-11-20T08:25:56.957Z",
"segmentID": "e7621f2c-32e4-47cd-bfc5-29a48343f7e0",
"displays": [
{
"width": 1680,
"height": 1050,
"topLeftX": -1680,
"topLeftY": 0
},
{
"width": 1680,
"height": 1050,
"topLeftX": 0,
"topLeftY": 0
},
{
"width": 1366,
"height": 768,
"topLeftX": 1680,
"topLeftY": 0
}
]
}
],
"channel": 0
},
{
"participantType": "CUSTOMER",
"agentName": null,
"participantId": "68367118",
"userId": null,
"voiceStages": [
{
"stageType": "ACTIVE",
"startTime": "2018-11-20T08:20:31.941Z",
"endTime": "2018-11-20T08:25:56.957Z",
"segmentID": "e079511b-c077-489e-85a3-24b1b147d3c7",
"displays": null
}
],
"screenStages": [],
"channel": 0
}
],
"segmentsDataList": [
{
"startTime": "2018-11-20T08:20:31.941Z",
"endTime": "2018-11-20T08:25:56.957Z",
"acwEndTime": "2018-11-20T08:27:09.643Z",
"openReasonType": "SEGMENT",
"closeReasonType": "SEGMENT",
"directionType": "OUTBOUND",
"source": null
}
],
"categoryMatchesList": [
{
"categoryHierarchy": [
"Account Inquiries",
"Account Problems"
],
"secondsOffsets": [
24
],
"confidence": 95
}
],
"sentiments": [
{
"overallSentiment": "POSITIVE",
"segmentStartTime": "2018-11-20T08:20:31.941Z",
"channel": 1
},
{
"overallSentiment": "POSITIVE",
"segmentStartTime": "2018-11-20T08:20:31.941Z",
"channel": 0
}
]
}
}
},
{
"Interaction": {
"mediaType": "chat",
"startTime": "2018-11-21T08:27:09.643Z",
"endTime": "2018-11-21T18:20:31.941Z",
"data": {
"startTime": "2018-11-21T08:27:09.643Z",
"endTime": "2018-11-21T18:20:31.941Z",
"transferPoints": [
"2018-11-21T10:34:23.433Z"
],
"participants": [
{
"participantType": "AGENT",
"participantName": "Kevin Allen"
},
{
"participantType": "CUSTOMER",
"participantName": ""
}
],
"messages": [
{
"participantType": "AGENT",
"participantName": "Kevin Allen",
"text": "agent 1",
"timeStamp": "2018-11-21T10:35:23.643Z"
},
{
"participantType": "CUSTOMER",
"participantName": "",
"text": "Betty Alexander"
}
]
}
}
},
{
"Interaction": {
"mediaType": "email",
"startTime": "2018-11-21T18:30:09.643Z",
"endTime": "2018-11-21T18:36:36.347Z",
"data": {
"startTime": "2018-11-21T18:30:09.643Z",
"endTime": "2018-11-21T18:34:56.957Z",
"acwEndTime": "2018-11-21T18:36:36.347Z",
"participants": [
{
"participantType": "AGENT",
"participantName": "Angela Bryant",
"actions": [
{
"timeStamp": "2018-11-21T18:30:09.643Z",
"action": "NewOutbound"
},
{
"timeStamp": "2018-11-21T18:34:56.957Z",
"action": "Send"
}
]
}
],
"content": {
"sentTime": "2018-11-21T18:34:56.957Z",
"from": "doNotAnswer@ourcompany.com",
"to": [
"angelab@yourcompany.com"
],
"cc": [],
"bcc": [],
"subject": "Hello",
"body": "Hi"
}
}
}
}
]
}
}
Download

https://na1.nice-incontact.com/media-playback/v1/contacts?acd-call-id=123456&media-type=all&exclude-waveforms=true&isDownload=true

{
"redirectUrl" : "https://na1-mcrplaybackmanager-12345ABCDEF.s3.us-west-2.amazonaws.com/tenant/output_12345ABCDEF.mp4?X-Amz-Security-Token=12345ABCDEF12345X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20200820T114056Z&X-Amz-SignedHeaders=host&X-Amz-Expires=1800&X-Amz-Credential=12345ABCDEFus-west-2%2Fs3%2Faws4_request&X-Amz-Signature=12345ABCDEF"
}
Responses
-
200 Success
-
400 Invalid Request
-
401 Not Authorized to Play Back
-
403 Permission Required
-
404 Interaction Not Found
-
500 Internal Server Error
GET Statements
Access a recording statement based on ACD Contact ID and Statement ID. The ACD Contact ID depends on the ACD solution, for example, here the acdContactId is the inContact Master Contact ID The master or parent ID for one or more related contacts. A new master contact ID will be assigned if a contact has been transferred 3 or more times..

Responses
-
200 Success
-
400 Invalid Request
-
401 Not Authorized to Play Back
-
403 Permission Required
-
404 Interaction Not Found
-
500 Internal Server Error
Access Media Files From Your CRM System
You can play back or download media files directly from your CRM system using a URL.
Generate the URL in Studio and integrate it into your CRM system. Professional Services can help you, but there might be a fee for this service. Contact your CXone Account Representative to learn more.
For example:
-
Play back the file:
-
Voice or digital recording: https://na1.nice-incontact.com/player/#/cxone-player/acd-contacts/acdContactId
-
Recorded statement: https://na1.nice-incontact.com/player/#/cxone-player/acd-contacts/acdContactId/statements/statementId
The URL for play back launches the CXone Player by default. You can configure it to open in other players.
-
-
Download the file:
-
Voice and screen recording: https://na1.nice-incontact.com/media-download/#/acd-contacts?acdContactId=acdContactId&isDownload=true
-
Voice only: https://na1.nice-incontact.com/media-download/#/acd-contacts?acdContactId=acdContactId&isDownload=true&mediaType=voice-only
-
Recorded statement: https://na1.nice-incontact.com/media-download/#/acd-contacts/acdContactId/statements/statementId?isDownload=true&mediaType=voice-only
The filename is formatted as CXone recording_{agent name}_{call start time}[UTC]_{id}.mp4. Note that the date in the filename is in UTC, unlike the Player, which is displayed in your local time zone.
-
The acdContactId is the CXone Master Contact ID The master or parent ID for one or more related contacts. A new master contact ID will be assigned if a contact has been transferred 3 or more times..