Non-Deletion API
Non-Deletion Create a new section titled Recording Non-Deletion APIs at this page: https://docs.genesys.com/Documentation/CR/DRAFT/API/GIR
Add a new API definition to Interaction Recording Web Services API:
Non-Deletion Label API - Use this API to tag and untag recordings for non-deletion.
Create a new page titled Non-Deletion API which will be under the Interaction Recording Web Services API on the left nav bar to document Non-Deletion APIs described below..
Add a Note:
The following APIs are accessible at the base path /api/v2
For example, http://localhost:8080/api/v2/recordings<recid>
Put at the beginning of new page Non-Deletion API, right after the Pre-requisites.
Recordings can be tagged for non-deletion. This affects Media Life Cycle Management purge tasks where the voice and associated screen recordings which are tagged for non-deletion will be excluded from the purge tasks. The SpeechMiner UI users will also not be able to delete recordings which have been tagged for non-deletion. To enable the deletion of the recordings, you will need to remove the non-deletion tag from the recordings.
Note: For voice recordings which have associated screen recordings, tagging or untagging the voice recording for non-deletion will also tag/untag the associated screen recordings.
Permissions
Add a section here: https://docs.genesys.com/Documentation/CR/DRAFT/Solution/Permissions, titled "Configuring permissions for Recording Labels".
Configuring permissions for Non-Deletion
Recordings can be tagged for non-deletion after reviewing.
The recording permissions are configured using Genesys Administrator Extension, in the Configuration Manager view, the IRWS_Cluster (or WS_Cluster where applicable) application object, Agent Group object (if applicable) or the Person object. To enable recording permissions, do the following: Non-Deletion operations on a Recording 1. Add a new recording settings group to the Annex/Application options group for the IRWS_Cluster (or WS_Cluster where applicable) application object, or update the existing recording group. For details, refer to Genesys Administrator Extension User Guide > Configuration Manager and https://docs.genesys.com/Documentation/CR/DRAFT/Solution/IRWSInstall. 2. Configure one or all of the following options in the recording settings as follows
[recording] RECORDING_PERMISSION_APPLY_NON_DELETE = true RECORDING_PERMISSION_UNAPPLY_NON_DELETE = true The options settings are applied in the following order: 1. Default settings that are defined in the application code, which are overridden by: 2. Settings that are specified in the Application, which are overridden by: 3. Settings that are specified in the Agent Group(s) to which an agent belongs, which are overridden by: 4. Settings that are specified in the Person object that corresponds to the agent.
The following permissions are required to allow users of type supervisor or agent to be able to access and use the different non-deletion operations.
Permission Description Applies to Checks against RECORDING_PERMISSION_APPLY_NON_DELETE Permission to set a recording to not be deleted • Supervisor • Agent RECORDING_PERMISSION_UNAPPLY_NON_DELETE Permission to remove non delete from a recording • Supervisor • Agent
Method Path Required Roles Required Recording Permissions
POST /recordings/<recid> CC Admin N/A
• Supervisor
• Agent RECORDING_PERMISSION_APPLY_NON_DELETE
Create a link to https://docs.genesys.com/Documentation/CR/DRAFT/Solution/Permissions
Payload Attributes JSON Data Type Mandatory Possible Values Default Value Description Notes operationName String yes applyNonDelete N/A Mark a recording for non-deletion. • if it is for a voice recording, all the associated screen recordings at the time of the operation will also be updated. Apply Non-Deletion to a Recording Mark voice recording for non-deletion
- Mark voice recording d15a8bee-a720-4def-9674-0767e6fde196 and its screen recordings(if any) for non-deletion
POST /recordings/d15a8bee-a720-4def-9674-0767e6fde196 {
"operationName" : "applyNonDelete"
}
Response HTTP Status Status Codes Situations Notes 200 OK the recording(s) has been marked for non-deletion successfully. 400 BAD REQUEST if the operationName does not match any of the possible values described above. 403 FORBIDDEN • if the requesting user does not have the roles required; • if the requesting user does not have the recording permissions required. 404 NOT FOUND if the recording for which to mark non-deletion cannot be found; 500 INTERNAL SERVER ERROR If internal error occurs. Payload Attributes JSON Data Type Mandatory Possible Values Default Value Situations Notes statusCode Integer yes 0 (Ok) N/A the recording has been marked for non-deletion. 2 (InvalidRequestParameter) if the operationName does not match the above-mentioned operations 3 (OperationForbidden) if the requesting user does not have the recording permissions required. 4 (InternalError) If internal error occurs. 5 (Unauthorized) If the requesting user does not have the roles required. 6 (ResourceNotFound) If the recording for which to mark non-deletion cannot be found. statusMessage String no • not specified; • a message providing information N/A The statusMessage will provide more information about a failure if statusCode is not 0. Response when one recording is requested
200 OK {
"statusCode" : 0
}
400 BAD REQUEST {
"statusCode" : 2,
"statusMessage" : "Parameter 'operationName' is invalid: The specified value is not within valid range"
}
403 FORBIDDEN {
"statusCode" : 5,
"statusMessage" : "Insufficient user roles."
}
403 FORBIDDEN {
"statusCode" : 3,
"statusMessage" : "Insufficient recording permissions."
}
404 NOT FOUND {
"statusCode" : 6,
"statusMessage" : "Requested recording [f2197c79-3304-4427-9e73-48a5a8903484] cannot be found."
}
500 INTERNAL SERVER ERROR {
"statusCode" : 4,
"statusMessage" : "Internal server error - please contact administrator."
}
Marking a Call Recording Marking a call recording for non-deletion will also mark its associated screen recordings as well. Either all the call and screen recordings or none of them are marked for non-delete after the operation. Un-Apply Non-Deletion to a Recording Unmark a Single Recording From Non-Deletion Request Method Path Required Roles Required Recording Permissions POST /recordings/<recid> CC Admin N/A • Supervisor • Agent RECORDING_PERMISSION_UNAPPLY_NON_DELETE Create a link to https://docs.genesys.com/Documentation/CR/DRAFT/Solution/Permissions
Payload Attributes JSON Data Type Mandatory Possible Values Default Value Description Notes operationName String yes unapplyNonDelete N/A Unmark a recording for non-deletion • for a voice recording, all the associated screen recordings at the time of the operation will also be updated. Unmark voice recording for non-deletion
- Unmark voice recording d15a8bee-a720-4def-9674-0767e6fde196 and its screen recordings(if any) for non-deletion
POST /recordings/d15a8bee-a720-4def-9674-0767e6fde196 {
"operationName" : "unapplyNonDelete"
}
Response HTTP Status Status Codes Situations Notes 200 OK the recording(s) has been unmarked for non-deletion successfully. 400 BAD REQUEST the operationName does not match any of the possible values described above. 403 FORBIDDEN • the requesting user does not have the roles required; • the requesting user does not have the recording permissions required. 404 NOT FOUND the recording for which to unmark non-deletion cannot be found. 500 INTERNAL SERVER ERROR An internal error occurs. Payload Attributes JSON Data Type Mandatory Possible Values Default Value Situations Notes statusCode Integer yes 0 (Ok) N/A the recording has been unmarked for non-deletion. 2 (InvalidRequestParameter) If the operationName does not match any of the possible values described above. 3 (OperationForbidden) If the requesting user does not have the recording permissions required. 4 (InternalError) If internal error occurs. 5 (Unauthorized) If the requesting user does not have the roles required. 6 (ResourceNotFound) If the recording for which to unmark non-deletion cannot be found. statusMessage String no • not specified; • a message providing information N/A The statusMessage will provide more information about a failure if statusCode is not 0. Response when one recording is requested
200 OK
{
"statusCode" : 0
}
400 BAD REQUEST
{
"statusCode" : 2,
"statusMessage" : "Parameter 'operationName' is invalid: The specified value is not within valid range"
}
403 FORBIDDEN
{
"statusCode" : 5,
"statusMessage" : "Insufficient user roles."
}
403 FORBIDDEN
{
"statusCode" : 3,
"statusMessage" : "Insufficient recording permissions."
}
404 NOT FOUND
{
"statusCode" : 6,
"statusMessage" : "Requested recording [f2197c79-3304-4427-9e73-48a5a8903484] cannot be found."
}
500 INTERNAL SERVER ERROR
{
"statusCode" : 4,
"statusMessage" : "Internal server error - please contact administrator."
}