openapi: 3.0.2
x-explorer-enabled: false
x-samples-languages:
- curl
- node
- java
- javascript
- python
- go
info:
title: Analytics Producer Management
description: 'This is the Analytics Producer Management API. This REST interface provides APIs to:
- read the list of Measure Producers
- read details regarding each registered Measure Producer such as dimension and measure sets
- read translations from the dictionary of a registered Measure Producer for one or more locales
'
contact:
name: Avaya API Team
url: https://developers.avayacloud.com/onecloud-ccaas
email: apiteam@avaya.com
license:
name: Avaya Software Development Kit (SDK) Software License Terms
url: http://support.avaya.com/css/P8/documents/101038288
version: 1.0.1
tags:
- name: Dictionaries
description: Dictionaries contain translations for measures for a specific locale and measure producer.
- name: Locales
description: The Locales supported for a each measure producer.
- name: Measure Producers
description: Operations connected to measure producer management.
servers:
- url: '{protocol}://{server}/{basePath}'
description: Open API
variables:
protocol:
enum:
- https
default: https
server:
default: HOST-REGION.api.avayacloud.com
basePath:
default: api/analytics/producer-management
- url: '{protocol}://{server}:{port}'
description: Internal API
variables:
protocol:
enum:
- http
- https
default: http
server:
default: analytics-data-subscriber
port:
enum:
- '80'
- '443'
default: '80'
security:
- {}
- BearerAuth: []
paths:
/v1/accounts/{accountId}/measure-producers:
parameters:
- $ref: '#/components/parameters/accountId'
get:
tags:
- Measure Producers
summary: List Measure Producers
description: Retrieve the list of all the registered measure producers for the given parameters. Each measureProducer
object contains high level information such as the `source` and `version`. Detailed information such as the measures
sets are omitted to limit the size of the response. To get detailed information regarding a measureProducer, refer
to `GET /v1/accounts/{accountId}/measure-producers/{measureProducerId}`
operationId: getAnalyticsMeasureProducers
parameters:
- $ref: '#/components/parameters/processorType'
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/MeasureProducer'
examples:
List Measure Producers:
$ref: '#/components/examples/ListMeasureProducers'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
deprecated: false
/v1/accounts/{accountId}/measure-producers/{measureProducerId}:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/measureProducerId'
get:
tags:
- Measure Producers
summary: Get Measure Producer
description: Return a fully populated measure producer object matching the given parameters.
operationId: getAnalyticsMeasureProducerDetails
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/MeasureProducer'
examples:
Agent Producer:
$ref: '#/components/examples/AgentProducer'
Agent by Channel:
$ref: '#/components/examples/AgentByChannel'
DialogDetail Measure:
$ref: '#/components/examples/DialogDetailMeasure'
Queue by Channel:
$ref: '#/components/examples/QueueByChannel'
Queue Measure Producer:
$ref: '#/components/examples/QueueMeasureProducer'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
/v1/accounts/{accountId}/measure-producers/{measureProducerId}/dictionaries/{locale}:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/measureProducerId'
- $ref: '#/components/parameters/locale'
get:
tags:
- Dictionaries
summary: Get Dictionaries
description: Return the dictionary associated with a measure producer for the given locale.
operationId: getAnalyticsDictionary
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/Dictionary'
example:
locale: ko
description: Avaya Experience Platform™ metrics
measures:
- name: agentId
displayName: 상담원 ID
description: 해당 상담원 ID
- name: agentState
displayName: 상담원 상태
description: 현재 상담원 상태
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
/v1/accounts/{accountId}/measure-producers/{measureProducerId}/locales:
parameters:
- $ref: '#/components/parameters/accountId'
- $ref: '#/components/parameters/measureProducerId'
get:
tags:
- Locales
summary: List Locales
description: Return list of locales associated with a measure producer.
operationId: listAnalyticsLocales
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: string
example:
- pt
- en
- fr
- ko
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServer'
components:
parameters:
accountId:
in: path
name: accountId
description: The unique 6 character internal id that represents the customer account.
required: true
schema:
type: string
minLength: 6
maxLength: 6
pattern: ^[a-zA-Z]{6}$
example: ABCDEF
measureProducerId:
in: path
name: measureProducerId
description: MeasureProducer unique Id.
required: true
schema:
type: string
minLength: 1
maxLength: 36
example: Queue_itd_1.0.0
locale:
in: path
name: locale
description: Locale associated with a dictionary for a Measure Producer.
required: true
schema:
type: string
minLength: 2
maxLength: 6
pattern: ^[A-Za-z]{2,4}$|[A-Za-z]{2,4}([_-][A-Za-z]{4})?([_-]([A-Za-z]{2}))
example: en-US
processorType:
in: query
name: processorType
description: 'Possible values include: ITD, JRNL, ADM, CDR and more.'
required: false
schema:
type: string
minLength: 1
maxLength: 36
example: ITD
schemas:
Translation:
type: object
description: The Translation for dimensions and measures from english to a specific locale. The translation is composed
of a measure and its corresponding measureProducer translated from english to another language.
required:
- name
properties:
name:
type: string
description: The name of the measure
example: agentId
displayName:
type: string
description: The name of the measure to be displayed on the user interface.
example: Agent Id
description:
type: string
description: A short description of the measure.
example: The unique identifier for the agent
Dictionary:
type: object
description: A dictionary is composed of a locale field and a translations array. It represents a collection of translations
for dimensions and measures in the locale.
required:
- locale
- description
- measures
properties:
locale:
type: string
description: Language and region that the dictionary pertains to.
example: en-US
description:
type: string
minLength: 1
maxLength: 256
description: A short description of the dictionary
example: Avaya Experience Platform™ metrics
measures:
type: array
minItems: 1
description: An array containing all the translations for the dictionary.
items:
$ref: '#/components/schemas/Translation'
MeasureSet:
type: object
description: Specific Attribute providing information about a measure set.
required:
- keys
- measures
properties:
keys:
type: array
minItems: 1
maxItems: 25
description: The unique keys associated with the measure set.
items:
type: string
example:
- agentId
- channelId
measures:
type: array
minItems: 1
maxItems: 25
description: Array of attributes providing information about measures e.g. answered, offered.
items:
$ref: '#/components/schemas/Measure'
Measure:
type: object
description: Property which can be calculated by events in the system. e.g. AgentId, AgentState, Calls Waiting, Total
Call Duration.
required:
- name
- type
properties:
name:
type: string
minLength: 1
maxLength: 256
description: Name of the measure
example: agentId
type:
type: string
minLength: 1
maxLength: 36
description: The type of the measure value.
enum:
- STRING
- NUMBER
- DURATION
- DATE
- TIME_IN_STATE
displayName:
type: string
description: TODO
example: Agent Id
active:
type: boolean
description: Indicates if the measure is actively being calculated by Analytics.
example: true
MeasureProducer:
type: object
description: Detailed information about a measure producer registered in Analytics. Includes measure sets and measure
data.
required:
- measureProducerName
- processorType
- version
- measureSets
properties:
measureProducerId:
type: string
readOnly: true
minLength: 1
maxLength: 36
description: The id that represents the measure producer.
example: AgentByChannel_itd_1.0.0
measureProducerName:
type: string
minLength: 1
maxLength: 256
description: The name of the measure producer.
example: AgentByChannel
processorType:
type: string
minLength: 1
maxLength: 36
description: 'Type of processor associated with this Measure Producer. Possible values include: ITD (Interval To
Date), JRNL (Journal), ADM (Admin), CDR (Contact Details Report)'
example: ITD
enum:
- ITD
- JRNL
- ADM
- CDR
description:
type: string
minLength: 1
maxLength: 256
description: A short description of the measure producer.
example: Avaya Experience Platform™ metrics
version:
type: string
minLength: 1
maxLength: 36
description: The version number of the measure producer.
example: 1.0.0
measureSets:
$ref: '#/components/schemas/MeasureSets'
MeasureSets:
type: array
description: Array of attributes providing information about data e.g. Agent, Routing Service.
minItems: 1
maxItems: 25
items:
$ref: '#/components/schemas/MeasureSet'
Problem:
type: object
description: 'Problem Detail as a way to carry machine-readable details of errors in a HTTP response to avoid
the need to define new error response formats for HTTP APIs RFC 7807
'
properties:
type:
type: string
format: uri
description: 'An absolute URI that identifies the problem type. When dereferenced, it SHOULD provide human-readable
documentation for the problem type (e.g., using HTML).
'
default: about:blank
example: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
title:
type: string
description: 'A short, summary of the problem type. Written in english and readable for engineers (usually not suited
for non technical stakeholders and not localized).
'
example: Service Unavailable
nullable: true
status:
type: integer
format: int32
description: 'The HTTP status code generated by the origin server for this occurrence of the problem.
'
minimum: 100
maximum: 600
exclusiveMaximum: true
example: 503
nullable: true
detail:
type: string
description: 'A human readable explanation specific to this occurrence of the problem.
'
example: Connection to database timed out
nullable: true
instance:
type: string
format: uri
description: 'An absolute URI that identifies the specific occurrence of the problem. It may or may not yield further
information if dereferenced.
'
nullable: true
violations:
type: array
description: 'A list of violations that occurred as a result of invalid data provided as part of a request.
'
nullable: true
items:
type: object
properties:
field:
type: string
description: 'The name of the field in the request that caused the violation. This can be the name of a path
parameter, query parameter, or a field within the request body.
'
example: accountId
message:
type: string
description: 'A human readable explanation specific to this occurrence of the violation.
'
example: must match "^[a-zA-Z]{6}$"
code:
type: integer
format: int32
description: 'The violation code generated by the server for this occurrence of the violation. Use this code
when implementing any error handling logic instead of the message, as the message can change.
'
example: 20006
example:
- field: emailAddress
message: must not be null
code: 20002
- field: accountId
message: must match "^[a-zA-Z]{6}$"
code: 20006
responses:
BadRequest:
description: BadRequest
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorConstraintViolation'
Unauthorized:
description: Unauthorized
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorUnauthorized'
InternalServer:
description: Internal Server Error
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorInternalServerError'
Forbidden:
description: Forbidden
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorForbidden'
NotFound:
description: Not Found
content:
application/problem+json:
schema:
$ref: '#/components/schemas/Problem'
examples:
default:
$ref: '#/components/examples/ErrorNotFound'
examples:
AgentProducer:
value:
measureProducerId: Agent_itd_1.0.0
measureProducerName: Agent
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: activeDuration
type: DURATION
displayName: Active Duration
active: true
- name: timeActive
type: TIME_IN_STATE
displayName: Time Active
active: true
AgentByChannel:
value:
measureProducerId: AgentByChannel_itd_1.0.0
measureProducerName: AgentByChannel
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
- channelId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: activeDuration
type: DURATION
displayName: Active Duration
active: true
DialogDetailMeasure:
value:
measureProducerId: DialogDetail_cdr_1.0.0
measureProducerName: DialogDetail
processorType: CDR
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
- channelId
measures:
- name: abandonedIndicator
type: STRING
displayName: Abandoned Indicator
active: true
- name: acwEndTimestamp
type: DATE
displayName: Acw End Timestamp
active: true
QueueByChannel:
value:
measureProducerId: QueueByChannel_itd_1.0.0
measureProducerName: QueueByChannel
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- channelId
- queueId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: abandonedFromQueue
type: NUMBER
displayName: Abandoned From Queue
active: true
QueueMeasureProducer:
value:
measureProducerId: Queue_itd_1.0.0
measureProducerName: Queue
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- queueId
measures:
- name: abandonedFromAlerting
type: NUMBER
displayName: Abandoned From Alerting
active: true
- name: abandonedFromQueue
type: NUMBER
displayName: Abandoned From Queue
active: true
ListMeasureProducers:
value:
- measureProducerId: AgentByChannel_itd_1.0.0
measureProducerName: AgentByChannel
processorType: ITD
description: Avaya Experience Platform™ metrics
version: 1.0.0
measureSets:
- keys:
- agentId
- channelId
measures:
- name: agentId
type: STRING
displayName: Agent Id
active: true
ErrorConstraintViolation:
description: Constraint Violation
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#constraint-violation
title: Constraint Violation
status: 400
detail: A problem that indicates a syntactically correct, yet semantically illegal request. The Server can not process
this request until the client resolves the semantic errors described in the violations section.
violations:
- field: accountId
message: must not be null
ErrorUnauthorized:
description: Unauthorized
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#unauthorized
title: Unauthorized
status: 401
detail: This operation requires authentication. See https://developers.avayacloud.com/onecloud-ccaas/docs/how-to-authenticate-with-ccaas-apis
ErrorForbidden:
description: Forbidden
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#forbidden
title: Forbidden
status: 403
detail: According to the access control policy the current user and/or accountId does not have permission to access
this resource.
ErrorNotFound:
description: Not Found
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#resource-not-found
title: Resource Not Found
status: 404
detail: Resource not found.
ErrorInternalServerError:
description: Server Error
value:
type: https://developers.avayacloud.com/onecloud-ccaas/docs/error-handling#server-error
title: Server Error
status: 500
detail: An internal server error was encountered.
securitySchemes:
BearerAuth:
type: http
scheme: bearer
description: This API uses Bearer Token Authorization Flow
bearerFormat: JWT