Revision as of 00:28, February 17, 2017 by Sschlich (talk | contribs) (Response)
Jump to: navigation, search

Recording Label APIs

ENTIRE PAGE IS NEW

The following APIs are accessible at the base path /api/v2
For example, http://localhost:8080/api/v2/recordings<recid>

Pre-requisite

Set Elasticsearch schema v2 in Interaction Recording Web Services, to enable it to use labels and non-deletion features. For existing deployments, follow the migration steps here: Migrating an Existing Elasticsearch Deployment to Schema V2). New deployments after GIR version 8.5.2xx.xx (TBD) will have Elasticsearch schema v2 enabled by default.

Permissions

See: Configuring Permissions for Recording Labels

Overview

Use this API to create and administer label definitions and label recordings.
A Label Definition provides the basic definition of a label, with a name, displayName and description.
A Label can then be added to a voice recording by referring to the name of the label definition.

Name???

Request URL /recordings/{id}
HTTP method POST
Required features schema-elasticsearch-v2-call-recording

schema-elasticsearch-v2-screen-recording


Payload
Attribute 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.

Label Definitions

Creating Label Definitions

Request URL /api/v2/recording-label-definitions
HTTP method POST
Required Features: Roles: Supervisor, Agent

Permissions: RECORDING_PERMISSION_ADD_LABEL_DEFINITION


Payload
Attributes JSON Data Type Mandatory Possible Values Default Value Description Notes
name String yes N/A The name of the label definition
  • Is case-sensitive
  • Must only contain ASCII characters
  • Must be unique among other label definitions
  • Must not start with two underscores("__") as it is reserved
displayName String no defaults to the value of name The display name of the label definition
description String no empty string The description of the label definition


Example

{
        "name": "SomeLabelDefinition",
        "displayName": "New Label Definition",
        "description": "A new label definition"
 }

Response

HTTP Status
Status Codes Situations Notes
201 CREATED The label definition was created successfully
400 BAD REQUEST Bad Request received
403 FORBIDDEN Forbidden to create the label definition
409 CONFLICT The label definition was not created as one with the same name exists already


Payload
Attributes JSON Data Type Mandatory Possible Values Default Value Situations Notes
statusCode Integer yes 0 N/A label definition was created
1 (RequiredParameterMissing) If the required payload attributes are missing
2 (InvalidRequestParameter) If the constraints of payload attributes are not met
3 (OperationForbidden) If the requesting user does not have the permissions required or is attempting to create with reserved name
5 (Unauthorized) If the requesting user does not have the roles required
18 (ResourceAlreadyExists) If a label definition with the same name exists already
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.
labelDefinition JSON object no JSON object containing the label definition
  • path (string): The path to the resource
  • name (string): The name of the label definition
  • displayName (string, optional): The display name of the label definition
  • description (string, optional): The description of the label definition
N/A The newly created label definition or existing one in case of attempt to create an already existing one.

Examples

{
	"statusCode": 0,
	"labelDefinition": {
		"path": "/recording-label-definitions/2365adc7-67bb-448e-b32d-04731faa9231",
		"name": "SomeLabelDefinition",
		"displayName": "New Label Definition",
		"description": "A new label definition"
	}
}
{
	"statusCode": 2,
	"statusMessage": "Invalid value specified."
}
{
	"statusCode": 3,
	"statusMessage": "This operation is not allowed."
}
{
	"statusCode": 18,
	"statusMessage": "Resource exists already",
	"labelDefinition": {
		"path": "/recording-label-definitions/a6a6f1d9-788a-47b4-bdeb-80b3d598cfa6",
		"name": "ExistingLabelDefinition",
		"displayName": "Existing Label Definition",
		"description": "An existing label definition"
	}
}

Comments or questions about this documentation? Contact us for support!