Alvaria Cloud Quality REST API v2.0/3.0
Scroll down for code samples, example requests and responses. Select a language for code samples from the tabs above or the mobile navigation menu.
Overview
Alvaria™ Cloud Quality REST APIs are grouped into two categories:
Recordings
Recordings APIs enable developers to retrieve recording metadata and signed URLs pointing to media files. The signed URLs give clients time-limited access (default is one hour) to recording media files, which are in native storage format with no transcoding performed prior to download. Alvaria™ Cloud Quality APIs support recordings for the following media channel types:
- voice
- chat
- sms
- screen
Recording Control
Recording Control APIs enable developers to pause/resume a recording and retrieve the recording status of an interaction based on the interaction Id
Notes:
V2 endpoints are being deprecated by Alvaria, please move your applications to V3 replacement endpoints before end of support.
Following are the key differences between V2 and V3 endpoints:
- V3 recordings endpoint returns RecordingMetadataCollection instead of RecordingMetadata
- V3 media endpoint returns RecordingMetadataCollection instead of RecordingMedia
- Replace schema definition WorkType with WorkTypeV3
- Replace schema definition Switch with SwitchV3
- Replace schema definition Chat with ChatV3
- Replace schema definition EmailAddress with EmailAddressV3
Base URLs:
License: License: Creative Commons Attribution 4.0 International Public License
Authentication
-
oAuth2 authentication.
- Flow: client crendentials
- Authorization URL = https://myaspect.{region}.id.aspect-cloud.net/tokenservice/oauth2/access_token
Scope | Scope Description |
---|---|
qualityapi.recordings | manages the recording resource |
qualityapi.recordingcommands | manages the recording control resource |
qualityapi.evaluations | manages the evaluation resource |
Recordings
Retrieve Recordings
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings?beginTime=2019-08-24T14%3A15%3A22Z \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings?beginTime=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings?beginTime=2019-08-24T14%3A15%3A22Z HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/quality/recordings
Retrieves a list of recordings.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
beginTime | query | string(date-time) | true | Beginning date and time of the search range, specified in ISO 8601 format and in UTC time zone |
endTime | query | string(date-time) | false | End date and time of the search range, specified in ISO 8601 format and in UTC time zone |
maxResults | query | integer(int32) | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
canSpeechMonitor | query | boolean | false | Records to return based on speech monitoring setting of associated Agent. When this parameter is not specified or parameter with value true is specified, returns records of only speech enabled agents. When value false is specified returns all agent records. |
searchByEndDateTime | query | boolean | false | Records to return based on end datetime of the interaction it the value set as true. When this parameter is not specified or parameter with value false is specified, will return the data based on begin time. |
channelType | query | string | false | Records to return based on their channel type. |
workType | query | string | false | Records to return based on their work type, using name or unique identifier. |
teamId | query | string | false | Records to return based on the team the user associated with the interaction belongs to, using team name or the team's unique identifier. The team's unique identifier can be acquired through the provisioning API. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Enumerated Values
Parameter | Value |
---|---|
channelType | VoiceAndScreen |
channelType | ScreenOnly |
channelType | VoiceOnly |
channelType | AllVoice |
channelType | |
channelType | Chat |
channelType | SMS |
channelType | Task |
channelType | VoiceMail |
channelType | Unknown |
Example responses
200 Response
{
"kind": "via#recordingMetadataList",
"recordingMetadataItems": [
{
"status": "Current",
"channelType": "VoiceOnly",
"ani": null,
"voiceFileStatus": "Available",
"customInformation": [
{
"displayName": "Disposition Code",
"value": "DispositionCode"
}
],
"orgId": "customerName",
"dnis": null,
"endTime": "2020-05-01T23:28:35Z",
"station": null,
"holdCount": 0,
"callLegId": 42,
"recordingId": "f5581241-1d33-41c0-b0f9-f96911c1d03f",
"initialWorkType": null,
"maximumHoldDuration": 0,
"parentRecordingId": "f5581241-1d33-41c0-b0f9-f96911c1d03f",
"recordingReasons": {
"user": false,
"api": false,
"logging": false,
"parent": false,
"rule": false
},
"relatedRecordingIds": null,
"screenCaptureFileStatus": 0,
"startTime": "2020-05-01T23:28:35Z",
"switch": {
"switchType": "AspectUnifiedIp",
"switchName": "pats"
},
"takenWorkType": {
"interactionType": "Email",
"workTypeName": "EmailTeam"
},
"user": {
"firstName": "firstName",
"lastName": "lastName",
"email": "name@example.com",
"teamName": "teamName"
},
"totalHoldDuration": 0,
"interactionType": "Email",
"umId": "01-0010010000-200501-232819878-00001",
"email": {
"state": 1,
"sentTime": "2020-05-01T23:28:35Z",
"subject": "Test Message",
"sender": "name@example.com"
},
"chat": null,
"sms": null
}
],
"totalItems": 1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingMetadataCollection |
206 | Partial Content | Partial Content | RecordingMetadataCollection |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Retrieve Recordings By Id
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
const fetch = require('node-fetch');
const inputBody = {
"recordingIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
POST /via/v3/organizations/{orgId}/quality/recordings
Retrieves a list of recordings for the provided recording IDs.
Body parameter
{
"recordingIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
body | body | RecordingIds | true | List of Alvaria-generated unique identifiers for the desired recording instances. |
Example responses
200 Response
{
"kind": "via#recordingMetadataList",
"recordingMetadataItems": [
{
"status": "Current",
"channelType": "VoiceOnly",
"ani": null,
"voiceFileStatus": "Available",
"customInformation": [
{
"displayName": "Disposition Code",
"value": "DispositionCode"
}
],
"orgId": "customerName",
"dnis": null,
"endTime": "2020-05-01T23:28:35Z",
"station": null,
"holdCount": 0,
"callLegId": 42,
"recordingId": "f5581241-1d33-41c0-b0f9-f96911c1d03f",
"initialWorkType": null,
"maximumHoldDuration": 0,
"parentRecordingId": "f5581241-1d33-41c0-b0f9-f96911c1d03f",
"recordingReasons": {
"user": false,
"api": false,
"logging": false,
"parent": false,
"rule": false
},
"relatedRecordingIds": null,
"screenCaptureFileStatus": 0,
"startTime": "2020-05-01T23:28:35Z",
"switch": {
"switchType": "AspectUnifiedIp",
"switchName": "pats"
},
"takenWorkType": {
"interactionType": "Email",
"workTypeName": "EmailTeam"
},
"user": {
"firstName": "firstName",
"lastName": "lastName",
"email": "name@example.com",
"teamName": "teamName"
},
"totalHoldDuration": 0,
"interactionType": "Email",
"umId": "01-0010010000-200501-232819878-00001",
"email": {
"state": 1,
"sentTime": "2020-05-01T23:28:35Z",
"subject": "Test Message",
"sender": "name@example.com"
},
"chat": null,
"sms": null
}
],
"totalItems": 1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingMetadataCollection |
206 | Partial Content | Partial Content | RecordingMetadataCollection |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Retrieve Media Handles
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/media \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/media',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/media HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/quality/recordings/{recordingId}/media
Retrieves media for a recording.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
recordingId | path | string(uuid) | true | Alvaria-generated unique identifier for a recording instance. The ID is determined by using the GET /recordings endpoint |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#recordingMediaList",
"mediaItems": [
{
"channelType": "voice",
"handle": "https://example.aspect-cloud.net/s3/example.s3.amazonaws.com/path/0000-19851005-101458/aqm00_0000_0000_0000.wav?X-Amz-Expires=1800&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=0000000000000000/20171005/us-east-1/s3/aws4_request&X-Amz-Date=19851005T151458Z&X-Amz-SignedHeaders=host;x-amz-server-side-encryption;x-amz-server-side-encryption-aws-kms-key-id&X-Amz-Signature=0000000000000000000000000000000000000000000000000000000000000000"
}
],
"totalItems": 1
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingMediaCollection |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Retrieve Recording ID
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/recordingId?interactionLegId=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/recordingId?interactionLegId=string',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/recordingId?interactionLegId=string HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
GET /via/v3/organizations/{orgId}/quality/recordings/recordingId
Retrieve the unique identifier for a particular recording.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
interactionLegId | query | string | true | The unique identifier of the interaction from the telephony system. Example: 8570.1220 |
Example responses
200 Response
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | string |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Update Custom Information
Code samples
# You can also use wget
curl -X PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation?customInfoKey=string&customInfoValue=string \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation?customInfoKey=string&customInfoValue=string',
{
method: 'PUT',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
PUT https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation?customInfoKey=string&customInfoValue=string HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
PUT /via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation
Updates a custom information value for a given media item.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
recordingId | path | string(uuid) | true | Alvaria generated unique identifier of the recording. |
customInfoKey | query | string | true | The key name of the custom information to update. |
customInfoValue | query | string | true | The value being updated for the given custom information key. |
Detailed descriptions
recordingId: Alvaria generated unique identifier of the recording. Can be obtained from the recordingId end point.
Example responses
400 Response
{
"code": 404,
"message": "not found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Add Custom Information
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
const fetch = require('node-fetch');
const inputBody = {
"customInformation": [
{
"displayName": "Disposition Code",
"value": "Complete"
}
]
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'Bearer {access-token}'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
POST /via/v3/organizations/{orgId}/quality/recordings/{recordingId}/customInformation
Adds one or more custom information key-value pairs for a given media item.
Body parameter
{
"customInformation": [
{
"displayName": "Disposition Code",
"value": "Complete"
}
]
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
recordingId | path | string(uuid) | true | Alvaria generated unique identifier of the recording. |
body | body | AddCustomInformation | true | List of custom information key-value pairs. |
Detailed descriptions
recordingId: Alvaria generated unique identifier of the recording. Can be obtained from the recordingId end point.
Example responses
400 Response
{
"code": 404,
"message": "not found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | None |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Evaluations
Retrieve Scorecard Templates
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/evaluations/scorecardtemplates \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"scorecardTemplateIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"includeInactiveScorecardTemplates": true,
"includeIncompleteScorecardTemplates": true,
"scorecardTemplateName": "Template 01"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/evaluations/scorecardtemplates',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/evaluations/scorecardtemplates HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/quality/evaluations/scorecardtemplates
Retrieve the metadata for a given set of scorecard templates.
Body parameter
{
"scorecardTemplateIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"includeInactiveScorecardTemplates": true,
"includeIncompleteScorecardTemplates": true,
"scorecardTemplateName": "Template 01"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
body | body | GetScorecardTemplatesParmsSchema | true | none |
Example responses
200 Response
{
"kind": "via#ScorecardTemplateMetadataList",
"scorecardTemplateMetadata": [
{
"defaultResponse": "None",
"name": "My Favorite Scorecard Template",
"description": "This is my favorite scorecard template",
"creationDate": "2023-09-21T15:43:16.989Z",
"overallScoreDisplay": "PercentageScoreAndPassFail",
"isUsed": true,
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"maximumScore": 100,
"minimumScore": 50,
"questionScoresDisplay": "PercentageScoreAndPassFail",
"sectionScoresDisplay": "PercentageScoreAndPassFail",
"siteId": "4e454f92-b43d-ed11-abbf-1234887b2b15",
"status": "Active",
"displayQuestionNumber": true,
"isComplete": true,
"isLegacyTemplate": true,
"isUsedByReports": true,
"isUsedByCalibration": true,
"ownerUserId": "00000000-0000-0000-05a3-727a88db4edd",
"ownerUserName": "Doe, John",
"weightForNotApplicableAnswerChoice": "None",
"Sections": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"name": "My Favorite Scorecard Template Section",
"description": "This is my favorite scorecard template Section",
"number": 3,
"weight": 2,
"enableComments": true,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": [
{}
]
}
]
}
]
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ScorecardTemplateMetadataCollection |
206 | Partial Content | Partial Content | ScorecardTemplateMetadataCollection |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Retrieve Scorecard Metadata
Code samples
# You can also use wget
curl -X GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/evaluations/scorecards?beginTime=2019-08-24T14%3A15%3A22Z \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const headers = {
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/evaluations/scorecards?beginTime=2019-08-24T14%3A15%3A22Z',
{
method: 'GET',
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
GET https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/evaluations/scorecards?beginTime=2019-08-24T14%3A15%3A22Z HTTP/1.1
Host: orgid.via.aspect-cloud.net
Accept: application/json
Authorization: string
x-api-key: string
GET /via/v3/organizations/{orgId}/quality/evaluations/scorecards
Retrieve the metadata for scorecards created in a selected date range.
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
beginTime | query | string(date-time) | true | Beginning date and time of the search range, specified in ISO 8601 format and in UTC time zone |
endTime | query | string(date-time) | false | End date and time of the search range, specified in ISO 8601 format and in UTC time zone |
maxResults | query | integer(int32) | false | Maximum results. This is used to specify the maximum number of records to return in the result set. You can use this to set a result set limit that is less than the system/API-specific limit. |
startIndex | query | integer(int32) | false | The start index specifies the the beginning record for the result set. This is a zero based value. This can be used in conjuction with maxResults to return a specific range of items within a result set. |
includeTraining | query | boolean | false | specifies whether to include training scorecards in the search results. |
includeIncompleteScorecards | query | boolean | false | specifies whether to include incomplete scorecards in the search results. |
scorecardTemplateId | query | string(uuid) | false | Alvaria-generated unique identifier for a scorecard template. If provided, results will be limited to scorecards using the scorecard template corresponding to the specified ID. |
evaluator | query | string | false | Filter results based on the evaluator or creator of the scorecard, using the username or unique identifier. |
agent | query | string | false | Filter results based on the agent the scorecard is evaluated against, using the username or unique identifier. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
Example responses
200 Response
{
"kind": "via#ScorecardMetadataList",
"scorecardMetadataItems": [
{
"agentReview": true,
"createdOn": "2023-09-21T15:43:16.989Z",
"creatorId": "00000000-0000-0000-0551-ee275caacb9c",
"failed": false,
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"asCreatedDuringTransitoryAccess": false,
"lastUpdatedOn": "2023-011-21T15:43:16.989Z",
"mediaId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"peerReview": false,
"percentScore": 100,
"pointScore": 10,
"reviewedByRecordedAgent": false,
"status": "Incomplete",
"teamReview": false,
"templateId": "8506aeb2-bf54-4630-81f6-d8c161d78959",
"templateName": "My_Favorite_Scorecard_Template_01",
"trainingScore": true,
"updateUserId": "00000000-0000-0000-05a3-727a88db4edd",
"coaching": true,
"calibrationReview": false,
"maxWeightedScore": 20,
"coachingId": 27,
"creatorUsername": "Doe, John",
"updatedUsername": "Doe, John",
"canEmail": true,
"agentId": "00000000-0000-0000-05a3-727a88db4edd",
"agentUsername": "Doe, John",
"notes": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"text": "This is a scorecard note"
}
],
"comments": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"userId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"modifiedDate": "2023-011-21T15:43:16.989Z",
"text": "This is a scorecard comment",
"commentIndex": 5
}
],
"sectionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"failed": true,
"comment": "This is a comment",
"sectionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"pointScore": 10,
"weightedScore": 10,
"maxWeightedScore": 20,
"questionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"questionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"pointScore": 10,
"failed": true,
"comment": "This is a comment",
"textAnswer": "This is an answer",
"selectedOptions": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"optionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426"
}
]
}
]
}
]
}
]
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | ScorecardMetadataCollection |
206 | Partial Content | Partial Content | ScorecardMetadataCollection |
400 | Bad Request | Bad Request | ErrorResponse |
401 | Unauthorized | Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
410 | Gone | Gone | ErrorResponse |
422 | Unprocessable Entity | Unprocessable Entity | ErrorResponse |
429 | Too Many Requests | Too Many Requests | ErrorResponse |
500 | Internal Server Error | Internal Server Error | ErrorResponse |
503 | Service Unavailable | Service Unavailable | ErrorResponse |
Recording Control
Pause Recording
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/pause \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"pauseAudio": "true",
"pauseScreen": "true",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/pause',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/pause HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/quality/recordings/pause
Pause Recording associated with an agent
Body parameter
{
"pauseAudio": "true",
"pauseScreen": "true",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage. |
body | body | PauseRecordingParmsSchema | true | none |
Example responses
200 Response
{
"status": "Success"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingControlResponseSchema |
400 | Bad Request | Client Error - Bad Request | ErrorResponse |
401 | Unauthorized | Client Error - Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Client Error - Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
500 | Internal Server Error | Server Error - Internal Server Error | ErrorResponse |
503 | Service Unavailable | Server Error - Service Unavailable | ErrorResponse |
Resume Recording
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/resume \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/resume',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/resume HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/quality/recordings/resume
Resume Recording associated with an agent
Body parameter
{
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage. |
body | body | ResumeRecordingParmsSchema | true | none |
Example responses
200 Response
{
"status": "Success"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingControlResponseSchema |
400 | Bad Request | Client Error - Bad Request | ErrorResponse |
401 | Unauthorized | Client Error - Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Client Error - Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
500 | Internal Server Error | Server Error - Internal Server Error | ErrorResponse |
503 | Service Unavailable | Server Error - Service Unavailable | ErrorResponse |
Get Recording Status
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/status \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"interactionId": "1000",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"retrieveScreenRecordingStatus": "true",
"switchName": "customername"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/status',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/status HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/quality/recordings/status
Retrieve Recording status of an interaction based on the agent and interaction Id
Body parameter
{
"interactionId": "1000",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"retrieveScreenRecordingStatus": "true",
"switchName": "customername"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage |
body | body | RecordingStatusParmsSchema | true | none |
Example responses
200 Response
{
"status": "Success"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingControlResponseSchema |
400 | Bad Request | Client Error - Bad Request | ErrorResponse |
401 | Unauthorized | Client Error - Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Client Error - Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
500 | Internal Server Error | Server Error - Internal Server Error | ErrorResponse |
503 | Service Unavailable | Server Error - Service Unavailable | ErrorResponse |
Start Recording
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/start \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"recordAudio": "true",
"recordScreen": "true",
"recordReason": "auditing purposes",
"maxDuration": 120,
"interactionType": "InboundQueuedCall",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/start',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/start HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/quality/recordings/start
Start recording associated with an agent
Body parameter
{
"recordAudio": "true",
"recordScreen": "true",
"recordReason": "auditing purposes",
"maxDuration": 120,
"interactionType": "InboundQueuedCall",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage. |
body | body | StartRecordingParmsSchema | true | none |
Example responses
200 Response
{
"status": "Success"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingControlResponseSchema |
400 | Bad Request | Client Error - Bad Request | ErrorResponse |
401 | Unauthorized | Client Error - Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Client Error - Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
500 | Internal Server Error | Server Error - Internal Server Error | ErrorResponse |
503 | Service Unavailable | Server Error - Service Unavailable | ErrorResponse |
Stop Recording
Code samples
# You can also use wget
curl -X POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/stop \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: string' \
-H 'x-api-key: string'
const fetch = require('node-fetch');
const inputBody = {
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
};
const headers = {
'Content-Type':'application/json',
'Accept':'application/json',
'Authorization':'string',
'x-api-key':'string'
};
fetch('https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/stop',
{
method: 'POST',
body: JSON.stringify(inputBody),
headers: headers
})
.then(function(res) {
return res.json();
}).then(function(body) {
console.log(body);
});
POST https://orgId.via.aspect-cloud.net/via/v3/organizations/{orgId}/quality/recordings/stop HTTP/1.1
Host: orgid.via.aspect-cloud.net
Content-Type: application/json
Accept: application/json
Authorization: string
x-api-key: string
POST /via/v3/organizations/{orgId}/quality/recordings/stop
Stop recording associated with an agent
Body parameter
{
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Parameters
Name | In | Type | Required | Description |
---|---|---|---|---|
orgId | path | string | true | Alvaria-generated unique identifier for the organization. |
Authorization | header | string | true | Authentication token with the value: 'Bearer {accessToken}', where {accessToken} was returned from a call to the authorization endpoint. |
x-api-key | header | string | true | Alvaria-provided value used to track API endpoint usage. |
body | body | StopRecordingParmsSchema | true | none |
Example responses
200 Response
{
"status": "Success"
}
Responses
Status | Meaning | Description | Schema |
---|---|---|---|
200 | OK | OK | RecordingControlResponseSchema |
400 | Bad Request | Client Error - Bad Request | ErrorResponse |
401 | Unauthorized | Client Error - Unauthorized | None |
404 | Not Found | Not Found | ErrorResponse |
405 | Method Not Allowed | Client Error - Method Not Allowed | ErrorResponse |
408 | Request Timeout | Request Timeout | ErrorResponse |
500 | Internal Server Error | Server Error - Internal Server Error | ErrorResponse |
503 | Service Unavailable | Server Error - Service Unavailable | ErrorResponse |
Schemas
RecordingMetadataCollection
{
"kind": "via#recordingMetadataList",
"recordingMetadataItems": [
{
"status": "Current",
"channelType": "VoiceOnly",
"ani": null,
"voiceFileStatus": "Available",
"customInformation": [
{
"displayName": "Disposition Code",
"value": "DispositionCode"
}
],
"orgId": "customerName",
"dnis": null,
"endTime": "2020-05-01T23:28:35Z",
"station": null,
"holdCount": 0,
"callLegId": 42,
"recordingId": "f5581241-1d33-41c0-b0f9-f96911c1d03f",
"initialWorkType": null,
"maximumHoldDuration": 0,
"parentRecordingId": "f5581241-1d33-41c0-b0f9-f96911c1d03f",
"recordingReasons": {
"user": false,
"api": false,
"logging": false,
"parent": false,
"rule": false
},
"relatedRecordingIds": null,
"screenCaptureFileStatus": 0,
"startTime": "2020-05-01T23:28:35Z",
"switch": {
"switchType": "AspectUnifiedIp",
"switchName": "pats"
},
"takenWorkType": {
"interactionType": "Email",
"workTypeName": "EmailTeam"
},
"user": {
"firstName": "firstName",
"lastName": "lastName",
"email": "name@example.com",
"teamName": "teamName"
},
"totalHoldDuration": 0,
"interactionType": "Email",
"umId": "01-0010010000-200501-232819878-00001",
"email": {
"state": 1,
"sentTime": "2020-05-01T23:28:35Z",
"subject": "Test Message",
"sender": "name@example.com"
},
"chat": null,
"sms": null
}
],
"totalItems": 1
}
Recording metadata collection
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results. |
recordingMetadataItems | [RecordingMetadataV3] | false | none | [Recording metadata] |
totalItems | integer | false | none | The total number of Entity instances existing in the system. |
RecordingMetadata
{
"ani": 1200,
"customInformation": [
{
"displayName": "Disposition Code",
"value": "Complete"
}
],
"orgId": "customername",
"channelType": "VoiceOnly",
"dnis": 1200,
"endTime": "2017-10-19T16:09:58Z",
"holdCount": 0,
"initialWorkType": {
"interactionType": "InboundQueuedCall",
"name": "Support"
},
"callLegId": 151,
"interactionType": "InboundQueuedCall",
"recordingId": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"maximumHoldTime": 15,
"parentRecordingId": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"recordingReasons": {
"user": true,
"api": false,
"logging": false,
"parent": false,
"rule": false
},
"relatedRecordingIds": [
"c7725e34-a029-4618-aa9f-6c9c568b7fdb"
],
"screenCaptureFileStatus": "Available",
"startTime": "2017-10-19T16:09:58Z",
"station": 1000,
"status": "Current",
"switch": {
"name": "uip",
"type": "AspectUnifiedIp"
},
"takenWorkType": {
"interactionType": "InboundQueuedCall",
"name": "Support"
},
"user": {
"firstName": "firstName",
"lastName": "lastname",
"email": "user@example.com",
"teamName": "teamname"
},
"voiceFileStatus": "Available",
"totalHoldTime": 5,
"umId": "01-0010010000-200504-163852416-00001",
"email": {
"sentTime": "2017-10-19T16:09:58Z",
"state": "Original",
"subject": "Subject",
"sender": "user@example.com"
},
"chat": {
"customer": {
"emailAddress": {
"email": "user@example.com",
"name": "emailname"
},
"id": 3,
"name": "name"
},
"messageCount": 10,
"attachmentCount": 1
},
"sms": {
"messageCount": 10,
"ani": 1200,
"dnis": 1200
}
}
Recording metadata
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ani | string | false | none | ANI of the recorded interaction |
customInformation | [CustomInformation] | false | none | Custom information of the recorded interaction |
orgId | string | false | none | Alvaria-generated unique identifier for the organization |
channelType | string | false | none | Channel type of the recorded interaction |
dnis | string | false | none | DNIS of the recorded interaction |
endTime | string(date-time) | false | none | End date and time of a recording, specified in ISO 8601 format. |
holdCount | integer(int32) | false | none | How many times the interaction has been put on hold on the recording |
initialWorkType | WorkType | false | none | Work type associated with the interaction |
callLegId | string | false | none | Alvaria-generated unique identifier for the call leg |
interactionType | string | false | none | Interaction type |
recordingId | string(uuid) | false | none | Alvaria-generated unique identifier for the recording instance |
maximumHoldTime | integer(int32) | false | none | Maximum hold time of the recording(in seconds) |
parentRecordingId | string(uuid) | false | none | Alvaria-generated unique identifier for the parent recording |
recordingReasons | RecordingReasons | false | none | Recording reasons for an interaction |
relatedRecordingIds | [string] | false | none | Alvaria-generated unique identifiers for related recording IDs. |
screenCaptureFileStatus | string | false | none | File status for screen recording |
startTime | string(date-time) | false | none | Start time of a recording, specified in ISO 8601 format. |
station | string | false | none | Station of the recorded interaction |
status | string | false | none | status of an interaction |
switch | Switch | false | none | Switch definition |
takenWorkType | WorkType | false | none | Work type associated with the interaction |
user | User | false | none | A user entity and all associated details |
voiceFileStatus | string | false | none | File status for voice recording |
totalHoldTime | integer(int32) | false | none | Total hold time for the recording (in seconds) |
umId | string | false | none | Alvaria-generated unique identifier for the Universal Media |
false | none | Email data of an interaction | ||
chat | Chat | false | none | Chat data of an interaction |
sms | SMS | false | none | SMS data of an interaction |
Enumerated Values
Property | Value |
---|---|
channelType | VoiceOnly |
channelType | ScreenOnly |
channelType | |
channelType | Chat |
channelType | SMS |
channelType | VoiceMail |
channelType | VoiceAndScreen |
channelType | Unknown |
interactionType | Unknown |
interactionType | InboundQueuedCall |
interactionType | InboundDirectCall |
interactionType | OutboundDirectCall |
interactionType | OutboundBlendedCall |
interactionType | |
interactionType | IvrCall |
interactionType | CallBack |
interactionType | VoiceMail |
interactionType | WebCallBack |
interactionType | WebChat |
interactionType | ReplyCall |
interactionType | Task |
interactionType | OutboundEmail |
interactionType | ReplyEmail |
interactionType | ForwardEmail |
interactionType | IntegratedEmail |
interactionType | Chat |
interactionType | InboundSMS |
interactionType | OutboundSMS |
interactionType | All |
screenCaptureFileStatus | NotRecorded |
screenCaptureFileStatus | Available |
screenCaptureFileStatus | Deleted |
screenCaptureFileStatus | RecordingFailed |
screenCaptureFileStatus | TransferFailed |
screenCaptureFileStatus | OfflineStorage |
status | Archived |
status | Current |
status | Historical |
status | Inactive |
status | PendingDisposition |
voiceFileStatus | NotRecorded |
voiceFileStatus | Available |
voiceFileStatus | Deleted |
voiceFileStatus | RecordingFailed |
voiceFileStatus | TransferFailed |
voiceFileStatus | OfflineStorage |
RecordingMetadataV3
{
"ani": 1200,
"customInformation": [
{
"displayName": "Disposition Code",
"value": "Complete"
}
],
"orgId": "customername",
"channelType": "VoiceOnly",
"dnis": 1200,
"endTime": "2017-10-19T16:09:58Z",
"holdCount": 0,
"initialWorkType": {
"interactionType": "InboundQueuedCall",
"workTypeName": "Support"
},
"callLegId": 151,
"interactionType": "InboundQueuedCall",
"recordingId": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"maximumHoldDuration": 15,
"parentRecordingId": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"recordingReasons": {
"user": true,
"api": false,
"logging": false,
"parent": false,
"rule": false
},
"relatedRecordingIds": [
"c7725e34-a029-4618-aa9f-6c9c568b7fdb"
],
"screenCaptureFileStatus": "Available",
"startTime": "2017-10-19T16:09:58Z",
"station": 1000,
"status": "Current",
"switch": {
"switchName": "uip",
"switchType": "AspectUnifiedIp"
},
"takenWorkType": {
"interactionType": "InboundQueuedCall",
"workTypeName": "Support"
},
"user": {
"firstName": "firstName",
"lastName": "lastname",
"email": "user@example.com",
"teamName": "teamname"
},
"voiceFileStatus": "Available",
"totalHoldDuration": 5,
"umId": "01-0010010000-200504-163852416-00001",
"email": {
"sentTime": "2017-10-19T16:09:58Z",
"state": "Original",
"subject": "Subject",
"sender": "user@example.com"
},
"chat": {
"customer": {
"emailAddress": {
"email": "user@example.com",
"emailName": "emailname"
},
"id": 3,
"customerName": "name"
},
"messageCount": 10,
"attachmentCount": 1
},
"sms": {
"messageCount": 10,
"ani": 1200,
"dnis": 1200
}
}
Recording metadata
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
ani | string | false | none | ANI of the recorded interaction |
customInformation | [CustomInformation] | false | none | Custom information of the recorded interaction |
orgId | string | false | none | Alvaria-generated unique identifier for the organization |
channelType | string | false | none | Channel type of the recorded interaction |
dnis | string | false | none | DNIS of the recorded interaction |
endTime | string(date-time) | false | none | End date and time of a recording, specified in ISO 8601 format. |
holdCount | integer(int32) | false | none | How many times the interaction has been put on hold on the recording |
initialWorkType | WorkTypeV3 | false | none | Work type associated with the interaction |
callLegId | string | false | none | Alvaria-generated unique identifier for the call leg |
interactionType | string | false | none | Interaction type |
recordingId | string(uuid) | false | none | Alvaria-generated unique identifier for the recording instance |
maximumHoldDuration | integer(int32) | false | none | Maximum hold duration of the recording(in seconds) |
parentRecordingId | string(uuid) | false | none | Alvaria-generated unique identifier for the parent recording |
recordingReasons | RecordingReasons | false | none | Recording reasons for an interaction |
relatedRecordingIds | [string] | false | none | Alvaria-generated unique identifiers for related recording IDs. |
screenCaptureFileStatus | string | false | none | File status for screen recording |
startTime | string(date-time) | false | none | Start time of a recording, specified in ISO 8601 format. |
station | string | false | none | Station of the recorded interaction |
status | string | false | none | status of an interaction |
switch | SwitchV3 | false | none | Switch definition |
takenWorkType | WorkTypeV3 | false | none | Work type associated with the interaction |
user | User | false | none | A user entity and all associated details |
voiceFileStatus | string | false | none | File status for voice recording |
totalHoldDuration | integer(int32) | false | none | Total hold duration for the recording (in seconds) |
umId | string | false | none | Alvaria-generated unique identifier for the Universal Media |
false | none | Email data of an interaction | ||
chat | ChatV3 | false | none | Chat data of an interaction |
sms | SMS | false | none | SMS data of an interaction |
Enumerated Values
Property | Value |
---|---|
channelType | VoiceOnly |
channelType | ScreenOnly |
channelType | |
channelType | Chat |
channelType | SMS |
channelType | Task |
channelType | VoiceMail |
channelType | VoiceAndScreen |
channelType | InboundEmail |
channelType | ManualOutboundEmail |
channelType | Unknown |
interactionType | Unknown |
interactionType | InboundQueuedCall |
interactionType | InboundDirectCall |
interactionType | OutboundDirectCall |
interactionType | OutboundBlendedCall |
interactionType | |
interactionType | IvrCall |
interactionType | CallBack |
interactionType | VoiceMail |
interactionType | WebCallBack |
interactionType | WebChat |
interactionType | ReplyCall |
interactionType | Task |
interactionType | OutboundEmail |
interactionType | ReplyEmail |
interactionType | ForwardEmail |
interactionType | IntegratedEmail |
interactionType | Chat |
interactionType | InboundSMS |
interactionType | OutboundSMS |
interactionType | InboundEmail |
interactionType | ManualOutboundEmail |
interactionType | CampaignOutboundEmail |
interactionType | All |
screenCaptureFileStatus | NotRecorded |
screenCaptureFileStatus | Available |
screenCaptureFileStatus | Deleted |
screenCaptureFileStatus | RecordingFailed |
screenCaptureFileStatus | TransferFailed |
screenCaptureFileStatus | OfflineStorage |
status | Archived |
status | Current |
status | Historical |
status | Inactive |
status | PendingDisposition |
voiceFileStatus | NotRecorded |
voiceFileStatus | Available |
voiceFileStatus | Deleted |
voiceFileStatus | RecordingFailed |
voiceFileStatus | TransferFailed |
voiceFileStatus | OfflineStorage |
RecordingIds
{
"recordingIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
]
}
List of Alvaria-generated unique identifiers for recording instances.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
recordingIds | [string] | false | none | none |
CustomInformation
{
"displayName": "Disposition Code",
"value": "Complete"
}
Custom information for an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
displayName | string | false | none | Display name of the custom information |
value | string | false | none | Custom information value |
AddCustomInformation
{
"customInformation": [
{
"displayName": "Disposition Code",
"value": "Complete"
}
]
}
List of custom information to be added to an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customInformation | [CustomInformation] | false | none | [Custom information for an interaction] |
RecordingReasons
{
"user": true,
"api": false,
"logging": false,
"parent": false,
"rule": false
}
Recording reasons for an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
user | boolean | false | none | Whether the interaction is being monitored due to user action. |
api | boolean | false | none | Whether the interaction is being monitored due to an API call. |
logging | boolean | false | none | Whether the interaction is being monitored due to logging. |
parent | boolean | false | none | Whether the interaction is being monitored due to the parent interaction also being monitored. |
rule | boolean | false | none | Whether the interaction is being monitored due to a rule. |
{
"sentTime": "2017-10-19T16:09:58Z",
"state": "Original",
"subject": "Subject",
"sender": "user@example.com"
}
Email data of an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
sentTime | string(date-time) | false | none | Sent time of the email |
state | string | false | none | State of the email |
subject | string | false | none | Subject of the email |
sender | string | false | none | Email sender |
Enumerated Values
Property | Value |
---|---|
state | Original |
state | Transferred |
state | Replied |
Chat
{
"customer": {
"emailAddress": {
"email": "user@example.com",
"name": "emailname"
},
"id": 3,
"name": "name"
},
"messageCount": 10,
"attachmentCount": 1
}
Chat data of an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customer | Customer | false | none | Customer information |
messageCount | integer(int32) | false | none | number of messages included in the Chat interaction |
attachmentCount | integer(int32) | false | none | number of attachments included the Chat interaction |
ChatV3
{
"customer": {
"emailAddress": {
"email": "user@example.com",
"emailName": "emailname"
},
"id": 3,
"customerName": "name"
},
"messageCount": 10,
"attachmentCount": 1
}
Chat data of an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
customer | CustomerV3 | false | none | Customer information |
messageCount | integer(int32) | false | none | number of messages included in the Chat interaction |
attachmentCount | integer(int32) | false | none | number of attachments included the Chat interaction |
SMS
{
"messageCount": 10,
"ani": 1200,
"dnis": 1200
}
SMS data of an interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
messageCount | integer(int32) | false | none | Message count |
ani | string | false | none | Originating phone number |
dnis | string | false | none | Dialed phone number |
Customer
{
"emailAddress": {
"email": "user@example.com",
"name": "emailname"
},
"id": 3,
"name": "name"
}
Customer information
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
emailAddress | EmailAddress | false | none | EmailAddress information associated with an interaction. |
id | string(int64) | false | none | Alvaria-generated unique identifier for the customer |
name | string | false | none | Name of a customer |
CustomerV3
{
"emailAddress": {
"email": "user@example.com",
"emailName": "emailname"
},
"id": 3,
"customerName": "name"
}
Customer information
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
emailAddress | EmailAddressV3 | false | none | EmailAddress information associated with an interaction. |
id | string(int64) | false | none | Alvaria-generated unique identifier for the customer |
customerName | string | false | none | Name of a customer |
EmailAddress
{
"email": "user@example.com",
"name": "emailname"
}
EmailAddress information associated with an interaction.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | Email address | |
name | string | false | none | Display name of an email address |
EmailAddressV3
{
"email": "user@example.com",
"emailName": "emailname"
}
EmailAddress information associated with an interaction.
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
string | false | none | Email address | |
emailName | string | false | none | Display name of an email address |
WorkType
{
"interactionType": "InboundQueuedCall",
"name": "Support"
}
Work type associated with the interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
interactionType | string | false | none | Interaction type |
name | string | false | none | name of the work type |
Enumerated Values
Property | Value |
---|---|
interactionType | Unknown |
interactionType | InboundQueuedCall |
interactionType | InboundDirectCall |
interactionType | OutboundDirectCall |
interactionType | OutboundBlendedCall |
interactionType | |
interactionType | IvrCall |
interactionType | CallBack |
interactionType | VoiceMail |
interactionType | WebCallBack |
interactionType | WebChat |
interactionType | ReplyCall |
interactionType | Task |
interactionType | OutboundEmail |
interactionType | ReplyEmail |
interactionType | ForwardEmail |
interactionType | IntegratedEmail |
interactionType | Chat |
interactionType | InboundSMS |
interactionType | OutboundSMS |
interactionType | All |
WorkTypeV3
{
"interactionType": "InboundQueuedCall",
"workTypeName": "Support"
}
Work type associated with the interaction
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
interactionType | string | false | none | Interaction type |
workTypeName | string | false | none | name of the work type |
Enumerated Values
Property | Value |
---|---|
interactionType | Unknown |
interactionType | InboundQueuedCall |
interactionType | InboundDirectCall |
interactionType | OutboundDirectCall |
interactionType | OutboundBlendedCall |
interactionType | |
interactionType | IvrCall |
interactionType | CallBack |
interactionType | VoiceMail |
interactionType | WebCallBack |
interactionType | WebChat |
interactionType | ReplyCall |
interactionType | Task |
interactionType | OutboundEmail |
interactionType | ReplyEmail |
interactionType | ForwardEmail |
interactionType | IntegratedEmail |
interactionType | Chat |
interactionType | InboundSMS |
interactionType | OutboundSMS |
interactionType | All |
User
{
"firstName": "firstName",
"lastName": "lastname",
"email": "user@example.com",
"teamName": "teamname"
}
A user entity and all associated details
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
firstName | string | false | none | First name of a user |
lastName | string | false | none | Last name of a user |
string | false | none | User login name | |
teamName | string | false | none | Team name of a user |
Switch
{
"name": "uip",
"type": "AspectUnifiedIp"
}
Switch definition
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
name | string | false | none | Name of a switch |
type | string | false | none | Switch type |
Enumerated Values
Property | Value |
---|---|
type | None |
type | Avaya |
type | Cisco |
type | AspectUnifiedIp |
type | CiscoUnifiedContactCenter |
type | Zipwire |
SwitchV3
{
"switchName": "uip",
"switchType": "AspectUnifiedIp"
}
Switch definition
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
switchName | string | false | none | Name of a switch |
switchType | string | false | none | Switch type |
Enumerated Values
Property | Value |
---|---|
switchType | None |
switchType | Avaya |
switchType | Cisco |
switchType | AspectUnifiedIp |
switchType | CiscoUnifiedContactCenter |
switchType | Zipwire |
RecordingMediaCollection
{
"kind": "via#recordingMediaList",
"mediaItems": [
{
"channelType": "voice",
"handle": "https://example.aspect-cloud.net/s3/example.s3.amazonaws.com/path/0000-19851005-101458/aqm00_0000_0000_0000.wav?X-Amz-Expires=1800&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=0000000000000000/20171005/us-east-1/s3/aws4_request&X-Amz-Date=19851005T151458Z&X-Amz-SignedHeaders=host;x-amz-server-side-encryption;x-amz-server-side-encryption-aws-kms-key-id&X-Amz-Signature=0000000000000000000000000000000000000000000000000000000000000000"
}
],
"totalItems": 1
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results. |
mediaItems | [RecordingMedia] | false | none | [File handles of the recording media] |
totalItems | integer | false | none | The total number of Entity instances existing in the system. |
RecordingMedia
{
"channelType": "voice",
"handle": "https://example.aspect-cloud.net/s3/example.s3.amazonaws.com/path/0000-19851005-101458/aqm00_0000_0000_0000.wav?X-Amz-Expires=1800&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=0000000000000000/20171005/us-east-1/s3/aws4_request&X-Amz-Date=19851005T151458Z&X-Amz-SignedHeaders=host;x-amz-server-side-encryption;x-amz-server-side-encryption-aws-kms-key-id&X-Amz-Signature=0000000000000000000000000000000000000000000000000000000000000000"
}
File handles of the recording media
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
channelType | string | false | none | Interaction channel type |
handle | string(uri) | false | none | Signed URL pointing a recording media file. |
Enumerated Values
Property | Value |
---|---|
channelType | voice |
channelType | chat |
channelType | sms |
channelType | |
channelType | screen |
PauseRecordingParmsSchema
{
"pauseAudio": "true",
"pauseScreen": "true",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
pauseAudio | boolean | false | none | Specifies whether to pause voice recording |
pauseScreen | boolean | false | none | Specifies whether to pause screen recording |
locatorType | string | false | none | Possible items that can be used to locate an agent. AspectUserId : Alvaria-generated unique identifier for the Cloud agent instance that can be retrieved prior to use from the provisioning rest API. The url is /via/v3/organizations/{orgId}/provisioning/users AgentAcdId : Agent ACD logon ID PositionId : An ACD position ID |
locatorIdentifier | string | true | none | The value that will be used to locate the agent based on the locator type. For Cloud, the locatorIdentifier is the userId, which can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
switchName | string | false | none | The name of the switch that the agent is associated with in Alvaria Quality. |
Enumerated Values
Property | Value |
---|---|
locatorType | AspectUserId |
locatorType | AgentAcdId |
locatorType | PositionId |
ResumeRecordingParmsSchema
{
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
locatorType | string | false | none | Possible items that can be used to locate an agent. AspectUserId : Alvaria-generated unique identifier for the Cloud agent instance that can be retrieved prior to use from the provisioning rest API. The url is /via/v3/organizations/{orgId}/provisioning/users AgentAcdId : Agent ACD logon ID PositionId : An ACD position ID |
locatorIdentifier | string | true | none | The value that will be used to locate the agent based on the locator type. For Cloud, the locatorIdentifier is the userId, which can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
switchName | string | false | none | The name of the switch that the agent is associated with in Alvaria Quality Management system. |
Enumerated Values
Property | Value |
---|---|
locatorType | AspectUserId |
locatorType | AgentAcdId |
locatorType | PositionId |
RecordingStatusParmsSchema
{
"interactionId": "1000",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"retrieveScreenRecordingStatus": "true",
"switchName": "customername"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
interactionId | string | true | none | Alvaria-generated unique identifier for the interaction instance that can be retrieved prior to use from the streaming rest API, e.g., engagementCenter.Dialing event. |
locatorType | string | false | none | Possible items that can be used to locate an agent. AspectUserId : Alvaria-generated unique identifier for the Cloud agent instance that can be retrieved prior to use from the provisioning rest API. The url is /via/v3/organizations/{orgId}/provisioning/users AgentAcdId : Agent ACD logon ID PositionId : An ACD position ID |
locatorIdentifier | string | true | none | The value that will be used to locate the agent based on the locator type. For Cloud, the locatorIdentifier is the userId, which can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
retrieveScreenRecordingStatus | boolean | false | none | Specifies whether to check the recording status of the screen recording instead of the voice recording for a given interaction. |
switchName | string | false | none | The name of the switch that the agent is associated with in Alvaria Quality. |
Enumerated Values
Property | Value |
---|---|
locatorType | AspectUserId |
locatorType | AgentAcdId |
locatorType | PositionId |
StartRecordingParmsSchema
{
"recordAudio": "true",
"recordScreen": "true",
"recordReason": "auditing purposes",
"maxDuration": 120,
"interactionType": "InboundQueuedCall",
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
recordAudio | boolean | false | none | Specifies whether to record voice. |
recordScreen | boolean | false | none | Specifies whether to record screen. |
recordReason | string | false | none | Reason to start the recording. |
maxDuration | integer | false | none | The maximum duration of the recording. Applicable if starting a new screen only interaction. |
interactionType | string | false | none | Type of the interaction. Applicable if starting a new screen only interaction. |
locatorType | string | false | none | Possible items that can be used to locate an agent. AspectUserId : Alvaria-generated unique identifier for the Cloud agent instance that can be retrieved prior to use from the provisioning rest API. The url is /via/v3/organizations/{orgId}/provisioning/users AgentAcdId : Agent ACD logon ID PositionId : An ACD position ID |
locatorIdentifier | string | true | none | The value that will be used to locate the agent based on the locator type. For Cloud, the locatorIdentifier is the userId, which can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
switchName | string | false | none | The name of the switch that the agent is associated with in Alvaria Quality. |
Enumerated Values
Property | Value |
---|---|
interactionType | Unknown |
interactionType | InboundQueuedCall |
interactionType | InboundDirectCall |
interactionType | OutboundDirectCall |
interactionType | OutboundBlendedCall |
interactionType | IVRCall |
interactionType | Chat |
locatorType | AspectUserId |
locatorType | AgentAcdId |
locatorType | PositionId |
StopRecordingParmsSchema
{
"locatorType": "AspectUserId",
"locatorIdentifier": "99b788f3000d99",
"switchName": "customername"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
locatorType | string | false | none | Possible items that can be used to locate an agent. AspectUserId : Alvaria-generated unique identifier for the Cloud agent instance that can be retrieved prior to use from the provisioning rest API. The url is /via/v3/organizations/{orgId}/provisioning/users AgentAcdId : Agent ACD logon ID PositionId : An ACD position ID |
locatorIdentifier | string | true | none | The value that will be used to locate the agent based on the locator type. For Cloud, the locatorIdentifier is the userId, which can be retrieved using the /via/v3/organizations/{orgId}/provisioning/users endpoint. |
switchName | string | false | none | The name of the switch that the agent is associated with in Alvaria Quality. |
Enumerated Values
Property | Value |
---|---|
locatorType | AspectUserId |
locatorType | AgentAcdId |
locatorType | PositionId |
RecordingControlResponseSchema
{
"status": "Success"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
status | string | false | none | Possible results from a recording control request |
Enumerated Values
Property | Value |
---|---|
status | Success |
status | Pending |
status | NotFound |
status | UnableToExecute |
status | InvalidLocator |
status | InvalidRequest |
status | InvalidParameter |
status | PermissionDenied |
status | Error |
status | Disconnected |
status | Recording |
status | NotRecording |
status | Paused |
ErrorResponse
{
"code": 404,
"message": "not found",
"errors": [
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
]
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
code | integer | false | none | HTTP error status |
message | string | false | none | none |
errors | [Error] | false | none | none |
Error
{
"scope": "scope",
"reason": "reason",
"message": "message"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scope | string | false | none | none |
reason | string | false | none | none |
message | string | false | none | none |
GetScorecardTemplatesParmsSchema
{
"scorecardTemplateIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"includeInactiveScorecardTemplates": true,
"includeIncompleteScorecardTemplates": true,
"scorecardTemplateName": "Template 01"
}
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
scorecardTemplateIds | [string] | true | none | List of the unique identifiers of the scorecard templates you wish to retrieve. Must be in GUID format. |
includeInactiveScorecardTemplates | boolean | false | none | Specifies whether to include inactive scorecard templates in the search results. |
includeIncompleteScorecardTemplates | boolean | false | none | Specifies whether to include incomplete scorecard templates in the search results. |
scorecardTemplateName | string | true | none | All or part of the name of the scorecard template. |
ScorecardTemplateMetadataCollection
{
"kind": "via#ScorecardTemplateMetadataList",
"scorecardTemplateMetadata": [
{
"defaultResponse": "None",
"name": "My Favorite Scorecard Template",
"description": "This is my favorite scorecard template",
"creationDate": "2023-09-21T15:43:16.989Z",
"overallScoreDisplay": "PercentageScoreAndPassFail",
"isUsed": true,
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"maximumScore": 100,
"minimumScore": 50,
"questionScoresDisplay": "PercentageScoreAndPassFail",
"sectionScoresDisplay": "PercentageScoreAndPassFail",
"siteId": "4e454f92-b43d-ed11-abbf-1234887b2b15",
"status": "Active",
"displayQuestionNumber": true,
"isComplete": true,
"isLegacyTemplate": true,
"isUsedByReports": true,
"isUsedByCalibration": true,
"ownerUserId": "00000000-0000-0000-05a3-727a88db4edd",
"ownerUserName": "Doe, John",
"weightForNotApplicableAnswerChoice": "None",
"Sections": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"name": "My Favorite Scorecard Template Section",
"description": "This is my favorite scorecard template Section",
"number": 3,
"weight": 2,
"enableComments": true,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": [
{}
]
}
]
}
]
}
]
}
]
}
Scorecard template metadata collection
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results. |
scorecardTemplateMetadata | [ScorecardTemplateMetadata] | false | none | [Scorecard template metadata] |
ScorecardTemplateMetadata
{
"defaultResponse": "None",
"name": "My Favorite Scorecard Template",
"description": "This is my favorite scorecard template",
"creationDate": "2023-09-21T15:43:16.989Z",
"overallScoreDisplay": "PercentageScoreAndPassFail",
"isUsed": true,
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"maximumScore": 100,
"minimumScore": 50,
"questionScoresDisplay": "PercentageScoreAndPassFail",
"sectionScoresDisplay": "PercentageScoreAndPassFail",
"siteId": "4e454f92-b43d-ed11-abbf-1234887b2b15",
"status": "Active",
"displayQuestionNumber": true,
"isComplete": true,
"isLegacyTemplate": true,
"isUsedByReports": true,
"isUsedByCalibration": true,
"ownerUserId": "00000000-0000-0000-05a3-727a88db4edd",
"ownerUserName": "Doe, John",
"weightForNotApplicableAnswerChoice": "None",
"Sections": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"name": "My Favorite Scorecard Template Section",
"description": "This is my favorite scorecard template Section",
"number": 3,
"weight": 2,
"enableComments": true,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": [
{}
]
}
]
}
]
}
]
}
Scorecard template metadata
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
defaultResponse | string | false | none | The default response |
name | string | false | none | The name of the scorecard template |
description | string | false | none | The description of the scorecard template |
creationDate | string(date-time) | false | none | Creation date and time of a scorecard template, specified in ISO 8601 format. |
overallScoreDisplay | string | false | none | The display of the overall score |
isUsed | boolean | false | none | Flag to indicate if the scorecard template is used |
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard template |
maximumScore | integer(int32) | false | none | Maximum score of the scarecard template |
minimumScore | integer(int32) | false | none | Minimum score of the scarecard template |
questionScoresDisplay | string | false | none | The display of the question score |
sectionScoresDisplay | string | false | none | The display of the section score |
siteId | string(uuid) | false | none | Alvaria-generated unique identifier for the site |
status | string | false | none | The status of the scorecard template |
displayQuestionNumber | boolean | false | none | Flag to indicate whether or not to display question numbers |
isComplete | boolean | false | none | Flag to indicate whether or not the scorecard template is complete |
isLegacyTemplate | boolean | false | none | Flag to indicate whether or not the scorecard template is a legacy template |
isUsedByReports | boolean | false | none | Flag to indicate whether or not the scorecard template is used by reports |
isUsedByCalibration | boolean | false | none | Flag to indicate whether or not the scorecard template is used by calibration |
ownerUserId | string(uuid) | false | none | Alvaria-generated unique identifier for the user who created the scorecard template |
ownerUserName | string | false | none | The username of the user who created the scorecard template |
weightForNotApplicableAnswerChoice | string | false | none | The status of the scorecard template |
Sections | [ScoreCardTemplateSection] | false | none | [Scorecard template section] |
Enumerated Values
Property | Value |
---|---|
status | Active |
status | Inactive |
weightForNotApplicableAnswerChoice | None |
weightForNotApplicableAnswerChoice | HighestWeightOfTheQuestion |
weightForNotApplicableAnswerChoice | LowestWeightOfTheQuestion |
ScoreCardTemplateSection
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"name": "My Favorite Scorecard Template Section",
"description": "This is my favorite scorecard template Section",
"number": 3,
"weight": 2,
"enableComments": true,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": [
{}
]
}
]
}
]
}
Scorecard template section
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard template section |
name | string | false | none | The name of the scorecard template section |
description | string | false | none | The description of the scorecard template section |
number | integer(int32) | false | none | The number of the scorecard template section |
weight | integer(int32) | false | none | The weight of the scorecard template section |
enableComments | boolean | false | none | Flag to indicate whether or not the scorecard template section has comments enabled |
questions | [ScoreCardTemplateQuestion] | false | none | [Scorecard template question] |
ScoreCardTemplateQuestion
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": []
}
]
}
]
}
Scorecard template question
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard template question |
number | integer(int32) | false | none | The number of the scorecard template question |
description | string | false | none | The description of the scorecard template question |
optionsOrientation | string | false | none | The orientation of the options on the scorecard template question |
responseRequired | boolean | false | none | Flag to indicate whether or not the scorecard template question requires a response |
text | string | false | none | The text of the scorecard template question |
type | string | false | none | The type of the scorecard template question |
weight | integer(int32) | false | none | The weight of the scorecard template question |
scoreAdjustmentConditions | string | false | none | The score adjustment conditions of the scorecard template question |
scoreAdjustment | string | false | none | The score adjustment of the scorecard template question |
isScorable | boolean | false | none | Flag to indicate whether or not the scorecard template question is scorable |
enableComments | boolean | false | none | Flag to indicate whether or not the scorecard template question has comments enabled |
addToLibrary | boolean | false | none | Flag to indicate whether or not the scorecard template question should be added to the library |
isDependentQuestion | boolean | false | none | Flag to indicate whether or not the scorecard template question is a dependent question |
additionalWeight | string(decimal) | false | none | The weight of the scorecard template question |
conditionalWeight | string(decimal) | false | none | The weight of the scorecard template question |
questions | [ScoreCardTemplateOption] | false | none | [Scorecard template option] |
Enumerated Values
Property | Value |
---|---|
optionsOrientation | NotApplicable |
optionsOrientation | Horizontal |
optionsOrientation | Vertical |
optionsOrientation | DropDown |
type | YesNo |
type | TrueFalse |
type | ScoredScaleLowToHigh |
type | ScoredScaleHighToLow |
type | ChooseOne |
type | ChooseOneOrMore |
type | SingleLineTextAnswer |
type | MultiLineTextAnswer |
type | PassFail |
type | BonusYesNo |
type | BonusTrueFalse |
type | BonusPassFail |
type | BonusScoredScale |
scoreAdjustmentConditions | GreaterThanWeight |
scoreAdjustmentConditions | LessThanWeight |
scoreAdjustmentConditions | NegativeOptionSelection |
scoreAdjustmentConditions | NotApplicable |
scoreAdjustmentConditions | PositiveOptionSelection |
scoreAdjustment | Add |
scoreAdjustment | None |
scoreAdjustment | Subtract |
ScoreCardTemplateOption
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"description": "This is my favorite scorecard template",
"optionsOrientation": "Horizontal",
"responseRequired": true,
"text": "What is your favorite color?",
"type": "ChooseOne",
"weight": 1,
"scoreAdjustmentConditions": "PositiveOptionSelection",
"scoreAdjustment": "Subtract",
"isScorable": true,
"enableComments": true,
"addToLibrary": true,
"isDependentQuestion": true,
"additionalWeight": 0.1,
"conditionalWeight": 0.1,
"questions": [
{
"id": "c7725e34-a029-4618-aa9f-6c9c568b7fdb",
"number": 3,
"text": "Blue",
"weight": 1,
"dependentQuestions": []
}
]
}
]
}
Scorecard template option
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard template option |
number | integer(int32) | false | none | The number of the scorecard template option |
text | string | false | none | The text of the scorecard template option |
weight | string(decimal) | false | none | The weight of the scorecard template option |
dependentQuestions | [ScoreCardTemplateQuestion] | false | none | [Scorecard template question] |
ScorecardMetadataCollection
{
"kind": "via#ScorecardMetadataList",
"scorecardMetadataItems": [
{
"agentReview": true,
"createdOn": "2023-09-21T15:43:16.989Z",
"creatorId": "00000000-0000-0000-0551-ee275caacb9c",
"failed": false,
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"asCreatedDuringTransitoryAccess": false,
"lastUpdatedOn": "2023-011-21T15:43:16.989Z",
"mediaId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"peerReview": false,
"percentScore": 100,
"pointScore": 10,
"reviewedByRecordedAgent": false,
"status": "Incomplete",
"teamReview": false,
"templateId": "8506aeb2-bf54-4630-81f6-d8c161d78959",
"templateName": "My_Favorite_Scorecard_Template_01",
"trainingScore": true,
"updateUserId": "00000000-0000-0000-05a3-727a88db4edd",
"coaching": true,
"calibrationReview": false,
"maxWeightedScore": 20,
"coachingId": 27,
"creatorUsername": "Doe, John",
"updatedUsername": "Doe, John",
"canEmail": true,
"agentId": "00000000-0000-0000-05a3-727a88db4edd",
"agentUsername": "Doe, John",
"notes": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"text": "This is a scorecard note"
}
],
"comments": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"userId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"modifiedDate": "2023-011-21T15:43:16.989Z",
"text": "This is a scorecard comment",
"commentIndex": 5
}
],
"sectionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"failed": true,
"comment": "This is a comment",
"sectionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"pointScore": 10,
"weightedScore": 10,
"maxWeightedScore": 20,
"questionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"questionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"pointScore": 10,
"failed": true,
"comment": "This is a comment",
"textAnswer": "This is an answer",
"selectedOptions": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"optionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426"
}
]
}
]
}
]
}
]
}
Scorecard metadata collection
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
kind | string | false | none | Identifier used by Alvaria™ Cloud components to serialize the payload of the results. |
scorecardMetadataItems | [ScorecardMetadata] | false | none | [Scorecard metadata] |
ScorecardMetadata
{
"agentReview": true,
"createdOn": "2023-09-21T15:43:16.989Z",
"creatorId": "00000000-0000-0000-0551-ee275caacb9c",
"failed": false,
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"asCreatedDuringTransitoryAccess": false,
"lastUpdatedOn": "2023-011-21T15:43:16.989Z",
"mediaId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"peerReview": false,
"percentScore": 100,
"pointScore": 10,
"reviewedByRecordedAgent": false,
"status": "Incomplete",
"teamReview": false,
"templateId": "8506aeb2-bf54-4630-81f6-d8c161d78959",
"templateName": "My_Favorite_Scorecard_Template_01",
"trainingScore": true,
"updateUserId": "00000000-0000-0000-05a3-727a88db4edd",
"coaching": true,
"calibrationReview": false,
"maxWeightedScore": 20,
"coachingId": 27,
"creatorUsername": "Doe, John",
"updatedUsername": "Doe, John",
"canEmail": true,
"agentId": "00000000-0000-0000-05a3-727a88db4edd",
"agentUsername": "Doe, John",
"notes": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"text": "This is a scorecard note"
}
],
"comments": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"userId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"modifiedDate": "2023-011-21T15:43:16.989Z",
"text": "This is a scorecard comment",
"commentIndex": 5
}
],
"sectionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"failed": true,
"comment": "This is a comment",
"sectionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"pointScore": 10,
"weightedScore": 10,
"maxWeightedScore": 20,
"questionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"questionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"pointScore": 10,
"failed": true,
"comment": "This is a comment",
"textAnswer": "This is an answer",
"selectedOptions": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"optionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426"
}
]
}
]
}
]
}
Scorecard metadata
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
agentReview | boolean | false | none | Flag to indicate if the scorecard is an agent review |
createdOn | string(date-time) | false | none | Creation date and time of a scorecard, specified in ISO 8601 format. |
creatorId | string(uuid) | false | none | Alvaria-generated unique identifier for the user who created the scorecard |
failed | boolean | false | none | Flag to indicate if the scorecard was failed |
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard |
asCreatedDuringTransitoryAccess | boolean | false | none | Flag to indicate if the scorecard was created during transitory access |
lastUpdatedOn | string(date-time) | false | none | Date and time of the last time a scorecard was updated, specified in ISO 8601 format. |
mediaId | string(uuid) | false | none | Alvaria-generated unique identifier of the media associated with the scorecard |
peerReview | boolean | false | none | Flag to indicate if the scorecard is a peer review |
percentScore | integer(int32) | false | none | Percent score of the scarecard |
pointScore | string(decimal) | false | none | The point score of the scorecard |
reviewedByRecordedAgent | boolean | false | none | Flag to indicate if the scorecard has been reviewed by the recorded agent |
status | string | false | none | The status of the scorecard |
teamReview | boolean | false | none | Flag to indicate if the scorecard is a team review |
templateId | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard template associated with the scorecard |
templateName | string | false | none | The name of the scorecard template associated with the scorecard |
trainingScore | boolean | false | none | Flag to indicate if the scorecard is a training score |
updateUserId | string(uuid) | false | none | Alvaria-generated unique identifier for the user who last updated the scorecard |
coaching | boolean | false | none | Flag to indicate if the scorecard is used for coaching |
calibrationReview | boolean | false | none | Flag to indicate if the scorecard is a calibration review |
maxWeightedScore | string(decimal) | false | none | The maximum weighted score of the scorecard |
coachingId | integer(int32) | false | none | coaching ID of the scarecard |
creatorUsername | string | false | none | The name of the user who created the scorecard |
updatedUsername | string | false | none | The name of the user who updated the scorecard |
canEmail | boolean | false | none | Flag to indicate if the scorecard can be emailed |
agentId | string(uuid) | false | none | Alvaria-generated unique identifier for the user associated with the scorecard |
agentUsername | string | false | none | The name of the user who is associated with the scorecard |
notes | [ScorecardNote] | false | none | [Scorecard note] |
comments | [ScorecardComment] | false | none | [Scorecard comment] |
sectionResults | [ScorecardSectionResult] | false | none | [Scorecard section result] |
Enumerated Values
Property | Value |
---|---|
status | Complete |
status | Incomplete |
status | CoachingAssignment |
ScorecardComment
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"userId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"modifiedDate": "2023-011-21T15:43:16.989Z",
"text": "This is a scorecard comment",
"commentIndex": 5
}
Scorecard comment
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard comment |
userId | string(uuid) | false | none | Alvaria-generated unique identifier for the user associated with the scorecard comment |
modifiedDate | string(date-time) | false | none | Date and time of the last time a scorecard comment was modified, specified in ISO 8601 format. |
text | string | false | none | The text of the scorecard comment |
commentIndex | integer(int32) | false | none | The index of the scorecard comment |
ScorecardNote
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"text": "This is a scorecard note"
}
Scorecard note
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard note |
text | string | false | none | The text of the scorecard note |
ScorecardSectionResult
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"failed": true,
"comment": "This is a comment",
"sectionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"pointScore": 10,
"weightedScore": 10,
"maxWeightedScore": 20,
"questionResults": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"questionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"pointScore": 10,
"failed": true,
"comment": "This is a comment",
"textAnswer": "This is an answer",
"selectedOptions": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"optionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426"
}
]
}
]
}
Scorecard section result
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard section result |
percentScore | integer(int32) | false | none | The percent score of the scorecard section result |
failed | boolean | false | none | Flag to indicate if the scorecard section result was failed |
comment | string | false | none | Scorecard section result comment |
sectionId | string(uuid) | false | none | Alvaria-generated unique identifier for the associated scorecard section |
pointScore | string(decimal) | false | none | The point score of the scorecard section result |
weightedScore | string(decimal) | false | none | The weighted score of the scorecard section result |
maxWeightedScore | string(decimal) | false | none | The maximum weighted score of the scorecard section result |
questionResults | [ScorecardQuestionResult] | false | none | [Scorecard question result] |
ScorecardQuestionResult
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"questionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"percentScore": 50,
"pointScore": 10,
"failed": true,
"comment": "This is a comment",
"textAnswer": "This is an answer",
"selectedOptions": [
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"optionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426"
}
]
}
Scorecard question result
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard question result |
questionId | string(uuid) | false | none | Alvaria-generated unique identifier for the associated scorecard question |
percentScore | integer(int32) | false | none | The percent score of the scorecard question result |
pointScore | string(decimal) | false | none | The point score of the scorecard question result |
failed | boolean | false | none | Flag to indicate if the scorecard question result was failed |
comment | string | false | none | Scorecard question result comment |
textAnswer | string | false | none | Scorecard question result answer text |
selectedOptions | [ScorecardSelectedOption] | false | none | [Scorecard selected option] |
ScorecardSelectedOption
{
"id": "7de8d7ab-6de2-4693-aeef-4ffa4006f426",
"optionId": "7de8d7ab-6de2-4693-aeef-4ffa4006f426"
}
Scorecard selected option
Properties
Name | Type | Required | Restrictions | Description |
---|---|---|---|---|
id | string(uuid) | false | none | Alvaria-generated unique identifier for the scorecard selected option |
optionId | string(uuid) | false | none | Alvaria-generated unique identifier for the associated scorecard option |