Contents
Search, Playback, and Delete API
When you use these APIs, you'll typically search and play back recordings as follows:
- Request a list of call recordings based on your query parameters.
- Receive a list of recordings in the response from Interaction Recording Web Services.
Note: If your query generates many results, they are paginated and the response contains navigation links for the previous and next pages. - Play back one or more of these recordings using the URI provided by the response, or inspect the attributes associated with each recording.
You can use the Delete Recording API to remove a recording from the Genesys Interaction Recording system.
Recording resource
The recording resource includes details about the recording, such as start and stop times, along with the event history and media files that make up the recording.
Sample data
{
"id":"011AP643CSAPR4FKQGQE31TAES00029V",
"callerPhoneNumber":"8522001",
"dialedPhoneNumber":"+14160000001",
"startTime":"2015-09-10T16:58:22.000+0000",
"stopTime":"2015-09-10T16:58:34.000+0000",
"mediaFiles":[
{
"mediaUri":"http://htcc1.genesyslab.com/api/v2/recordings/011AP643CSAPR4FKQGQE31TAES00029V/play/4f82ee48-4fe4-40e1-961d-309ba6e38698.mp3",
"mediaPath":"/recordings/011AP643CSAPR4FKQGQE31TAES00029V/play/4f82ee48-4fe4-40e1-961d-309ba6e38698.mp3",
"playPath":"/recordings/011AP643CSAPR4FKQGQE31TAES00029V/play/4f82ee48-4fe4-40e1-961d-309ba6e38698.mp3",
"startTime":"2015-09-10T16:58:22.000+0000",
"stopTime":"2015-09-10T16:58:34.000+0000",
"callUUID":"011AP643CSAPR4FKQGQE31TAES00029V",
"mediaId":"011AP643CSAPR4FKQGQE31TAES00029V_2015-09-10_16-58-22-006B015F-1000427D-00000001.mp3",
"type":"audio/mp3",
"duration":"12523",
"tenant":"Environment",
"ivrprofile":"CallRecProfile",
"size":"199296",
"parameters":{
"dnis":"+14160000001",
"connId":"006a0269722cd93f",
"ani":"8522001",
"dateTime":"2015-09-10T16:58:22Z",
"rp.speechminer_uri":"http://135.225.52.210/interactionreceiver",
"recordDN":"+14160000001",
"agentId":"+14160000001",
"rp.speechminer_auth":"rpSys:111111",
"sipsAppName":"SIP_Server",
"id":"011AP643CSAPR4FKQGQE31TAES00029V_2015-09-10_16-58-22",
"username":"screen1@genesys.com",
"callUuid":"011AP643CSAPR4FKQGQE31TAES00029V"
},
"partitions":[
],
"accessgroups":[
"/"
]
}
],
"eventHistory":[
{
"occurredAt":"2015-09-10T16:58:22.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"eventId":"2015-09-10 16:58:22.440_011AP643CSAPR4FKQGQE31TAES00029V",
"event":"Data",
"data":{
"added":{
"GSIP_RECORD":"ON",
"GSIP_REC_FN":"011AP643CSAPR4FKQGQE31TAES00029V_2015-09-10_16-58-22"
}
}
},
{
"occurredAt":"2015-09-10T16:58:34.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"eventId":"2015-09-10 16:58:34.820_011AP643CSAPR4FKQGQE31TAES00029V",
"event":"Data",
"data":{
"deleted":{
"GSIP_RECORD":"ON"
}
}
},
{
"occurredAt":"2015-09-10T16:58:22.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"User",
"phoneNumber":"+14160000001",
"userName":"screen1@genesys.com",
"firstName":"Screen",
"lastName":"GIR"
},
"event":"Joined"
},
{
"occurredAt":"2015-09-10T16:58:21.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"External",
"phoneNumber":"8522001"
},
"event":"Joined"
},
{
"occurredAt":"2015-09-10T16:58:34.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"User",
"phoneNumber":"+14160000001",
"userName":"screen1@genesys.com",
"firstName":"Screen",
"lastName":"GIR"
},
"event":"Left"
},
{
"occurredAt":"2015-09-10T16:58:34.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"External",
"phoneNumber":"8522001"
},
"event":"Left"
}
],
"labels": [
{
"id": "646943bc-b9d2-48e7-9304-d9b4c92be2d2",
"name": "Important",
"type": "custom",
"createTime": "2017-01-01T00:00:00.000+0000",
"createUser": "Agent1"
}
],
"callType":"Inbound",
"screenRecording": true,
"region":"region1"
}
Resource details
Field | Description | Type |
---|---|---|
recording.id | The ID of the call recording. | string |
recording.callerPhoneNumber | The phone number of the caller in the recorded call. | string |
recording.dialedPhoneNumber | The phone number dialed to initiate the recorded call. | string |
recording.startTime | The time when the call recording starts. | string |
recording.stopTime | The time when the call recording stops. | string |
recording.screenRecording | Indicates whether or not the call recording has one or more associated screen recordings. | boolean |
recording.callType | The type of call that was recorded ('Unknown', 'Internal', 'Inbound', 'Outbound', 'Consult'). | string |
recording.nonDelete | Indicates whether or not the recording is protected from deletion. | boolean |
recording.region | The region in which the call was recorded. | string |
recording.mediaFiles | The collection of information for all the media files associated with the recording. | array |
recording.labels | The collection of information for all the labels that have been added to the call recording. Note: Labels are returned only when the value of the subresources parameter is * or labels. |
array |
recording.eventHistory | The collection of information for all the events that occurred during the recorded call. | array |
recording.mediaFiles[].mediaUri | This attribute is for internal Genesys use only. | string |
recording.mediaFiles[].mediaPath | This attribute is for internal Genesys use only. | string |
recording.mediaFiles[].playPath | The relative path to play back a recording file. If the recording is encrypted, it is decrypted before being played back to the user of the API. Note: The user who uses playPath to playback an encrypted recording must be granted permission to decrypt. |
string |
recording.mediaFiles[].startTime | The start time for this media file. | string |
recording.mediaFiles[].stopTime | The stop time for this media file. | string |
recording.mediaFiles[].callUUID | The call UUID generated by the SIP Server for this media file. It may be different than the call UUID of other media files, in the case of multi-site transfer. | string |
recording.mediaFiles[].mediaId | The unique ID for this media file generated by Genesys software. | string |
recording.mediaFiles[].type | The MIME type of the media file. | string |
recording.mediaFiles[].duration | The duration of the media file in milliseconds. | string |
recording.mediaFiles[].size | The size of the media file in bytes. | string |
recording.mediaFiles[].tenant | The tenant this media file belongs to. | string |
recording.mediaFiles[].ivrprofile | The IVR Profile name that serviced this recording. | string |
recording.mediaFiles[].parameters | This attribute is for internal Genesys use only. | object |
recording.mediaFiles[].masks | A JSON array specifying the time stamps of the pause/resume periods if the recording is masked by a client application. Each object contains the time and type property. | array |
recording.mediaFiles[].partitions | A JSON array of strings specifying the partition to which this media file belongs. For more information about partitions, see Access Control for Genesys Interaction Recording Users in the Genesys Interaction Recording Solution Guide. | array |
recording.mediaFiles[].accessgroups | A JSON array of strings specifying the Agent Hierarchy group(s) to which this recording belongs. For more information about agent hierarchy and access groups, see Access Control for Genesys Interaction Recording Users in the Genesys Interaction Recording Solution Guide. | array |
recording.mediaFiles[].pkcs7 | This attribute is for internal Genesys use only. | string |
recording.mediaFiles[].certAlias | This attribute is for internal Genesys use only. | array |
recording.mediaFiles[].masks[].time | The time of the masking event. | string |
recording.mediaFiles[].masks[].type | The type of the masking event (paused, resume). | string |
recording.eventHistory[].occurredAt | Specifies the time the event occurred. | string |
recording.eventHistory[].calluuid | Specifies the Call UUID for the event. | string |
recording.eventHistory[].event | The type of Event. It can be one of the following three values:
|
string |
recording.eventHistory[].eventId | An eventId used to identify the data event. | string |
recording.eventHistory[].contact | A JSON object representing the contact information of the caller who joined or left the recording; if the event type is "Joined" or "Left". | contact |
recording.eventHistory[].contact.type | A JSON object representing the contact information of the caller who joined or left the recording, if the event type is Joined or Left it can have one of the following values:
|
string |
recording.eventHistory[].contact.phoneNumber | The phone number for the caller. | string |
recording.eventHistory[].contact.userName | The user name of the caller. | string |
recording.eventHistory[].contact.firstName | The first name of the caller. | string |
recording.eventHistory[].contact.lastName | The last name of the caller. | string |
recording.eventHistory[].data | The key-value pairs to store additional information about the event if event type is "Data". | string |
recording.eventHistory[].eventHistoryData[].added | A JSON object representing the key-value pairs associated to the added data event. | object |
recording.eventHistory[].eventHistoryData[].updated | A JSON object representing the key-value pairs associated to the updated data event. | object |
recording.eventHistory[].eventHistoryData[].deleted | A JSON object representing the key-value pairs associated to the deleted data event. | object |
recording.labels[].name | The name of the label. | string |
recording.labels[].id | The id of the label. | string |
recording.labels[].type | The type of the label (Reserved or Custom). | string |
recording.labels[].createTime | The time at which the label is created. | string |
recording.labels[].createUser | The creator of the label. | string |
recording.labels[].content | The key-value pairs to store additional information about the label. | object |
Search Recordings API
This request retrieves a list of recordings that are stored in the Genesys Interaction Recording (GIR) system.
Request URL | /api/v2/recordings |
---|---|
HTTP Method | GET |
Required Features | api-supervisor-recording |
Prerequisites
To access the API, the user must be assigned a role of either "Administrator" or "Supervisor" in the Genesys Configuration system. For details, see Configuring Roles for Recording Users. The Genesys Interaction Recording API uses Basic HTTP Authentication. See RFC 2617 Section 2 for reference.
In addition, if the media files are encrypted, the user must be assigned the proper privileges to decrypt the media file in order to use the playPath URI to decrypt and play back the recording. For details, see Access Control in the Genesys Interaction Recording Solution Guide.
Recording privacy settings
For privacy reasons, Interaction Recording Web Services can mask individual fields in the recording metadata returned by the Search Recordings operation. This masking prevents the fields from being exposed to users with the Supervisor role. Masking does not apply to users with the Administrator role.
You can specify which fields to mask by using two settings in the recording contact-center settings group.
Name | Value |
---|---|
metadata.privacy.agent_fields | A comma-separated list of all the metadata fields to hide if the user does not have permission to view the agent metadata fields. The default value is blank. |
metadata.privacy.customer_fields | A comma-separated list of all the metadata fields to hide if the user does not have permission to view the customer metadata fields. The default value is blank. |
A user can GET, POST, PUT, and DELETE these settings at the contact center level with the /api/v2/settings/recording API using an admin account. For details about working with settings, see the Settings API.
Parameters
Parameter | Value |
---|---|
callerPhoneNumber | Retrieves all recordings for any call containing the specified "ani" attribute (the number from which the call was made). When no wildcard is used, the query result contains the recordings for the calls where there is an exact match of stored value (alphanumeric-only) and request parameter.
The request string can contain the * wildcard, which can substitute any number of any symbols in the request. Search is case sensitive and all non-alphanumeric characters except for * and ? are stripped away before the search is performed. |
dialedPhoneNumber | Retrieves all recordings for any call containing the specified "dnis" attribute (the number dialed by the caller). When no wildcard is used, the query result contains the recordings for the calls where there is an exact match of stored value (alphanumeric-only) and request parameter.
The request string can contain the * wildcard, which can substitute any number of any symbols in the request. Search is case sensitive an all non-alphanumeric characters except for * and ? are stripped away before the search is performed. |
startTime | Retrieves all recordings that started at or after the specified time. This is specified as the number of milliseconds since epoch. |
endTime | Retrieves all recordings that ended at or before the specified time. This is specified as the number of milliseconds since epoch. Note: The endTime parameter corresponds with the stopTime field in the recording resource that's returned by the request. |
userName | Retrieves all recordings that involve a user with the first name, last name, or user name matching the specified query parameter. The query parameter is matched against the "contact" attribute for each item in the eventHistory array for each recording.
The request performs an exact match without any modifiers, but you can also:
|
userData | Retrieves all recordings that have user data matching the specified query parameter. The query parameter is matched against the "data" attribute for each item in the eventHistory array for each recording. The match is against the "value" for each "data" attribute, not the "name".
The request performs an exact match without any modifiers, but you can also:
|
includeLabels | Retrieves all recordings for any call that contains all of the labels in the comma-separated string of label names. The request string is a comma-separated list of label names. |
excludeLabels | Retrieves all recordings for any call that does not contain any of the labels in the comma-separated string of label names. The request string is a comma-separated list of label names. |
Note: You can search for all call recordings that have one or more associated screen recordings by specifying includeLabels=__screenRecording. Similarly, you can find all call recordings that do not have an associated screen recording by specifying excludeLabels=__screenRecording.
Mask settings and query parameters
Interaction Recording Web Services doesn't allow query parameters for the Genesys Interaction Recording API if the metadata.privacy.agent_fields or metadata.privacy.customer_fields are defined in the recording settings group. This prevents the user from using a search query parameter as a way to find records that are directly associated with a private field even if the result is masked. If a search parameter matches a field listed in one of the settings above, then Interaction Recording Web Services returns an HTTP response code of 403. The following query parameters may appear in the metadata.privacy.agent_fields or metadata.privacy.customer_fields settings:
- callerPhoneNumber
- dialedPhoneNumber
- userName
- userData
Pagination
You can use the following optional request parameters to control the pagination of results from Interaction Recording Web Services.
Parameter | Value |
---|---|
offset | Specifies the index of the first record to be returned.
|
limit | Specifies the number of records to be returned.
|
Sample 1 - Simple query
Request
GET api/v2/recordings?startTime=1441065600000&offset=0&limit=100
Response
{
"statusCode":0,
"recordings":[
{
"id":"011AP643CSAPR4FKQGQE31TAES0002A0",
"callerPhoneNumber":"+15559680001",
"dialedPhoneNumber":"+15559680002",
"startTime":"2015-09-10T18:36:58.000+0000",
"stopTime":"2015-09-10T18:37:30.000+0000",
"mediaFiles":[
{
"mediaUri":"http://abcdef01.com/api/v2/recordings/011AP643CSAPR4FKQGQE31TAES0002A0/play/45bb2966-9911-45fd-8167-a6581d04af98.mp3",
"mediaPath":"/recordings/011AP643CSAPR4FKQGQE31TAES0002A0/play/45bb2966-9911-45fd-8167-a6581d04af98.mp3",
"playPath":"/recordings/011AP643CSAPR4FKQGQE31TAES0002A0/play/45bb2966-9911-45fd-8167-a6581d04af98.mp3",
"startTime":"2015-09-10T18:36:58.000+0000",
"stopTime":"2015-09-10T18:37:30.000+0000",
"callUUID":"011AP643CSAPR4FKQGQE31TAES0002A0",
"mediaId":"011AP643CSAPR4FKQGQE31TAES0002A0_2015-09-10_18-36-57-006B015F-1000427F-00000001.mp3",
"type":"audio/mp3",
"duration":"33100",
"tenant":"Environment",
"ivrprofile":"CallRecProfile",
"size":"528768",
"parameters":{
"dnis":"+19059680002",
"connId":"006a0269722cd940",
"ani":"+19059680001",
"dateTime":"2015-09-10T18:36:57Z",
"rp.speechminer_uri":"http://000.001.02.003/interactionreceiver",
"agentId":"+15559680002",
"recordDN":"+15559680002",
"sipsAppName":"SIP_Server",
"rp.speechminer_auth":"rpSys:111111",
"id":"011AP643CSAPR4FKQGQE31TAES0002A0_2015-09-10_18-36-57",
"username":"agent2@genesys.com",
"callUuid":"011AP643CSAPR4FKQGQE31TAES0002A0"
},
"masks": [
{"time": "2015-09-10T18:37:22.034Z", "type", "paused"},
{"time": "2015-09-10T18:37:24.098Z", "type", "resume"}
],
"partitions":[
],
"accessgroups":[
"/Newx"
]
}
],
"eventHistory":[
{
"occurredAt":"2015-09-10T18:36:58.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES0002A0",
"eventId":"2015-09-10 18:36:58.347_011AP643CSAPR4FKQGQE31TAES0002A0",
"event":"Data",
"data":{
"added":{
"GSIP_RECORD":"ON",
"GSIP_REC_FN":"011AP643CSAPR4FKQGQE31TAES0002A0_2015-09-10_18-36-57"
}
}
},
{
"occurredAt":"2015-09-10T18:37:30.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES0002A0",
"eventId":"2015-09-10 18:37:30.707_011AP643CSAPR4FKQGQE31TAES0002A0",
"event":"Data",
"data":{
"deleted":{
"GSIP_RECORD":"ON"
}
}
},
{
"occurredAt":"2015-09-10T18:36:57.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES0002A0",
"contact":{
"type":"User",
"phoneNumber":"+15559680001",
"userName":"agent1@genesys.com",
"firstName":"Agent1",
"lastName":"Genesys"
},
"event":"Joined"
},
{
"occurredAt":"2015-09-10T18:36:57.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES0002A0",
"contact":{
"type":"User",
"phoneNumber":"+15559680002",
"userName":"agent2@genesys.com",
"firstName":"Agent2",
"lastName":"Genesys"
},
"event":"Joined"
},
{
"occurredAt":"2015-09-10T18:37:30.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES0002A0",
"contact":{
"type":"User",
"phoneNumber":"+15559680001",
"userName":"agent1@genesys.com",
"firstName":"Agent1",
"lastName":"Genesys"
},
"event":"Left"
},
{
"occurredAt":"2015-09-10T18:37:30.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES0002A0",
"contact":{
"type":"User",
"phoneNumber":"+15559680002",
"userName":"agent2@genesys.com",
"firstName":"Agent2",
"lastName":"Genesys"
},
"event":"Left"
}
],
"callType":"Internal",
"screenRecording":true,
"region":"region1"
},
{
"id":"011AP643CSAPR4FKQGQE31TAES00029V",
"callerPhoneNumber":"8522001",
"dialedPhoneNumber":"+15550000001",
"startTime":"2015-09-10T16:58:22.000+0000",
"stopTime":"2015-09-10T16:58:34.000+0000",
"mediaFiles":[
{
"mediaUri":"http://abcdef01.com/api/v2/recordings/011AP643CSAPR4FKQGQE31TAES00029V/play/4f82ee48-4fe4-40e1-961d-309ba6e38698.mp3",
"mediaPath":"/recordings/011AP643CSAPR4FKQGQE31TAES00029V/play/4f82ee48-4fe4-40e1-961d-309ba6e38698.mp3",
"playPath":"/recordings/011AP643CSAPR4FKQGQE31TAES00029V/play/4f82ee48-4fe4-40e1-961d-309ba6e38698.mp3",
"startTime":"2015-09-10T16:58:22.000+0000",
"stopTime":"2015-09-10T16:58:34.000+0000",
"callUUID":"011AP643CSAPR4FKQGQE31TAES00029V",
"mediaId":"011AP643CSAPR4FKQGQE31TAES00029V_2015-09-10_16-58-22-006B015F-1000427D-00000001.mp3",
"type":"audio/mp3",
"duration":"12523",
"tenant":"Environment",
"ivrprofile":"CallRecProfile",
"size":"199296",
"parameters":{
"dnis":"+15550000001",
"connId":"006a0269722cd93f",
"ani":"8522001",
"dateTime":"2015-09-10T16:58:22Z",
"rp.speechminer_uri":"http://010.020.03.040/interactionreceiver",
"recordDN":"+14160000001",
"agentId":"+14160000001",
"rp.speechminer_auth":"rpSys:111111",
"sipsAppName":"SIP_Server",
"id":"011AP643CSAPR4FKQGQE31TAES00029V_2015-09-10_16-58-22",
"username":"screen1@genesys.com",
"callUuid":"011AP643CSAPR4FKQGQE31TAES00029V"
},
"partitions":[
],
"accessgroups":[
"/"
]
}
],
"eventHistory":[
{
"occurredAt":"2015-09-10T16:58:22.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"eventId":"2015-09-10 16:58:22.440_011AP643CSAPR4FKQGQE31TAES00029V",
"event":"Data",
"data":{
"added":{
"GSIP_RECORD":"ON",
"GSIP_REC_FN":"011AP643CSAPR4FKQGQE31TAES00029V_2015-09-10_16-58-22"
}
}
},
{
"occurredAt":"2015-09-10T16:58:34.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"eventId":"2015-09-10 16:58:34.820_011AP643CSAPR4FKQGQE31TAES00029V",
"event":"Data",
"data":{
"deleted":{
"GSIP_RECORD":"ON"
}
}
},
{
"occurredAt":"2015-09-10T16:58:22.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"User",
"phoneNumber":"+15550000001",
"userName":"screen1@genesys.com",
"firstName":"Screen",
"lastName":"GIR"
},
"event":"Joined"
},
{
"occurredAt":"2015-09-10T16:58:21.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"External",
"phoneNumber":"8522001"
},
"event":"Joined"
},
{
"occurredAt":"2015-09-10T16:58:34.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"User",
"phoneNumber":"+15550000001",
"userName":"screen1@genesys.com",
"firstName":"Screen",
"lastName":"GIR"
},
"event":"Left"
},
{
"occurredAt":"2015-09-10T16:58:34.000+0000",
"calluuid":"011AP643CSAPR4FKQGQE31TAES00029V",
"contact":{
"type":"External",
"phoneNumber":"8522001"
},
"event":"Left"
}
],
"callType":"Inbound",
"screenRecording":true,
"region":"region1"
}
],
"totalCount": 2,
"nextPath":"/recordings/?startTime=1441065600000&offset=100&limit=100",
"nextUri":"http://abc6-de01.us.int.genesyslab.com/api/v2/recordings?startTime=1441065600000&offset=100&limit=100"
}
Sample 2 - Masked results
The following example shows hows masked results are returned when privacy settings are enabled.
Request
GET api/v2/recordings/recordings/00MT035FS4APRCEK4SL131TAES0000CF
Response
Masked results for the recording resource:
{
"id": "00MT035FS4APRCEK4SL131TAES0000CH",
"callerPhoneNumber": "*******",
"dialedPhoneNumber": "*******",
"startTime": "2015-09-24T15:25:29.000+0000",
"stopTime": "2015-09-24T15:27:01.000+0000",
"mediaFiles": [...],
"eventHistory":[...],
"callType": "Inbound",
"screenRecording":false,
"region": "region1"
}
Masked results for mediaFiles:
"parameters": {
"dnis": "*******",
"connId": "008902697711d191",
"ani": "*******",
"dateTime": "2015-09-24T15:25:44Z",
"rp.speechminer_uri": "http://135.225.52.210/interactionreceiver",
"recordDN": "+19059680001",
"agentId": "********", (agent id)
"rp.speechminer_auth": "rpSys:111111",
"sipsAppName": "SIP_Server",
"id": "011AP643CSAPR4FKQGQE31TAES0002VE_2015-09-24_15-25-44",
"username": "*************",
"callUuid": "011AP643CSAPR4FKQGQE31TAES0002VE"
}
Masked results for eventHistory:
"eventHistory": [
{
"occurredAt": "2015-09-24T15:25:44.000+0000",
"calluuid": "011AP643CSAPR4FKQGQE31TAES0002VE",
"contact": {
"type": "User",
"phoneNumber": "*******", (extension)
"userName": "*******", (username)
"firstName": "*******", (name)
"lastName": "*******" (name)
},
"event": "Joined"
} ...]
Masked results for attachedData:
"eventHistory": [
{
"occurredAt": "2014-11-04T22:34:24.000+0000",
"calluuid": "00PHK76MF0A2LDLR4SL131TAES00007V",
"eventId": "04-NOV-14 1_00PHK76MF0A2LDLR4SL131TAES00007V",
"event": "Data",
"data": {
"added": {
"GSIP_RECORD": "*******",
"GRECORD_PARTITIONS": "genesys_markham",
"BusinessCall": "1",
"GSIP_REC_FN": "00JKBG7S2OA57CEKQGQE31TAES000037_2014-11-04_22-34-09",
"OtherTrunkName": "External01",
"sip-iscc-cofid": "location=SIP_Switch;cofid=287",
"RVQDBID": "",
"WrapUpTime": "0"
},
"updated": {
"GSIP_REC_FN": "00PHK76MF0A2LDLR4SL131TAES00007V_2014-11-04_22-34-25"
},
"deleted": {
"GSIP_RECORD": "*******",
"sip-iscc-cofid": "location=SIP_Switch;cofid=287",
"WrapUpTime": "0"
} }
Sample 3 – Label Filter Query
Request
GET /recordings?includeLabels=comment&subresources=*
Response
{
...
"mediaFiles": [...],
"eventHistory": [...],
"labels": [
{
"path": "/recordings/bf697521-3ffc-46f1-b840-f7230e940df3/labels/8c9a634f-343d-49b3-8322-b571be520b31",
"name": "comment",
"id": "8c9a634f-343d-49b3-8322-b571be520b31",
"createTime": "2017-04-22T12:42:46.000+0000",
"createUser": "supervisor",
"content": {
"time": "2016-04-22T12:42:44.000+0000",
"text": "This is an awesome comment!"
}
}
],
...
}
Response
Field | Description |
---|---|
statusCode | Indicates whether the request was correctly handled. It returns 0 if the response was correctly handled by the server, and other values if it was not correctly handled by the server. See Return Values for details. |
statusMessage | For a status that is not 0, this message provides a human readable reason for reason of failure. |
nextPath | The relative path for the next page of results, if there are more recordings matching the query criteria beyond this result set. The Interaction Recording Web Services path prefix should be prepended to this to form the full URL to access the next page of results. This is provided as a convenience to quickly navigate between pages; it simply makes use of the offset and limit pagination parameters described above. |
prevPath | The relative path for the previous page of results, if this was not the first page in the result set. The Interaction Recording Web Services path prefix should be prepended to this to form the full URL to access the previous page of results. This is provided as a convenience to quickly navigate between pages; it simply makes use of the offset and limit pagination parameters described above. |
nextUri | This field is for internal Genesys use only. |
prevUri | This field is for internal Genesys use only. |
recordings | This is a JSON array containing the list of recordings that satisfy the query parameters. See recording resource for details about the fields in each recording. |
totalCount | The total number of recordings that satisfy the query parameters. |
Get Recording by ID API
This request retrieves a specific recording that is stored in the Genesys Interaction Recording (GIR) system.
Request URL | /api/v2/recordings/{recordingId} |
---|---|
HTTP Method | GET |
Required Features | api-supervisor-recording |
Prerequisites
To access the API, the user must be assigned a role of either Administrator or Supervisor in the Genesys Configuration system. For details, see Configuring Roles for Recording Users. The Genesys Interaction Recording API uses Basic HTTP Authentication. See RFC 2617 section 2 for reference.
In addition, if the media files are encrypted, the user must be assigned the proper privileges to decrypt the media file to use the playPath URI to decrypt and play back the recording. For details, see |Access Control in the Genesys Interaction Recording Solution Guide.
Recording privacy settings
For privacy reasons, Interaction Recording Web Services can mask individual fields in the recording metadata returned by the Get Recording by ID operation. This masking prevents the fields from being exposed to users with the Supervisor role. Masking does not apply to users with the Administrator role.
You can specify which fields to mask by using two settings in the recording contact-center settings group.
Name | Value |
---|---|
metadata.privacy.agent_fields | A comma-separated list of all the metadata fields to hide if the user does not have permission to view the agent metadata fields. The default value is blank. |
metadata.privacy.customer_fields | A comma-separated list of all the metadata fields to hide if the user does not have permission to view the customer metadata fields. The default value is blank. |
A user can GET, POST, PUT, and DELETE these settings at the contact center level with the /api/v2/settings/recording API using an admin account. For details about working with settings, see the Settings API.
Parameters
Parameter | Mandatory | Value |
---|---|---|
recordingId | Yes | The ID associated with the call recording that should be retrieved. |
subresources | No | The comma-delimited string that contains the names of the sub-resources that should be retrieved along with the call recording. Currently, only labels are supported.
Valid Values:
|
Response
If the operation completes successfully, the specified recording is returned.
See recording resource for details about the fields in each recording.
HTTP Status Code | Reason | Response Model |
---|---|---|
200 | The specified call recording was retrieved successfully. | statusCode: Indicates whether the request was correctly handled. It returns 0 if the response was correctly handled by the server, and other values if it was not correctly handled by the server. See Return Values for details. |
403 | Forbidden to get the requested recording. | |
404 | The specified recording cannot be accessed. | |
500 | An error occurred during the retrieval of the call recording. |
Get Recording Media by ID API
This request decrypts and retrieves the call recording media file identified by recordingId and mediaUUID.
Request URL | /api/v2/recordings/{recordingId}/decrypt/{mediaUUID}.mp3 |
---|---|
HTTP Method | GET |
Required Features | api-supervisor-recording api-recordings-decryption-proxying |
Prerequisites
- To access the API, the user must be assigned a role of Administrator, Supervisor, or Agent in the Genesys Configuration system. For details, see Configuring Roles for Recording Users. The Genesys Interaction Recording API uses Basic HTTP Authentication. See RFC 2617 section 2 for reference.
- Enable the Local Decrypt URI Prefix. Refer to Local Decrypt URI Prefix for Call Recording and Screen Recording.
Parameters
The path /recordings/{recordingId}/decrypt/{mediaUUID}.mp3 is sourced from the recording.mediaFiles[].playPath property in a successful response to GET /recordings/{recordingId}, described in the Get Recording by ID API section.
Parameter | Mandatory | Value |
---|---|---|
recordingId | Yes | The ID of the call recording to retrieve. |
mediaUUID | Yes | The UUID of the media file to retrieve. |
Response
HTTP Status Code | Reason | Response Model |
---|---|---|
200 | The requested call recording media file was decrypted and retrieved successfully. | statusCode: Indicates whether the request was correctly handled. It returns 0 if the response was correctly handled by the server, and other values if it was not correctly handled by the server. See Return Values for details. |
403 | Forbidden to get the requested recording. | |
404 | The specified recording or media file cannot be accessed. | |
500 | An error occurred during the decryption and retrieval of the call recording media file. |
Delete Recording by ID API
This request deletes a specific call recording along with its associated screen recordings and all the media files.
Request URL | /api/v2/recordings/{recordingId} |
---|---|
HTTP Method | DELETE |
Required Features | N/A |
Prerequisites
To access the API, the user must be assigned a role of Administrator in the Genesys Configuration system. For details, see Configuring Roles for Recording Users. The Genesys Interaction Recording API uses Basic HTTP Authentication. See RFC 2617 section 2 for reference.
Parameters
Parameter | Mandatory | Value |
---|---|---|
recordingId | Yes | The ID of the call recording to delete. |
Response
HTTP Status Code | Reason | Response Model |
---|---|---|
200 | The call recording along with its associated screen recordings, and all their media files, were deleted successfully. | statusCode: Indicates whether the request was correctly handled. It returns 0 if the response was correctly handled by the server, and other values if it was not correctly handled by the server. See Return Values for details. |
403 | Forbidden to delete the requested recording. | |
404 | The recording to delete cannot be found. | |
500 | An error occurred during the deletion of a call recording, its associated screen recordings, or the media files. | |
503 | The recording database is read-only and therefore a call recording and its associated screen recordings cannot be deleted. |