Introduction

Overview

First of all, if necessary, ALE can offer you a quote for a Mentoring Service Pack
which will help you with O2G deployment and the use of O2G APIs with the support of dedicated ALE experts.
Contact your ALE representative for more details.

This package is not embedded in OXE, and it is able to address the installed OXE(s).

O2G API services are available according to the following rules regarding the licenses :   O2G API services characterized in this way can be invoked without O2G license.
  O2G API services characterized in this way require an O2G license [license name] of boolean type.
  These services can only be invoked if the corresponding O2G license [license name] value is TRUE.
  O2G API services characterized in this way require an O2G license [license name] that determines the maximum number
  of distinct OXE users (*) that can be controlled using these APIs, regardless of the number of active application sessions on O2G.
  For instance, if multiple application sessions need to collectively control up to 100 distinct OXE users through such API services,
  the corresponding O2G license [license name] value must be set to 100.
  Notes:
  - Refer to User Management service to see how to declare O2G users from OXE subscribers.
  - Directory numbers must be only digits to be monitored (Numbers without #, *, A, B, C or D char).
  O2G API services characterized in this way require the corresponding O2G license [license name] to be set to the maximum number of OXE subscribers
   across all OXE nodes.
  O2G API services characterized in this way require O2G license [License name] to be set to the fixed value of N.
  Note: O2G license [License name] may also be required when using O2G API services enabling OXE user control.
  If both types of O2G API services are used, the value of O2G license [License name] must be set to the number of distinct OXE users controlled by the API plus N.
  For instance, if the need is to control up to 100 distinct OXE users through O2G API services subject to O2G license [License name] and
  to invokes O2G API services that require the fixed value of 40 O2G license [License name] ,
  O2G license [License name] value has to be set to 100 (OXE users) plus 40 (fixed number) = 140.

Each resource can be accessed through the following kind of URL:
http(s)://<host>:<port>/api/rest/<version>/<resource _name>
Where: Third party application can get available API versions by performing a GET http request on the root URL
(Only GET operation is available on this resource, else 405 HTTP error "Method Not Allowed" in returned)
The structure of the returned body can be found in RoxeRestApiDescriptor.
http(s)://<host>:<port>/api/rest

Example of response :
{
	"serverInfo": {	
		"productName": "O2G Solution",
		"productType": "O2G",
		"productVersion": {
			"major": "2.6",
			"minor": "000.000"
			},
		"haMode": true	
		},
	"versions" : [{
		"id" : "1.0",
		"status" : "CURRENT",
		"publicUrl" : "https://public-server/api/rest/authenticate?version=1.0",
		"internalUrl" : "https://server/api/rest/authenticate?version=1.0"
		}],
	"custoFeatures" : [{
		"CCD_LOAD_OPE_CCA" : true,
		"HOTEL_LOAD_Z_GUESTS" : true
		}]
}
Notes : The customizable options (custoFeatures) are: To validate these options, "customize.properties" file must be created in /var/data/system directory.
The allowed parameters are "acd.loadOpeCca" and "hotel.loadZGuests".
Example of content:
acd.loadOpeCca=true
hotel.loadZGuests=true

Vocabulary

An application is a third party using the O2G system.
An application can create one or more O2G administrator sessions to interact with all users.
It can also have one or more O2G user sessions.
The person who administers the O2G system.
This person will be able to manage the O2G system, by connecting via an SSH link, using the roxeAdm account with the credentials configured during installation.
It is an O2G user with administrator right.
The installer can create an administrator in O2G system, using the roxe-config.sh tool (or roxe-install.sh during installation).
It is a subscriber of the OXE system.
The installer can manage a subscriber in OXE system, by using MGR tool by example.
It is a subscriber number of the OXE system or an external number.
It is an O2G user with no administrator right.
An O2G user is associated with one OXE subscriber, or more in the case of a multi-device OXE configuration.
An O2G user is automatically created by the O2G system if an OXE subscriber has the A4980 right or if OXE subscriber is managed on demand (depending on the O2G configuration).
A O2G administrator account is a O2G session, associated to a O2G administrator.
To create an O2G administrator account, a third-party application must authenticate and log in (open a session).
A login and a password will be used to authenticate to the REST APIs.
(Method: GET https://server/api/rest/authenticate?version=1.0)
This administrator account will be able to use all REST APIs methods.
The login and password used are those administered in O2G by the installer.
A O2G user account is a O2G session, associated to a O2G user.
To create an O2G user account, a third-party application must authenticate and log in (open a session).
A login and a password will be used to authenticate to the REST APIs.
(Method: GET https://server/api/rest/authenticate?version=1.0)
This user account will be able to use only user REST APIs methods.
The login and password used depend on the choice of authentication mechanism, chosen by the installer.
Several authentication mechanisms are possible :

  The installer denies user authentication.
  In this case, no user can authenticate (no user session).
  Only an administrator account must use to perform an action for a user.

  The installer authorizes user authentication by O2G.
  In this case, the user authentication is checked by O2G (default mode).
  It is a basic HTTPS authentication, based on a login/password.
    The login is the QMCDU of the OXE subscriber prefixed by "oxe" (Ex: oxe70120).
    The password is the Secret Code (4 digits), of the OXE subscriber.

  The installer authorizes user authentication by OXE.
  This configuration impacts all OXEs managed by O2G :
  Each OXE must be configured with a local authentication or
  with a LDAP authentication (only possible from OXE version N4.507.2).

  For a local authentication :
    The login is the Login of the subscriber.
    The password is the Password of the subscriber.
 
  For a LDAP authentication :
    The login is the Login of the subscriber.
    The password is the password of the user defined in the LDAP server.
This attribute is used in many O2G REST API methods.
It corresponds to the QMCDU of the OXE subscriber prefixed by "oxe" (Ex: oxe70120).
This is true regardless of the login used by the authentication mechanism.

History

2.7.42.7.32.7.22.7.12.7

Change logs

Complete changes history can be found here.

Authentication mechanism

All resources are protected by the authentication mechanism.
A dedicated resource is provided to perform user/administrator authentication :
http(s)://<host>:<port>/api/rest/authenticate?version=1.0

The first action for an application is to authenticate on O2G.
Authentication is basic HTTPS authentication, based on a login and password.
The first action for an application is to authenticate on O2G.

Authentication for an administrator

Authentication is basic HTTPS authentication, based on a login/password. The credentials (login and password) are first checked to see if they correspond to an O2G administrator.
JWT authentication is implemented to provide an identifier based on credentials.
This identifier must be passed in a cookie (AlcUserId) in all subsequent HTTPS requests, so that O2G can check their validity.

See below a sequence diagram for a Basic authentication.
No picture Example:
  Request
	GET http://server/api/rest
  Response :
	200 OK
	Content-Type:  application/json
	{ 
		"versions" : [ {
		"id" : "1.0",
		"status" : "CURRENT",
		"publicUrl" : "https://public-server/api/rest/authenticate?version=1.0",
		"internalUrl" : "https://server/api/rest/authenticate?version=1.0"
		} ] 
	} 
  
  Request :
	GET https://server/api/rest/authenticate?version=1.0
	Authorization: Basic aW50ZXJuYWwyOTphbGNhdGVsMjk=

  Response :
  	200 OK  	
Set-Cookie: AlcUserId=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...; Path=/ Content-Type: application/json { "credential" : "eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...", "publicUrl" : "https://public-server/api/rest/1.0/sessions", "internalUrl" : "https://server/api/rest/1.0/sessions", "expired" : "false", "login": "oxe1000" }

Authentication for an user : Secure Access

An installer can authorize or deny user authentication.Enable these options through O2G configuration (root account only).
Several options are possible.   In this case, no user can authenticate (no user session).
  Only an administrator account must use to perform an action for a user.   In this case, the user authentication is checked by O2G (default mode).
  It is a basic HTTPS authentication, based on a login/password. See previous a sequence diagram for a Basic authentication.
  This configuration impacts all OXEs managed by O2G :
  Each OXE must be configured with a local authentication or
  with a LDAP authentication (only possible from OXE version N4.507.2).

  For a local authentication :
  For a LDAP authentication :

   The authentication request response provides two additional parameters :
    First parameter is the O2G login for further request
    Second parameter is a optional boolean which indicate if the OXE password is expired or not.
     If this boolean is true, the password provided must be quickly changed using the proper API request
   An expired password can quickly leads to authentication failure

  Note : For OXE LDAP authentication, the login is the Login of the subscriber must be the same of the user defined in the LDAP server.
  O2G checks the consistency between the LDAP login and the OXE subscriber login.

Session creation

All services are invoked through a session (user or administrator one).
The resource to perform user/administrator session creation is:
http(s)://<host>:<port>/api/rest/1.0/sessions
The session creation request and all the subsequent requests must contain the Cookie AlcUserId with value equals to the one received in the Set-Cookie of the authentication response.
Important: all the sessions are created with an initial time-to-leave of 1800 seconds (30 minutes): To see how to maintain the session, refer to SESSION MANAGEMENT chapter. Example:
  Request
	POST /api/rest/1.0/sessions HTTP/1.1

Content-Type: application/json
Host: (server address)
Cookie: AlcUserId=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...
...
{
[body] : refer to Session Management section
}

  Response :
	200 OK
	Server: Apache/2.4.23
	Set-Cookie: JSESSIONID=88C00EA2B3C482E19825F1184D0BB50E.tomcat; Path=/api
	Content-Type:  application/json
	{ 
 		"timeToLive": 1800,
  		"publicBaseUrl": "http://public-server/api/rest/1.0",
  		"privateBaseUrl": "https://server/api/rest/1.0",
  		"services": [
    		{...
  
  


O2G Services Through Websocket

O2G REST service may be used through a websocket. This configuration could be interesting in a context where the security must be improved or if the opening of http ports on the local domain is considerd as an issue.
The solution is to use a reverse HTTP proxy over web socket. The aim is to provide a secure connection setup from the internal network to the external network in order to tunnel the API requests to internal O2G APIs from the external third party client.
A Web Socket agent run in the internal network (in front end of O2G API) establishes a single connection to a remote Web Socket server in secure mode. The Web socket agent is included in the O2G solution and may be configured thanks to the O2G configuration tool.
The web socket server side is not handled by O2G solution and it remains to the client to provide it.
A json formatted message protocol is used in the websocket to translate the http REST requests and responses.
In the same manner, the events the client has subcribed to are sent back by O2G through this socket towards the application. Moreover, an identifier may used as query parameter in the subscription request: in that manner, the events correponding to this susbscription will be automatically sent to the client through the web socket with this identifier (no need to open a chunk channel).
No picture
Here is the Ws protocol map: No picture
Example of request/response for authentication through WS protocol:
No picture
Example of request/response for subscription through WS protocol:
No picture
Example of event through WS protocol:
No picture

Error management

Management of errors returned by REST services invocation follows the common practise which consists of providing as much information as possible to the user.
The returned information structure contains several fields, targetting all possible users of the API: see RestErrorInfo
The complete list of REST API errors is the following:
typecodehelpMessagecanRetry
NOT_READY1000The server is not yet available. Please retry later if the initialization is not finished.true
INVALID_SESSION1001No valid session found for the given identifier. Please logout and login with correct credentials.true
NOT_ALLOWED1002The operation is not allowed, because of insufficient rights or bad credential. Please contact the installer to fix the problem.false
NOT_FOUND1003Missing or bad parameter sent by a request on a service. Fix the problem and retry.true
NOT_EXPECTED1004The request can not be performed due to current user's state.Check the state or fix your request before sending it back.true
NOT_SUPPORTED1005This operation is not supported. Please check the documentation.false
BAD_PARAMETER1006Request parameters are not correct. Please fix the problem and send the request back.true
SERVER_PROBLEM1007Server general problem. Please contact the installer to fix the problem.false
Example 1: The service in charge of executing the invoked request is not installed, or the server is not properly configured.
{
	"httpStatus":"SERVICE_UNAVAILABLE",
	"code":1007,
	"helpMessage":"Server general problem. Please contact the installer to fix the problem.",
	"type":"SERVER_PROBLEM",
	"innerMessage":"AlcChameleonException.PLUGIN_NOT_INSTALLED 'PLUGIN_NAME' plugin is not installed",
	"canRetry":false
}
Example 2: Invalid session. The application has to log out, if previously logged in, and retry to log in.
{
	"httpStatus":"FORBIDDEN",
	"code":1001,
	"helpMessage":"No valid session found for the given identifier. Please logout and login with correct credentials.",
	"type":"INVALID_SESSION",
	"innerMessage":"AlcChameleonException.BAD_FRAMEWORK_SESSION_IDENTIFIER No framework session in API with this ID : ...323437343",
	"canRetry":true
}

High Availability (HA)

The HA solution is based on the redundancy of the server in a Primary/Secondary server pair.
Licenses :
Required in CAPEX mode (FlexLM server): ROXE_HA - true.
Required in OPEX mode (LMS server): No license required (free).

Client code samples

Representations

boolean
'boolean' is a data type, having two values (true and false).
DestinationType
Lists the different types of a destination.
ValueDescription
OFFICEDestination is office device(deprecated).
MOBILEDestination is mobile device(deprecated).
VOICEMAILDestination is the voice mail of the user.
NUMBERDestination is a number.
Used in forward routes.
UNKNOWNUnknown destination type.
HttpStatus
List of all HTTP status.
ValueDescription
CONTINUE100 Continue
SWITCHING_PROTOCOLS101 Switching Protocols
PROCESSING102 Processing
OK200 OK
CREATED201 Created
ACCEPTED202 Accepted
NON_AUTHORITATIVE_INFORMATION203 Non-Authoritative Information
NO_CONTENT204 No Content
RESET_CONTENT205 Reset Content
PARTIAL_CONTENT206 Partial Content
MULTI_STATUS207 Multi-Status
ALREADY_REPORTED208 Already Reported
IM_USED226 IM Used
MULTIPLE_CHOICES300 Multiple Choices
MOVED_PERMANENTLY301 Moved Permanently
FOUND302 Found
MOVED_TEMPORARILY302 Moved Temporarily
SEE_OTHER303 See Other
NOT_MODIFIED304 Not Modified
USE_PROXY305 Use Proxy
TEMPORARY_REDIRECT307 Temporary Redirect
BAD_REQUEST400 Bad Request
UNAUTHORIZED401 Unauthorized
PAYMENT_REQUIRED402 Payment Required
FORBIDDEN403 Forbidden
NOT_FOUND404 Not Found
METHOD_NOT_ALLOWED405 Method Not Allowed
NOT_ACCEPTABLE406 Not Acceptable
PROXY_AUTHENTICATION_REQUIRED407 Proxy Authentication Required
REQUEST_TIMEOUT408 Request Timeout
CONFLICT409 Conflict
GONE410 Gone
LENGTH_REQUIRED411 Length Required
PRECONDITION_FAILED412 Precondition failed
REQUEST_ENTITY_TOO_LARGE413 Request Entity Too Large
REQUEST_URI_TOO_LONG414 Request-URI Too Long
UNSUPPORTED_MEDIA_TYPE415 Unsupported Media Type
REQUESTED_RANGE_NOT_SATISFIABLE416 Requested Range Not Satisfiable
EXPECTATION_FAILED417 Expectation Failed
INSUFFICIENT_SPACE_ON_RESOURCE419 Insufficient Space on Resource
METHOD_FAILURE420 Method Failure
DESTINATION_LOCKED421 Destination Locked
UNPROCESSABLE_ENTITY422 Unprocessable Entity
LOCKED423 Locked
FAILED_DEPENDENCY424 Failed Dependency
UPGRADE_REQUIRED426 Upgrade Required
TOO_MANY_REQUESTS
INTERNAL_SERVER_ERROR500 Internal Server Error
NOT_IMPLEMENTED501 Not Implemented
BAD_GATEWAY502 Bad Gateway
SERVICE_UNAVAILABLE503 Service Unavailable
GATEWAY_TIMEOUT504 Gateway Timeout
HTTP_VERSION_NOT_SUPPORTED505 HTTP Version Not Supported
VARIANT_ALSO_NEGOTIATES506 Variant Also Negotiates
INSUFFICIENT_STORAGE507 Insufficient Storage
LOOP_DETECTED508 Loop Detected
NOT_EXTENDED510 Not Extended
int
'int' is a 32-bit number (-2147483648 to 2147483647).
ProductVersion
Give information about the version installed on the server.
NameTypeCardinalityDescription
majorstring[0..1]Major version of the product. This field should help to identify the release of a product.
minorstring[0..1]Minor revision of the product. This field is for internal needs.
[+] : JSON Example
RestErrorInfo
Contains all information from errors sent while invoking REST operations on resources.
NameTypeCardinalityDescription
httpStatusHttpStatus[0..1]The HTTP status.
codeint[0..1]A REST API error code, linked with the above type, to help the user's application to quickly differentiate possible errors.
helpMessagestring[0..1]A help message, associated with the above type and code, providing a more detailed cause of the error.
typestring[0..1]A REST API error type, which group all possible underlying errors in a finite number of possibilities.
innerMessagestring[0..1]This message contains relevant information to help an administrator or support team to find the cause of the problem.
canRetryboolean[0..1]An indication for the developer of the application if the error can be solved by modifying the request, or if it is a problem on server side.
routingRoutingErrorInfo[0..1]Extra details if errors are generated by a routing service request.
telephonyTelephonyErrorInfo[0..1]Extra details if errors are generated by a telephony service request.
userPreferencesUserPreferencesErrorInfo[0..1]Extra details if errors are generated by a userPreferences service request.
[+] : JSON Example
RoutingErrorCause
Lists the different routing error causes.
ValueDescription
UNKNOWNUnknown routing error cause.
BAD_PHONE_NUMBER_FORMATThe phone number does not comply with formating rules. Examples:
  • The phone number does not respect the following regular expression: [+]?[0-9A-D*#\\(\\) ]{1,49}
  • The nomadic OTHER number must be canonical.
INVALID_CURRENT_DEVICEThe given device number as current device is not valid. Examples:
  • The device is not in an acceptable state to be used (e.g. not registered).
INVALID_FORWARD_ROUTEThe given forward route is not valid. Examples:
  • More than 1 forward route is specified.
  • The forwarded destination type is not one of USER / VOICEMAIL / NUMBER for a STANDARD user.
  • The forwarded destination is not acceptable.
  • A loop in the forward chain has been detected.
INVALID_OVERFLOW_ROUTEThe given overflow route is not valid. Examples:
  • More than 1 overflow route is specified.
  • The overflow type is not specified.
  • The overflow destination type is not one of VOICEMAIL / ASSOCIATE for a STANDARD user.
  • The overflow destination is not acceptable.
NULL_OR_EMPTY_PARAMETERParameter must not be null nor empty.
NULL_PARAMETERParameter must not be null.
UNAUTHORIZED_CANCEL_OVERFLOWCancel overflow has been rejected because of barring rules.
UNAUTHORIZED_NOT_A_USERThe destination type is set to USER, but the number does not correspond to a user.
UNAUTHORIZED_OVERFLOWOverflow has been rejected because of barring rules.
UNAUTHORIZED_PHONE_NUMBERThe given phone number is unauthorized. Examples:
  • Barring as rejected the number in OTHER destination.
  • The user set his own number in an overflow route.
  • The destination can not be a service number.
  • The destination is a voicemail, but user has no rights to use it.
  • The destination is one of the user's device.
RoutingErrorInfo
Complementary information for routing errors.
NameTypeCardinalityDescription
errorTypeRoutingErrorType[0..1]The routing error type.
destinationTypeDestinationType[0..1]The routing destination for which the error occurred.
errorCauseRoutingErrorCause[0..1]The probable routing error cause.
messagestring[0..1]An additional textual error information provided by the routing service.
[+] : JSON Example
RoutingErrorType
Lists the different routing error types.
ValueDescription
UNKNOWNUnknown routing error.
BAD_PARAMETER_VALUEThe routing service has rejected the request for a bad or missing parameter reason.
UNAUTHORIZEDRouting service request has been rejected because of limitation configured on the concerned user. Examples:
  • Overflow on busy is not allowed (barring limitation).
  • Cancel overflow is not allowed: (barring limitation).
  • Phone number to OTHER destination is not authorized (dial plan limitation).
INVALID_OPERATIONRequested operation is not supported by the routing service.
INCOMPLETE_PHONE_NUMBERThe provided phone number can not be fully resolved in the current dial plan. Example:
  • Setting route with a destination type OTHER, containing a partially matching number (e.g. 3253 instead of 32535).
UNKNOWN_PHONE_NUMBERThe provided phone number can not be resolved in the current dial plan. Example:
  • Setting route with a destination type NUMBER, containing an unknown number.
RoxeRestApiDescriptor
High level information of the server and supported REST API versions.
NameTypeCardinalityDescription
serverInfoServerInfo[0..1]Provide extra information about the server hosting the REST API.
versionsVersion[1..*]List of the versions supported on the server.
custoFeaturesstring[0..*]List of customized feature (informative) added on the server.
[+] : JSON Example
ServerInfo
Provide information on the server.
NameTypeCardinalityDescription
productNamestring[1]Friendly description of the product.
productTypestring[1]Short name of the product.
productVersionProductVersion[0..1]Version of the product.
haModeboolean[0..1]Indicate if the server is in High Availability mode.
[+] : JSON Example
string
'string' represents character strings.
TelephonyErrorCause
Lists the different telephony error causes.
ValueDescription
UNKNOWNUnknown telephony error cause.
INVALID_CALLINGThe call server can not process the request because the calling device is not an acceptable one.
INVALID_DESTINATIONDestination is not a correct number.
INVALID_CALL_IDThe referenced call identifier is not valid.
INVALID_CONNECTION_STATEThe current state of the call does not permit
DEVICE_OUT_OF_SERVICEThe device is not in service.
INVALID_DEVICEThe device is not in valid.
INVALID_DEVICE_STATEThe device state is incompatible with the request.
INVALID_DATAThe data parameter has invalid value.
RESOURCE_BUSYThe destination is busy. All the user phone lines are already engaged.
TelephonyErrorInfo
Complementary information for telephony errors.
NameTypeCardinalityDescription
errorTypeTelephonyErrorType[0..1]The telephony error type.
errorCauseTelephonyErrorCause[0..1]The probable telephony error cause.
messagestring[0..1]An additional textual error information provided by the telephony service.
[+] : JSON Example
TelephonyErrorType
Lists the different telephony error types.
ValueDescription
UNKNOWNUnknown telephony error.
CALL_REFERENCE_NOT_FOUNDAny operations involving an invalid call reference.
LEG_NOT_FOUNDThe telephony service can not execute the request because the leg can not be found. Examples:
  • Recording online requested, but no active leg found.
BAD_PARAMETER_VALUESome parameters attached to the request are not correct. Examples:
  • A user tried to make a call with some associated data bigger than 32 bytes.
  • Dropping an unknown participant from a call.
INCOMPATIBLE_WITH_STATEThe telephony service can not execute the request because the current telephony state does not permit such operation. Examples:
  • Merging or transferring call requested but user state with one active call and one held call not found.
SERVICE_NOT_PROVIDEDThe telephony service can not execute the request because the corresponding service is not provided in this context.
SERVICE_UNAVAILABLEThe telephony service can not execute the request because it relies on another service which is unavailable. Examples:
  • Redirecting to voicemail is requested, but user has no voicemail.
  • Online recording is requested for , but user has no voicemail.
INITIALIZATIONThe telephony service is starting up and has not finished its initialization.
UNAUTHORIZEDTelephony service request has been rejected. Examples:
  • The user has already a call ongoing and he has only a BASIC TELEPHONY license.
  • The user tried to add one of his device as a call participant.
  • The user tried to switch a call to a device not belonging to him.
CALL_SERVER_ERRORTelephony service request failed because of an error generated by the call server. More details can be provided by the call server TelephonyErrorCause.
REQUEST_TIMEOUTAn operation invoked on the telephony service has exceeded the expected response timeout (default 5 seconds).
MAX_RESOURCES_EXCEEDEDThe maximum resource number is exceeded by the request.
UserPreferencesErrorInfo
Complementary information for userPreferences errors.
NameTypeCardinalityDescription
errorTypeUserPreferencesErrorTypeDTO[0..1]Precision on error
parameterUserPreferencesParameterDTO[0..1]Parameter name
[+] : JSON Example
UserPreferencesErrorTypeDTO
ValueDescription
UNKNOWNUnexpected error
WRONG_VALUEValue not expected
WRONG_NUMBER_FORMATWrong number format
UserPreferencesParameterDTO
ValueDescription
GUI_LANGUAGEUser GUI language
Version
NameTypeCardinalityDescription
idstring[1]Identifier of the version (e.g. '1.0').
statusstring[1]Status of the given version. 'CURRENT' means this is the latest version on the server.
publicUrlstring[1]Authentication URL to use from public (i.e. internet) access.
internalUrlstring[1]Authentication URL to use from private (i.e. intranet) access.
[+] : JSON Example

Authentication

Presentation

The Authentication service allows a user or an administrator to authenticate on the O2G server. This is a prerequisite to create a session.
All resources are protected by the authentication mechanism.
A dedicated resource is provided to perform user/administrator authentication :
http(s)://<host>:<port>/api/rest/authenticate?version=1.0

The first action for an application is to authenticate on O2G.
Authentication is basic HTTPS authentication, based on a login and password.
The first action for an application is to authenticate on O2G.

Authentication is basic HTTPS authentication, based on a login/password.

Authentication for an administrator


Authentication for an user : Secure Access

An installer can authorize or deny user authentication.Enable these options through O2G configuration (root account only).
Several options are possible.   In this case, no user can authenticate (no user session).
  Only an administrator account must use to perform an action for a user.   In this case, the user authentication is checked by O2G (default mode).
  It is a basic HTTPS authentication, based on a login/password.   This configuration impacts all OXEs managed by O2G :
  Each OXE must be configured with a local authentication or
  with a LDAP authentication (only possible from OXE version N4.507.2).

  For a local authentication :
  For a LDAP authentication :

   The authentication request response provides two additional parameters :
    First parameter is the O2G login for further request
    Second parameter is a optional boolean which indicate if the OXE password is expired or not.
     If this boolean is true, the password provided must be quickly changed using the proper API request
   An expired password can quickly leads to authentication failure

  Note : For OXE LDAP authentication, the login is the Login of the subscriber must be the same of the user defined in the LDAP server.
  O2G checks the consistency between the LDAP login and the OXE subscriber login.

JWT authentication is implemented to provide an identifier based on credentials: it is returned in the Set-Cookie header as the AlcUserId:
Set-Cookie: AlcUserId=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...;
This identifier must be passed in a in all subsequent HTTPS requests in the cookie header:
Cookie: AlcUserId=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJpbnRlcm5...;

History

Since version 2.7.4

Resource summary

ResourceMethodDescription
/authenticateGETAsk request authentication.

Resource

/authenticate

Methods
GET/authenticate
Ask request authentication.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
versionstring: This parameter is mandatory and MUST be set with 1.0
Response
codetypemedia typesdescription
200AuthenticationResponseapplication/json
OK
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Authentication of a user

Representations

AuthenticationResponse
The authentication response containing credential and URLs to access the Openness REST API.
NameTypeCardinalityDescription
credentialstring[1]The token returned by the authentication mechanism.
publicUrlstring[1]The public URL of the session resource(to be used in the case a reverse proxy has been set up).
internalUrlstring[1]The private URL of the session resource(to be used inside the company).
loginNamestring[0..1]

Since version 2.7.4

The login name needed to be used after authentication for O2G mechanism.
expiredboolean[0..1]

Since version 2.7.4

The boolean which asses if the password filled for authentication is expired or not.
[+] : JSON Example
Associated method :
boolean
'boolean' is a data type, having two values (true and false).
string
'string' represents character strings.

Session management

Presentation

The Session service allows a user or an administrator to open a session on the O2G server. This is a prerequisite to any service usage and must happened after the authentication stage.
A session is created with an initial time-to-leave of 1800 seconds (30 minutes) : the application is responsible to keep the session alive by posting /sessions/keepalive request or other requests before each expiration of the timer. The TTL of the session is re-initialized on each request. If the TTL expires, the session is closed by the server.

Resources summary

ResourceMethodDescription
/sessionsGETGets information of the opened session.
POSTOpen a session for a user or an administrator.
DELETECloses a Session.
/sessions/keepalivePOSTRestarts the session timer.

Resources

/sessions

Methods
GET/sessions
Gets information of the opened session.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200SessionInfoapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
POST/sessions
Open a session for a user or an administrator. This is the first thing to do before invoking any others resources. The user or the administrator session is identified by its authentication cookie. This one must be provided for the session creation request to the server. This authentication key is obtained after a successful authentication (See Authentication mechanism chapter)
A session can be opened only once (same authentication cookie), if the session is already open an error is returned (Forbidden). (With different authentication cookies, one user may open several sessions.
In each case, the obtained reference to the Session must be released using the logout operation (DELETE).
The Session is closed either after the reference has been released (after a call to the DELETE operation) or after the session timer ends.
3 types of Sessions exist:
  • User Session: The credential (cookie) used to open the session, is the one of a User. In case of success, this credential will be used to identify the Session and the User. This Session allows a User to use any other service.
  • Administrator Session: The credential (cookie) used to open the session, is the one of a Administrator. In case of success, this credential will be used to identify the Session and the Administrator. This Session allows a Administrator to use any other services.
  • A Administrator Session can also be used by an Application (as an Application account) to supervise several Users in a same Session. Such a session allows an Application to use the User oriented services.
  • Supervised Session: This kind of Session is opened thanks to the supervisor operation. This operation uses the credential of a Administrator (with supervisor role) and the identification of a User or another Administrator (login name, phone number or e-mail) to open the Session. In case of success, this credential will be used in all subsequent requests, to identify the Session, and the supervised User or Administrator. After the session opening, a Supervised Session can be used like a User Session or a Administrator Session (described above). In other words, this Session allows a Supervisor to use any other services as if it was opened by the User or Administrator.



Detail of the "applicationName" field : A session may be opened with:

  • a simple application name which is only useful for logging or statistic purpose
  • an encrypted bypass token given including a list of authorized services with a limited usage date. In this case, no license is taken at service request; furthermore, the response to the session creation returns the expiration date of the bypass token.

Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SessionRequestapplication/json
This element is used to open a Session.
Response
codetypemedia typesdescription
200SessionInfoapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Creation of a user session

[+] : Creation of an administrator session

[+] : Creation of a supervised user session

[+] : Creation of a session with a token

[+] : Creation of an administrator session, 2 other sessions already exist on this user: the result returns the identifiers of each.

DELETE/sessions
Closes a Session.
When the Session is closed (following the call to this operation or due to a session time out),
all license references are released and all services sessions are closed.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
header parameters
parametertypedescription
AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content (The session is closed)
400application/json
Bad Request
403application/json
Forbidden (The session is already closed)
500application/json
Internal Server Error (The session doesn't exist)
503application/json
Service Unavailable

/sessions/keepalive

Methods
POST/sessions/keepalive
Restarts the session timer.
To keep the session open, if there is no request before session timeout.

Each Session is limited in time.
The initial duration of a session is fixed to 30 minutes(1800 secs).
Each time a Session is used(using this method or any one else), the session timer is automatically restarted.
In case a secure token has been used to create the session, its expiration date will be returned.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
header parameters
parametertypedescription
AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200SessionTokenInfoapplication/json
OK (in case a secure token has been used to create the session)}
204application/json
No Content (The session timer has been correctly refreshed)
400application/json
Bad Request
403application/json
Forbidden (The session doesn't exist)
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : KeepaLive of a session with a token

Representations

boolean
'boolean' is a data type, having two values (true and false).
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Service
This value contains all available information about a local service.
NameTypeCardinalityDescription
serviceNamestring[1]This value contains the name of the service.
serviceVersionstring[0..1]This value contains the version of the service, which allows an application to check its compatibility with the service.
relativeUrlstring[1]This value contains the relative URL of the service, which allows a consumer to access it.
[+] : JSON Example
SessionInfo
Session information.
NameTypeCardinalityDescription
adminboolean[0..1]Indicate if the session has been opened by an administrator.
loginstring[0..1]

Since version 2.7.4

the roxe login of the user.
timeToLiveint[0..1]The TTL time-out applied on the Session in seconds.
publicBaseUrlstring[0..1]This value contains the public base URL which must be used by a consumer to access services from the Internet.
privateBaseUrlstring[1]This value contains the private base URL of the service, which must be used by a consumer to access services from a local network.
servicesService[0..*]All information available about the local services provided by public API for the current user.
creationDatestring[0..1]

Since version 2.7

when this session has been created
expirationDatestring[0..1]in case of secured token used to create the session, the expiration date of the token
otherSessionsUserSession[0..*]

Since version 2.7

List of all previous sessions opened by this user and still alive.
[+] : JSON Example
Associated methods :
SessionRequest
This element is used to open a Session.
NameTypeCardinalityDescription
applicationNamestring[1] Application name corresponds either to a simple identifier which is only useful for logging or statistic purpose or an encrypted token including a list of authorized services with a limited usage date (in this last case, no license is taken).
applicationAddressstring[0..1]Application address.
supervisedAccountSupervisedAccount[0..1]Identifier used to retrieve the supervised user (Administrator authentication but user session).
timeToLiveint[0..1]

Since version 2.7.4

Time to live in seconds for this session: default value depends on O2G configuration
[+] : JSON Example
Associated method :
SessionTokenInfo
Session information on Keep alive when a secured token is used
NameTypeCardinalityDescription
expirationDatestring[0..1]in case of secured token used to create the session, the expiration date of the token
[+] : JSON Example
Associated method :
string
'string' represents character strings.
SupervisedAccount
The supervised user description.
NameTypeCardinalityDescription
idstring[1]The identifier itself. The type of this value is given by the SupervisedAccountType attribute.
typeSupervisedAccountType[1]Gives the type of the identifier.
[+] : JSON Example
SupervisedAccountType
The supervised account type values.
ValueDescription
LOGIN_NAMEThe identifier is a login name.
PHONE_NUMBERThe identifier is a phone number.
UserSession
User Session information.
NameTypeCardinalityDescription
sessionIdstring[0..1]The session identifier
creationDatestring[0..1]The creation date of this session
timeToLiveint[0..1]The residual TTL of the Session in seconds. The value 0 indicates that the session duration is finished and will be soon disappear, but the Thread which purges the sessions has not yet been triggered (It is triggered every 5 minutes).
[+] : JSON Example

User information

Presentation

The User service allows

Resources summary

ResourceMethodDescription
/loginsGETAn administrator can get the list of the users (login name).
/usersGETFind information about a user from a company phone.
/users/{loginName}GETGets information about a user account.
/users/{loginName}/passwordPUTChange user's password.
/users/{loginName}/preferencesGETGets information about user's preferences.
POSTUpdates information about user's preferences.
/users/{loginName}/preferences/supportedLanguagesGETGets information about supported languages for user's GUI language preference:
  • Supported languages

Notifications summary

NotificationDescription
OnUserCreated

This event is sent on creation of an user (only for administrator).

OnUserDeleted

This event is sent when user is deleted (only for administrator).

OnUserInfoChangedThis event is sent on any change on the user's data.

Resources

/logins

Methods
GET/logins
An administrator can get the list of the users (login name).
For a user, only personal information (login name) is returned.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
nodeIdsstringThis parameter is an optional search criterion which allows to select only the users belonging to the given pbx node(s).
The given value must be one OXE nodeId or a comma separated list of nodeId.
(Note: this parameter can only be used by an administrator).
onlyACDbooleanThis parameter is another optional search criterion which allows to select only the ACD operators (agents or supervisors).
This parameter has no value.
(Note: this parameter can only be used by an administrator).
onlyWithExtLoginbooleanThis parameter is another optional search criterion which allows to select only users with valid external login.
This parameter has no value.
(Note: this parameter can only be used by an administrator).
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200LoginsResponseapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information with a user role. The session was opened by a user.

[+] : Get all user's logins with an administrator role. The session was opened by an administrator.

[+] : Get all user's logins belonging to OXE node 7 or 8. The session was opened by an administrator.

[+] : Get all user's logins corresponding to ACD operators (agents or supervisors) The session was opened by an administrator.

[+] : Get all user's logins belonging to OXE node 5 and 7 and corresponding to ACD operators (agents or supervisors) The session was opened by an administrator.

/users

Methods
GET/users
Find information about a user from a company phone.
This operation provides useful information to the application:
  • Name and first name of the user
  • User's internal login name
  • User's phone number
  • User's voicemail information
  • User's list of devices
  • ...
Remark: only one query parameter can be used at a time. If no query parameter a BAD_REQUEST error will be generated.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
companyPhonestringCompany phone of the user to retrieve the account description.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, information about the concerned user User
codetypemedia typesdescription
200Userapplication/json
Returns the result code and, if the code is SUCCESS, information about the concerned user User
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about another user's account.

/users/{loginName}

Methods
GET/users/{loginName}
Gets information about a user account.
This operation provides useful information to the application:
  • Name and first name of the user
  • User's internal login name
  • User's phone number
  • User's voicemail information
  • User's list of devices
  • ...
An application should invoke this method just after the open session step to know the user's account description.
A server application which is interested by retrieving data of the user using this method must invoke it only when it is necessary and then cache the result.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the account description.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, information about the concerned user User
codetypemedia typesdescription
200Userapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about the user's account for which the session is opened.

Associated notifications

/users/{loginName}/password

Methods
PUT/users/{loginName}/password
Change user's password.
This operation allows a user or an administrator to change its password.
Depending on the authentication configuration (see the authentication mechanism description in the Introduction tab), this action may be not possible.
Configuration type Action possible
For an O2G administrator Yes : The password is changed in the O2G configuration, and must comply with the O2G password policy.
For an user : O2G authentication Yes : The password corresponds to the Secret Code attribute of the OXE subscriber.
The value is 4 digits, that must respect the OXE password policy.
For an user : OXE local authentication Yes : The password corresponds to the Password attribute of the OXE subscriber.
The value is a string, that must respect the OXE password policy.
For an user : OXE LDAP authentication No
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to change the password.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ChangePasswordRequestcontaining the old and the new passwords
Response
Returns the result code and
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/users/{loginName}/preferences

Methods
GET/users/{loginName}/preferences
Gets information about user's preferences.
This operation provides useful information to the application:
  • User's GUI language
  • ...
Here, the correspondence table of the different languages between OXE and O2G.
OXE language GUI language
Arabic_D ar
Arabic_FV ar-fv
Australian en-au
Austrian de-at
Bahasa_Malay id
Brazilian br
Bulgarian bg
Canadian_French fr-ca
Cantonese ca-?
Catalonian ca
Croat hr
Czech cs
Danish da
Egyptian_FV eg-fv
Egyptian_MV eg-mv
English_Africa en-af
English_UK en-gb
Estonian et
Finnish fi
Flemish nl-be
French fr
French_Swiss fr-ch
Generic_English en
German de
German_Swiss de-ch
Greek el
Hebrew he
Holland nl
Hungarian hu
Icelandic is
Irish ga
Italian it
Italian_Swiss it-ch
Japanese ja
Korean ko
Latvian lv
Lithuanian lt
Malay ms
Mandarin_China zh
Mandarin_Taiwan zh-tw
Norwegian no
Persian fa
Polish pl
Portuguese pt
Rumanian ro
Russian ru
Slovene si
Spanish es
Spanish_America es-us
Swedish sv
Thai th
Turkish tr
US_English en-us
Valenciano ca-es
Vietnamese vi
Yugoslav yu
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the preferences.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, preferences about the concerned user UserPreferences
codetypemedia typesdescription
200UserPreferencesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get user's preferences for which the session is opened.

POST/users/{loginName}/preferences
Updates information about user's preferences.
This operation provides useful information to the application:
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UserPreferencesapplication/json
Response
Returns the result code.
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : set user's preferences for which the session is opened.

Associated notifications
OnPreferencesChanged

/users/{loginName}/preferences/supportedLanguages

Methods
GET/users/{loginName}/preferences/supportedLanguages
Gets information about supported languages for user's GUI language preference:
  • Supported languages
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the supported languages.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, supported languages about the concerned user
codetypemedia typesdescription
200SupportedLanguagesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get user's supported languages for which the session is opened.

Representations

ChangePasswordRequest
Request to change password of the user
NameTypeCardinalityDescription
oldPasswordstring[1]Old password
newPasswordstring[1]New password
[+] : JSON Example
Associated method :
Device
Describe a device.
NameTypeCardinalityDescription
typeDeviceType[0..1]Device's type.
idstring[0..1]Device identifier which is used to identify the device in telephony requests and events.
subTypestring[0..1]Device's subtype : For a DESKPHONE type, we could have : ANALOG, NOE_C_Color_IP, ...
[+] : JSON Example
Associated method :
DeviceType
The device type values.
ValueDescription
DECTA wireless phone set used within the enterprise.
DESKPHONEA phone set on an office's desk.
MOBILEA mobile phone.
SOFTPHONEA phone started from a computer with VOIP.
LoginsResponse
The get logins response.
NameTypeCardinalityDescription
loginNamesstring[1..*]List of logins matching the request.
[+] : JSON Example
Associated methods :
OnUserCreated

This event is sent on creation of an user (only for administrator).

There is no control on the 'ids' provided in the 'Selector' filter of the subscription filter (subscription done for all users).

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserCreated'
userUser[1]The created user object.
[+] : JSON Example
OnUserDeleted

This event is sent when user is deleted (only for administrator).

There is no control on the 'ids' provided in the 'Selector' filter of the subscription filter (subscription done for all users).

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserDeleted'
loginNamestring[1]The login name of the deleted user.
[+] : JSON Example
OnUserInfoChanged
This event is sent on any change on the user's data.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserInfoChanged'
loginNamestring[0..1]Login name of the user receiving the event.
userUser[1]The changed user object.
[+] : JSON Example
Associated method :
string
'string' represents character strings.
SupportedLanguages
The get supported languages.
NameTypeCardinalityDescription
supportedLanguagesstring[1..*]List of supported languages.
supportedGuiLanguagesstring[0..*]Gets the value of the GUI supported languages list.
[+] : JSON Example
Associated method :
User
The description of a user
NameTypeCardinality*1*2Description
companyPhonestring[0..1]User's company phone number.
firstNamestring[0..1]First name of the User or Administrator owner of this Account. Note: Corresponds to the "UTF8_Phone_Book_First_Name" parameter. If this one is empty, it is the parameter "Annu_First_Name" which is taken into account.
lastNamestring[0..1]Last name of the User or Administrator owner of this Account. Note: Corresponds to the "UTF8_Phone_Book_Name" parameter. If this one is empty, it is the parameter "Annu_Name" which is taken into account.
loginNamestring[0..1]Login name which identifies the User Account.
voicemailVoicemail[0..1]User's voicemail description.
devicesDevice[0..*]XXUser's devices.
nodeIdstring[0..1]Node Id on which user is attached
externalLoginstring[0..1]

Since version 2.7

External login of the user if set (only available with oxe > n1.271)
*1 : attribute only provided if the user is the session's owner or for an administrator session.
*2 : attribute only provided if the user is the session's owner or for an administrator session.

[+] : JSON Example
Associated methods :
UserPreferences
The preferences of a user
NameTypeCardinalityDescription
guiLanguagestring[0..1]GUI Language of the User or the Administrator.
oxeLanguagestring[0..1]OXE Language of the User or the Administrator.
[+] : JSON Example
Associated methods :
Voicemail
Describes user's voicemail.
NameTypeCardinalityDescription
numberstring[1]Voicemail number.
typeVoicemailType[1]Voicemail type.
[+] : JSON Example
VoicemailType
Voicemail type values
ValueDescription
VM_4635Integrated 46x5 voice mail system
VM_4645Integrated 46x5 voice mail system
EXTERNALExternal voice mail systems

User Management

Presentation

The User Management service allows an administrator to create/delete/get the O2G users.
O2G allows to create O2G users according to different methods:

The 3 methods may be used together, a user created automatically or by provisioning may also be removed through the REST service.
"All the users" means all the configured oxe Subscribers.
The analog devices (Z) with Ghost feature may also used through O2G but their usage should be restricted to special services like generate a call followed by a blind transfer.
In any cases, there is no persistence: a user created on demand through this service is not kept after a server restart.
(Rem: If a user automatically created by 4980 is removed by API, it will be created again by midnight audit)

History

Since version 2.7.3

Resources summary

ResourceMethodDescription
/usermanagementGETGet one or several users loginName.
POSTCreate and monitor one or several O2G user(s) associated to a pbx Subscriber, giving its(their) device number.
/usermanagement/{loginName}GETGet information about a user.
DELETERemove an O2G user.

Resources

/usermanagement

Methods
GET/usermanagement
Get one or several users loginName.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
nodeIdsstringThis parameter is an optional search criterion which allows to select only the users belonging to the given pbx node(s).
The given value must be one OXE nodeId or a comma separated list of nodeId.
deviceNumberstringThis parameter is an optional search criterion which allows to select only a user by its phone number.
the device number may its main device or one of its secondary devices.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200LoginsResponseapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all existing O2G user identifiers

[+] : Get all user's identifiers belonging to OXE node 7 or 8.

[+] : Get the user identifier corresponding to the secondary device 70124

POST/usermanagement
Create and monitor one or several O2G user(s) associated to a pbx Subscriber, giving its(their) device number.
If the oxe user is a multi device, the user may be created with its main number or with any of its secondary device.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UserCreateRequestapplication/json
node and device phone number listUserCreateRequest
Response
Returns the list of created users only if the request does not concern all the users else return null
codetypemedia typesdescription
200Usersapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Create the user 70120 on node 7.

[+] : Create the multi device user 70123 from its tandem device 70124 on node 7.

[+] : Create severals users corresponding to the devices: 70120,70121,70122 and 70123 on node 7.

[+] : Create all the users corresponding to node 7.

/usermanagement/{loginName}

Methods
GET/usermanagement/{loginName}
Get information about a user.
This operation provides user information:
  • Name and first name of the user
  • User's internal login name
  • User's phone number
  • User's voicemail information
  • User's list of devices
  • ...
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the account description.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, information about the concerned user User
codetypemedia typesdescription
200Userapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about a user

DELETE/usermanagement/{loginName}
Remove an O2G user.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
loginNamestringloginName of the user to delete
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Remove the user corresponding to the device 1000.

Representations

boolean
'boolean' is a data type, having two values (true and false).
Device
Describe a device.
NameTypeCardinalityDescription
typeDeviceType[0..1]Device's type.
idstring[0..1]Device identifier which is used to identify the device in telephony requests and events.
subTypestring[0..1]Device's subtype : For a DESKPHONE type, we could have : ANALOG, NOE_C_Color_IP, ...
[+] : JSON Example
Associated method :
DeviceType
The device type values.
ValueDescription
DECTA wireless phone set used within the enterprise.
DESKPHONEA phone set on an office's desk.
MOBILEA mobile phone.
SOFTPHONEA phone started from a computer with VOIP.
int
'int' is a 32-bit number (-2147483648 to 2147483647).
LoginsResponse
The get logins response.
NameTypeCardinalityDescription
loginNamesstring[1..*]List of logins matching the request.
[+] : JSON Example
Associated methods :
string
'string' represents character strings.
User
The description of a user
NameTypeCardinality*1*2Description
companyPhonestring[0..1]User's company phone number.
firstNamestring[0..1]First name of the User or Administrator owner of this Account. Note: Corresponds to the "UTF8_Phone_Book_First_Name" parameter. If this one is empty, it is the parameter "Annu_First_Name" which is taken into account.
lastNamestring[0..1]Last name of the User or Administrator owner of this Account. Note: Corresponds to the "UTF8_Phone_Book_Name" parameter. If this one is empty, it is the parameter "Annu_Name" which is taken into account.
loginNamestring[0..1]Login name which identifies the User Account.
voicemailVoicemail[0..1]User's voicemail description.
devicesDevice[0..*]XXUser's devices.
nodeIdstring[0..1]Node Id on which user is attached
externalLoginstring[0..1]

Since version 2.7

External login of the user if set (only available with oxe > n1.271)
*1 : attribute only provided if the user is the session's owner or for an administrator session.
*2 : attribute only provided if the user is the session's owner or for an administrator session.

[+] : JSON Example
Associated methods :
UserCreateRequest
O2G User on demand creation request
NameTypeCardinalityDescription
nodeIdint[1]Node number.
deviceNumbersstring[0..*]List of device phone number(s). Must be present if the following all parameter is absent or false.
allboolean[0..1]if all parameter is present with value true, the request is to create all the users corresponding to all the oxe devices.
In this case the previous deviceNumbers list is ignored.
!! The request to create all the users should be reserved to small OXE configuration.
[+] : JSON Example
Associated method :
Users
List of the created users
NameTypeCardinalityDescription
usersUser[0..*]List of users.
[+] : JSON Example
Associated method :
Voicemail
Describes user's voicemail.
NameTypeCardinalityDescription
numberstring[1]Voicemail number.
typeVoicemailType[1]Voicemail type.
[+] : JSON Example
VoicemailType
Voicemail type values
ValueDescription
VM_4635Integrated 46x5 voice mail system
VM_4645Integrated 46x5 voice mail system
EXTERNALExternal voice mail systems

Subscription management

Presentation

Management of all subscription related resources. Once subscription to events is performed, client should instantiate the HTTP Chunk notification channel.

To be eligible to event notification, client must fulfill the following conditions:

  • Have an opened framework session.
  • Have subscribed to the set of events he wants to be notified on.
  • Have received an ACCEPTED subscription response from the server.

Subscription to event notification is done by declaring the exact names of the events the client wants to be notified on. Another possibility is to subscribe to a set of events, grouped per domain. These sets of events are also called event packages. Supported event packages for API Openness are:

  • telephony [OnCallCreated, OnCallModified, OnCallRemoved, OnUserStateModified, OnDeviceStateModified, OnTelephonyState, OnDynamicStateChanged ]
  • eventSummary [OnEventSummaryUpdated]
  • unifiedComLog [OnComRecordCreated, OnComRecordModified, OnComRecordsDeleted, OnComRecordsAck, OnComRecordsUnAck]
  • user [OnUserInfoChanged]
  • userManagement [OnUserCreated, OnUserDeleted, OnUserInfoChanged ]
  • routingManagement [OnRoutingStateChanged]
  • agent [OnAgentStateChanged, OnSupervisorHelpRequested, OnSupervisorHelpCancelled , OnAgentSkillChanged ]
  • rsi [OnRouteRequest,OnRouteEnd,OnToneGeneratedStart,OnToneGeneratedStop,OnDigitCollected]
  • pilot [OnPilotCallCreated,OnPilotCallQueued,OnPilotCallRemoved]
  • system [ OnLicenseExpiration,OnPbxLoaded,OnCtiLinkDown,OnCtiLinkUp]
  • pbxManagement [OnPbxObjectInstanceCreated,OnPbxObjectInstanceModified,OnPbxObjectInstanceDeleted]
  • rti [OnAgentRtiChanged,OnPilotRtiChanged,OnPGAgentRtiChanged,OnQueueRtiChanged,OnPGOtherRtiChanged]
  • acdstats [OnAcdStatsProgress]

To declare these events or packages in a subscription request, one or several selectors must be used (at least one per event package).

  • For pbxManagement and system packages, a selector contains the "names" attribute which is either the event package name or a list of corresponding events. The "ids" attributes MUST be absent.
  • For rsi package, no license will be taken. The licenses will be taken upon invoking the methods of this feature. The "ids" are RSI directory numbers.
  • For pilot package, no license will be taken. The licenses will be taken upon invoking the methods of this feature. The "ids" are acd pilot object phone numbers.
  • For rti package, no license will be taken. The licenses will be taken upon invoking the methods of this feature. The "ids" are acd object (agent, pilot, processing group agent, queue, processing group other) phone numbers.
  • For the other packages, a selector MUST contain a list of "ids" (i.e. logins), and either a list of "names" corresponding to one or several event names of the same package or an event package name.
It is not possible to mix event names of different packages inside the same selector: different selectors must be used in such case.

It is possible for an administrator only to subscribe for event for all the users of the system. In this case, the id has to be replaced by the wildcard "*". It is highly recommended to use this method instead of giving a huge list of login names (which would penalize the internal system subscription map)

A subscription request includes other fields such as:

  • The version of the api (e.g. '1.0'). This is a mandatory parameter, which can be use, for instance, to subscribe to older versions of events.
  • An optional timeout parameter can be set by the client at subscription to indicate whether a timeout shall be established by the server or not.
    A timeout is set by the server in following cases:
    • timeout parameter is not provided by client. In that case the server sets a 10 minutes default timeout.
    • timeout parameter is provided by client with a non-zero value (10 minutes minimum to one hour maximum). In that case the server sets a timeout corresponding to the value provided.
    When a timeout value has been set and if no activity is detected during this timeout, the notification chunk (socket) is closed on server side.
    It is then up to the client to renew its subscription and reopen the chunk notification channel.
    The client can indicate to the server to not establish a timeout by providing a timeout parameter with timeout=0 as value.
    In that case, the server establishes and maintains the chunk channel without setting a timeout.
    The server sends a keep alive event on the chunk socket to the client every 1 minute (this value can be changed through web.xml) in case of no other activity.
    The keep alive event sent by the server is of type: { "eventName": "OnChannelInformation", "text": "keepalive"}.
    When webHookUrl is used, the timeout parameter is not applicable and will be ignored if present.
  • An optional webHookUrl (ex: "webHookUrl": "https://172.25.152.114:8091/webHookOTEvent") which specifies the http(s) webHook event call back URL: If specified, the events are sent on this URL. Each event will be sent through an Http(s) POST request including as Cookie header the subscriptionId and the body containing the event (encoded in JSON oject like in chunk mode).
    NB1: the webHook subscription is exclusive with the http chunk mode which must not be used with the same subscription.
    NB2: The previous timeout parameter is not applicable in case of webhook: the webHook URL will be considered as valid as long as the subscription is alive.

A subscription response will provide following information to the user:

  • Notification mode and format, as a reminder of the request parameters.
  • The subscription status, containing the result of the subscription: ACCEPTED if all events or event packages subscription have been accepted, REFUSED if no subscription can be performed.
  • An error message as a hint for refused subscriptions.
  • The subscription Id as a key to access the subscription.
  • The private and public polling URL for instantiating the HTTP Chunk mode on client side. If public polling URL is specified, it has to be used (access through reverse proxies).

The following remarks must be taken in consideration while designing a REST client using Http chunk mode:

  • Since the subscription and the notification are not sharing the same channel, events are queued if they occur between subscription and opening of chunk notification channel.
  • The client can set a timeout value at the subscription by giving a non zero value (10 minutes minimum to one hour maximum, if no attribute parameter is given, a 10 minutes default value is set): If no activity is detected during this timeout, the notification chunk (socket) is closed on server side.
    It is up to the client to renew its subscription and reopen the chunk notification channel: if the chunk channel is not reopened after one minute, then the subscription is closed.
    If the client chooses to not have a timeout by giving explicitely a timeout=0 parameter, a keep-alive event will be sent by the server every minute on the chunk socket in case of no other activity, in order to detect socket closure.
    In any cases (timeout or not), the subscription will be closed after the socket has been detected as closed for one minute.
    When webHookUrl is used, the timeout parameter is not applicable and will be ignored if present.


NOTE1: License count check for administrator session.
An administrator can subscribe to event notification concerning a subset of users. Only one license per package will be taken, but the amount of supervised users can not exceed the number of TELEPHONY_ADVANCED licenses installed on the server.
The following rules apply when checking if the limit is reached or not:

  • The counter is increased when a user is part of an administrator's subscription for the first time.
  • The counter is decreased when the last administrator's subscription is removed for a given user.
  • The whole subscription is refused if the content will make the counter exceed the installed number of licenses.

Resources summary

ResourceMethodDescription
/subscriptionsPOSTCreate a subscription for event notification.
PUTUpdate an existing subscription for event notification.
/subscriptions/{subscriptionId}DELETERemove a subscription.

Resources

/subscriptions

Methods
POST/subscriptions
Create a subscription for event notification.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED or/and ROXE_API_CONTACTCENTER_AGENT - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
header parameters
parametertypedescription
AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
cookie parameters
parametertypedescription
AlcUserIdstringThe user framework session Identifier, received as a cookie.
body parameter
typemedia typesdescription
SubscriptionRequestapplication/json
Response
Returns the subscription response (which contains the subscription state).
codetypemedia typesdescription
200Subscriptionapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Create a subscription to all events of the telephony, eventSummary event packages, for user userA.

[+] : Create a subscription to telephony event packages, for all users of the system.

[+] : Create a subscription to system event package.

[+] : Create a subscription to pbxManagement event package.

[+] : Create a subscription with webhook on https address (and port=8091)

[+] : Create a subscription to pilot and rsi event packages.

Associated notifications
PUT/subscriptions
Update an existing subscription for event notification.
Only the filter part Filter of a subscription can be updated. The other parameters of a previously created subscription will be left untouched (notificationMode, notificationFormat,timeout, ...).
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED or/and ROXE_API_CONTACTCENTER_AGENT - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
cookie parameters
parametertypedescription
AlcUserIdstringThe user framework session Identifier, received as a cookie.
body parameter
typemedia typesdescription
Filterapplication/json
The filter to update. Filter
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Update a subscription for all events of the telephony, eventSummary event packages, for user userA and userB.

/subscriptions/{subscriptionId}

Methods
DELETE/subscriptions/{subscriptionId}
Remove a subscription. If the notification of events has started for this subscription (HTTP chunk initiated), the socket will be closed, and all queued events deleted.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
path parameters
parametertypedescription
subscriptionIdstringThe identifier of the subscription.
cookie parameters
parametertypedescription
AlcUserIdstringThe user framework session Identifier, received as a cookie.
Response
The result code.
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
Examples

[+] : Delete an existing subscription. Associated notification channel will be closed, if already opened.

Representations

Filter
High level container of event selector.
NameTypeCardinalityDescription
selectorsSelector[0..*]List of selectors.
[+] : JSON Example
Associated method :
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Selector
A selector is a filter applied to an event. The attributes of an event must match all the criteria of the selector to be sent to the subscriber.
NameTypeCardinalityDescription
idsstring[0..*]The selector specifies that all events must contain one of these identifier.
This parameter is not mandatory for a user session, but it is mandatory for an administrator session (at least one identifier must be provided).
namesstring[1..*]The selector specifies that all events must match this attribute.
The content of this field must match the name of events or one of the event packages, as listed in Subscription overview.
The name can't be empty.
[+] : JSON Example
string
'string' represents character strings.
Subscription
Contains the status returned by the server on a subscription request.
NameTypeCardinalityDescription
subscriptionIdstring[0..1]The identifier of the subscription, if this one has been accepted.
messagestring[0..1]Contains a relevant message, especially in case of error or failure.
publicPollingUrlstring[0..1]This value contains the public URL to be used in case of HTTP CHUNK notification mode. If set, public URL must be used because it takes into account access through a reverse proxy (Internet access).
privatePollingUrlstring[0..1]This value contains the private URL to be used in case of HTTP CHUNK notification mode. This allows access from local network (Intranet access).
statusSubscriptionState[1]Status of the subscription returned by the server.
[+] : JSON Example
Associated method :
SubscriptionRequest
Contains all information needed for subscription to event notification.
NameTypeCardinalityDefaultDescription
filterFilter[0..1]List of selector used to filter events.
sessionIdstring[0..1]

Reserved: DO NOT USE.

versionstring[1]The version of the events the user wants to subscribe to.
timeoutint[0..1]10Default lifetime of the channel opened between the server and the client. After that time, in minutes, the server closes the connection in case of no activity. It is up to the client to reconnect. Allowed values are 2 minutes and 60 minutes, with an exception for the value 0.

For this special case, the lifetime of the notification channel is not maintained by the given timeout, but depends on the lifetime of the user's session. A KeepAlive event is sent by the server to maintain the connection.

webHookUrlstring[0..1]If specified, the events corresponding to this subscription will be sent on this URL by callback
[+] : JSON Example
Associated method :
SubscriptionState
Defines the response status of the server on a subscription request.
ValueDescription
UNKNOWNSubscription state is unknown.
ACCEPTEDFull subscription has been accepted.
REFUSEDThe subscription has been refused.

Call control

Presentation

The Telephony service allows a user to initiate a call and to activate pbx telephony services:



The service is rejected if :
  • the device number is invalid (invalid csta device identifier)
  • the device is out of service or its equipment number is out of range (resource out of service)
  • the device is not monitored (requesting incompatible with object)
  • the device is an analog set in the state : line lock-lout (invalid object state)

Resources summary

ResourceMethodDescription
/telephony/basicCallPOSTInitiates a call to another user (the callee).
/telephony/basicCall/answerPOSTResponds to the incoming ringing call.
/telephony/basicCall/dropmePOSTExits from the call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
/telephony/callsGETGet information on all the calls in progress.
POSTInitiates a new call to another user (the callee).
/telephony/calls/{callRef}GETReturns a description of a call.
DELETEHangs on an active call, all the parties are released.
/telephony/calls/{callRef}/alternatePOSTPuts on hold the active call and retrieve a call that has been previously put in hold.
/telephony/calls/{callRef}/answerPOSTResponds to an incoming ringing call.
/telephony/calls/{callRef}/attachdataPOSTAssociates data to a call, following a previously established call.
/telephony/calls/{callRef}/blindtransferPOSTTransfers a specified active call to another user, without knowing if this user will answer and without keeping control on this call.
/telephony/calls/{callRef}/callbackPOSTRequests for call back during a call.
/telephony/calls/{callRef}/deviceLegsGETReturns the legs involved in the call
/telephony/calls/{callRef}/deviceLegs/{legId}GETReturns the leg whose Id is legId
POSTTranslates the call from a user device to another device.
/telephony/calls/{callRef}/dropmePOSTExits from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
/telephony/calls/{callRef}/holdPOSTHolds a specified active call.
/telephony/calls/{callRef}/mergePOSTMakes a n-party conference with a specified active call and a specified held call.
/telephony/calls/{callRef}/overflowToVoiceMailPOSTRedirects an outgoing ringing call to the voice mail of the called user.
/telephony/calls/{callRef}/parkPOSTPark a specified active call to a target device.
/telephony/calls/{callRef}/participantsGETReturns the list of participants in a call.
/telephony/calls/{callRef}/participants/{participantId}GETReturns information about a participant in a call.
DELETEDrops a participant from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the participant.
/telephony/calls/{callRef}/reconnectPOSTRelease a current call (active or ringing) to retrieve a previously put in hold call (cancel a consultation call).
/telephony/calls/{callRef}/recordingPOSTStarts, stops, pauses or resumes the recording of a call.
/telephony/calls/{callRef}/redirectPOSTRedirects an incoming ringing call to another user or number, instead of responding to it.
/telephony/calls/{callRef}/retrievePOSTRetrieves a call that has been previously put in hold.
/telephony/calls/{callRef}/sendDtmfPOSTSends DTMF in an active call.
/telephony/calls/{callRef}/sendaccountinfoPOSTSend the account info.
/telephony/calls/{callRef}/transferPOSTTransfers a specified active call to a specified held call.
/telephony/deskSharingPOSTLog the user (DSU) on a specified device (DSS).
DELETELogoff the DSU user.
/telephony/devicesGETGets states of all user devices
/telephony/devices/{deviceId}GETGets a user device state
/telephony/devices/{deviceId}/intrusionPOSTIntrusion in the active call of a called user.
/telephony/devices/{deviceId}/ithmicroPUTPush the MICRO/ITH key.
/telephony/devices/{deviceId}/pickupPOSTPicks up an incoming call on another user.
/telephony/devices/{deviceId}/unparkPOSTUnPark a call from a target device.
/telephony/huntingGroupLogOnGETGet the user status in its current hunting group: logged on or not
POSTLog the user in its current hunting group.
DELETELogout the user from its current hunting group.
/telephony/huntingGroupMember/{hgNumber}POSTSet the user as member of a Hunting group.
DELETERemove the user from a Hunting group.
/telephony/huntingGroupsGETGet the Hunting groups of the node and eventually the current one the user belongs to.
/telephony/incomingCallbacksGETReturns the whole list of callback requests.
DELETEDeletes all callback requests.
/telephony/incomingCallbacks/{callbackId}DELETEDeletes a callback request.
/telephony/miniMessagesGETReturns the current new message.
POSTSend a mini message.
/telephony/outgoingCallbacksPOSTRequests for call back from an idle device.
/telephony/pilots/{nodeId}/{pilotNumber}/transferInfoPOSTGet information of a pilot related to transfer capability
This method should be used by an agent before transferring a call to a pilot
Return information related to transfer: transfer is /or not possible and transfer is /or not supervised
/telephony/stateGETAsks for the user telephonic state and capabilities.
/telephony/state/snapshotPOSTAsk a snapshot event on user call state.

Notifications summary

NotificationDescription
OnCallCreatedThis notification indicates that a new call has been created.
OnCallModifiedThis notification indicates that an existing call has been modified.
OnCallRemovedThis notification indicates that a call has been removed (hang up, transfer...).
OnDeviceStateModifiedThis notification indicates that device's state has been modified.
OnDynamicStateChangedThis notification indicates the user's dynamic state change.
OnTelephonyStateThis notification indicates the telephonic state (calls[] and deviceCapabilities[]) of a user
OnUserStateModifiedThis notification indicates that user's state has been modified (FREE, BUSY ...).

Resources

/telephony/basicCall

Methods
POST/telephony/basicCall
Initiates a call to another user (the callee). Also used to initiate a call from any connected set which is not associated to an user.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MakeBasicCallRequestapplication/json
MakeBasicCallRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
204application/json
No Content Only for a call from a connected set which is not associated to an user
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a call to another user (the callee)

[+] : Initiates a call from any connected set which is not associated to an user.

Associated notifications

/telephony/basicCall/answer

Methods
POST/telephony/basicCall/answer
Responds to the incoming ringing call.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
AnswerRequestapplication/json
AnswerRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/basicCall/dropme

Methods
POST/telephony/basicCall/dropme
Exits from the call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls

Methods
GET/telephony/calls
Get information on all the calls in progress.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Callsapplication/json
OK
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
POST/telephony/calls
Initiates a new call to another user (the callee). To initiate a regular call don't fill the associatedData, pin, secretCode or businessCode parameters. To initiate a call with associated data fill the associatedData parameter. To initiate a Private Call fill the pin and secretCode parameters. To initiate a Business Call fill the businessCode parameter. To initiate a call from any connected set which is not associated to an user, don't fill the bypass, associatedData, pin, secretCode or businessCode parameters.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MakeCallRequestapplication/json
MakeCallRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
204application/json
No Content Only for a call from a connected set which is not associated to an user
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a call to another user (the callee)

[+] : Initiates a Private call.

[+] : Initiates a Business call.

[+] : Initiates an ACD call from an agent to a supervisor (no callee)

[+] : Initiates a call with associateData as a string

[+] : Initiates a call associate data as binary sequence

/telephony/calls/{callRef}

Methods
GET/telephony/calls/{callRef}
Returns a description of a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Callapplication/json
OK
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the details of the call 0ba25a675f050700 of user oxe70121 from an admin session

DELETE/telephony/calls/{callRef}
Hangs on an active call, all the parties are released.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/alternate

Methods
POST/telephony/calls/{callRef}/alternate
Puts on hold the active call and retrieve a call that has been previously put in hold.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringreference of the held call.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
AlternateRequestapplication/json
AlternateRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/answer

Methods
POST/telephony/calls/{callRef}/answer
Responds to an incoming ringing call.

NOTE: To invoke answer on a call, the API user must check the correct state of the concerned call. This can be done by listening to the telephony events, and more specifically to the capabilities of the involved leg. (answer capability on the leg).

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
AnswerRequestapplication/json
AnswerRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/attachdata

Methods
POST/telephony/calls/{callRef}/attachdata
Associates data to a call, following a previously established call. Associates data can be encoded as clear string or binary encoded string
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SendAssociatedDataRequestapplication/json
SendAssociatedDataRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : during incoming call (ringing state), 70125 attaches clear string data to the call

[+] : 70125 attaches to incoming call a string data

[+] : 70125 attaches to incoming call a binary data sequence

/telephony/calls/{callRef}/blindtransfer

Methods
POST/telephony/calls/{callRef}/blindtransfer
Transfers a specified active call to another user, without knowing if this user will answer and without keeping control on this call.
N.B. On multi-device, this service requires to have OXE "Specific Telephone Services/Consult.call mod.on multi-line" parameter been set to False.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
BlindTransferRequestapplication/json
BlindTransferRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/callback

Methods
POST/telephony/calls/{callRef}/callback
Requests for call back during a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/deviceLegs

Methods
GET/telephony/calls/{callRef}/deviceLegs
Returns the legs involved in the call
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Legsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/deviceLegs/{legId}

Methods
GET/telephony/calls/{callRef}/deviceLegs/{legId}
Returns the leg whose Id is legId
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
legIdstringLeg reference
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Legapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
POST/telephony/calls/{callRef}/deviceLegs/{legId}
Translates the call from a user device to another device.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
legIdstringLeg reference
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SwitchDeviceRequestapplication/json
SwitchDeviceRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : switch the call from the device 70123 to the device 70125

Associated notifications

/telephony/calls/{callRef}/dropme

Methods
POST/telephony/calls/{callRef}/dropme
Exits from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the user.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/hold

Methods
POST/telephony/calls/{callRef}/hold
Holds a specified active call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
HoldRequestapplication/json
HoldRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/merge

Methods
POST/telephony/calls/{callRef}/merge
Makes a n-party conference with a specified active call and a specified held call. The active could be a single call but also, could be already a conference.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MergeRequestapplication/json
MergeRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/overflowToVoiceMail

Methods
POST/telephony/calls/{callRef}/overflowToVoiceMail
Redirects an outgoing ringing call to the voice mail of the called user.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/park

Methods
POST/telephony/calls/{callRef}/park
Park a specified active call to a target device. If the device where to park the call is the same device, the ParkRequestDTO argument may be omitted.
Usage restriction: The Park/UnPark service should be used only with external incoming call (the monitoring of unparking of calls that have been parked by the caller leads to inconsistent result)
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call to park.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ParkRequestapplication/json
ParkRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/participants

Methods
GET/telephony/calls/{callRef}/participants
Returns the list of participants in a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Participantsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/participants/{participantId}

Methods
GET/telephony/calls/{callRef}/participants/{participantId}
Returns information about a participant in a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
participantIdstringReference of the participant
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Participantapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/telephony/calls/{callRef}/participants/{participantId}
Drops a participant from an active call: if the call is a single call, it is released; if it is a conference, the call carries on without the participant.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
participantIdstringReference of the participant
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/reconnect

Methods
POST/telephony/calls/{callRef}/reconnect
Release a current call (active or ringing) to retrieve a previously put in hold call (cancel a consultation call).
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the held call to reactive.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ReconnectRequestapplication/json
ReconnectRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : cancel the enquiry call ref2 and reconnect the call ref1 from the device 60113

Associated notifications

/telephony/calls/{callRef}/recording

Methods
POST/telephony/calls/{callRef}/recording
Starts, stops, pauses or resumes the recording of a call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
actionstringMandatory parameter. Possible values are start, stop, pause, resume.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Start a record

[+] : Pause a record

[+] : Resume a record

[+] : Stop a record

Associated notifications

/telephony/calls/{callRef}/redirect

Methods
POST/telephony/calls/{callRef}/redirect
Redirects an incoming ringing call to another user or number, instead of responding to it. If redirectTo is equal to VOICEMAIL redirect an incoming ringing call to voice mail.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
RedirectRequestapplication/json
RedirectRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Redirect an incoming ringing call to 70000

Associated notifications

/telephony/calls/{callRef}/retrieve

Methods
POST/telephony/calls/{callRef}/retrieve
Retrieves a call that has been previously put in hold.

NOTE: Although it is possible for a standard user to invoke an answer on a held call instead of invoking a retrieve, this is not the recommended usage. Furthermore, telephony event OnCallModified, sent after a held operation, does not list any answer capability on the concerned leg.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
RetrieveRequestapplication/json
RetrieveRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/calls/{callRef}/sendDtmf

Methods
POST/telephony/calls/{callRef}/sendDtmf
Sends DTMF in an active call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SendDtmfRequestapplication/json
SendDtmfRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/calls/{callRef}/sendaccountinfo

Methods
POST/telephony/calls/{callRef}/sendaccountinfo
Send the account info. This operation is used by a CCD agent to send the transaction code at the end of the call. The string value MUST complain with the transaction code accepted by OXE (that is numerical value only)
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringCall reference.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SendAccountInfoRequestapplication/json
SendAccountInfoRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : during incoming call (ringing state), agent 70125 sends an account information associated to the call

/telephony/calls/{callRef}/transfer

Methods
POST/telephony/calls/{callRef}/transfer
Transfers a specified active call to a specified held call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callRefstringReference of the active call
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
TransferRequestapplication/json
TransferRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/deskSharing

Methods
POST/telephony/deskSharing
Log the user (DSU) on a specified device (DSS).
DSU: Desk Sharing User. Subscriber of the system that is allowed to log to a DSS.
DSS: Desk Sharing Set. Phone set not permanently associated to a user to which a DSU can be log in to.

For the method, a prefix "Station Features == Desk Sharing Over Logon" should be created.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
DSLogOnRequestapplication/json
DSLogOnRequest Device phone number for which the operation is invoked. If the session is opened by a Framework User, the device phone number must be one of the user.
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Log-on the DSU user onto the DSS device "xxxx"

DELETE/telephony/deskSharing
Logoff the DSU user.
DSU: Desk Sharing User. Subscriber of the system that is allowed to log to a DSS.
DSS: Desk Sharing Set. Phone set not permanently associated to a user to which a DSU can be log in to.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Log-off the DSU user

/telephony/devices

Methods
GET/telephony/devices
Gets states of all user devices
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200DeviceStatesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/devices/{deviceId}

Methods
GET/telephony/devices/{deviceId}
Gets a user device state
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringDevice phone number for which the operation is invoked. If the session is opened by a Framework User, the device phone number must be one of the user.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200DeviceStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/devices/{deviceId}/intrusion

Methods
POST/telephony/devices/{deviceId}/intrusion
Intrusion in the active call of a called user. No parameter is required to invoke the intrusion: it only depends on the current capability intrusion of the current device. It is based on the fact that the current device must be in releasing state while calling a user which is in busy call with another user, the current device has the intrusion capability and the 2 users engaged in the call have the capability to allow intrusion.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringdevice which asks the intrusion.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : during outgoing call which fails cause busy(releasing state), the user invokes intrusion from its device 70125 It must have the intrusion capability

Associated notifications

/telephony/devices/{deviceId}/ithmicro

Methods
PUT/telephony/devices/{deviceId}/ithmicro
Push the MICRO/ITH key.
This action acts as a "flip/flop" and has the same effect than pressing the key:
  • it activates or deactivates the microphone if the device has an outgoing or established call
  • it activates or deactivates the interphony if the device is idle
  • it has no effect if the device is ringing on incoming call
This operation is done in blind mode: no state event is provided on the push but when the device returns to idle after a call, the microphone comes back in the active state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringdevice concerned.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : press on ITH/micro key on the device 70125

/telephony/devices/{deviceId}/pickup

Methods
POST/telephony/devices/{deviceId}/pickup
Picks up an incoming call on another user. If the pickuped device is present, a direct pickup is performed. Else a group (hunting or processing group in case of agent) pickup is performed.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringDevice phone number for which the operation is invoked. If the session is opened by a Framework User, the device phone number must be one of the user.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PickupRequestapplication/json
PickupRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/telephony/devices/{deviceId}/unpark

Methods
POST/telephony/devices/{deviceId}/unpark
UnPark a call from a target device. If the call has been parked on the current device, the ParkRequestDTO argument may be omitted.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
deviceIdstringdevice from where the unpark request is requested.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UnParkRequestapplication/json
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : unpark from same device

[+] : unpark from other device

Associated notifications

/telephony/huntingGroupLogOn

Methods
GET/telephony/huntingGroupLogOn
Get the user status in its current hunting group: logged on or not
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200HuntingGroupStatusapplication/json
Ok
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the user status in its hg group

POST/telephony/huntingGroupLogOn
Log the user in its current hunting group.
NB1: The user must belong to a group.
NB2: To notify the user on the phone set, a prefix "Set Features" with "Station Features" set to "Station group exit" must be created.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Log the user into its current hg group

Associated notifications
DELETE/telephony/huntingGroupLogOn
Logout the user from its current hunting group.
NB: The user must belong to a group.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Logout the user from its hg group

Associated notifications

/telephony/huntingGroupMember/{hgNumber}

Methods
POST/telephony/huntingGroupMember/{hgNumber}
Set the user as member of a Hunting group.
If the group doesn't exist, returns 404 Not Found
If the user already belongs to the group, nothing is done and the returned result is OK
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
hgNumberstringstring : the hunting group number
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found if the group doesn't exist
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Set the user member of the hg group number 10001

DELETE/telephony/huntingGroupMember/{hgNumber}
Remove the user from a Hunting group.
If the group doesn't exist, returns 404 Not Found
If the user doesn't belong to the group, nothing is done and the returned result is OK
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
hgNumberstringstring : the hunting group number
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found if the group doesn't exist
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Remove the user member from the hg group number 10001

/telephony/huntingGroups

Methods
GET/telephony/huntingGroups
Get the Hunting groups of the node and eventually the current one the user belongs to.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200HuntingGroupResultapplication/json
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the hg list (the user belongs to the hg 10001)

/telephony/incomingCallbacks

Methods
GET/telephony/incomingCallbacks
Returns the whole list of callback requests.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Callbacksapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/telephony/incomingCallbacks
Deletes all callback requests.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/incomingCallbacks/{callbackId}

Methods
DELETE/telephony/incomingCallbacks/{callbackId}
Deletes a callback request.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
callbackIdstringidentifier of the callback to delete
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/miniMessages

Methods
GET/telephony/miniMessages
Returns the current new message.
Caution: As soon as a message is read, it is erased from OXE and cannot be read again.
The message are retrieved in Last In First Out mode.
If all the messages have been retrieved, a new GET invoke will return 400 Bad Request.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200MiniMessageapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the last received minimessage

POST/telephony/miniMessages
Send a mini message.
Text messages are up to 128 characters long.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
MiniMessageRequestapplication/json
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Send a minimessage to another user (the recipient)

/telephony/outgoingCallbacks

Methods
POST/telephony/outgoingCallbacks
Requests for call back from an idle device.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
CallbackRequestapplication/json
call back information
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/telephony/pilots/{nodeId}/{pilotNumber}/transferInfo

Methods
POST/telephony/pilots/{nodeId}/{pilotNumber}/transferInfo
Get information of a pilot related to transfer capability
This method should be used by an agent before transferring a call to a pilot
Return information related to transfer: transfer is /or not possible and transfer is /or not supervised
History
Since version 2.7
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
nodeIdintthe pbx node number
pilotNumberstringthe pilot number
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PilotQueryParamapplication/json
transfer parameter used to know the transfer capability depending on a given profile.
Response
codetypemedia typesdescription
200PilotTransferCapaapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the transfer information for pilot 60141 in node 1 with agent 60113 and it skills

/telephony/state

Methods
GET/telephony/state
Asks for the user telephonic state and capabilities.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200TelephonicStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the user oxe70121 telephony state from an admin session

/telephony/state/snapshot

Methods
POST/telephony/state/snapshot
Ask a snapshot event on user call state. The event OnTelephonyState will contain the TelephonicState (calls[] and deviceCapabilities[]) If this request is made by an administrator and no loginName is provided, the snapshot is asked for all the users If a second request is asked since the previous one is still in progress, it has no effect.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked. This parameter is ignored if the Session identifier matches a user account.
For an administrator session, the loginName must either correspond to an existing user or be null: in this last case, the snapshot event request is done for all the users. CAUTION!: this request is immediately acknowledged but the processing may take a long time if the number of users is huge.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

Representations

AcdCallData
Describes data related to an ACD call.
NameTypeCardinalityDescription
callInfoAcdCallInfo[0..1]info related to the call
queueDataQueueData[0..1]state of the queue
pilotNumberstring[0..1]pilot number if it is an acd call
rsiNumberstring[0..1]rsi number if it is an rsi call
supervisedTransferboolean[0..1]if the transfer from the pilot has been supervised or not
pilotTransferInfoPilotTransferInfo[0..1]in case of enquiry call only, information related to the transfer of the call to the pilot
[+] : JSON Example
AcdCallInfo
Describes data related to the distributed ACD call.
NameTypeCardinalityDescription
queueWaitingTimeint[0..1]waiting time in the queue
globalWaitingTimeint[0..1]global waiting time in the distribution
agentGroupstring[0..1]agent group
localboolean[0..1]if the acd call is local or not
[+] : JSON Example
AcdCallParam
Describes parameter related to an ACD call request.
NameTypeCardinalityDescription
supervisedTransferboolean[0..1]If true in a consultation call, force the Pilot or RSI consultation mode
skillsACRSkills[0..1]Skills associated to the new call
callToSupervisorboolean[0..1]If true, for an agent, call its supervisor. The callee number parameter is ignored in this case and can be absent
[+] : JSON Example
ACRSkill
Describes an ACR skill.
NameTypeCardinalityDescription
skillNumberint[0..1]skill number
acrStatusboolean[0..1]skill activation status
expertEvalLevelint[0..1]expert evaluation level
[+] : JSON Example
ACRSkills
List of ACR skills.
NameTypeCardinalityDescription
skillsACRSkill[0..*]skill list.
[+] : JSON Example
AlternateRequest
Request to switch between an active call and a held call.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated method :
AnswerRequest
Request to answer a ringing incoming call.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated methods :
BlindTransferRequest
Request to transfer an incoming call.
NameTypeCardinalityDescription
transferTostring[1]Phone number to which the call is transferred.
anonymousboolean[0..1]Anonymous call (secret identity). This parameter is optional. If it is omitted, anonymous is not set for this call.
[+] : JSON Example
Associated method :
boolean
'boolean' is a data type, having two values (true and false).
Call
Describes an user's call.
NameTypeCardinalityDescription
callRefstring[1]Reference of the call.
callDataCallData[0..1]Call data.
legsLeg[0..*]User's devices.
participantsParticipant[0..*]Participants.
[+] : JSON Example
Associated method :
Callback
Describes a callback.
NameTypeCardinalityDescription
callbackIdstring[1]Callback identifier
partyInfoPartyInfo[1]Participant identity card.
[+] : JSON Example
CallbackRequest
Callback Sender Message request data.
NameTypeCardinalityDescription
calleestring[1]Callee phone number of the called party for which a call back is requested.
[+] : JSON Example
Associated method :
Callbacks
Container for the callbacks.
NameTypeCardinalityDescription
callbacksCallback[0..*]List of callbacks
[+] : JSON Example
Associated method :
CallCapabilities
Describes the capabilities available on a call : the action that can be carried out on the call according to its state.
NameTypeCardinalityDescription
addDeviceboolean[0..1]Capability to add a participant or a user's device to this call.
addParticipantboolean[0..1]Capability to add a participant.
intrudedboolean[0..1]Capability to intrude this call by another user.
intrusionboolean[0..1]Capability to make intrusion on the user called through this call.
transferboolean[0..1]Capability to transfer this call with another one.
blindTransferboolean[0..1]Capability to blind transfer this call to an user, device, ...
mergeboolean[0..1]Capability to merge this call with another one.
redirectboolean[0..1]Capability to redirect this call to another user, device, ...
pickedUpboolean[0..1]Capability to pick up this call by another user.
redirectToVoiceMailboolean[0..1]Capability to redirect this call to the voice mail.
redirectToDVAboolean[0..1]Capability to redirect this call to the DVA.
overflowToVoiceMailboolean[0..1]Capability to overflow to the voice mail of the called user.
dropMeboolean[0..1]Capability to drop me from this call.
terminateboolean[0..1]Capability to terminate this call: call termiated on all users.
rejectboolean[0..1]Capability to reject this call.
callBackboolean[0..1]Capability to invoke a call back.
parkboolean[0..1]Specifies whether the call can be parked.
startRecordboolean[0..1]Capability to start the record of the call.
stopRecordboolean[0..1]Capability to stop the record of the call.
pauseRecordboolean[0..1]Capability to pause the record of the call.
resumeRecordboolean[0..1]Capability to resume the record of the call.
dropParticipantboolean[0..1]Capability to drop a participant.
muteParticipantboolean[0..1]Capability to mute/unMute a participant.
holdParticipantboolean[0..1]Capability to hold/retrieve a participant.
[+] : JSON Example
CallCause
Lists the different call causes.
ValueDescription
ABANDONEDCaller in a two-party call has disconnected before the call was answered.
ALL_TRUNK_BUSYThe call is receiving the network congestion tone.
BUSYThe call is receiving the busy tone.
CLEAREDOne party in a two-party call has disconnected after the call was answered.
PARTICIPANT_LEFTOne party has left the conference call.
CONFERENCEDThis is a multi-party call.
INVALID_NUMBERThe call is receiving the invalid number tone.
DESTINATION_NOT_OBTAINABLEThe destination cannot be reached.
DO_NOT_DISTURBThe device is in DND.
FORWARDEDThe call has been forwarded.
NOT_ANSWEREDThe call has been hanged up before answer.
PICKED_UPThe call has been picked up.
PARKED The call has been parked.
REDIRECTEDThe call has been redirected.
OVERFLOWNThe call goes on overflow destination.
TRANSFERREDThis is a transferred call.
CAMP_ONThe call has been put in wait.
UNKNOWNUnknown cause.
PICKED_UP_TANDEMPicked up tandem.
CALL_BACKThe call is a call back.
RECALLThe call is recall (e.g. on HELD call indicates that device rings back).
DISTRIBUTED CCD context: call distribution
ACD_ENTER_DISTRIBUTION CCD context: call enters in distribution
RESOURCES_NOT_AVAILABLE CCD context: pilot is not open
SUPERVISOR_LISTENING CCD context: supervisor is listening the agent conversation
SUPERVISOR_INTRUSION CCD context: supervisor is fully intruded in the agent conversation
SUPERVISOR_RESTRICT_INTRUSION CCD context: supervisor can speak to the agent
NO_AVAILABLE_AGENT CCD context: No available agent
LOCKOUT Physical phone set device is off the hook
CallData
Describes data associated to a call.
NameTypeCardinalityDescription
initialCalledPartyInfo[0..1]Initial user called for this call.
lastRedirectingPartyInfo[0..1]

Since version 2.7.4

Last device which redirects the call, if it is different from the initialCalled.
deviceCallboolean[0..1]If true it's a device call else if not specified or false it's a user call.
anonymousboolean[0..1]If true it's a anonymous call.
callUUIDstring[0..1]CallUUID associated to this call (used to correlate RTSM events with SIP events for multimedia users only).
stateMediaState[0..1]Call state (computed from media state).
recordStateRecordState[0..1]Record state (only if recording is active).
tagsTag[0..*]Tags associated to this call.
capabilitiesCallCapabilities[0..1]Capabilities available on this call.
associateDatastring[0..1]Associated data (or Correlator data).
hexaBinaryAssociatedDatastring[0..1]Hexa binary array format for Associated data (or Correlator data).
accountInfostring[0..1]Account info associated to the call.
acdCallDataAcdCallData[0..1]ACD info associated to the call.
trunkIdentificationTrunkIdentification[0..1]

Since version 2.7.1

TrunkIdentification if external call
[+] : JSON Example
Calls
Container for the calls.
NameTypeCardinalityDescription
callsCall[0..*]List of calls
[+] : JSON Example
Associated method :
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
DeviceCapabilities
Describes an user's device capabilities.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number.
makeCallboolean[0..1]Specifies whether a new call can be initiated.
makeBusinessCallboolean[0..1]Specifies whether a business call can be initiated.
makePrivateCallboolean[0..1]Specifies whether a personal call can be initiated.
unParkCallboolean[0..1]Specifies whether a call can be an unparked call.
[+] : JSON Example
DeviceState
Describes a user's device state.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number.
stateOperationalState[1]Device state.
causeCallCause[0..1]

Since version 2.7.2

Cause associated with state change.
[+] : JSON Example
Associated method :
DeviceStates
Container for device state.
NameTypeCardinalityDescription
deviceStatesDeviceState[0..*]List of DeviceState
[+] : JSON Example
Associated method :
DSLogOnRequest
Request to logg on an acd agent.
NameTypeCardinalityDescription
dssDeviceNumberstring[1]DSS phone number on which the operation is invoked.
[+] : JSON Example
Associated method :
HoldRequest
Request to put an active call on hold.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated method :
HuntingGroupResult
Hunting group param used for user management.
NameTypeCardinalityDescription
hgListstring[0..*]the existing hunting group list in the pbx node of user may be null if none
currentHgstring[0..1]the current hunting group number which the user is a member: may be null if none
[+] : JSON Example
Associated method :
HuntingGroupStatus
Describes the user's hunting group logon status .
NameTypeCardinalityDescription
logonboolean[1]Device phone number.
[+] : JSON Example
Associated method :
Identifier
Key information to help retrieving a participant.
NameTypeCardinalityDescription
loginNamestring[0..1]Login name.
phoneNumberstring[0..1]Company phone number.
multiLineboolean[0..1]

Since version 2.7.3

Is this phone number one of the multiline number of the device.
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Leg
Describes a leg. A leg represents the user's device involved in a call for a dedicated media (audio or video).
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number.
stateMediaState[0..1]Media state.
ringingRemoteboolean[0..1]boolean set to true when the leg is in RINGING_OUTGOING state and if the remote party is ringing (ie has been alerted).
capabilitiesLegCapabilities[0..1]Capabilities for this leg.
[+] : JSON Example
Associated method :
LegCapabilities
Describes the capabilities of a leg : The action that can be carried out on the leg according to its state.
NameTypeCardinalityDescription
answerboolean[0..1]Capability to answer to an incoming call.
dropboolean[0..1]Capability to drop this media device.
holdboolean[0..1]Capability to hold this call in order to retrieve it later.
retrieveboolean[0..1]Capability to retrieve an hold call.
reconnectboolean[0..1]Capability to retrieve an hold call and releasing the current active call.
muteboolean[0..1]Capability to enable mute for this leg.
unMuteboolean[0..1]Capability to disable mute for this device.
sendDtmfboolean[0..1]Capability to send DTMF codes for this leg.
switchDeviceboolean[0..1]Capability to switch this device to another one.
[+] : JSON Example
Legs
Container for Legs.
NameTypeCardinalityDescription
legsLeg[0..*]List of Leg.
[+] : JSON Example
Associated method :
MainType
Main participant type
ValueDescription
USERThe participant is a user of the system.
DEVICEThe participant is a device of the system.
SERVICEThe participant is a service of the system.
EXTERNALThe participant is not a user of the system.
UNKNOWNThe main participant type is unknown.
MakeBasicCallRequest
Request to initiate a new call.
NameTypeCardinality*1*2Description
deviceIdstring[1]XXDevice phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
calleestring[1]XXCalled phone number.
autoAnswerboolean[0..1]XAutomatic answer on make call. If this parameter is set to "false" (or omitted) the deviceId is called before launching the make call to callee, else callee is called immediately.
*1 : attributes for a call from an OpenTouch user set: deviceId and callee are mandatory, autoAnswer and associateData are optional
*2 : attributes for a call from any connected set: deviceId and callee are mandatory; Allowed only when logged in an administrator session.

[+] : JSON Example
Associated method :
MakeCallRequest
Request to initiate a new call.
NameTypeCardinality*1*2*3*4*5Description
deviceIdstring[0..1]XXXXXDevice phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.

This parameter is mandatory.

calleestring[1]XXXXXCalled phone number. This parameter is always mandatory except in case of agent supervisor call (see acdCallParam) where it is ignored and should be absent.
autoAnswerboolean[0..1]XXAutomatic answer on make call. If this parameter is set to "false" (or omitted) the deviceId is called before launching the make call to callee, else callee is called immediately.
inhibitProgressToneboolean[0..1]XXInhibit Progress Tone. If this parameter is set to "true" Inhibit the progress tone on the current external call.
associatedDatastring[0..1]XXThis is used by the application to provide application-related information (string limited to 32 bytes).
In general, it is used to give information concerning a previously established call to the party of a second call.
Example: user B has answered to an external call, he makes an enquiry call to userB with associateData: userB is notified with call of userA with CallCreated event containing CallData with the associateDAta.
Its usage is exclusive from the byte array binaryAssociatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
Cannot be used in conjonction with pin, secretCode, or businessCode parameter.
hexaBinaryAssociatedDatastring[0..1]XXTo used by the application if the associate data is a non-printing character string but an array of bytes.
In this case, the associate data is passed as a sequence of hexadecimal bytes (ex: "f3f40201").
Caution: byte '00' is not authorized by OXE (will be interpreted as termination character).
Its usage is exclusive from the String associatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
Cannot be used in conjonction with pin, secretCode, or businessCode parameter.
pinstring[0..1]XPrivate identity number (Mandatory when making a Private Call). Don't use in conjonction with associatedData or businessCode parameter
secretCodestring[0..1]XSecret code (Mandatory when making a Private Call). Don't use in conjonction with associatedData or businessCode parameter
businessCodestring[0..1]XThe cost center on which the call will be charged (Mandatory when making a Business Call). Don't use in conjonction with associatedData, pin, or secretCode parameter
callingNumberstring[0..1]XXFor an external call only, allows to present another calling number on the public network call in order to hide the real calling extension number, for example for an ACD outbound call.
secretIdentityboolean[0..1]XXFor an external call only, allows to ask the public network to mask the calling identity: this parameter MUST be used in conjonction with the callingNumber parameter. If the callingNumber is absent, the secretIdentity parameter will be ignored.
acdCallAcdCallParam[0..1]XParameters to use when making an ACD Call. Don't use in conjonction with pin, or secretCode parameter
*1 : attributes for a call from a set: deviceId and callee are mandatory, autoAnswer, inhibitProgressTone, bypass, associatedData and callingNumber are optional
*2 : attributes for a private call from a set: deviceId, callee, pin and secretCode are mandatory
*3 : attributes for a business call from a set: deviceId, callee and businessCode are mandatory
*4 : attributes for a call from any connected set: deviceId and callee are mandatory; Allowed only when logged in an administrator session.
*5 : attributes for an ACD call from an agent: deviceId is mandatory, callee is mandatory except if supervisor call, autoAnswer, associateData, callingNumber and acdCall params are optional

[+] : JSON Example
Associated method :
MediaState
Lists the different media states.
ValueDescription
UNKNOWNUnknown media state.
OFF_HOOK the OFF_HOOK state is used when the device is busy for other reasons than a call: typically during service activation
IDLECall is in idle state.
RELEASINGCall release is in progress.
DIALINGAn attempt to make a call is in progress.
HELDThe call has been placed on hold.
RINGING_INCOMINGThe incoming call is ringing.
RINGING_OUTGOINGThe outgoing call is ringing.
ACTIVEThe call is active (means in conversation).
MergeRequest
Request to merge two calls, the active one and the held one.
NameTypeCardinalityDescription
heldCallRefstring[1]Reference of the held call.
[+] : JSON Example
Associated method :
MiniMessage
Describes a mini message.
NameTypeCardinalityDescription
senderstring[0..1]Sender tel number.
datedateTime[0..1]Date of the message: the date is in UTC format
messagestring[0..1]the mini message text.
[+] : JSON Example
Associated method :
MiniMessageRequest
Send a mini Message request data to a recipient.
NameTypeCardinalityDescription
recipientstring[1]the phone number recipient.
messagestring[1]the mini message text.
[+] : JSON Example
Associated method :
OnCallCreated
This notification indicates that a new call has been created.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCallCreated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
callRefstring[1]Reference of the call.
causeCallCause[0..1]Cause of the event.
callDataCallData[0..1]Call data.
initiatorstring[0..1]Initiator of the call : correspond to one participant of the call, the matching can be done with the participantId value of the participants.
legsLeg[0..*]Legs associated to this call.
participantsParticipant[0..*]Participants associated to this call.
deviceCapabilitiesDeviceCapabilities[0..*]Devices capabilities (if not specified, it means there is no modification).
[+] : JSON Example
Associated methods :
OnCallModified
This notification indicates that an existing call has been modified.

Modification of a call can be triggered for various reason: changes on legs, on participants, changes on states, ...

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCallModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
callRefstring[1]Reference of the call.
causeCallCause[0..1]Cause of the event.
previousCallRefstring[0..1]If specified, this call reference indicates that the "callRef" replace "previousCallRef". This also indicates that "previousCallRef" has been removed (call removed event is not generated)
replacedByCallRefstring[0..1]This call reference appears when a call is released, the replacedByCallRef if present indicates that the "callRef" is replaced by this one.
callDataCallData[0..1]Call data modified (if not specified, it means there is no modification).
modifiedLegsLeg[0..*]Legs modified (if not specified, it means there is no modification).
addedLegsLeg[0..*]Legs added (if not specified, it means there is no added leg).
removedLegsLeg[0..*]Legs removed (if not specified, it means there is no removed leg).
modifiedParticipantsParticipant[0..*]Participants modified (if not specified, it means there is no modification).
addedParticipantsParticipant[0..*]Participants added (if not specified, it means there is no added participant).
removedParticipantIdsstring[0..*]Participants removed (if not specified, it means there is no removed participant).
deviceCapabilitiesDeviceCapabilities[0..*]Devices capabilities modified (if not specified, it means there is no modification).
[+] : JSON Example
Associated methods :
OnCallRemoved
This notification indicates that a call has been removed (hang up, transfer...).
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCallRemoved'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
callRefstring[1]Reference of the call.
causeCallCause[0..1]Cause of the event.
newDestinationstring[0..1]If the call is forwarded or redirected, this field indicate the new destination number. This number is a user phone number if the destination is a device associated to an user, else the number is the number provided by the system.
deviceCapabilitiesDeviceCapabilities[0..*]Devices capabilities (if not specified, it means there is no modification).
[+] : JSON Example
Associated methods :
OnDeviceStateModified
This notification indicates that device's state has been modified.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnDeviceStateModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
deviceStatesDeviceState[1..*]Device state modified.
[+] : JSON Example
OnDynamicStateChanged
This notification indicates the user's dynamic state change. (hunting group logon state)
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnDynamicStateChanged'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
huntingGroupStateHuntingGroupStatus[0..1]User hg state.
[+] : JSON Example
Associated methods :
OnTelephonyState
This notification indicates the telephonic state (calls[] and deviceCapabilities[]) of a user
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnTelephonyState'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
stateTelephonicState[0..1]telephonic state of the user.
[+] : JSON Example
Associated method :
OnUserStateModified
This notification indicates that user's state has been modified (FREE, BUSY ...).
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnUserStateModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
stateUserState[1]User state.
[+] : JSON Example
Associated methods :
OperationalState
List the different operational states.
ValueDescription
IN_SERVICEOperational state is in service.
OUT_OF_SERVICEOperational state is out of service.
UNKNOWNOperational state is unknown.
ParkRequest
Request to park an active call on a target device. If the call shall be parked on the current device, just omit the target device
NameTypeCardinalityDescription
parkTostring[0..1]Phone number device where to park the call .
[+] : JSON Example
Associated method :
Participant
Detail about a kind of participant.
NameTypeCardinalityDescription
participantIdstring[1]Participant identifier (Should not be displayed).
identityPartyInfo[0..1]Participant identity card.
anonymousboolean[0..1]Participant identity is secret
undroppableboolean[0..1]If true this participant can not be dropped.
stateMediaState[0..1]Participant state. This field is only filled in multi-party call (>=3 participants) and only when the Participant mediaState is changed to RINGING_INCOMING or from RINGING_INCOMING to ACTIVE.
[+] : JSON Example
Associated method :
Participants
Container for Participants.
NameTypeCardinalityDescription
participantsParticipant[0..*]Container for Participants.
[+] : JSON Example
Associated method :
ParticipantType
Participant type description
NameTypeCardinalityDescription
mainMainType[1]Gives the main type of the participant: "user", "device", ...
subTypestring[0..1]The subType string gives a supplementary information and can contain "pbx", "public", "pre-off-hook", telephony-services", "voicemail", "voice-homepage", "voice-it", "sip"...
[+] : JSON Example
PartyInfo
Full description of a party involved in a call log record.
NameTypeCardinalityDescription
idIdentifier[1]Identifier of the party.
firstNamestring[0..1]First name.
lastNamestring[0..1]Last name.
displayNamestring[0..1]Display name (display names are used in SIP URIs). Notice: if previous fields lastname/firstname are filled then displayName field will be empty
typeParticipantType[0..1]Type of participant.
[+] : JSON Example
PickupRequest
Request to pickup a call.
NameTypeCardinalityDescription
otherCallRefstring[0..1]Reference of the call to pickup (on the remote user): Not used(can be omitted).
otherPhoneNumberstring[0..1]Phone number on which the call is to pickup (direct pickup). If not provided, a group (hunting or processing group, in case of an agent) call pickup will be attempted
autoAnswerboolean[0..1]Not used.
[+] : JSON Example
Associated method :
PilotQueryParam
Describes parameters related to a pilot information request. it allows the retrieval of CCD distribution information according to the call profile.
NameTypeCardinalityDescription
agentNumberstring[0..1]agent number call profile. Optional
skillsACRSkills[0..1]Skills associated to the call profile. Optional
priorityTransferboolean[0..1]In case the transfer will a be priority one. Optional
supervisedTransferboolean[0..1]In case the transfer will be supervised. Optional
[+] : JSON Example
Associated methods :
PilotStatus
Lists the different ACD pilot status.
ValueDescription
OPEN
BLOCKED
BLOCKED_ON_RULE
BLOCKED_ON_BLOCKED_RULE
GENERAL_FORWARDING
GENERAL_FORWARDING_ON_RULE
BLOCKED_ON_GENERAL_FORWARDING_RULE
OTHER
PilotTransferCapa
Pilot transfer capability information in response of a query transfer request
NameTypeCardinalityDescription
numberstring[0..1]the number of the pilot
waitingTimeint[0..1]the estimated waiting time for the pilot
saturationboolean[0..1]the queue state of the pilot
supervisedTransferboolean[0..1]the transfer will be supervised
transferInfoPilotTransferInfo[0..1]the transfer is possible
[+] : JSON Example
Associated method :
PilotTransferInfo
Describes data relative to an ACD Queue Pilot.
NameTypeCardinalityDescription
transferPossibleboolean[0..1]true means the transfer to pilot or RSI is possible.
pilotStatusPilotStatus[0..1]Status of the pilot.
[+] : JSON Example
QueueData
Describes data relative to an ACD Queue Pilot.
NameTypeCardinalityDescription
waitingTimeint[0..1]estimated waiting time in the queue(in seconds).
saturatedboolean[0..1]true means the queue is saturated.
[+] : JSON Example
ReconnectRequest
Request to reconnect a calls after cancelling an enquiry call(in active or ringing state).
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
enquiryCallRefstring[1]Reference of the enquiryCallRef call to cancel.
[+] : JSON Example
Associated method :
RecordState
Lists the different state when recording.
ValueDescription
PAUSEDRecording is paused.
RECORDINGRecording is in progress.
RedirectRequest
Request to redirect a call.
NameTypeCardinalityDescription
redirectTostring[1]Phone number of the target of the redirection
anonymousboolean[0..1]Anonymous call (secret identity). This parameter is optional. If it is omitted, anonymous is not set for this call.
[+] : JSON Example
Associated method :
RetrieveRequest
[Tel]: Request to retrieve a call.
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
[+] : JSON Example
Associated method :
SendAccountInfoRequest
Request to send the account info. For a CCD agent, this is the mean to send the transaction code at the end of a call.
NameTypeCardinalityDescription
deviceIdstring[0..1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
accountInfostring[1]This is used by the application to provide the transaction code.
[+] : JSON Example
Associated method :
SendAssociatedDataRequest
Request to send associated data.
NameTypeCardinalityDescription
deviceIdstring[0..1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
associatedDatastring[0..1]This is used by the application to provide application-related information (limited to 32 bytes).
In general, it is used to give information concerning a previously established call to the party of a second call.
Example: user B has receives an external call. Before he makes an enquiry call to userB, he associates Data to this incoming call. If user A transfers the call to userB, userB is notified with the transfer of the call with an event containing CallData with the associateDAta.
Its usage is exclusive from the byte array binaryAssociatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
hexaBinaryAssociatedDatastring[0..1]To used by the application if the associate data is a non-printing character string but an array of bytes.
In this case, the associate data is passed as a sequence of hexadecimal bytes (ex: "f3f40201").
Caution: byte '00' is not authorized by OXE (will be interpreted as termination character).
Its usage is exclusive from the String associatedData (if associatedData is present, hexaBinaryAssociatedData is discarded).
[+] : JSON Example
Associated method :
SendDtmfRequest
Request to send DTMF
NameTypeCardinalityDescription
deviceIdstring[1]Device phone number for which the operation is invoked. If the session is opened by a User, the device phone number must be one of the user.
numberstring[1]DTMF codes.
[+] : JSON Example
Associated method :
string
'string' represents character strings.
SwitchDeviceRequest
Request to switch between two devices.
NameTypeCardinalityDescription
otherDeviceIdstring[1]Device phone number on which to switch.
[+] : JSON Example
Associated method :
Tag
Describes a Tag (a defined name and a value).
NameTypeCardinalityDescription
namestring[1]Tag name.
valuestring[0..1]Tag value.
visibilitiesstring[0..*]Visibility of this tag : list of login name.
[+] : JSON Example
TelephonicState
Snapshot of the user's telephonic state.
NameTypeCardinalityDescription
callsCall[0..*]List of current calls.
deviceCapabilitiesDeviceCapabilities[0..*]Gives the list of device's capabilities.
userStateUserState[0..1]state of the user: is only used in case the user is busy unknown at monitoring
[+] : JSON Example
Associated method :
TransferRequest
Request to transfer the held call to a new destination.
NameTypeCardinalityDescription
heldCallRefstring[1]Reference of the held call.
[+] : JSON Example
Associated method :
TrunkIdentification
For external call, provide information on network timeslot and trunk eqt number
NameTypeCardinalityDescription
networkTimeslotint[0..1]the network time slot.
trunkNeqtint[0..*]trunk equipment number (Could be 2 nbrs in case of conference with 2 different external trunks.
[+] : JSON Example
UnParkRequest
Request to unpark a call from a target device where the call has been parked. If the call has been parked on the current device, the target device is not required.
NameTypeCardinalityDescription
unParkFromstring[0..1]Phone number of the device where the call has been parked.
[+] : JSON Example
Associated method :
UserState
Lists the different types of user state.
ValueDescription
FREEUser is free.
BUSYUser is busy.
UNKNOWNThe user state is unknown.

Directory search

Presentation

The OXE call server phone book is used to search for a contact.

Operations can be invoked using:

  • A user session having the TELEPHONY_ADVANCED license.
  • An administrator supervising a user having the TELEPHONY_ADVANCED license.
  • An administrator without any delegation or account supervision.

A directory search is a set of 2 or more sequential operations:

  • the first (POST) operation is the initiation of the search with a set of criteria
  • the second one (GET) is to retrieve the first results of the search
  • if there are more results, the GET operation may be repeated

Resources summary

ResourceMethodDescription
/directory/searchPOSTInitiates a search
GETGets the next available results for the current search.
DELETEDeletes (stops) search query
/directory/searchbydtmfPOSTInitiates a search by dtmf, giving the phoneset keyboard corresponding digits

Resources

/directory/search

Methods
POST/directory/search
Initiates a search

Note: For the whole solution only 100 concurrent searches are authorized.
For each session (user or administrator), only 5 concurrent searches are authorized.
An unused search context is freed after 1 minute.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SearchRequestapplication/json
SearchRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a search

GET/directory/search
Gets the next available results for the current search.

The principle for executing a search is as follows:

    Start a search using the previous operations Call the getSearch operation in a loop and for each iteration :
    • if the status is NOK, the search is in progress but no result is available : it is recommended to wait before the next iteration (500ms for example)
    • if the status result code is OK, you can process the results
    • if the status result code is FINISH or TIMEOUT, exit the loop
    At each iteration you can stop the search using the stopSearch operation and exit the loop.

Note: For the whole solution only 100 concurrent searches are authorized.
For each session (user or administrator), only 5 concurrent searches are authorized.
An unused search context is freed after 1 minute.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200SearchResultapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Gets the next available results

DELETE/directory/search
Deletes (stops) search query

Note: For the whole solution only 100 concurrent searches are authorized.
For each session (user or administrator), only 5 concurrent searches are authorized.
An unused search context is freed after 1 minute.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Deletes search query

/directory/searchbydtmf

Methods
POST/directory/searchbydtmf
Initiates a search by dtmf, giving the phoneset keyboard corresponding digits
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SearchByDtmfRequestapplication/json
SearchByDtmfRequest
Response
codetypemedia typesdescription
201stringapplication/json
CREATED
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Initiates a search by dtmf for user whose lastname begins with "L"

Representations

Attribute
Lists the different types of attributes.
ValueDescription
lastNameLast name.
firstNameFirst name.
id.phoneNumber

The format of the value of an attribute of type PHONENUMBER can be "displaynumber"<dialable number>.

displaynumber is the phone number which will be displayed on the device or on the application.
displaynumber is written between two double quote characters.

dialable number is the phone number which will be used to dial by the device or by the application.
dialable number is written between less than sign and greater than sign character.

The usual format is always possible when no difference is made between the display number and the dialable number.

id.loginNameLogin name.
Criterion
Criterion descriptor.
NameTypeCardinalityDescription
fieldAttribute[0..1]Field name.
operationOperation[1]Operation.
operandstring[1]Operand.
Criterion[1..*]

[+] : JSON Example 1

[+] : JSON Example 2

[+] : JSON Example 3

Identifier
Description of Identifier
NameTypeCardinalityDescription
loginNamestring[0..1]Login name
phoneNumberstring[0..1]Phone number
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
KeyboardType
ValueDescription
CCITT
ITU
Operation
The types of operation
ValueDescription
OROR operation.
ANDAND operation.
EQUAL_IGNORE_CASEEQUAL_IGNORE operation.
BEGIN_WITHBEGIN_WITH operation.
CONTAINCONTAIN operation.
END_WITHEND_WITH operation.
PartyInfo
Description of PartyInfo
NameTypeCardinalityDescription
idIdentifier[0..1]PartyInfo identifier object
firstNamestring[0..1]First name
lastNamestring[0..1]Last name
[+] : JSON Example
ResultCode
This code is returned each time you try to retrieve responses after a search has been started (getNextResults operation).
ValueDescription
OKResponses are provided this time. You will have to continue to invoke getNextResults periodically to get the next response.
NOKNo responses this time. You will have to continue to invoke getNextResults periodically to get the next response.
FINISHSearch is finished. You no longer need to invoke getNextResults, there are no more responses.
TIMEOUTSearch is ended for timeout reason. You no longer need to invoke getNextResults, there are no more responses.
ResultElement
Gives a result which matches the criterion given in search operation. The records are obtained by periodically invoking the getNextResults operation.
NameTypeCardinalityDescription
contactsPartyInfo[0..*]Array of ContactDTO objects
[+] : JSON Example
SearchByDtmfRequest
This element is used to start an advanced search.
NameTypeCardinalityDescription
lastNamestring[1]The value of lastname to search in DTMF format
firstNamestring[0..1]The value of firstname to search in DTMF format
keyboardTypeKeyboardType[1]The keyboard type
limitint[0..1]Maximum number of results. Default value is 100. The range of supported values is [1 .. 100].
[+] : JSON Example
Associated method :
SearchRequest
This element is used to start an advanced search.
NameTypeCardinalityDescription
limitint[0..1]Maximum number of results. Default value is 100. The range of supported values is [1 .. 100].
filterCriterion[1]searching criterion.
[+] : JSON Example
Associated method :
SearchResult
The result of a search
NameTypeCardinalityDescription
resultCodeResultCode[0..1]Search result status code.
resultElementsResultElement[0..*]Search result elements.
[+] : JSON Example
Associated method :
string
'string' represents character strings.

Routing management

Presentation

The Routing service allows a user to activate forward or overflow of incoming calls on other destinations like other users or voicemail.
If the user has a mobile phone, he can also choose to select or not the mobile as a presentation route for incoming calls.
The overflow service is used to redirect the incoming calls on the associate, while the forward service is used to redirect the incoming calls on other number or on voice mail.
Forward may be activated on IMMEDIATE mode or, like overflow, on modes: BUSY/NO_ANSWER/BOTH.
Overflow destinations is only used when the forward destination is not active.

Resources summary

ResourceMethodDescription
/routingGETAllows an application to know what the user is allowed to do.
POSTSets the specified routes This method is mainly used to activate/deactivate the Remote Extension by passing a presentationRoute which contains a route with destinationType is MOBILE and selected value "true/false"
(Only this route can be used) For compatibility, it can be also used to set the forward.
/routing/dndGETRetrieves the current dnd state.
POSTSet the dnd state.
DELETECancel the dnd.
/routing/forwardrouteGETRetrieves the forward route.
DELETECancels the forward route.
POSTSet the forward route.
/routing/overflowrouteGETRetrieves the overflow route.
POSTSets the specified overflow routes.
DELETECancels the overflow routes.
/routing/stateGETRetrieves the routing context state.
/routing/state/snapshotPOSTAsk a snapshot event on user dynamic state.

Notification summary

NotificationDescription
OnRoutingStateChangedThis notification indicate that routing state is changed.

Resources

/routing

Methods
GET/routing
Allows an application to know what the user is allowed to do.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Capabilitiesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the routing capabilities of a user.

POST/routing
Sets the specified routes This method is mainly used to activate/deactivate the Remote Extension by passing a presentationRoute which contains a route with destinationType is MOBILE and selected value "true/false"
(Only this route can be used) For compatibility, it can be also used to set the forward. .
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
sipNomadicboolean
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SetRoutesRequestapplication/json
SetRoutesRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Make an immediate forward to my voicemail. All routing profiles are automatically disabled. (The forwardType is an optional condition to forward route. If this parameter is not provided, forward is unconditional: i.e immediate.)

[+] : Make a conditional forward (BUSY) to my voicemail. All routing profiles are automatically disabled.

[+] : Activate the remote extension.

[+] : DeActivate the remote extension.

Associated notifications

/routing/dnd

Methods
GET/routing/dnd
Retrieves the current dnd state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200DNDStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieves the current dnd state.

POST/routing/dnd
Set the dnd state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Activate DND

Associated notifications
DELETE/routing/dnd
Cancel the dnd.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Deactivate DND

Associated notifications

/routing/forwardroute

Methods
GET/routing/forwardroute
Retrieves the forward route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ForwardRouteapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : A forward on BUSY is activated to the user voicemail.

DELETE/routing/forwardroute
Cancels the forward route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Cancels the forward routes.

Associated notifications
POST/routing/forwardroute
Set the forward route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SetForwardRouteRequestapplication/json
SetForwardRouteRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Make an immediate forward to my voicemail. (The forwardType is an optional condition to forward route. If forwardType is not provided, forward is unconditional: i.e immediate.)

[+] : Make a conditional forward (BUSY) to my voicemail. All routing profiles are automatically disabled.

[+] : Make an immediate forward to a number.

[+] : Make a conditional forward (BUSY) on a number ("forwardType" parameter is necessary)

Associated notifications

/routing/overflowroute

Methods
GET/routing/overflowroute
Retrieves the overflow route.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200OverflowRouteapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : An overflow on BUSY is activated to the user voicemail.

POST/routing/overflowroute
Sets the specified overflow routes.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SetOverflowRoutesRequestapplication/json
SetOverflowRoutesRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : If the user is busy, route the new calls to the voicemail.

Associated notifications
DELETE/routing/overflowroute
Cancels the overflow routes.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Cancels the overflow routes.

Associated notifications

/routing/state

Methods
GET/routing/state
Retrieves the routing context state.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200RoutingStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the state of my routing, in term of presentation route, forward route and overflow route. Here, it is the custom routing which is activated and not a routing profile (no appliedProfile information). The calls will be presented on the device types OFFICE and MOBILE.
A forward on BUSY is activated to the user voicemail and an overflow on NO_ANSWER to a number.

/routing/state/snapshot

Methods
POST/routing/state/snapshot
Ask a snapshot event on user dynamic state. The event OnRoutingStateChanged will contain the DynamicState (forward/overflow/dnd state) If this request is made by an administrator and no loginName is provided, the snapshot is asked for all the users If a second request is asked since the previous one is still in progress, it has no effect.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked. This parameter is ignored if the Session identifier matches a user account.
For an administrator session, the loginName must either correspond to an existing user or be null: in this last case, the snapshot event request is done for all the users. CAUTION!: this request is immediately acknowledged but the processing may take a long time if the number of users is huge.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
401application/json
Unauthorized
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

Representations

boolean
'boolean' is a data type, having two values (true and false).
Capabilities
Describes the routing management capabilities.
NameTypeCardinalityDescription
presentationRouteboolean[0..1]If true, the user is allowed to manage presentation routes.
forwardRouteboolean[0..1]If true, the user is allowed to manage forward routes.
overflowRouteboolean[0..1]If true, the user is allowed to manage overflow routes.
dndboolean[0..1]If true, the user is allowed to manage the doNotDisturb.
[+] : JSON Example
Associated method :
Destination

Describes a destination.

NameTypeCardinalityDescription
typeDestinationType[1]Key used to identify the device or other destinations.
deviceIdstring[0..1]Filled by the system in routing state.
numberstring[0..1]Defines the phone number of an external device.

NOTE: the number must be filled if the destination type is different than VOICEMAIL.

selectedboolean[0..1]To select or not the destination, only for presentation route .
[+] : JSON Example
DestinationType
Lists the different types of a destination.
ValueDescription
OFFICEDestination is office device(deprecated).
MOBILEDestination is mobile device(deprecated).
VOICEMAILDestination is the voice mail of the user.
NUMBERDestination is a number.
Used in forward routes.
UNKNOWNUnknown destination type.
DNDState

Describes a DoNotDisturb state.

The possible state for the DoNotDisturb is activate or not.

NameTypeCardinalityDescription
activateboolean[0..1]DnD is activate or not
[+] : JSON Example
Associated method :
ForwardRoute

Describes a forward route.

The possible destination type for a forward route are:

  • VOICEMAIL
  • USER
  • NUMBER

NameTypeCardinalityDescription
forwardTypeForwardType[0..1]Optional condition to forward route. If this parameter is not provided forward is unconditional: i.e immediate.
destinationsDestination[0..*]List of destinations where calls can be forwarded: Only one destination is acceptable.
[+] : JSON Example
Associated method :
ForwardType
Lists the different types of forward.
The forwardType is an optional condition to forward route. If this parameter is not provided, forward is unconditional: i.e IMMEDIATE.
ValueDescription
BUSYIncoming calls are diverted to the destination when the phone is busy.
NO_ANSWERIncoming calls are diverted to the destination after a ringing duration.
BUSY_NO_ANSWERIncoming calls are diverted to the destination when the phone is busy or after a ringing duration.
OnRoutingStateChanged
This notification indicate that routing state is changed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnRoutingStateChanged'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
routingStateRoutingState[1]Current routing state.
[+] : JSON Example
Associated methods :
OverflowRoute

Describes an overflow route.

The possible destination types for an overflow route are:

  • VOICEMAIL
  • NUMBER

NameTypeCardinalityDescription
overflowTypeOverflowType[1]The overflow type.
destinationsDestination[1..*]List (for compatibility) of destinations where calls can be forwarded.
Only one destination can be used.
[+] : JSON Example
Associated method :
OverflowType
Lists the different types of overflow
ValueDescription
BUSYIncoming calls are diverted to the destination when the phone is busy.
NO_ANSWERIncoming calls are diverted to the destination after a ringing duration.
BUSY_NO_ANSWERIncoming calls are diverted to the destination when the phone is busy or after a ringing duration.
PresentationRoute

Describes a presentation route.

The only possibility is to set or unset the MOBILE as a presentation route: It will activate or not the Remote Extension if the user as one. If the MOBILE destination is not present, it means the user has no remote extension. The OFFICE destination is always activated and it cannot be changed.

NameTypeCardinalityDescription
destinationsDestination[1..*]List of destinations where calls can be presented simultaneously: Calls can be forked to OFFICE or OFFICE + MOBILE destinations.
[+] : JSON Example
RoutingState
Describes the routing state.
NameTypeCardinalityDescription
presentationRoutesPresentationRoute[1..*]List of presentation routes.
forwardRoutesForwardRoute[0..*]List of forward routes.
overflowRoutesOverflowRoute[0..*]List of overflow routes.
dndStateDNDState[0..1]Do not disturb state
[+] : JSON Example
Associated method :
SetForwardRouteRequest
Request to activate or cancel the forward of the incoming calls.
NameTypeCardinalityDescription
forwardRouteForwardRoute[0..1]New forward route.
[+] : JSON Example
Associated method :
SetOverflowRoutesRequest
Request to set the overflow routes.
NameTypeCardinalityDescription
overflowRoutesOverflowRoute[1..*]New overflow routes (only one overflow route can be set).
[+] : JSON Example
Associated method :
SetRoutesRequest
Request to select current routes for the user.
NameTypeCardinalityDescription
presentationRoutesPresentationRoute[0..*]

List of presentation routes (only one presentation route can be set).

forwardRoutesForwardRoute[0..*]

Calls are prior forwarded to the selected destinations (only one forward route can be set).

[+] : JSON Example
Associated method :
string
'string' represents character strings.

Communication log

Presentation

The Communication log service allows

  • a user to retrieve its last communication history records.
  • a user may also acknowledge or delete any record.

Caution: The call history records are built at O2G server level, thanks to its telephony call monitoring and therefore, the comlog database is built independently of the pbx internal comlog. The Acknowledge/Unacknowledge of an incoming missed call done by REST API is not consider at OXE level and inversely also.
No synchronization with the call server is done.

Note: 100 tickets max per user.

Note concerning the dates in the records:

  • beginDate: is the date of creation for an outgoing call or the date of presentation for an incoming call.
  • convDate: is the date of beginning of conversation of the user in the call.
  • endDate: is the date when the call diseappears on the user.

Specific case of merged call (enquiry call + conference)

  • the comlog ticket of the enquiried user takes the conference call reference but keeps the beginDate and the convDate of the enquiry call.
  • when one of the participant first leaves, a comlog ticket is initialized on all the participants (notified by an OnComRecordCreated event) and then updated (notified by an OnComRecordModified event) on the last participants when the call is completely released.
  • If a user is inserted several times in the same conference, as many comlog tickets are generated for this user (one for each call segment) but all with the same call reference.
For the same call, the beginDate and the endDate may be low different(few seconds) between the participants, as the convDate is the same.

Resources summary

ResourceMethodDescription
/comlog/recordsPUTEither Acknowledge/Unacknowledge the incoming missed communication records specified by their IDs.
GETGet all the communication log records.
DELETEDelete all (or only the specified) communication log records.
/comlog/records/recordIdsGETGet the whole list of communication log record Ids.
/comlog/records/{recordId}GETGet a communication log record.
DELETEDelete a record.

Notifications summary

NotificationDescription
OnComRecordCreatedNotification sent when a new comlog entry has been created.
OnComRecordModifiedNotification sent when one or more records have been modified.
OnComRecordsAckNotification sent when one or more unanswered comlog records have been acknowledged.
OnComRecordsDeletedNotification sent when one or more call log records have been destroyed.
OnComRecordsUnAckNotification sent when one or more unanswered comlog records have been unacknowledged.

Resources

/comlog/records

Methods
PUT/comlog/records
Either Acknowledge/Unacknowledge the incoming missed communication records specified by their IDs.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
acknowledgestringtrue to acknowledge the list of communication records, false to unacknowledge.
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
UpdateComRecordsRequestapplication/json
UpdateComRecordsRequest
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications
GET/comlog/records
Get all the communication log records.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
recordIdListstringThis parameter is optional. If provided none of the other parameters (except loginName) are taken into account. This is a comma separated string of IDs of the communication log records to retrieve. The returned data will contain the requested records and the totalCount information.
unansweredbooleanThis parameter is optional. This is a search criterion, when set to true the operation returns only the records for missed calls. When omitted this operation returns all the records (answered or not) which match the other criteria.
unacknowledgedbooleanThis is a search criterion, when set to true the operation returns only the records unacknowledged. If false this operation returns all the records (acknowledged or not) which match the other criteria.
afterDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:14.489Z). This is a search criterion, when used the operation returns the records not older than this date. When omitted the operation searches for matching records starting from the oldest.
beforeDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z). This is a search criterion, when used the operation returns the records older than this date. When omitted the operation searches for matching records until the newest.
roleRoleThis parameter is optional. This is a search criterion, the enum value can be "CALLER", "CALLEE". It defines the role of the user in the communication. When omitted this operation returns all the records which match the other criteria.
comRefstringThis parameter is optional. The comref of the com we want to retrieve.
remotePartyIdstringThis parameter is optional. Ask to apply the operation on the records in which the user is engaged with this remote party.
offsetintThis parameter is optional. The offset of the first record to return. This parameter, together with "limit" allows to get the communication log "page by page" for application needs. Default value is 0.
limitintThis parameter is optional. Defines the maximum number of records this operation returns. Default value is 0 (in this case, we assume that the application wants to load the full communication log).
optimizedbooleanThis parameter is optional. When set to true the operation returns the full identity of a participant only the first time it occurs, when the same participant appears in several records When omitted this operation returns the records with no optimization.
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ComHistoryRecordsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all unanswered communication log records.

DELETE/comlog/records
Delete all (or only the specified) communication log records.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
recordIdListstringThis parameter is optional. If provided none of the other parameters (except loginName) are taken into account. This is a comma separated string of IDs of the communication log records to delete. If the IDs are unknown, no error message will be raised. In such case, of course, the OnComRecordDeleted event won't be generated.
unansweredstringThis parameter is optional. This is a search criterion, when set to true the operation deletes only the records for missed calls. When omitted this operation deletes all the records (answered or not) which match the other criteria.
unacknowledgedstringThis is a search criterion, when set to true the operation returns only the records unacknowledged. If false this operation returns all the records (unacknowledged or not) which match the other criteria.
afterDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z). This is a search criterion, when used the operation deletes the records not older than this date. When omitted the operation deletes matching records starting from the oldest.
beforeDatestringThis parameter is optional. The string is an UTC datetime whose format is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z). This is a search criterion, when used the operation deletes the records older than this date. When omitted the operation deletes matching records until the newest.
rolestringThis parameter is optional. This is a search criterion, the enum value can be "CALLER", "CALLEE". It defines the role of the user in the communication. When omitted this operation deletes all the records which match the other criteria.
comRefstringThis parameter is optional. The comref of the com we want to delete.
remotePartyIdstringThis parameter is optional. Ask to apply the operation on the records in which the user is engaged with this remote party.
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

/comlog/records/recordIds

Methods
GET/comlog/records/recordIds
Get the whole list of communication log record Ids.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ComHistoryRecordIdsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable

/comlog/records/{recordId}

Methods
GET/comlog/records/{recordId}
Get a communication log record.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
recordIdstringIdentifier of the record
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ComHistoryRecordapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
DELETE/comlog/records/{recordId}
Delete a record.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
recordIdstringIdentifier of the record
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Associated notifications

Representations

boolean
'boolean' is a data type, having two values (true and false).
ComHistoryRecord
Communication history ticket (ComLog).
NameTypeCardinalityDescription
recordIdlong[0..1]unique identifier of the record.
comRefstring[1]Communication reference identifier.
acknowledgedboolean[0..1]False indicates that the ticket corresponds to a non answered incoming call that has not been later acknowledged.
participantsParticipant[0..*]List of participants involved in the communication. The list may be null for a scheduled conference that has not yet started.
beginDatedateTime[0..1]Begin date of the communication (when the call is launched).
endDatedateTime[0..1]End date of the conversation (when the call is terminated or canceled).
convDatedateTime[0..1]Conversation date (when the call has been answered).
holdDurationlong[0..1]

Since version 2.7.4

Total duration of hold.
transferredBystring[0..1]

Since version 2.7.4

if present, defines who transferred the call
associatedDatastring[0..1]

Since version 2.7.4

if present, correlator data associated to this call
mediasMediaType[1..*]The list of medias involved in the communication.
extensionsTagValuePair[0..*]For evolution of this element, can contain supplementary information (tag/value pair).
[+] : JSON Example
Associated method :
ComHistoryRecordIds
Container for the list of history record ids (ComLog).
NameTypeCardinalityDescription
recordIdslong[0..*]The list the IDs of the com log records.
[+] : JSON Example
Associated method :
ComHistoryRecords
List of ComHistoryRecord (ComLog).
NameTypeCardinalityDescription
comHistoryRecordsComHistoryRecord[0..*]List of ComHistoryRecord.
offsetint[0..1]The offset of the first record which is returned.
limitint[0..1]Defines the maximum number of records returned.
totalCountint[0..1]Defines the total number of records without pagination.
[+] : JSON Example
Associated method :
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
Identifier
Key information to help retrieving a participant (ComLog).
NameTypeCardinalityDescription
loginNamestring[0..1]Login name.
phoneNumberstring[0..1]Company phone number.
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
long
'long' is a 64-bit number (-9223372036854775808 to 9223372036854775807).
MainType
Main participant type.
ValueDescription
USERThe participant is a user of the system.
DEVICEThe participant is a device of the system.
SERVICEThe participant is a service of the system.
EXTERNALThe participant is not a user of the system.
UNKNOWNThe main participant type is unknown.
MediaType
A media can be:
ValueDescription
AUDIOThe media is an audio.
UNKNOWNThe media is unknown.
OnComRecordCreated
Notification sent when a new comlog entry has been created.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordCreated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordComHistoryRecord[1]Contains all the fields of a call log record.
[+] : JSON Example
OnComRecordModified
Notification sent when one or more records have been modified.

Modification, could be trigerred by:

  • a change of state (e.g. from unanswered to answered)
  • a change of media list (e.g. IM and call in a conference).
  • a change of end date (e.g. when participants are dropped from a conference)

NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordModified'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordComHistoryRecord[1]Contains all or part of the modified fields of a modified com log record.(example: acknowledged).
[+] : JSON Example
OnComRecordsAck
Notification sent when one or more unanswered comlog records have been acknowledged.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordsAck'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordIdslong[0..*]A list of IDs of records which have been acknowledged.
[+] : JSON Example
Associated method :
OnComRecordsDeleted
Notification sent when one or more call log records have been destroyed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordsDeleted'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordIdslong[0..*]A list of IDs of records which have been destroyed Remark : if element is not present it means that all user's records have been destroyed.
[+] : JSON Example
Associated methods :
OnComRecordsUnAck
Notification sent when one or more unanswered comlog records have been unacknowledged.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnComRecordsUnAck'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
recordIdslong[0..*]A list of IDs of records which have been acknowledged.
[+] : JSON Example
Associated method :
Participant

Describes a participant referenced in the history record (ComLog).

Record content:

  • For a simple call (user A calls user B), the call record on each party will contain both the participant A and the participant B: (no guaranty on the order of the participants on 2 successive responses)
    • On A side, the record will contain :
      • participant A (the owner of the record) with role=CALLER and the answered status (whether the call has been answered or not)
      • participant B : neither the role nor the state is provided
    • On B side, the record will contain :
      • participant A : neither the role nor the state is provided
      • participant B (the owner of the record) with role=CALLEE and the answered status (whether the call has been answered or not)
  • For a re-routed call (user A calls user B, the call is re-routed on user C, caused by overflow, redirection or pickup), the record generated on each side including the user B side (the "victim" of the re-routing) will not contain as participant the user B itself because he was not the last destination of the call:
    • On A side, the record will contain :
      • participant A : with role=CALLER, the answered status, initialCalled=B
      • participant C
    • On B side, the record will be similar to the C one and contain :
      • participant A : neither the role nor the state is provided
      • participant C with role=CALLEE, the answered status (whether the call has been answered or not) and initialCalled=B
      which tells B that he was called by A but the call has been rerouted to C (with a reason) which answered or not to the call
    • On C side, the record will contain :
      • participant A : neither the role nor the state is provided
      • participant C with role=CALLEE, the answered status (whether the call has been answered or not) and initialCalled=B
  • Furthermore, for a multi-parties call using addParticipant, the already connected users in the call will also received a call record which will contain the answered status of the added participant: this information is provided to distinguish the added participants which have really answered and the other which decline the call.

Identification of the participant:

  • in the comlog notification events, the participant owner is identified only by its loginName (in order to reduce the event call flow), the other participants are identified with their full identity (loginName, phoneNumber, email, instantMessagingId)
  • in the getComlog response:
    • if no optimization is asked, all the participants are identified with their full identity.
    • if the "optimized:true" is present in the request parameter, only the first occurence of a participant (owner or other) are identified with their full identity. the following occurences are identified only with the phonenumber if the participant has one, or by it IM id if not.

NameTypeCardinalityDescription
roleRole[0..1]Defines whether the participant was the/a caller party, a called party or a masterconf. NB:in a conference, a participant can be both a called party and a caller (consultation call plus conference following an incoming call).
answeredboolean[0..1]defines whether the participant has really entered in the conversation. Can be omitted if the value is not known.
identityPartyInfo[1]Full description of a party involved in an history record.
anonymousboolean[0..1]Indicate if the participant identity is anonymous or not.
initialCalledPartyInfo[0..1]The number that has been initially called when this participant has been entered in the call.
reasonReason[0..1]The reason why the call has been established, rerouted, terminated ...
legstring[0..1]

Since version 2.7.4

device leg implicated in the call if the main device is not present
[+] : JSON Example
ParticipantType
Detail about a kind of participant (ComLog).
NameTypeCardinalityDescription
mainMainType[1]Gives the main type of the participant: "user", "device", ...
subTypestring[0..1]The subType string gives a supplementary information and can contain "voicemail",...
[+] : JSON Example
PartyInfo
Full description of a party involved in an history record (ComLog).
NameTypeCardinalityDescription
idIdentifier[1]Key information to help retrieving a participant.
firstNamestring[0..1]First name.
lastNamestring[0..1]Last name.
displayNamestring[0..1]Display name (display names are used in SIP URIs). Notice: if previous fields lastname/firstname are filled then displayName field will be empty.
typeParticipantType[0..1]Participant's type.
[+] : JSON Example
Reason
indicates for what reason the communication has been released, established or rerouted. The cause may be:
  • ABANDONED The call was abandoned.
  • ALL_TRUNK_BUSY The call was released because all trunk are busy.
  • BUSY The call was released because the remote party is busy.
  • FORWARDED The call has been forwarded PICKED_UP the call has been picked up.
  • REDIRECTED The call has been redirected.
  • TRANSFERRED The call has been transfered.
  • VOICEMAILDEPOSIT the call has been forwarded on vmail.
  • CONFERENCED The call was set to be a conference.
  • ... other ...
ValueDescription
ALL_TRUNK_BUSYThe call was released because all trunk are busy.
INVALID_NUMBERThe call was refused because the dialed number is not valid.
ABANDONEDThe call was canceled by the caller.
BUSYThe call failed because the called party is busy.
CONFERENCEDThe call was set to be a conference.
PICKUPThe call was picked up.
FORWARDEDThe call was forwarded to another destination.
REDIRECTEDThe call was redirected to another destination.
RELEASED_ON_REDIRECTThe call was released since redirection to another destination fails.
TRANSFERREDThe call was transferred.
RELEASED_ON_TRANSFERThe call was released since transfer to another destination fails.
VOICEMAILThe call ended on voicemail.
NORMALThe call normally ended.
UNKNOWNThe reason is unknown.
Role
role of a participant in the communication.
ValueDescription
CALLERThe participant is a caller party.
CALLEEThe participant is a called party.
UNKNOWNThe role is unknown.
string
'string' represents character strings.
TagValuePair
Key / value structure.
NameTypeCardinalityDescription
namestring[1]Key
valuestring[1]Value
[+] : JSON Example
UpdateComRecordsRequest
Request sent for updating communication history records (ComLog).
NameTypeCardinalityDescription
recordIdslong[0..*]The list the IDs of the com log records to update.
[+] : JSON Example
Associated method :

Event summary

Presentation

The Event summary service allows a user to get its new message indicators(missed call, voice mails, callback request, fax).

Resource summary

ResourceMethodDescription
/eventSummaryGETRetrieves main counters of the user's event log.

Notification summary

NotificationDescription
OnEventSummaryUpdatedNotification sent each time the user's counters have changed.

Resource

/eventSummary

Methods
GET/eventSummary
Retrieves main counters of the user's event log.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_TEL_ADVANCED - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200EventSummaryapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieves main counters of the user's event log.

Representations

boolean
'boolean' is a data type, having two values (true and false).
EventSummary
Describes an event summary.
NameTypeCardinalityDescription
missedCallsNbnonNegativeInteger[0..1]Number of missed calls (non acknowledged unanswered incoming calls).
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
CAUTION: This attribute doesn't reflect the missed call number managed by the call server itself but is related to the unanswered and non acknowledged incoming calls in the history call. Therefore, either only the explicit acknowledgment of these history call records through the communication log API service, or a new answered call with the same user will decrease this counter. Moreover, the counter is incremented for each non answered incoming call, including successive attempts from the same caller.
voiceMessagesNbnonNegativeInteger[0..1]Number of unread voice messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
callBackRequestsNbnonNegativeInteger[0..1]Number of call back requests.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
faxNbnonNegativeInteger[0..1]Number of fax.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
newTextNbnonNegativeInteger[0..1]Number of new text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 new text but prefer not to display this information.
oldTextNbnonNegativeInteger[0..1]Number of old text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 old text call but prefer not to display this information.
eventWaitingboolean[0..1]Specifies whether an event is waiting.
This flag can be used by an application to light a "LED" or to warn the user as it want that an event is waiting.
It is interesting to consider that the user could define rules on his profile defining when he wants his "LED" to be lighted. Considering that, the application does not have to decide when to light the "LED" but only has to follow this information.
If an application indicates to the user he has waiting events with additional events not provided here (number of unread emails or IM for instance) :
  • it would first have to take into account this flag (if true the "LED" has to be lighted)
  • and then, if the flag is false, the application would be able to take into account those additional events to know whether it wants to warn the user about waiting events.
[+] : JSON Example
Associated method :
nonNegativeInteger
'nonNegativeInteger' is all positive integer numbers and zero. Negative integers are excluded.
OnEventSummaryUpdated
Notification sent each time the user's counters have changed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnEventSummaryUpdated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
eventSummaryEventSummary[1]The new event summary.
[+] : JSON Example
Associated methods :
string
'string' represents character strings.

Maintenance

Presentation

Only for administrator. The system information resource is used to retrieve information about the system state, in particular information on the pbx nodes and their connection state.

Informations about license are also provided per item: total allocated licenses, numbers of current used and expiration date.

Concerning expiration of license file, a daily notification OnLicenseExpiration alarm may be received since 30 days before the expiration date up to 20 days after.

Resources summary

ResourceMethodDescription
/system/licensesGETGet license availability.
/system/statusGETGet information about system status.

Notifications summary

NotificationDescription
OnCtiLinkDownNotification sent when CTI link is down.
OnCtiLinkUpNotification sent when CTI link is up
OnLicenseExpirationNotification sent when the license file will soon expire or has recently expired
OnPbxLoadedNotification sent when datas are fully loaded from an OXE
OnServerStartNotification sent when O2G is ready (all oxe nodes are connected and loaded).

Resources

/system/licenses

Methods
GET/system/licenses
Get license availability.
This operation tests for the presence of a specific type of license in the FLEX license file.
This operation is available out of a session.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
query parameters
parametertypedescription
licstringthe type of license to check
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get ROXE_API_PHONESETPROG license availability

[+] : Get ROXE_HA license availability

/system/status

Methods
GET/system/status
Get information about system status.
This operation provides information about the system state , and the total number of each license type available for the system. <\b>This operation is restricted to an admin session only.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, system information corresponding to the concerned user SystemStatus
codetypemedia typesdescription
200SystemStatusapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get information about the system status

Representations

boolean
'boolean' is a data type, having two values (true and false).
ConfigurationTypeDTO
Type of O2G configuration
ValueDescription
PBX_MANAGEMENTPbx management only
RECORDINGRECORDING only
FULL_SERVICESPbx management + all services
CTILinkState
Lists the different OXE CTI link state
ValueDescription
CONNECTED_MAINconnected to main Call server
CONNECTED_SECONDARYconnected to secondary Call server
DISCONNECTEDnot connected
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
DRLink
CSTA DR link.
NameTypeCardinalityDescription
identifierstring[1]DR link Registration identifier
initiatorstring[1]

Since version 2.7.3

DR link initiator identifier (application name)
nbRecordedDevicesint[0..1]number of recorded devices
recordedDevicesRecordedDevice[0..*]list of recorded devices
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
License
License
NameTypeCardinalityDescription
namestring[0..1]Name
totalint[0..1]Total number
currentUsedint[0..1]Current used number. For the ROXE_API_MANAGEMENT particular case, it corresponds to the total network OXE Subscriber number
expirationstring[0..1] Expiration date
applicationboolean[0..1]Not used (Already true)
[+] : JSON Example
LicenseStatus
License status
NameTypeCardinalityDescription
typestring[0..1]FLEXLM (mode CAPEX) or LMS (mode OPEX)
contextstring[0..1]Only for LMS : infrastructure used (PROD, QA or INT)
currentServerstring[0..1]Server address
statusstring[0..1]Only for LMS : RTR status (NORMAL, GRACE PERIOD, PANIC MODE)
statusMessagestring[0..1]Only for LMS : Debug message, associated to the status
licsLicense[0..*]Licenses information
[+] : JSON Example
long
'long' is a 64-bit number (-9223372036854775808 to 9223372036854775807).
OnCtiLinkDown
Notification sent when CTI link is down. This event is sent with a 30 s minimum and 60 s maximum delay
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCtiLinkDown'
nodeIdstring[1]the nodeId which CTI link is down
[+] : JSON Example
OnCtiLinkUp
Notification sent when CTI link is up
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnCtiLinkUp'
nodeIdstring[1]the nodeId which CTI link is back to normal
[+] : JSON Example
OnLicenseExpiration
Notification sent when the license file will soon expire or has recently expired
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnLicenseExpiration'
messagestring[1]alarm message
nbDayslong[1]nb days since or to expiration date: nbDays>0 means the license will expire in nb days and nbDays<0 means the license has already expired since nb days
[+] : JSON Example
OnPbxLoaded
Notification sent when datas are fully loaded from an OXE
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxLoaded'
nodeIdstring[1]node identifier
[+] : JSON Example
OnServerStart
Notification sent when O2G is ready (all oxe nodes are connected and loaded).
To be received, this event needs a webhook url to be configured.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnServerStart'
serverIdstring[1]the IP of the server which starts
[+] : JSON Example
OXRConfig
OmniPCX Record description
NameTypeCardinalityDescription
hostNamestring[0..1]OXR host name
ipAddressstring[0..1]OXR ip address
siteIdstring[0..1]OXR site identifier
securedboolean[0..1]is secured access
connectedboolean[0..1]is connected
devicesstring[0..*]list of devices number which may be recorded by this recorder
[+] : JSON Example
OXRRecordedDevice
Description of a recorded device (by one or more OXR recorder)
NameTypeCardinalityDescription
numberstring[0..1]Device Number
recordableboolean[0..1]Is device recordable on demand.
startCapabilitiesStartType[0..*]Start mode capability of the device. Not present if device is not recordable on demand.
recordersstring[0..*]list of recorder identifiers which manage the device
[+] : JSON Example
OXRRecordingStatus
OXR recording service status
NameTypeCardinalityDescription
oxrsOXRConfig[0..*]List of OXR recorders
devicesOXRRecordedDevice[0..*]List of OXR recorded devices
[+] : JSON Example
PbxStatus
Pbx description
NameTypeCardinalityDescription
namestring[0..1]PBX name
nodeIdint[0..1]PBX nodeId
mainAddressServerAddress[0..1]PBX address
secondaryAddressServerAddress[0..1]PBX address
versionstring[0..1]PBX version
connectedboolean[0..1]PBX CMIS connection state
loadedboolean[0..1] Is PBX's users load completed
ctiLinkStateCTILinkState[0..1] PBX CSTA connection state
securedboolean[0..1]is PBX secured connection
monitoredUserNumberint[0..1]Number of monitored PBX Users
lmsConnectionStatusboolean[0..1]Lms connection status
drLinksDRLink[0..*]In case of IP recording, list of drLinks
[+] : JSON Example
RecordedDevice
Recorded device identification with it recording resource
NameTypeCardinalityDescription
numberstring[0..1]device number
userstring[0..1]device user
cridstring[0..1]device csta crid
recordedboolean[0..1]has the recording been asked
recordingResourcestring[0..1]recorder IP address or TDM time slot
ipboolean[0..1]Is an IP recording
sentFlowPortint[0..1]In case of IP recording, the recorder port where is sent the sent RTP flow(from the local recorded device to the remote)
receivedFlowPortint[0..1]In case of IP recording, the recorder port where is sent the received RTP flow(from the remote to the local recorded device)
encryptedboolean[0..1]In case of IP recording, if it is encrypted)
[+] : JSON Example
ServerAddress
Address of a server
NameTypeCardinalityDescription
fqdnstring[0..1]FQDN
ipstring[0..1]IP
[+] : JSON Example
ServicesStatus
Address of a server
NameTypeCardinalityDescription
namestring[0..1]Name
statusstring[0..1]Status Started/Stopped
modestring[0..1]Mode Active/Standby
[+] : JSON Example
StartType
How the record start can be activated: entire call or from now
ValueDescription
RECORD_FROM_NOWRecord from now.
RECORD_ENTIRE_CALLRecord from Beginning.
string
'string' represents character strings.
SubscriberFilterDTO
How does O2G automatically create user from OXE subscriber
ValueDescription
A4980Oxe subscriber are automatically loaded according to A4980 attribute
ALLOxe subscribers are all automatically loaded
NONENone Oxe subscriber automatically loaded
SystemServicesStatusDTO
System description Management package
NameTypeCardinalityDescription
servicesServicesStatus[0..*]Services information
globalIPAdressstring[0..1]if System is in HA mode, status og global IP address
drbdstring[0..1]if System is in HA mode, status of drbd
[+] : JSON Example
SystemStatus
System description Management package
NameTypeCardinalityDescription
logicalAddressServerAddress[0..1]System logical address
startDatedateTime[0..1]Start date (UTC).
haboolean[0..1]is System in HA mode
primarystring[0..1]if System is in HA mode, fqdn of the current active system
primaryVersionstring[0..1]version of the current active system
primaryServicesStatusSystemServicesStatusDTO[0..1]Primary server services status
secondarystring[0..1]if System is in HA mode, fqdn of the backup system
secondaryVersionstring[0..1]version of the backup system
secondaryServicesStatusSystemServicesStatusDTO[0..1]Secondary server services status
pbxsPbxStatus[0..*]PBXs information
recordingStatusOXRRecordingStatus[0..1]

Since version 2.7.3

OXRecorders information
licenseLicenseStatus[0..1]The total number of each license type available for the system
configurationTypeConfigurationTypeDTO[0..1] Type of configuration
applicationIdstring[0..1]O2G server identifier
subscriberFilterSubscriberFilterDTO[0..1] Oxe subscriber load filter type
[+] : JSON Example
Associated method :

Voicemail

Presentation

The voicemail service allows a user to connect to its voice mail box and manage its voice mails (retrieve and delete).
The voice mail can only be retrieved by downloading wave format file.
Restrictions: The voicemail box of each user MUST exist on its local PBX node.
Only the voicemail 4645 (IMAP/VMMC2) is consider (no 4635 or external voicemail).
Note: Don't forget to allow IMAP access in the concerned 4645 VM Classes of Service in the OXE.

Resources summary

ResourceMethodDescription
/messaging/mailboxesGETGet all the user's mailboxes.
/messaging/mailboxes/{mailboxId}POSTConnect to a mailbox and retrieve the information.
/messaging/mailboxes/{mailboxId}/voicemailsGETRetrieve all user's voicemails, or only those specified by the filter parameters offset / limit / newOnly.
DELETEDelete several or all voicemails .
/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}DELETE

Delete the specified voicemail.

GET

Retrieve a given user's voicemail wav file.

Notification summary

NotificationDescription
OnEventSummaryUpdatedNotification sent each time the user's counters have changed.

Resources

/messaging/mailboxes

Methods
GET/messaging/mailboxes
Get all the user's mailboxes.

This is the logical first step to access further operation on voice mail feature. The id of the retrieved mailboxes is used as a key to go down resources hierarchy.

Depending on the mailbox type, some operations or notifications are not allowed or supported. These capabilities information are provided for each mailbox.


Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200MailBoxesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the user's mailbox

/messaging/mailboxes/{mailboxId}

Methods
POST/messaging/mailboxes/{mailboxId}
Connect to a mailbox and retrieve the information.

This is the mandatory step to access all voice mail feature: To connect, the user password must be provided in the body

A mailbox information contains counters about the concerned mailbox:

  • Number of total voicemails.
  • Number of new (unread) voicemails.
  • Storage usage of the mailbox, if supported, as a percentage (100 = 100% full).

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
withUserPwdstring This parameter is optional. If it is present(don't use ="true"/="false"), the password used to connect to voicemail box is the user password and in this case no body is required. (It is the responsability of the OXE administrator to make the voice mailbox password match the subscriber one). If absent, a body with the voice mail box password value is mandatory.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ConnectRequestapplication/json
ConnectRequest
Response
codetypemedia typesdescription
200MailBoxInfoapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Connect to the mailbox

[+] : Connect to the mailbox with the user password

/messaging/mailboxes/{mailboxId}/voicemails

Methods
GET/messaging/mailboxes/{mailboxId}/voicemails
Retrieve all user's voicemails, or only those specified by the filter parameters offset / limit / newOnly.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
query parameters
parametertypedescription
offsetintthe offset from which to start retrieving the voicemail list (Default value is 0).
limitintthe maximum number of items to return (Default value is -1: no limit).
newOnlybooleanfilter only unread voicemail if set to 'true' (Default value is 'false').
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Voicemailsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all the voicemails id in the mailbox

DELETE/messaging/mailboxes/{mailboxId}/voicemails
Delete several or all voicemails .
NOTE To be able to do this operation, a previous call to the following resources must be done: POST /messaging/mailboxes/{mailboxId}

NOTE: If successfull, OnEventSummaryUpdated OnEventSummaryUpdated event will be generated to refresh the counters.

NOTE: The command does not return any particular value. It is assumed that invalid message Ids are by nature non-existent, which fits the purpose of deletion.


Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
query parameters
parametertypedescription
msgIdsstringlist of voice message Ids to delete (comma separated list of voicemailIds).
or null if all messages must be deleted.
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : delete all the voicemails

[+] : delete 2 voicemails

Associated notifications

/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}

Methods
DELETE/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}

Delete the specified voicemail.


NOTE To be able to do this operation, a previous call to the following resources must be done: POST /messaging/mailboxes/{mailboxId}

NOTE: If successfull, OnEventSummaryUpdated OnEventSummaryUpdated event will be generated to refresh the counters.

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
voicemailIdstringIdentifier of the message.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : delete the voicemail

Associated notifications
GET/messaging/mailboxes/{mailboxId}/voicemails/{voicemailId}

Retrieve a given user's voicemail wav file.


NOTE To be able to do this operation, a previous call to the following resources must be done: POST /messaging/mailboxes/{mailboxId}

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MESSAGING - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
mailboxIdstringIdentifier of the mailbox.
voicemailIdstringIdentifier of the message.
query parameters
parametertypedescription
loginNamestringLogin name of the user for whom the request is invoked.
This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
200application/octet-stream
OK
400Bad Request
403Forbidden
500Internal Server Error
503Service Unavailable
Examples

[+] : get the voicemail

Representations

boolean
'boolean' is a data type, having two values (true and false).
ConnectRequest
Voice mail connection request data.
NameTypeCardinalityDescription
passwordstring[0..1]voice mail account password.
[+] : JSON Example
Associated method :
dateTime
'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
EventSummary
Describes an event summary.
NameTypeCardinalityDescription
missedCallsNbnonNegativeInteger[0..1]Number of missed calls (non acknowledged unanswered incoming calls).
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
CAUTION: This attribute doesn't reflect the missed call number managed by the call server itself but is related to the unanswered and non acknowledged incoming calls in the history call. Therefore, either only the explicit acknowledgment of these history call records through the communication log API service, or a new answered call with the same user will decrease this counter. Moreover, the counter is incremented for each non answered incoming call, including successive attempts from the same caller.
voiceMessagesNbnonNegativeInteger[0..1]Number of unread voice messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
callBackRequestsNbnonNegativeInteger[0..1]Number of call back requests.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
faxNbnonNegativeInteger[0..1]Number of fax.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 missed call but prefer not to display this information.
newTextNbnonNegativeInteger[0..1]Number of new text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 new text but prefer not to display this information.
oldTextNbnonNegativeInteger[0..1]Number of old text messages.
If this attribute is not specified, it means that the server is not able to provide that information : do not consider it means that the user has 0 old text call but prefer not to display this information.
eventWaitingboolean[0..1]Specifies whether an event is waiting.
This flag can be used by an application to light a "LED" or to warn the user as it want that an event is waiting.
It is interesting to consider that the user could define rules on his profile defining when he wants his "LED" to be lighted. Considering that, the application does not have to decide when to light the "LED" but only has to follow this information.
If an application indicates to the user he has waiting events with additional events not provided here (number of unread emails or IM for instance) :
  • it would first have to take into account this flag (if true the "LED" has to be lighted)
  • and then, if the flag is false, the application would be able to take into account those additional events to know whether it wants to warn the user about waiting events.
[+] : JSON Example
Associated method :
Identifier
Key information to help retrieving a participant.
NameTypeCardinalityDescription
loginNamestring[0..1]Login name.
phoneNumberstring[0..1]Company phone number.
instantMessagingIdstring[0..1]Instant messaging identity.
companyEmailstring[0..1]Company email.
[+] : JSON Example
int
'int' is a 32-bit number (-2147483648 to 2147483647).
MailBox
Descriptor of a mailbox.
NameTypeCardinalityDescription
idstring[0..1]Identifier of the mailbox.
namestring[0..1]Name of the mailbox.
capabilitiesMailBoxCapabilities[0..1]Capabilities supported by the mailbox.
[+] : JSON Example
MailBoxCapabilities
List the capabilities supported by a mailbox.
NameTypeCardinalityDescription
listMessagesboolean[0..1]Voicemail server can return the list of messages.
getMessagesboolean[0..1]Voice messages can be downloaded.
getRecordboolean[0..1]Recorded message can be downloaded.
playboolean[0..1]Voicemail server is capable of playing voice messages.
pauseboolean[0..1]Playing voice message can be paused and resumes from the position it has been paused.
hangupboolean[0..1]Media session can be terminate.
recordboolean[0..1]The voicemail server is capable of recording voice messages.
resumeboolean[0..1]Voice message recording can be resumed after being stopped.
cancelboolean[0..1]The current recording can be cancelled.
forwardboolean[0..1]The voicemail server is capable of forwarding voice messages.
callbackboolean[0..1]The voicemail server can call back the originator of the voice message.
sendboolean[0..1]Voice message or record can be sent to recipients.
eventsboolean[0..1]Voicemail server is capable to send events in case of message deposit / removal.
[+] : JSON Example
MailBoxes
Container for a list of Mailbox
NameTypeCardinalityDescription
mailboxesMailBox[0..*]List of user mailboxes.
[+] : JSON Example
Associated method :
MailBoxInfo
Descriptor of a MailboxInfo.
NameTypeCardinalityDescription
totalVoiceMsgint[0..1]Number of voice messages.
newVoiceMsgint[0..1]Number of new (unread) voice messages.
storageUsageint[0..1]Threshold indicating mailbox usage ratio. 100 mean 100% full. No more message deposit is allowed. -1 means information not available.
[+] : JSON Example
Associated method :
nonNegativeInteger
'nonNegativeInteger' is all positive integer numbers and zero. Negative integers are excluded.
OnEventSummaryUpdated
Notification sent each time the user's counters have changed.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnEventSummaryUpdated'
loginNamestring[1]Login name of the user (identifier which can be used for filtering).
eventSummaryEventSummary[1]The new event summary.
[+] : JSON Example
Associated methods :
PartyInfo
Full description of a party (i.e. participant's description).
NameTypeCardinalityDescription
idIdentifier[1]Key information to help retrieving a participant.
firstNamestring[0..1]First name of the participant.
lastNamestring[0..1]Last name of the participant.
displayNamestring[0..1]Display name of the participant.
[+] : JSON Example
string
'string' represents character strings.
Voicemail
Descriptor of a voice message.
NameTypeCardinalityDescription
voicemailIdstring[1]Identifier of the voicemail.
fromPartyInfo[0..1]Originator of the voicemail.
durationint[1]Duration, in seconds, of the voicemail.
datedateTime[1]Date and time (ISO-8601) of the message.
unreadboolean[1]Indicates if this message has been read or not.
highPriorityboolean[1]Indicate if the message has been tagged as urgent or not.
[+] : JSON Example
Voicemails
List of voicemails.
NameTypeCardinalityDescription
voicemailsVoicemail[0..*]List of voicemails.
[+] : JSON Example
Associated method :

Phone Set Programming

Presentation

The Phone Set Programming service allows a user to manage its device states: lock/campon/programmable keys.

Resources summary

ResourceMethodDescription
/users/{loginName}/devicesGETGet all the devices of a user
/users/{loginName}/devices/{deviceId}GETGet one device of a user
/users/{loginName}/devices/{deviceId}/REActivePUTActivate or deactivate the remote extension device of a user
/users/{loginName}/devices/{deviceId}/REActiveStateGETGet the remote extension activation state of a user
/users/{loginName}/devices/{deviceId}/addonsGETGet the addons module types associated to a device of a user
/users/{loginName}/devices/{deviceId}/associatePUTSet the associate of a device of a user
/users/{loginName}/devices/{deviceId}/camponPUTSet or reset the campon state of a device of a user
/users/{loginName}/devices/{deviceId}/dynamicStateGETGet the dynamic state (lock/campon/associate) of a device of a user
/users/{loginName}/devices/{deviceId}/lockPUTSet or reset the lock state of a device of a user
/users/{loginName}/devices/{deviceId}/pinGETGet the PIN configuration associated to a device of a user
PUTSet the PIN configuration associated to a device of a user
/users/{loginName}/devices/{deviceId}/programmeableKeysGETGet the programmeable keys (already programmed and not affected) associated to a device of a user
/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}PUTSet a programmeable key associated to a device of a user
DELETEErase a programmeable key associated to a device of a user
/users/{loginName}/devices/{deviceId}/programmedKeysGETGet the already programmed keys associated to a device of a user
/users/{loginName}/devices/{deviceId}/softKeysGETGet the soft keys associated to a device of a user
/users/{loginName}/devices/{deviceId}/softKeys/{position}PUTSet a soft key associated to a device of a user
DELETEErase a soft key associated to a device of a user
/users/{loginName}/prefixesGETGet a pbx prefix related to a user.

Resources

/users/{loginName}/devices

Methods
GET/users/{loginName}/devices
Get all the devices of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the devices.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of devices Devices
codetypemedia typesdescription
200Devicesapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the devices of the user1

/users/{loginName}/devices/{deviceId}

Methods
GET/users/{loginName}/devices/{deviceId}
Get one device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the device.
deviceIdstringidentifier of the device to retrieve.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of devices Device
codetypemedia typesdescription
200Deviceapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/REActive

Methods
PUT/users/{loginName}/devices/{deviceId}/REActive
Activate or deactivate the remote extension device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the RE device to activate/deactivate.
query parameters
parametertypedescription
activatebooleanactivation or deactivationboolean.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : activate the RE device 1234 of the user1

/users/{loginName}/devices/{deviceId}/REActiveState

Methods
GET/users/{loginName}/devices/{deviceId}/REActiveState
Get the remote extension activation state of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the RE to get the activation state.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the activation state
codetypemedia typesdescription
200REActivationStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the activation state of the RE 1234 of the user1

/users/{loginName}/devices/{deviceId}/addons

Methods
GET/users/{loginName}/devices/{deviceId}/addons
Get the addons module types associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to retrieve the soft keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of soft keys Addons
codetypemedia typesdescription
200Addonsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable

/users/{loginName}/devices/{deviceId}/associate

Methods
PUT/users/{loginName}/devices/{deviceId}/associate
Set the associate of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to set the associate.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
Associateapplication/json
associate number Associate.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : update the associate for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/campon

Methods
PUT/users/{loginName}/devices/{deviceId}/campon
Set or reset the campon state of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to set or reset the campon.
query parameters
parametertypedescription
activatebooleanactivation or deactivationboolean.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : activate the lock for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/dynamicState

Methods
GET/users/{loginName}/devices/{deviceId}/dynamicState
Get the dynamic state (lock/campon/associate) of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to get the dynamic state.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the dynamic state
codetypemedia typesdescription
200DynamicStateapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the dynamic state of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/lock

Methods
PUT/users/{loginName}/devices/{deviceId}/lock
Set or reset the lock state of a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to lock or unlock.
query parameters
parametertypedescription
activatebooleanactivation or deactivationboolean.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : activate the lock for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/pin

Methods
GET/users/{loginName}/devices/{deviceId}/pin
Get the PIN configuration associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the PIN information Pin
codetypemedia typesdescription
200Pinapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the PIN information of the device 1234 of the user1

PUT/users/{loginName}/devices/{deviceId}/pin
Set the PIN configuration associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to set.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
Pinapplication/json
PIN information Pin.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : update PIN information for the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/programmeableKeys

Methods
GET/users/{loginName}/devices/{deviceId}/programmeableKeys
Get the programmeable keys (already programmed and not affected) associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the pKeys.
deviceIdstringidentifier of the device to retrieve the programmeable keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of programmeable keys (programmed and not affected) ProgrammeableKeys
codetypemedia typesdescription
200ProgrammeableKeysapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the pkeys of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}

Methods
PUT/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}
Set a programmeable key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to modify the programmeable key.
positionintthe position of the pKey to set(MUST be the same value that the key object attribute one).
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
ProgrammeableKeyapplication/json
the pKey to create or setProgrammeableKey.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Set the pkey nbr 3 of the device 1234 of the user1

DELETE/users/{loginName}/devices/{deviceId}/programmeableKeys/{position}
Erase a programmeable key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to delete the programmeable key.
positionintthe position of the pKey to delete.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Delete the pkey nbr 3 of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/programmedKeys

Methods
GET/users/{loginName}/devices/{deviceId}/programmedKeys
Get the already programmed keys associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the pKeys.
deviceIdstringidentifier of the device to retrieve the programmeable keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of programmed keys ProgrammeableKeys
codetypemedia typesdescription
200ProgrammeableKeysapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the pkeys of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/softKeys

Methods
GET/users/{loginName}/devices/{deviceId}/softKeys
Get the soft keys associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device to retrieve the soft keys.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the list of soft keys SoftKeys
codetypemedia typesdescription
200SoftKeysapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the softkeys of the device 1234 of the user1

/users/{loginName}/devices/{deviceId}/softKeys/{position}

Methods
PUT/users/{loginName}/devices/{deviceId}/softKeys/{position}
Set a soft key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to modify the soft key.
positionintthe position of the softKey to set(MUST be the same value that the key object attribute one).
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
SoftKeyapplication/json
the pKey to create or setSoftKey.
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Set the softkey nbr 3 of the device 1234 of the user1

DELETE/users/{loginName}/devices/{deviceId}/softKeys/{position}
Erase a soft key associated to a device of a user
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user.
deviceIdstringidentifier of the device where to erase the soft key.
positionintthe position of the pKey to delete.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Delete the softkey nbr 3 of the device 1234 of the user1

/users/{loginName}/prefixes

Methods
GET/users/{loginName}/prefixes
Get a pbx prefix related to a user.
A prefix may be used to activate a service directly through a telephony make call.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_PHONESETPROG - one license per user.
Required in OPEX mode (LMS server): api-tel-f - one license per user.
Request
path parameters
parametertypedescription
loginNamestringLogin name of the user to retrieve the pbx prefix.
query parameters
parametertypedescription
typestringMandatory prefix type (See example below) .
valuestringMandatory prefix value (See example below) .
Caution!: type and value are case sensitive strings.

The table below contains a subset of accepted prefix types and values.
The full value set may be obtained by consulting the OXE model

Prefix meaning Type Value
do not disturb Station_Facility_Type Do_not_disturb
padlock Station_Facility_Type Lock
overflow busy(on associate) Station_Facility_Type Overflow_on_busy_on_associated
overflow busy or no answer(on associate) Station_Facility_Type Overflow_busy_noreply_on_associated
overflow no answer(on associate) Station_Facility_Type Overflow_no_reply_on_associated
cancel overflow Station_Facility_Type Cancel_Overflow_on_associated
immediate forward Station_Facility_Type Immediate_forwarding
forward on busy Station_Facility_Type Immediate_forwarding_on_busy
forward on no answer Station_Facility_Type Forwarding_on_no_reply
forward on busy or no answer Station_Facility_Type Forwarding_on_busy_or_no_reply
cancel forward Station_Facility_Type Forwarding_cancellation
cancel auto callback Station_Facility_Type Cancel_automatic_call_back_on_busy_station
direct call pickup General_Facility_Type Direct_call_pick_up
group call pickup General_Facility_Type Group_call_pick_up
speed dial associate Local_Facility_Type Speed_call_to_associated_station
voice mail deposit Local_Facility_Type Voice_Mail_Deposit
wakeUp Local_Facility_Type Wake_up
cancel wakeUp Local_Facility_Type Wake_up_cancellation
...p ... ...
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
Returns the result code and, if the code is SUCCESS, the prefix number Prefix
codetypemedia typesdescription
200Prefixapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : For the user1, get the pbx prefix "Overflow on busy on associated"

Representations

Addons
List of addons of a device.
NameTypeCardinalityDescription
addonTypesAddonType[0..*]List of the soft Keys.
[+] : JSON Example
Associated method :
AddonType
Phone Set addon type values.
ValueDescription
NO_EXTENSIONSno extension module
ADDON_10_KEYSTen keys extension module
ADDON_20_KEYSTwenty keys extension module
ADDON_40_KEYSForty keys extension module
ADDON_EL_14_KEYSFourteen electronic keys extension module
Associate
Associate number
NameTypeCardinalityDescription
numberstring[0..1]associate number.
[+] : JSON Example
Associated method :
boolean
'boolean' is a data type, having two values (true and false).
Device
Describe a device.
NameTypeCardinalityDescription
typeDeviceType[0..1]Device's type.
idstring[0..1]Device identifier which is used to identify the device in telephony requests and events.
subTypestring[0..1]Device's subtype : For a DESKPHONE type, we could have : ANALOG, NOE_C_Color_IP, ...
[+] : JSON Example
Associated method :
Devices
List of the devices for a given user.
NameTypeCardinalityDescription
devicesDevice[0..*]List of the devices for a given user.
[+] : JSON Example
Associated method :
DeviceType
The device type values.
ValueDescription
DECTA wireless phone set used within the enterprise.
DESKPHONEA phone set on an office's desk.
MOBILEA mobile phone.
SOFTPHONEA phone started from a computer with VOIP.
DynamicState
Describe the dynamic state of the device.
NameTypeCardinalityDescription
lockboolean[0..1]Device's lockState.
camponboolean[0..1]Device's camponState.
associatestring[0..1] Device's associate
[+] : JSON Example
Associated method :
int
'int' is a 32-bit number (-2147483648 to 2147483647).
Pin
The description of PIN information PIN (PERSONAL IDENT.NO.) This table is used to manage PIN numbers. PIN stands for Personal Identification Number. This service allows the user to announce that the call he is making is a personal (external) call and not a business call. Using pulse metering tickets, the company is then able to invoice this call again as a personal call. This service can be applied to local users (employees) or visitors (in this case, the created user set is a virtual set without a physical address). To use this service, users must dial the personal prefix followed by the PIN No. and then the secret code followed by the external number. The Personal Identification Number is private and secret; only the administrator and, in certain cases, the pulse metering administrator may know it. PIN data is also accessible through the USER SETS tables.
NameTypeCardinalityDescription
Pin_Numberstring[0..1]PIN number. The number of digits must agree with the PBX configuration
With_Secret_Codeboolean[0..1]Select TRUE to force the device to dial the set's secret code before accessing private calls
Pin_Type_Of_Controlstring[0..1]Check type : PIN_Category (to allow this PIN to be used from any set in the system), PIN_Restricted_To_Owner_Set (to limit the use of this PIN to its associated user set), PIN_Universal_Access (to allow the PIN to be used on all sets in the system), PIN_Group_Control (to limit the use of this PIN to a specific PIN group)
Pin_Groupint[0..1]PIN group number
[+] : JSON Example
Associated methods :
Prefix
Pbx Prefix value and number
NameTypeCardinalityDescription
valuestring[0..1]String prefix value, example "Group_call_pick_up".
numberstring[0..1]String prefix number, example "56".
[+] : JSON Example
Associated method :
ProgrammeableKey
The description of a programmeable Key
NameTypeCardinalityDescription
positionint[0..1]key position.
numberstring[0..1]phone number associated to the key
mnemonicstring[0..1]mnemonic associated to the key
lockedboolean[0..1]Is the key locked
[+] : JSON Example
Associated method :
ProgrammeableKeys
List of the programmeable Keys of a device.
NameTypeCardinalityDescription
pkeysProgrammeableKey[0..*]List of the programmeable keys.
[+] : JSON Example
Associated methods :
REActivationState
Describe the dynamic state of the device.
NameTypeCardinalityDescription
activeboolean[0..1]is Remote Extension active.
[+] : JSON Example
Associated method :
SoftKey
The description of a soft Key
NameTypeCardinalityDescription
positionint[0..1]key position.
numberstring[0..1]phone number associated to the key
mnemonicstring[0..1]mnemonic associated to the key
[+] : JSON Example
Associated method :
SoftKeys
List of the soft Keys of a device.
NameTypeCardinalityDescription
skeysSoftKey[0..*]List of the soft Keys.
[+] : JSON Example
Associated method :
string
'string' represents character strings.

PBX management

Presentation

The Pbx service mainly allows an administrator to manage a pbx, that is to create/modify/delete any object or sub-object in the pbx model.

This feature uses 2 kinds of resource: the object model resource and the object instance resource

  • The object model resources are used to retrieve (GET) the object model of the whole pbx or of an object in particular. It gives the detail of all object attribute: if the attribute is mandatory/optional in the object creation, which value range is authorized, the eumeration possible values, if the attribute is an enumerated
  • The object instance resources are used to create (POST), modify(PUT) , retrieve (GET) or remove (DELETE) any instances of any object, giving the reference of this object. For the creation or the modification of an object, the body must be compliant with the object model.
  • the list of sub-objects which are returned by a get instance of an object corresponds to the relative path of the first instanciable objects in the hierarchy in order to be able by recursion to build the path to access to any object and sub-object.
  • When access to an object which is a sub-object, the full path must be given : {object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}. ex: .../api/rest/1.0/pbxs/1/instances/System_Parameters/1/System_Parameters_2/1/Network_Parameters

Few methods are provided but, thanks to these model description, any kind of object can be created/modified/removed.

Note: After a PBX version upgrade, a restart of the system will be necessary to update the object model.

Resources summary

ResourceMethodDescription
/pbxsGETGet the lists of all PBX instances.
/pbxs/{nodeId}GETGet PBX information.
/pbxs/{nodeId}/instancesGETGet node object (root object): return the list of attributes and the list of sub-object paths of the node: the sub-objects which are returned correspond to the relative path of the first instanciable objects in the hierarchy.
/pbxs/{nodeId}/instances/{objectNameobjectId}GETGet a PBX object by using its ID: Return the list of attributes and the list of sub-object paths of the current object: the sub-objects which are returned correspond to the relative path of the first instanciable sub-objects in the hierarchy..
PUTChange one or more attribute values of a PBX object or execute an allowed actions (ReinitMemory,...)
DELETEDelete a PBX Object.
/pbxs/{nodeId}/instances/{objectName}GETGet the list of PBX object instances, the instances are shown by its attribute Id.
POSTCreate a PBX Object.
/pbxs/{nodeId}/modelGETGet the description of the data model of one PBX.
/pbxs/{nodeId}/model/{objectName}GETGet the PBX Model by name.

Notifications summary

NotificationDescription
OnPbxObjectInstanceCreatedNotification sent when a PBX object instance is created Only Object Subscriber is concerned by this event
OnPbxObjectInstanceDeletedNotification sent when a PBX object instance is deleted Only Object Subscriber is concerned by this event
OnPbxObjectInstanceModifiedNotification sent when a PBX object instance is modified Only the instances of objects having a notification mechanism implemented in the PBX are concerned.

Resources

/pbxs

Methods
GET/pbxs
Get the lists of all PBX instances.
Licenses
Required in CAPEX mode (FlexLM server): No license required (free).
Required in OPEX mode (LMS server): No license required (free).
Request
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Pbxsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : get the list of the PBX managed by this O2G.

/pbxs/{nodeId}

Methods
GET/pbxs/{nodeId}
Get PBX information.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200Pbxapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : get the information about the PBX with the nodeId equals 101.

/pbxs/{nodeId}/instances

Methods
GET/pbxs/{nodeId}/instances
Get node object (root object): return the list of attributes and the list of sub-object paths of the node: the sub-objects which are returned correspond to the relative path of the first instanciable objects in the hierarchy. Example: "System_Parameter", "SIP/1/SIP_Gateway", ... In that manner, all the pbx object and sub-object can be recursively retrieved from a previous response by adding the relative path of the subobect to the path of the hierarchical previous object
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200PbxObjectapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieves the node 101 object contain (attribute list and sub-object name list).

/pbxs/{nodeId}/instances/{objectNameobjectId}

Methods
GET/pbxs/{nodeId}/instances/{objectNameobjectId}
Get a PBX object by using its ID: Return the list of attributes and the list of sub-object paths of the current object: the sub-objects which are returned correspond to the relative path of the first instanciable sub-objects in the hierarchy..
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
objectNameobjectIdstringFull description of object Id with the following syntax: {object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}.
query parameters
parametertypedescription
attributesstring Optional comma separated attribute list (See example below) If present, the result will return for each instance the selected attribute values. See example [2]
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200PbxObjectapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the 4722 Subscriber.

[+] : Get a pilot with one given attribute.}

[+] : Get One instance of the System/Dynamic Voice Guide/Assignement. NB: the instance identifiers are a combination of the Submsg-Coupler sub-attributes: "Sub-message number, ACT-Coupler"

PUT/pbxs/{nodeId}/instances/{objectNameobjectId}
Change one or more attribute values of a PBX object or execute an allowed actions (ReinitMemory,...) on the PBX object

If an update on the same object has been performed by other administrator since last operation a conflict error occurs
and a GET operation must be done to allow the update, it avoids change done by other to be cancelled by other
Moreover to add or remove items in a list and to avoid to have to reload object in case of modification by other
use action (add, remove) : single operation
See examples [6,7,8,9]

Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNameobjectIdstringThe full identifier of the PBX object ({object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}).
query parameters
parametertypedescription
actionstringSpecial Action to run on the PBX object such (ReinitMemory, Resynchro,..).These allowed actions depends of object. The allowed actions on one object are available in the object model. This parameter is optional.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PbxAttributesapplication/json
PbxAttributes
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
409application/json
Conflict
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Change the attributes values of the Subscriber_Alias, instance 5 for the Subscriber 70300.

[+] : Execute 'ReinitMemory' action on the 4722 Subscriber instance.

[+] : Set a list attribute value: erase the associated multidevices of the 70123.

[+] : Set a list attribute value: set the 2 associated multidevices of the 70123.

[+] : Set a complex attribute value: set 2 skills(1 and 2) in the skill sets of an ccd operator 70025.

[+] : Add 2 skills(3 and 4) in the skill sets of an ccd operator 70025.

[+] : Remove 1 skill from the skill sets of an ccd operator 70025.

[+] : Add 2 devices(1 and 2) in the attached devices of a Subscriber 60002.

[+] : Remove a simple attribute value: remove 1 device from the attached devices of a Subscriber 60002.

DELETE/pbxs/{nodeId}/instances/{objectNameobjectId}
Delete a PBX Object.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNameobjectIdstringThe full identifier of the PBX object ({object1Name}/{object1Id}/{object2Name}/{object2Id}/..../{objectxName}/{objectxId}).
query parameters
parametertypedescription
forcestringUse the "FORCED_DELETE" action to delete object if set. This action is only allowed on some object, this information (allowed or not ) is available in the object model.
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codemedia typesdescription
204application/json
No Content
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Delete the Subscriber_Alias, instance 5 for the 4722 Subscriber

[+] : Delete the 4722 Subscriber by using the FORCED_DELETE.

/pbxs/{nodeId}/instances/{objectName}

Methods
GET/pbxs/{nodeId}/instances/{objectName}
Get the list of PBX object instances, the instances are shown by its attribute Id.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNamestringFull description of the object name with the following syntax: {objectName}/{objectId}/{object1Name}/{object1Id}/..../{objectxName}
query parameters
parametertypedescription
filterstringThe supported operators are:
  • EQUAL : == <value>
  • STARWITH : == <value>*
  • ENDWITH : == *<value>
  • NOT_EQUAL : !=<value>
  • GREATER_THAN_OR_EQUAL : =ge=<value>
  • LESS_THAN_OR_EQUAL : =le=<value>
The supported logical operators are:
  • and
  • or
Example of query parameter filter syntax : ?filter=<attributeName>==<value> or <attributeName1>==<value1> and <attributeName2>!=<value2>
But be careful: the coherence of the filters is not tested at O2G level.
attributesstring Optional comma separated attribute list (See example below) If present, the result will return for each instance the selected attribute values. For performance, this attribute list should be reduced and not contained all the attributes of an object!
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200PbxObjectIdsapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get all instances of the "Subscriber_Alias" objects for the 4722 Subscriber.

[+] : Get with simple filter: Get all instances of the Subscriber objects which Annu_Name begin with "Jz".

[+] : Get with simple filter: Get all instances of the Subscriber objects with Analog Station_Type.

[+] : Get with composed "OR" filter: Get all instances of the Subscriber objects with Station_Type is Analog or Remote_Extension.

[+] : Get the Free_Range_List (under System_Parameters)

[+] : Get with simple filter and short attribute list: Get all instances of the Subscriber objects which Directory_Number begin with 7012 and return also for each instances the attributes Annu_Name and Annu_First_Name.

[+] : Get the instances of the System/Dynamic Voice Guide/Assignement. NB: the instance identifiers are a combination of the Submsg-Coupler sub-attributes: "Sub-message number, ACT-Coupler"

POST/pbxs/{nodeId}/instances/{objectName}
Create a PBX Object.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringPBX node number
objectNamestringThe full identifier of the PBX object ({object1Name}/{object1Id}/{object2Name}/{object2Name}/..../{objectxName}).
query parameters
parametertypedescription
actionstring
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
body parameter
typemedia typesdescription
PbxAttributesapplication/json
Attributes of the object to create PbxAttributes. Some attributes are mandatory, this information are available in the model object. For attributes not specified, the default value are used.
Response
codemedia typesdescription
201application/json
Created
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
405application/json
Method Not Allowed
409application/json
Conflict
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Create a Subscriber with phone number 70300,with attributes Annu_First_Name , Annu_Name , Station_Type (all other attributes are set to default values).

[+] : Create a Subscriber_Alias, instance 5 for the Subscriber 70300,with attributes Annu_First_Name, Annu_Name (all other attributes are set to default values).

[+] : Create a free range of number with name "range1", begin range=2000 and end range=3000

[+] : Create one instance of the System/Dynamic Voice Guide/Assignement. NB: Like for all the sequence attribute, the full attribute names syntax must be respected: Submsg-Coupler.Submsg_id and Submsg_Coupler.Crystal_Coupler (refer to the GET response for this object)

/pbxs/{nodeId}/model

Methods
GET/pbxs/{nodeId}/model
Get the description of the data model of one PBX.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ObjectModelapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
404application/json
Not Found
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Get the model's tree of one PBX.

/pbxs/{nodeId}/model/{objectName}

Methods
GET/pbxs/{nodeId}/model/{objectName}
Get the PBX Model by name.
Licenses
Required in CAPEX mode (FlexLM server): ROXE_API_MANAGEMENT - number of licenses greater than or equal to total number of OXE users on all OXE nodes.
Required in OPEX mode (LMS server) : api-management-f - one license per user � number of licenses must be equal to total OXE users.
Request
path parameters
parametertypedescription
nodeIdstringthe PBX node number
objectNamestringthe pbx object name (ex: Subscriber)
cookie parameters
parametertypedescription
AlcUserIdstringIdentifier of the Session
Response
codetypemedia typesdescription
200ObjectModelapplication/json
OK
400application/json
Bad Request
403application/json
Forbidden
500application/json
Internal Server Error
503application/json
Service Unavailable
Examples

[+] : Retrieve Subscriber model.

Representations

AttributeModel
Information about PBX object attributes
NameTypeCardinalityDescription
namestring[0..1]name of the attribute
mandatoryboolean[0..1]Attribute is mandatory, Attribute is the identifier (ID) of the object
typeValuestring[0..1]Type of the attribute, (octetString,integer,boolean,..)
multiValueboolean[0..1]Multi value, value is a list or not a list
allowedValuesstring[0..*]Allowed values for the attribute
lengthValuestring[0..1]Max length for the attribute value. Only used for the octetString type
defautValuestring[0..1]Default value of the attribute
filteringboolean[0..1]Attribute can be filtering
usedWhenstring[0..1]UsedWhen expression of the attribute
[+] : JSON Example
boolean
'boolean' is a data type, having two values (true and false).
int
'int' is a 32-bit number (-2147483648 to 2147483647).
ObjectModel
Information about PBX object
NameTypeCardinalityDescription
objectNamestring[0..1]Name of the object.
attributesAttributeModel[0..*]List of attribute for this object.
objectsObjectModel[0..*]List of sub-objects
hiddenboolean[0..1]Object is hidden
createboolean[0..1]Object can be created
deleteboolean[0..1]Object can be deleted
setboolean[0..1]Object can be updated
getboolean[0..1]Object can be read
otherActionsstring[0..*]Allowed actions
[+] : JSON Example
Associated methods :
OnPbxObjectInstanceCreated
Notification sent when a PBX object instance is created Only Object Subscriber is concerned by this event
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxObjectInstanceCreated'
objectNamestring[1]Object name
objectIdstring[1]Object instance Id
nodeIdstring[1]Node Id which houses object instance
fatherPbxObjectFather[0..1]Object father if instance is a subObject
[+] : JSON Example
OnPbxObjectInstanceDeleted
Notification sent when a PBX object instance is deleted Only Object Subscriber is concerned by this event
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxObjectInstanceDeleted'
objectNamestring[1]Object name
objectIdstring[1]Object instance Id
nodeIdstring[1]Node Id which houses object instance
fatherPbxObjectFather[0..1]Object father if instance is a subObject
[+] : JSON Example
OnPbxObjectInstanceModified
Notification sent when a PBX object instance is modified Only the instances of objects having a notification mechanism implemented in the PBX are concerned.
NameTypeCardinalityDescription
eventNamestring[1]The name of the event : 'OnPbxObjectInstanceModified'
objectNamestring[1]Object name
objectIdstring[1]Object instance Id
nodeIdstring[1]Node Id which houses object instance
fatherPbxObjectFather[0..1]Object father if instance is a subObject
[+] : JSON Example
Pbx
PBX data.
NameTypeCardinalityDescription
nodeIdint[0..1]Node of the PBX.
fqdnstring[0..1]FQDN of the PBX.
[+] : JSON Example
Associated method :
PbxAttribute
PBX attribute data
NameTypeCardinalityDescription
namestring[0..1]Name of property
valuestring[0..*]Value of property for simple strings
complexValuePbxComplexAttribute[0..*] Value of property for complex objects
[+] : JSON Example
PbxAttributes
NameTypeCardinalityDescription
attributesPbxAttribute[0..*]Attribute data list for PBX object
[+] : JSON Example
Associated methods :
PbxComplexAttribute
PBX attribute data
NameTypeCardinalityDescription
namestring[0..1]Name of object
attributesPbxAttribute[0..*]Value = set of attributes
[+] : JSON Example
PbxObject
PBX object data.
NameTypeCardinalityDescription
objectNamestring[0..1]Name of the object.
objectIdstring[0..1]Attribute value of the object used as Identifier.
attributesPbxAttribute[0..*]attributes list of the object.
objectNamesstring[0..*]List of the sub-object names
createboolean[0..1]Object can be created
deleteboolean[0..1]Object can be deleted
setboolean[0..1]Object can be updated
getboolean[0..1]Object can be read
otherActionsstring[0..*]Allowed actions
[+] : JSON Example
Associated methods :
PbxObjectFather
Represent father if instance is a sub object (ex: ACD2_Attaching_List) CRO2G-106: Extend eventing for PBX management
NameTypeCardinalityDescription
objectNamestring[1]Father object instance Id
objectIdstring[1]Father object instance Id
[+] : JSON Example
PbxObjectIds
PBX object identifier list (with optional attributes)
NameTypeCardinalityDescription
objectNamestring[0..1]Object Name
objectIdsstring[0..*]List of object Id
objectsPbxShortObject[0..*] Optional list of selected attributes for each object
[+] : JSON Example
Associated method :
Pbxs
list of PBX identifier
NameTypeCardinalityDescription
nodeIdsstring[0..*]List of nodeId.
[+] : JSON Example
Associated method :
PbxShortObject
PBX short object description.
NameTypeCardinalityDescription
objectIdstring[0..1]Attribute value of the object used as Identifier.
attributesPbxAttribute[0..*]attributes list of the object.
[+] : JSON Example
string
'string' represents character strings.

Analytics

Presentation

The aim of this feature is retrieve the analytics of the API usages, only for an administrator.


The analytics concern 2 parts:

  • the collect of the api services and license usages:
    • the services usages: each method usage is collected day per day
    • the licenses usage: the count of each different license type is measured periodically, each sample represents, per day, the total number a license type has been taken and released, the maximum licenses taken at a time (peak), the number of error and reject at take attempt
  • The analytics are refreshed with a frequency which could be changed (through web.xml parameter) and which default value is 15 minutes.

    The analytics are collected day per day and gathered in a file per month, with a maximum of 12 collected months.

    The analytics results can be asked in csv formatted file(default), in format xls file, or in json object.

  • the collect of the pbx incidents and charging information:
    • the service allows to retrieve the incidents messages of a specified pbx (since the last shutdown)
    • the service allows to retrieve the total charging information for each user for a specified pbx, from a begin date to a end date, sorted by cost, for the n max top charged users. It also allows to get the whole charging tickets, even those with zero cost.

    Resources summary

    ResourceMethodDescription
    /usages/chargingGETGet charging information of a specific PBX.
    /usages/charging/filesGETGet charging files list of a specific PBX.
    /usages/incidentsGETGet incidents of a specific PBX.
    /usages/licensesGETGet O2G license analytics file (Zip file) for all the available months.
    /usages/servicesGETGet O2G services analytics file (Zip file) for all the available months.

    Resources

    /usages/charging

    Methods
    GET/usages/charging
    Get charging information of a specific PBX.
    If "all" option is requested, all the tickets are returned, including the zero cost ticket, and with the called party.
    If "all" option is not requested, the total of charging info is returned for each user, the call number giving the number of calls with non null charging cost.
    !! This service requires the OXE connection to be in secure mode.
    In order to avoid a too long processing, 2 types of filter may be used:
    • either a filter by dates: from date and/or toDate. Example: fromDate=20180101 and toDate=20180110
    • either a filter by (comma separated) list of files. Example: file=TAXxxxx,TAXyyyy. The file name may be retrieved with the GET /charging/files method.
    !! The 2 criterias cannot be used together: if the filter by files is present, the other is ignored.
    In both cases, the number of result files to process MUST be limited to 100:
    in case the limit is exceeded, the request returns an error (time-out or 400) and must be retried with a more restrictive filter.
    The best manner for an application which wants to retrieve all the available charging information is:
    • in a first step, to get the whole charging file list with /GET charging/files methods
    • and in a second step, to iterate on this file list with /GET charging?nodeId=x&files=file_y method
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    nodeIdstringThis parameter is mandatory : it is the node number of the PBX.
    fromDatestringThis parameter is optional : allows to filter from a charging date (from=yyyymmdd)
    toDatestringThis parameter is optional : allows to filter to a charging date (to=yyyymmdd)
    filesstringThis parameter is optional : a comma separated list of OXE accounting files (file=/DHS3dyn/account/TAXAAAAA.DAT,/DHS3dyn/account/TAXAAAAB.DAT)
    topintThis parameter is optional : allows to get only the "top ten"
    allbooleanThis parameter is optional : if absent or false, a total charging per user is returned, if present and true all the tickets (including the 0 cost one) are returned.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Chargingsapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get all the total charging information per user for the node 7.

    [+] : Get the total charging information per user for the node 7 from beginning of January 2018

    [+] : Get the total charging information per user for the node 7 from beginning of January 2018 to 10th of January, getting only the 5 top results

    [+] : Get all the charging tickets for the node 7

    [+] : Get the charging tickets for the node 7, corresponding to the file given

    /usages/charging/files

    Methods
    GET/usages/charging/files
    Get charging files list of a specific PBX.
    This operation may be used previously to the GET /charging operation with file filter: it allows the application to automatically iterate on the file list in order to retrieve the whole or part of the accounting information.
    In order to process only one part of the tickets file based on their date, a from/to date filter may be used: Example: fromDate=20180101 and toDate=20180110
    The result returned a list of triplet name/date/date, which allows the application to filters on date/time.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    nodeIdstringThis parameter is mandatory : it is the node number of the PBX.
    fromDatestringThis parameter is optional : allows to filter from a charging file date (from=yyyymmdd)
    toDatestringThis parameter is optional : allows to filter to a charging file date (to=yyyymmdd)
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200ChargingFilesapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get all the total charging files for the node 7.

    [+] : Get the charging files for the node 7 from and to the selected dates

    /usages/incidents

    Methods
    GET/usages/incidents
    Get incidents of a specific PBX.
    !This service requires the OXE connection to be in secure mode.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    nodeIdstringThis parameter is mandatory : it is the node number of the PBX.
    lastint: This parameter is optional : if present and > 0 return the n last incidents.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Incidentsapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the incidents of the node 7.

    [+] : Get the 100 last incidents of the node 7.

    /usages/licenses

    Methods
    GET/usages/licenses
    Get O2G license analytics file (Zip file) for all the available months.
    (This method didn't concern the OXE)
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_ANALYTICS - true.
    Required in OPEX mode (LMS server) : No license required (free).
    Request
    query parameters
    parametertypedescription
    formatstringThis parameter is optional : if ?format=xls, the data are returned in xls format else by default in csv format
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    200application/octet-stream
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the license analytics

    /usages/services

    Methods
    GET/usages/services
    Get O2G services analytics file (Zip file) for all the available months.
    (This method didn't concern the OXE)
    Licenses
    Required in CAPEX mode (FlexLM server): No license required (free).
    Required in OPEX mode (LMS server): No license required (free).
    Request
    query parameters
    parametertypedescription
    formatstringThis parameter is optional : if ?format=xls, the data are returned in xls format else by default in csv format
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    200application/octet-stream
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the service analytics

    [+] : Get the service analytics in xls format

    Representations

    boolean
    'boolean' is a data type, having two values (true and false).
    CallType
    ValueDescription
    PublicNetworkCallPublic Network Call
    PublicNetworkCallThroughPrivateNetworkPublic Network Call Through Private Network
    PrivateNetworkCallPrivate Network Call
    LocalNetworkCallLocal Network Call
    PublicNetworkIncomingCallPublic Network Incoming Call
    PublicNetworkIncomingCallThroughPrivateNetworkPublic Network Incoming Call Through Private Network
    UnspecifiedUnspecified
    PrivateNetworkOutgoingCallToPublicNetworkPrivate Network Outgoing Call To Public Network
    PrivateNetworkOutgoingCallToPrivateNetworkPrivate Network Outgoing Call To Private Network
    PublicNetworkIncomingCallToPrivateNetworkPublic Network Incoming Call T oPrivate Network
    PrivateNetworkIncomingCallToPrivateNetworkPrivate Network Incoming Call To Private Network
    PublicOrPrivateNetworkOutgoingCallThroughPrivateNetworkPublic Or Private Network Outgoing Call Through Private Network
    PublicOrPrivateNetworkIncomingCallThroughPrivateNetworkPublic Or Private Network Incoming Call Through Private Network
    PrivateNetworkIncomingCallPrivate Network Incoming Call
    LocalNodeLocal Node
    LocalTransitLocal Transit
    Charging
    Describes the charging digest information
    NameTypeCardinalityDescription
    callerstring[1]caller phone number.
    namestring[0..1]caller name
    calledstring[0..1] called phone number, only in "all" option case
    initialDialledNumberstring[0..1] initial dialled number, only in "all" option case
    callNumberint[0..1]number of charged calls , only if "all" option has not been requested
    chargingUnitsint[0..1] call charging unit number("all") or total charging units of the charged calls
    costfloat[0..1] call charging cost ("all") or total charging cost of the charged calls
    startDatestring[0..1] start date, only in "all" option case
    durationint[0..1] call duration ("all") or total duration of the charged calls
    callTypeCallType[0..1]call type , only in "all" option case
    waitingDurationint[0..1] call waiting duration
    effectiveCallDurationint[0..1]effective call duration
    actingExtensionNumberNodeint[0..1]Acting extension number node
    internalFacilitiesTelFacilities[0..1] Internal telephony facility, only in "all" option case
    externalFacilitiesTelFacilities[0..1] External telephony facility, only in "all" option case
    [+] : JSON Example
    ChargingFile
    Charging file information.
    NameTypeCardinalityDescription
    namestring[1]name of the file
    datestring[1]date of the file in short format mm/dd/yy
    timestring[1]time of the file in format hh:mm:ss
    [+] : JSON Example
    ChargingFiles
    List of ChargingFile.
    NameTypeCardinalityDescription
    filesChargingFile[0..*]file list.
    [+] : JSON Example
    Associated method :
    Chargings
    Describes the list of charging information per user
    NameTypeCardinalityDescription
    chargingsCharging[1..*]Charging information list
    fromDatestring[0..1]date from asked in the filter (format = "yyyymmdd")
    toDatestring[0..1]date to asked in the filter (format = "yyyymmdd")
    nbChargingFilesint[0..1]number of analyzed files
    totalTicketNbint[0..1]total number of analyzed tickets
    valuableTicketNbint[0..1]number of computed tickets: if the response corresponds to the total charging per user, only the non zero cost tickets are counted.
    [+] : JSON Example
    Associated method :
    float
    'float' is 32-bit floating point type.
    Incident
    Describes an incident
    NameTypeCardinalityDescription
    datestring[1]Incident date.
    hourstring[1]Incident hour.
    severityint[1]Incident severity.
    valuestring[1]Incident value.
    typestring[1]Incident type.
    nbOccursint[1]Incident nb occurences.
    nodestring[1]Incident node number.
    mainboolean[1]Indicate if the incident occurred on the main CPU.
    rackstring[0..1]Indicate the rack where the incident occurred.
    boardstring[0..1]Indicate the board where the incident occurred.
    equipmentstring[0..1]Indicate the equipment where the incident occurred.
    terminationstring[0..1]Indicate the termination where the incident occurred.
    [+] : JSON Example
    Incidents
    Describes the list of incidents
    NameTypeCardinalityDescription
    incidentsIncident[1..*]Incidents list
    severity0int[1]Incident severity 0 number
    severity1int[1]Incident severity 1 number
    severity2int[1]Incident severity 2 number
    severity3int[1]Incident severity 3 number
    severity4int[1]Incident severity 4 number
    severity5int[1]Incident severity 5 number
    [+] : JSON Example
    Associated method :
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    string
    'string' represents character strings.
    TelFacilities
    NameTypeCardinalityDescription
    facilitiesTelFacility[0..*]Set of telephony facility
    [+] : JSON Example
    TelFacility
    Telephony facility enumerate
    ValueDescription
    CallingLineIdentificationPresentationCalling Line Identification Presentation
    ConnectedLineIdentificationPresentationConnected Line Identification Presentation
    CallingLineIdentificationRestrictionCalling Line Identification Restriction
    ConnectedLineIdentificationRestrictionConnected Line Identification Restriction
    MaliciousCallIdentificationMalicious CallIdentification
    CallForwardingUnconditionalCall Forwarding Unconditional
    CallForwardingOnBusyCall Forwarding On Busy
    CallForwardingOnNoReplyCall Forwarding On No Reply
    TransferTransfer
    AdviceOfChargeAtSetupAdvice Of Charge At Setup
    AdviceOfChargeDuringCallAdvice Of Charge During Call
    AdviceOfChargeAtEndAdvice Of Charge At End
    ClosedUserGroupClosed User Group
    CallWaitingCall Waiting
    UserToUserSignallingUser To User Signalling
    UserToUserFacilityUser To User Facility
    TerminalPortabilityTerminal Portability
    InterceptionTerminalPortability
    BookingBooking
    CampOnCampOn
    ConferenceConference
    MiniMessagingMiniMessaging
    SubaddressingSubaddressing
    BasicCallBasic Call
    OperatorFacilityOperator Facility
    SubstitutionSubstitution
    PriorityIncomingCallPriority Incoming Call
    TransitTransit
    PrivateOverflowToPublicPrivate Overflow To Public
    ReroutingPublicToPrivateRerouting Public To Private
    FaxServerFax Server
    VoiceMailVoice Mail
    CentralAbbreviatedNumberingCentral Abbreviated Numbering
    IndividualAbbreviatedNumberingIndividual Abbreviated Numbering
    IntegratedServiceVirtualPrivateNetworkIntegrated Service Virtual Private Network
    OverflowVirtualPrivateNetworkOverflow Virtual Private Network
    ARSServiceARS Service
    DISADISA
    None
  • Call Center Agent

    Presentation

    Terminology:


    ACD, CCD: Automatic Call Distribution, Call Center Distribution.

    ACD agent: ACD operator.

    ACD Supervisor: ACD operator with special prerogatives (supervision, help) of agents.

    proACD : device onto the agent logon.

    pilot : first step of the ACD distribution: an incoming call arrives on the pilot corresponding to the called number.

    waiting queue : second step of the ACD distribution: from the pilot, the call is then routed to the best waiting queue.

    processing group (PG) : third step of the ACD distribution: from the queue, the call is then directed to a processing group. The call is finally distributed to an agent

    The Contact Center service provides the capabilities for an ACD agent:

    • to ask for its agent config(type, pro-acd, processing groups, skills)
    • to activate or deactivate some skills among its skills
    • to log on an pro-acd set
    • to log off
    • to ask for the withdraw reasons relative to a PG
    • to request a withdraw
    • to enter in ready state
    • to request a wrapUp
    • to ask for agent state or to ask for a snapshot event on agent state
    • to request a pause
    • to request help from the supervisor
    • to cancel(Agent) or reject(Supervisor) help from the supervisor
    • (Supervisor only)to ask an intrusion into a agent call
    • (Supervisor only)to ask a permanent supervision of an agent

    Resources summary

    ResourceMethodDescription
    /acd/agent/configGETGet the ACD agent configuration(type, proacd, processing groups, headset).
    /acd/agent/config/skills/activatePOST Activate the ACD agent skills.
    /acd/agent/config/skills/deactivatePOST Deactivate the ACD agent skills.
    /acd/agent/enterPGPOSTEnter a Supervisor in a PG (2 step logon).
    /acd/agent/exitPGPOSTExit a Supervisor from a PG (2 step logoff).
    /acd/agent/intrusionPOSTAllow an ACD Supervisor agent to request an intrusion on an agent call, according to 3 modes(normal or restricted intrusion or just discrete listening).
    PUTAllow an ACD Supervisor agent to change the intrusion mode on the current agent call, according to 3 modes(normal or restricted intrusion or just discrete listening).
    /acd/agent/logoffPOSTLogOff an agent or a Supervisor (one step logoff).
    /acd/agent/logonPOSTLogOn an agent or a supervisor.
    /acd/agent/pausePOSTPut an ACD agent in Pause.
    /acd/agent/permanentListeningPOSTAllow an ACD Supervisor agent to request a permanent listening on an agent.
    DELETEAllow an ACD Supervisor agent to cancel the current permanent listening on an agent.
    /acd/agent/readyPOSTPut an agent in READY state.
    /acd/agent/stateGETGet the ACD agent state.
    /acd/agent/state/snapshotPOSTAsk a snapshot event on agent state.
    /acd/agent/supervisorHelpPOSTAllow an ACD agent to request the supervisor help.
    DELETEAllow an ACD agent to cancel or its supervisor to reject the request of supervisor help.
    /acd/agent/withdrawPOSTWithdraw an agent.
    /acd/agent/withdrawReasonsGETGet the PG withdraw reason list.
    /acd/agent/wrapUpPOSTPut an ACD agent in WrapUp.

    Notifications summary

    NotificationDescription
    OnAgentSkillChangedEvent sent when ACD agent skills is modified: one or several skills has been activate or deactivate
    OnAgentStateChangedEvent sent when ACD agent state is modified
    OnSupervisorHelpCancelledEvent sent after an ACD agent has requested the assistance of its supervisor and when the request is canceled by the agent or when the request is rejected by the supervisor.
    OnSupervisorHelpRequestedEvent sent when an ACD agent requests the assistance of its supervisor

    Resources

    /acd/agent/config

    Methods
    GET/acd/agent/config
    Get the ACD agent configuration(type, proacd, processing groups, headset).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200AgentConfigapplication/json
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the configuration of agent

    /acd/agent/config/skills/activate

    Methods
    POST/acd/agent/config/skills/activate
    Activate the ACD agent skills.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    AgentSkillActivationapplication/json
    AgentSkillActivation
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Activate the skills 100 and 44 of the agent

    Associated notifications

    /acd/agent/config/skills/deactivate

    Methods
    POST/acd/agent/config/skills/deactivate
    Deactivate the ACD agent skills.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    AgentSkillActivationapplication/json
    AgentSkillActivation
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Deactivate the skill 100 of the agent

    /acd/agent/enterPG

    Methods
    POST/acd/agent/enterPG
    Enter a Supervisor in a PG (2 step logon). The Supervisor must be already logged on
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PGRequestapplication/json
    PGRequest: Processing Group number to enter in
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Enter a Supervisor in PG 60121

    Associated notifications

    /acd/agent/exitPG

    Methods
    POST/acd/agent/exitPG
    Exit a Supervisor from a PG (2 step logoff).
    The Supervisor must be logged on in the PG
    NB: if the PG number is empty, the request is accepted too and is equivalent to a logoff.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PGRequestapplication/json
    PGRequest: Processing Group number to exit from
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Exit a Supervisor from PG 60121

    Associated notifications

    /acd/agent/intrusion

    Methods
    POST/acd/agent/intrusion
    Allow an ACD Supervisor agent to request an intrusion on an agent call, according to 3 modes(normal or restricted intrusion or just discrete listening).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    IntrusionRequestapplication/json
    IntrusionRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks a restricted intrusion on an agent call

    Associated notifications
    telephony, eventing
    PUT/acd/agent/intrusion
    Allow an ACD Supervisor agent to change the intrusion mode on the current agent call, according to 3 modes(normal or restricted intrusion or just discrete listening). It is also possible to use mode=STOP in order to stop the intrusion. The supervisor MUST be in intrusion on an agent call
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    ChangeIntrusionModeRequestapplication/json
    ChangeIntrusionModeRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks a restricted intrusion on an agent call

    Associated notifications
    telephony, eventing

    /acd/agent/logoff

    Methods
    POST/acd/agent/logoff
    LogOff an agent or a Supervisor (one step logoff).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Log-off the agent

    Associated notifications

    /acd/agent/logon

    Methods
    POST/acd/agent/logon
    LogOn an agent or a supervisor. For a Supervisor, if the PG is absent, the supervisor is logged on out off group (2 step logon).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    LoggOnAgentRequestapplication/json
    LoggOnAgentRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Log-on the agent onto the pro-acd phone device "xxxx" and in the processing group "60121"

    [+] : Log-on the agent onto the pro-acd phone device "xxxx" (the pg group is not given in this case)

    Associated notifications

    /acd/agent/pause

    Methods
    POST/acd/agent/pause
    Put an ACD agent in Pause.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Put the agent in pause

    Associated notifications

    /acd/agent/permanentListening

    Methods
    POST/acd/agent/permanentListening
    Allow an ACD Supervisor agent to request a permanent listening on an agent.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PermanentListeningRequestapplication/json
    PermanentListeningRequest
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks a permanent listening on the agent 123

    Associated notifications
    DELETE/acd/agent/permanentListening
    Allow an ACD Supervisor agent to cancel the current permanent listening on an agent.
    History
    Since version 2.7.3
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the supervisor asks to cancel the permanent listening in progress

    Associated notifications

    /acd/agent/ready

    Methods
    POST/acd/agent/ready
    Put an agent in READY state.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Put the agent in READY state

    Associated notifications

    /acd/agent/state

    Methods
    GET/acd/agent/state
    Get the ACD agent state.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200AgentStateapplication/json
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the agent state of an agent loged in idle state

    [+] : Get the agent state of an agent loged off

    /acd/agent/state/snapshot

    Methods
    POST/acd/agent/state/snapshot
    Ask a snapshot event on agent state. This request has result to send an OnAgentStateChanged event on the concerned agent. If this request is made by an administrator and no loginName is provided, the snapshot is asked for all the agents. If a second request is asked since the previous one is still in progress, it has no effect. CAUTION!: this request is immediately acknowledged but the processing may take a long time if the number of users is huge.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked. This parameter is ignored if the Session identifier matches a user account.
    For an administrator session, the loginName must either correspond to an existing user or be null: in this last case, the snapshot event request is done for all the agents.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Associated notifications

    /acd/agent/supervisorHelp

    Methods
    POST/acd/agent/supervisorHelp
    Allow an ACD agent to request the supervisor help.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : the agent asks its supervisor help

    Associated notifications
    DELETE/acd/agent/supervisorHelp
    Allow an ACD agent to cancel or its supervisor to reject the request of supervisor help.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    otherstring
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Cancel Supervisor help by the Agent (supervisor = 1000)

    [+] : Reject Supervisor help by the supervisor (agent = 1001)

    Associated notifications

    /acd/agent/withdraw

    Methods
    POST/acd/agent/withdraw
    Withdraw an agent.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    WithdrawAgentRequestapplication/json
    Reason of the withdraw
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Withdraw the agent with the reason nbr 1

    Associated notifications

    /acd/agent/withdrawReasons

    Methods
    GET/acd/agent/withdrawReasons
    Get the PG withdraw reason list.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    pgNumberstringthe processing group number for which the reasons are asked
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200WithdrawReasonsapplication/json
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the withdraw reasons of agent for the processingGroup xxx

    /acd/agent/wrapUp

    Methods
    POST/acd/agent/wrapUp
    Put an ACD agent in WrapUp.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_AGENT - one license per user.
    Required in OPEX mode (LMS server): api-tel-f - one license per user.
    Request
    query parameters
    parametertypedescription
    loginNamestringLogin name of the user for whom the request is invoked.
    This parameter is ignored if the Session identifier matches a user account, but if it matches an administrator account, it MUST be specified.
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : WrapUp normal of the agent

    Associated notifications

    Representations

    AgentConfig
    Agent configuration parameters.
    NameTypeCardinalityDescription
    typeAgentType[1]agent/supervisor.
    proacdstring[0..1]associated proacd if the agent is fixed.
    processingGroupsProcessingGroups[0..1]processing groups of the agent
    skillsAgentSkills[0..1]agent skills
    selfAssignboolean[0..1]is the operator allowed to choose his PG
    headsetboolean[0..1]has the agent a headset
    helpboolean[0..1]Has the supervisor a help capability
    multilineboolean[0..1]is multiline : true if at least one multiline programmable key is declared on the set
    [+] : JSON Example
    Associated method :
    AgentMainState
    Main agent state (loggedOn/loggedOff)
    ValueDescription
    UNKNOWNthe state of the agent is unknown
    LOG_ONThe agent is logged on a pro-acd device
    LOG_OFFThe agent is not logged
    ERRORError status
    AgentSkill
    ACD Agent Skill.
    NameTypeCardinalityDescription
    numberint[0..1]skill number.
    levelint[0..1]skill level.
    activeboolean[0..1]is the skill active.
    [+] : JSON Example
    AgentSkillActivation
    List of skills to activate or deactivate.
    NameTypeCardinalityDescription
    skillsint[0..*]skill number list.
    [+] : JSON Example
    Associated methods :
    AgentSkills
    List of skills of an agent.
    NameTypeCardinalityDescription
    skillsAgentSkill[0..*]skill list.
    [+] : JSON Example
    AgentState
    Agent State.
    NameTypeCardinalityDescription
    mainStateAgentMainState[1]Main state of the agent (logged on or logged off).
    subStateAgentSubState[0..1]Sub state of the agent when it is logged.
    proAcdDeviceNumberstring[0..1]Pro-acd Device phone number on which the operation is invoked.
    pgNumberstring[0..1]Processing group number.
    withdrawReasonint[0..1]The withdraw reason number in case of state withdraw. The list of withdraw reasons corresponding to the processing group should have been retrieved through a GET .../agent/withdrawReasons
    withdrawnboolean[0..1]The withdrawn Boolean is present and true if the agent initial state is withdrawn
    [+] : JSON Example
    Associated method :
    AgentSubState
    Agent state when logged on
    ValueDescription
    READYThe agent is ready
    OUT_OF_PGThe agent is logged on, but outside its pre-affected processing group
    BUSYThe agent is busy
    TRANSACTION_CODE_INPUTThe agent is in transaction code input step
    WRAPUPThe agent is in wrap up
    PAUSEThe agent is in pause
    WITHDRAWThe agent is in withdraw
    WRAPUP_IMThe agent is in wrap up IM
    WRAPUP_EMAILThe agent is in wrap up email
    WRAPUP_EMAIL_INTERRUPTIBLEThe agent is in wrap up email interruptible
    WRAPUP_OUTBOUNDThe agent is in wrap up outbound
    WRAPUP_CALLBACKThe agent is in wrap up Callback
    AgentType
    Type of agent (simple agent/supervisor)
    ValueDescription
    AGENTsimple agent
    SUPERVISORThe agent is a SUPERVISOR
    boolean
    'boolean' is a data type, having two values (true and false).
    ChangeIntrusionModeRequest
    Request of an ACD Supervisor to change or cancel the intrusion mode into the current acd agent call. The intrusion change result depends on the old and the new mode:

    from: the previous mode

    to : the new set mode

    from:Normal from:Restricted from:Discrete
    To:Normal the supervisor drops himself from the call the mode is changed to normal the mode is changed to normal
    To:Restricted the mode is changed to restricted the supervisor drops himself from the call the mode is changed to restricted
    To:Discrete the mode is changed to discrete the mode is changed to discrete the supervisor drops himself from the call
    NameTypeCardinalityDescription
    modeIntrusionMode[1]mode of the operation normal intrusion / restricted intrusion / discrete listening
    [+] : JSON Example
    Associated method :
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    IntrusionMode
    3 types of call agent intrusion by the supervisor
    ValueDescription
    NORMALThe supervisor can talk to both the agent and the remote client
    RESTRICTEDThe supervisor can only talk to the agent but listen to the remote client
    DISCRETEThe supervisor only listens to the conversation between agent and client
    STOP

    Since version 2.7.3

    The supervisor stops the intrusion
    IntrusionRequest
    Request of an ACD Supervisor to intrude into the current acd agent call. The intrusion request is done according to 3 possible modes: - normal intrusion - restricted intrusion - discrete listening. The intrusion is applied on the current active call of the agent. To change the intrusion from one mode to another, use the changeIntrusionMode operation
    NameTypeCardinalityDescription
    agentNumberstring[1]Agent phone number on which the operation is invoked.
    modeIntrusionMode[0..1]mode of the operation: (default is normal) normal intrusion / restricted intrusion / discrete listening
    [+] : JSON Example
    Associated method :
    LoggOnAgentRequest
    Request to log on an acd agent or to enter a supervisor in a Processing Group.
    NameTypeCardinalityDescription
    proAcdDeviceNumberstring[1]Pro-acd Device phone number on which the operation is invoked. For a non logg agent (or supervisor), the device MUST be the physical device number wher the agent log on. If the request concerns an already logged on supervisor (out of GT) which wants to enter the group, the pro-acd device number MUST be the supervisor number itself.
    pgGroupNumberstring[0..1]Processing group number. Optional: pg number may be omitted (depends on the configuration)
    headsetboolean[0..1]Headset mode. Optional: allow the operator to select the headset mode
    [+] : JSON Example
    Associated method :
    OnAgentSkillChanged
    Event sent when ACD agent skills is modified: one or several skills has been activate or deactivate
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnAgentSkillChanged'
    loginNamestring[1]Login name of the user receiving the event.
    skillsAgentSkills[1]set of skills of the agent (the event contains the whole set).
    [+] : JSON Example
    Associated method :
    OnAgentStateChanged
    Event sent when ACD agent state is modified
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnAgentStateChanged'
    loginNamestring[1]Login name of the user receiving the event.
    stateAgentState[1]ACD state.
    [+] : JSON Example
    Associated methods :
    OnSupervisorHelpCancelled
    Event sent after an ACD agent has requested the assistance of its supervisor and when the request is canceled by the agent or when the request is rejected by the supervisor.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnSupervisorHelpCancelled'
    loginNamestring[1]Login name of the user receiving the event.
    agentNumberstring[0..1]on the agent, the number of the supervisor which the help has been initially requested.
    [+] : JSON Example
    Associated method :
    OnSupervisorHelpRequested
    Event sent when an ACD agent requests the assistance of its supervisor
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnSupervisorHelpRequested'
    loginNamestring[1]Login name of the user receiving the event.
    agentNumberstring[0..1]on the agent, the number of the supervisor which the help has been requested.
    [+] : JSON Example
    Associated methods :
    PermanentListeningRequest
    Request to logg on an acd agent.
    NameTypeCardinalityDescription
    agentNumberstring[1]Agent phone number on which the operation is invoked.
    [+] : JSON Example
    Associated method :
    PGRequest
    Parameter used to enter/exit in/out a Processing Group.
    NameTypeCardinalityDescription
    pgGroupNumberstring[0..1]Processing group number. Optional: pg number may be omitted (depends on the configuration)
    [+] : JSON Example
    Associated methods :
    ProcessingGroups
    List of Processing groups number attached to an agent.
    NameTypeCardinalityDescription
    preferredstring[0..1]preferred processing group number.
    groupsstring[0..*]processing group number list.
    [+] : JSON Example
    string
    'string' represents character strings.
    WithdrawAgentRequest
    Request to withdraw an acd agent.
    NameTypeCardinalityDescription
    reasonIndexint[0..1]index of the reason why the withdraw operation is invoked. The index must correspond to one of the permitted values for the agent in the group
    [+] : JSON Example
    Associated method :
    WithdrawReason
    ACD withdraw reason definition.
    NameTypeCardinalityDescription
    indexint[1]reason index from 1 to N, maximum of N is 9.
    labelstring[0..1]label of the reason.
    [+] : JSON Example
    WithdrawReasons
    List of ACD withdraw reasons of an agent in a group.
    NameTypeCardinalityDescription
    numberint[1]Number of withdraw reasons for this agent, from 0 to 9.
    reasonsWithdrawReason[0..*]reason list. each reason is indexed from 1 to number
    [+] : JSON Example
    Associated method :

    Call Center Management

    Presentation

    This service allows an administrator session to manage CCD pilot objects.
    NB1: The pbx nodeIds which are required in this service must be first retrieved through a GET ../pbxs request.
    NB2: To enable this service, the "Specific Call Center features" MUST have been activated by configuration

    History

    Since version 2.7

    Resources summary

    ResourceMethodDescription
    /acd/{nodeId}/pilotsGETGet the pilot for the current PBX
    To be able to invoke the others methods.
    /acd/{nodeId}/pilots/{pilotNumber}GETGet information of a pilot
    POSTGet information of a pilot with advanced parameters
    /acd/{nodeId}/pilots/{pilotNumber}/calendarGETGet the whole calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exceptionGETGet the exception calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitionsPOSTAdd a transition in the exception calendar of a pilot
    If the date already exists in the calendar, a new transition is added for this date.
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}PUTModify an existing transition in the exception calendar of a pilot
    DELETERemove an existing transition in the exception calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normalGETGet the normal calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitionsPOSTAdd a transition in the normal calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}PUTModify an existing transition in the normal calendar of a pilot
    DELETERemove an existing transition in the normal calendar of a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/closePOSTClose a pilot
    /acd/{nodeId}/pilots/{pilotNumber}/openPOSTOpen a pilot

    Resources

    /acd/{nodeId}/pilots

    Methods
    GET/acd/{nodeId}/pilots
    Get the pilot for the current PBX
    To be able to invoke the others methods.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Pilotsapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the pilots of the node 1.

    /acd/{nodeId}/pilots/{pilotNumber}

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}
    Get information of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Pilotapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the information for pilot 60141 in node 1.

    POST/acd/{nodeId}/pilots/{pilotNumber}
    Get information of a pilot with advanced parameters
    History
    Since version 2.7.4
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotQueryParamused to specify the parameter context(skills, ...).
    Response
    codetypemedia typesdescription
    200Pilotapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the information for pilot 60141 in node 1 for the skill No 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}/calendar
    Get the whole calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200PilotCalendarapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : get pilot 60141 calendar in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception
    Get the exception calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200ExceptionCalendarapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : get pilot 60141 exception calendar in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions
    Add a transition in the exception calendar of a pilot
    If the date already exists in the calendar, a new transition is added for this date.
    If the date doesn't exist in the calendar, a first transition is created for this date.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    datestringthe day in the year (yyyymmdd)
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : add pilot 60141 exception calendar transition on 2021, first of June.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}

    Methods
    PUT/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}
    Modify an existing transition in the exception calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    datestringthe day in the year (yyyymmdd)
    transitionNbrintthe transition number to modify
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : modify pilot 60141 exception calendar transition 2 on on 2021, first of June.

    DELETE/acd/{nodeId}/pilots/{pilotNumber}/calendar/exception/{date}/transitions/{transitionNbr}
    Remove an existing transition in the exception calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    datestringthe day in the year (yyyymmdd)
    transitionNbrintthe transition number to remove
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : remove pilot 60141 exception calendar transition 2 on 2021, first of June.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal

    Methods
    GET/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal
    Get the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200NormalCalendarapplication/json
    OK
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : get pilot 60104 normal calendar in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions
    Add a transition in the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    dayOfWeekstringthe day in the week (monday/tuesday/...)
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : add pilot 60141 normal calendar transition on tuesday.

    /acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}

    Methods
    PUT/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}
    Modify an existing transition in the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    dayOfWeekstringthe day in the week (monday/tuesday/...)
    transitionNbrintthe transition number: 1, 2,...
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    PilotTransitionPilotTransition the new transition attributes
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : modify pilot 60141 normal calendar transition 1 on tuesday.

    DELETE/acd/{nodeId}/pilots/{pilotNumber}/calendar/normal/{dayOfWeek}/transitions/{transitionNbr}
    Remove an existing transition in the normal calendar of a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    dayOfWeekstringthe day in the week (monday/tuesday/...)
    transitionNbrintthe transition number to remove
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : remove pilot 60141 normal calendar transition 2 on tuesday.

    /acd/{nodeId}/pilots/{pilotNumber}/close

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/close
    Close a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : close pilot 60104 in node 1.

    /acd/{nodeId}/pilots/{pilotNumber}/open

    Methods
    POST/acd/{nodeId}/pilots/{pilotNumber}/open
    Open a pilot
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : open pilot 60104 in node 1.

    Representations

    ACRSkill
    Describes an ACR skill.
    NameTypeCardinalityDescription
    skillNumberint[0..1]skill number
    acrStatusboolean[0..1]skill activation status
    expertEvalLevelint[0..1]expert evaluation level
    [+] : JSON Example
    ACRSkills
    List of ACR skills.
    NameTypeCardinalityDescription
    skillsACRSkill[0..*]skill list.
    [+] : JSON Example
    boolean
    'boolean' is a data type, having two values (true and false).
    DayOfWeek
    Different days of week in transition.
    ValueDescription
    monday
    tuesday
    wednesday
    thursday
    friday
    saturday
    sunday
    ExceptionCalendar
    Pilot calendar transitions for Exception days.
    NameTypeCardinalityDescription
    calendarExceptionTransitions[0..*]the map of exception transitions per day. Day format must be 'yyyymmdd'
    [+] : JSON Example
    Associated method :
    ExceptionTransitions
    List of pilot transitions in a day.
    NameTypeCardinalityDescription
    datestring[1]the date: format must be 'yyyymmdd'
    listPilotTransitions[0..*]the existing pilot transitions (max 10) for a day
    [+] : JSON Example
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    NormalCalendar
    Pilot calendar transitions for normal days.
    NameTypeCardinalityDescription
    calendarNormalTransitions[0..*]the map of normal transitions per day
    [+] : JSON Example
    Associated method :
    NormalTransitions
    List of pilot transitions in a day.
    NameTypeCardinalityDescription
    dayDayOfWeek[1]the day of week
    listPilotTransitions[0..*]the existing pilot transitions (max 10) for a day
    [+] : JSON Example
    Pilot
    Pilot information.
    NameTypeCardinalityDescription
    numberstring[0..1]the number of the pilot
    namestring[0..1]the name of the pilot
    stateServiceState[0..1]the pilot state
    detailedStatePilotStatus[0..1]the pilot detailed state
    waitingTimeint[0..1]the expected waiting time if a call is transferred on this pilot
    saturationboolean[0..1]the queue saturation indication if a call is transferred on this pilot
    rulesPilotRules[0..1]the rules of the pilot
    possibleTransferboolean[0..1]the transfer is possible
    supervisedTransferboolean[0..1]the transfer will be supervised
    [+] : JSON Example
    Associated methods :
    PilotCalendar
    Pilot calendar transition.
    NameTypeCardinalityDescription
    normalDaysNormalCalendar[0..1]the normal calendar (day of week)
    exceptionDaysExceptionCalendar[0..1]the exception calendar (day of year)
    [+] : JSON Example
    Associated method :
    PilotOperatingMode
    Different operating mode of a pilot in a transition.
    ValueDescription
    normalNormal
    closedClosed
    forwardForward
    PilotQueryParam
    Describes parameters related to a pilot information request. it allows the retrieval of CCD distribution information according to the call profile.
    NameTypeCardinalityDescription
    agentNumberstring[0..1]agent number call profile. Optional
    skillsACRSkills[0..1]Skills associated to the call profile. Optional
    priorityTransferboolean[0..1]In case the transfer will a be priority one. Optional
    supervisedTransferboolean[0..1]In case the transfer will be supervised. Optional
    [+] : JSON Example
    Associated methods :
    PilotRule
    Pilot Rule
    NameTypeCardinalityDescription
    ruleNumberstring[1]the number of rule
    namestring[0..1]the name of rule
    activeboolean[1]True is it is the current rule else False
    [+] : JSON Example
    PilotRules
    List of rule of a pilot
    NameTypeCardinalityDescription
    ruleListPilotRule[0..*]the rules of the pilot
    [+] : JSON Example
    Pilots
    List of pilots in the current pbx.
    NameTypeCardinalityDescription
    pilotListPilot[0..*]the existing pilot list in the pbx node, may be null if none
    [+] : JSON Example
    Associated method :
    PilotStatus
    Lists the different ACD pilot status.
    ValueDescription
    OPEN
    BLOCKED
    BLOCKED_ON_RULE
    BLOCKED_ON_BLOCKED_RULE
    GENERAL_FORWARDING
    GENERAL_FORWARDING_ON_RULE
    BLOCKED_ON_GENERAL_FORWARDING_RULE
    OTHER
    PilotTransition
    Pilot calendar transition.
    NameTypeCardinalityDescription
    timestring[1]the transition begin time in mandatory format "hh:mm"
    ruleNumberint[1]the rule number: between 0 and 29
    modePilotOperatingMode[1]the operating mode
    [+] : JSON Example
    Associated methods :
    PilotTransitions
    Pilot calendar transitions.
    NameTypeCardinalityDescription
    numberint[1]the transition number in [1,10]
    transitionPilotTransition[1]the transition
    [+] : JSON Example
    ServiceState
    State of service of a pilot/queue
    ValueDescription
    ClosedService is closed
    OpenedService is opened
    BlockedService is blocked
    unknownunknown state
    string
    'string' represents character strings.

    Call Center Pilot

    Presentation

    This service allows an administrator to monitor the CCD pilots.

    History

    Since version 2.7

    Resources summary

    ResourceMethodDescription
    /acd/pilotmonitoring/{nodeId}/{pilotNumber}POSTStart the monitoring of a pilot giving the pbx node (deprecated)
    If the pilot is already monitored, no error is returned.
    DELETEStop the monitoring of a pilot giving the pbx node (deprecated)
    If another session still alive has asked the monitoring of the pilot, the monitoring is not stopped, no error is returned.
    /acd/pilotmonitoring/{pilotNumber}POSTStart the monitoring of a pilot
    If the pilot is already monitored, no error is returned.
    DELETEStop the monitoring of a pilot
    If another session still alive has asked the monitoring of the pilot, the monitoring is not stopped, no error is returned.

    Notifications summary

    NotificationDescription
    OnPilotCallCreatedThis event indicates that a new call arrives on a pilot.
    OnPilotCallQueuedThis event indicates that the call has been queued.
    OnPilotCallRemovedThis event indicates that the call has been removed from the pilot: cause distribution, cancel or overflow.

    Resources

    /acd/pilotmonitoring/{nodeId}/{pilotNumber}

    Methods
    POST/acd/pilotmonitoring/{nodeId}/{pilotNumber}
    Start the monitoring of a pilot giving the pbx node (deprecated)
    If the pilot is already monitored, no error is returned.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : start monitoring pilot 60141 in node 1.

    Associated notifications
    DELETE/acd/pilotmonitoring/{nodeId}/{pilotNumber}
    Stop the monitoring of a pilot giving the pbx node (deprecated)
    If another session still alive has asked the monitoring of the pilot, the monitoring is not stopped, no error is returned.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    nodeIdintthe pbx node number
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : stop monitoring pilot 60141 in node 1.

    /acd/pilotmonitoring/{pilotNumber}

    Methods
    POST/acd/pilotmonitoring/{pilotNumber}
    Start the monitoring of a pilot
    If the pilot is already monitored, no error is returned.
    History
    Since version 2.7.2
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : start monitoring pilot 60141.

    Associated notifications
    DELETE/acd/pilotmonitoring/{pilotNumber}
    Stop the monitoring of a pilot
    If another session still alive has asked the monitoring of the pilot, the monitoring is not stopped, no error is returned.
    History
    Since version 2.7.2
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    pilotNumberstringthe pilot number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : stop monitoring pilot 60141.

    Representations

    boolean
    'boolean' is a data type, having two values (true and false).
    CallCause
    Lists the different call causes.
    ValueDescription
    ABANDONEDCaller in a two-party call has disconnected before the call was answered.
    ALL_TRUNK_BUSYThe call is receiving the network congestion tone.
    BUSYThe call is receiving the busy tone.
    CLEAREDOne party in a two-party call has disconnected after the call was answered.
    PARTICIPANT_LEFTOne party has left the conference call.
    CONFERENCEDThis is a multi-party call.
    INVALID_NUMBERThe call is receiving the invalid number tone.
    DESTINATION_NOT_OBTAINABLEThe destination cannot be reached.
    DO_NOT_DISTURBThe device is in DND.
    FORWARDEDThe call has been forwarded.
    NOT_ANSWEREDThe call has been hanged up before answer.
    PICKED_UPThe call has been picked up.
    PARKED The call has been parked.
    REDIRECTEDThe call has been redirected.
    OVERFLOWNThe call goes on overflow destination.
    TRANSFERREDThis is a transferred call.
    CAMP_ONThe call has been put in wait.
    UNKNOWNUnknown cause.
    PICKED_UP_TANDEMPicked up tandem.
    CALL_BACKThe call is a call back.
    RECALLThe call is recall (e.g. on HELD call indicates that device rings back).
    DISTRIBUTED CCD context: call distribution
    ACD_ENTER_DISTRIBUTION CCD context: call enters in distribution
    RESOURCES_NOT_AVAILABLE CCD context: pilot is not open
    SUPERVISOR_LISTENING CCD context: supervisor is listening the agent conversation
    SUPERVISOR_INTRUSION CCD context: supervisor is fully intruded in the agent conversation
    SUPERVISOR_RESTRICT_INTRUSION CCD context: supervisor can speak to the agent
    NO_AVAILABLE_AGENT CCD context: No available agent
    LOCKOUT Physical phone set device is off the hook
    CallDataPilot
    Describes data associated to a pilot call.
    NameTypeCardinalityDescription
    initialCalledstring[0..1]Initial user called for this call.
    anonymousboolean[0..1]If true it's a anonymous call.
    associatedDatastring[0..1]Associated data (or Correlator data).
    hexaBinaryAssociatedDatastring[0..1]Hexa binary array format for Associated data (or Correlator data).
    trunkIdentificationTrunkIdentification[0..1]TrunkIdentification if external call
    networkReroutedboolean[0..1]if the call has been rerouted in the network (absent if not)
    [+] : JSON Example
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    OnPilotCallCreated
    This event indicates that a new call arrives on a pilot.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotCallCreated'
    pilotstring[1]Pilot number.
    callerstring[1]Caller number.
    callRefstring[1]Call reference (global call reference).
    causeCallCause[1]Call origine cause.
    callDataCallDataPilot[0..1]

    Since version 2.7.2

    Call data.
    [+] : JSON Example
    Associated methods :
    OnPilotCallQueued
    This event indicates that the call has been queued.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotCallQueued'
    pilotstring[1]Pilot number.
    callerstring[1]Caller number.
    queuestring[0..1]Queue number (if distribution) or identifier (if overflow).
    callRefstring[1]Call reference (global call reference).
    causeCallCause[1]Call queuing cause.
    numberOfQueuedint[0..1]number of queued calls in the pilot queue.
    [+] : JSON Example
    Associated methods :
    OnPilotCallRemoved
    This event indicates that the call has been removed from the pilot: cause distribution, cancel or overflow.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotCallRemoved'
    pilotstring[1]Pilot number.
    releasingDevicestring[1]releasingDevice number.
    newDestinationstring[1]new Destination number.
    callRefstring[1]Call reference (global call reference).
    causeCallCause[1]Call releasing cause.
    [+] : JSON Example
    Associated methods :
    string
    'string' represents character strings.
    TrunkIdentification
    For external call, provide information on network timeslot and trunk eqt number
    NameTypeCardinalityDescription
    networkTimeslotint[0..1]the network time slot.
    trunkNeqtint[0..*]trunk equipment number (Could be 2 nbrs in case of conference with 2 different external trunks.
    [+] : JSON Example

    Call Center Real Time

    Presentation

    This service allows to retrieve real time information related to ACD objects from an OXE in the form of events
    Only for an administrator.
    The different ACD objects concerned are:

    • the ACD agents
    • the ACD pilots
    • the ACD waiting queues
    • the ACD Processing groups which are associated to agents
    • the ACD Processing groups which are not associated to agents(forward, guide,...)
    To use this service, the typical sequential of operation are:
    1. create an administrator session
    2. make a subscription to "rti" event package using "*" as selector identifiers.
    3. start the RTI monitoring by creating a RTI context which defines filter on the the ACD objects the application wants to observe.
    4. ask for a snapshot in order to initialize the application with the current value of all of the attributes for all objects.
    From this moment, the application is notified with the different types of events, each time one or several attributes are changed. The events contain the attributes that have changed since the previous notification, and only them.

    NB: To enable this service, "Specific Call Center features" MUST have been activated by configuration

    History

    Since version 2.7.4

    Resources summary

    ResourceMethodDescription
    /acd/rtiGETRetrieve all RTI identifiers for agents,pilots,queues,PGs Agent and PGs Other
    /acd/rti/agentsGETRetrieve all RTI identifiers for agents
    /acd/rti/ctxPOSTCreate/modify and/or activate RTI context to receive real time notifications according to a filter.
    PUTModify RTI context associated to administrator.
    GETRetrieve current RTI context associated to administrator(if created).
    DELETERemove current RTI session context to stop to receive real time notifications.
    /acd/rti/pgAgentsGETRetrieve all RTI identifiers for PGs Agent
    /acd/rti/pgOthersGETRetrieve all RTI identifiers for PGs Other
    /acd/rti/pilotsGETRetrieve all RTI identifiers for pilots
    /acd/rti/queuesGETRetrieve all RTI identifiers for queues
    /acd/rti/snapshotPOSTSnapshot : Request to generate and emit all real time events.

    Notifications summary

    NotificationDescription
    OnAgentRtiChangedNotification sent each time if one or more attributes of an agent change.
    OnPGAgentRtiChangedNotification sent each time if one or more attributes of agent processing group change.
    OnPGOtherRtiChangedNotification sent each time if one or more attributes of a PG not associated to an agent change.
    OnPilotRtiChangedNotification sent each time if one or more attributes of a pilot change.
    OnQueueRtiChangedNotification sent each time if one or more attributes of a queue change.

    Resources

    /acd/rti

    Methods
    GET/acd/rti
    Retrieve all RTI identifiers for agents,pilots,queues,PGs Agent and PGs Other
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiIdentifiersapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/agents

    Methods
    GET/acd/rti/agents
    Retrieve all RTI identifiers for agents
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiIdentifiersapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/ctx

    Methods
    POST/acd/rti/ctx
    Create/modify and/or activate RTI context to receive real time notifications according to a filter.
    Only one context can be associated to an administrator
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    RtiContextapplication/json
    optional: if present create/update the list of objects to receive and the associated filters else search and activate the current context for administrator
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Start Rti for agents/pilots/queues/PG Agent

    Associated notifications
    OnRtiPilotChanged, OnRtiFilterChanged, OnRtiWaitingQueue , OnRtiProcessingGroupAgentChanged , OnRtiProcessingGroupOtherChanged, OnRtiAgentChanged
    PUT/acd/rti/ctx
    Modify RTI context associated to administrator.
    The context is updated for current session and future sessions (not for other already opened sessions)
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    RtiContextapplication/json
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Start Rti for agents/pilots/queues/pg Agent

    GET/acd/rti/ctx
    Retrieve current RTI context associated to administrator(if created).
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    query parameters
    parametertypedescription
    extendedbooleanThis parameter is optional : if absent or false, context is returned in compact mode , if present and true context is returned in extended mode (special characters like * or ALL are replaced with actual values).
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiContextapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get compact context.

    [+] : Get extended context.

    DELETE/acd/rti/ctx
    Remove current RTI session context to stop to receive real time notifications.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/pgAgents

    Methods
    GET/acd/rti/pgAgents
    Retrieve all RTI identifiers for PGs Agent
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiIdentifiersapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/pgOthers

    Methods
    GET/acd/rti/pgOthers
    Retrieve all RTI identifiers for PGs Other
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiIdentifiersapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/pilots

    Methods
    GET/acd/rti/pilots
    Retrieve all RTI identifiers for pilots
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiIdentifiersapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/queues

    Methods
    GET/acd/rti/queues
    Retrieve all RTI identifiers for queues
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200RtiIdentifiersapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/rti/snapshot

    Methods
    POST/acd/rti/snapshot
    Snapshot : Request to generate and emit all real time events.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Associated notifications
    OnRtiPilotChanged, OnRtiFilterChanged, OnRtiWaitingQueue , OnRtiProcessingGroupAgentChanged , OnRtiProcessingGroupOtherChanged, OnRtiAgentChanged

    Representations

    AgentAttribute
    Attributes of an Agent that may be filtered in the API: To get all the attributes, simply set "ALL" as attribute list.
    ValueDescription
    AssociatedSetAssociated Set (pro acd)
    CurrentPGcurrent processing group
    PhoneStatephone state (ringing, talking, ...)
    LogonDateUTC logon date (or "NS" if not logged)
    PrivateCallsTotalDurationDuration of all private calls (in sec)
    ComDateUTC date of entering communication (or "NS" if not in communication)
    NBOfPrivateCallsNumber of private calls
    NbOfServedACDCallsNumber of answered ACD calls
    NbOfRefusedACDCallsNumber of non answered ACD calls
    NbOfTransferedACDCallsNumber of transferred ACD calls
    NbOfOutgoingACDCallsNumber of outgoing ACD calls
    NbOfInterceptedACDCallsNumber of picked up ACD calls
    ServiceStateAgent service state (loggedIn, assigned, ...)
    NbOfWithdrawalsNumber of withdrawals
    WithdrawalsTotalDurationTotal duration of withdrawal
    WithdrawReasonLast withdrawal reason
    PilotNamePilot name
    QueueNameQueue name
    ALLused to specify all wanted attributes
    AgentType
    Types of an agent.
    ValueDescription
    NormalNormal
    IVRagent of type IVR
    boolean
    'boolean' is a data type, having two values (true and false).
    dateTime
    'dateTime' is an UTC datetime whose format (ISO 8601 compatible) is yyyy-MM-ddTHH:mm:ss.SSSZ (example: 2013-05-16T18:17:15.489Z).
    E_AgentPhoneState
    Lists the different state of an agent.
    ValueDescription
    IdleIdle
    LineLockoutOnly for analog device (device is hang off)
    OutOfOrderOut of service
    AcdRingingRinging
    AcdConversationCall in progress
    AcdConsultationIn call or on hold, establishing another connection (double call) in progress
    HelpRequest for help
    AcdConferenceIn conference
    TransactionOnDialDialing his transaction code
    PauseIn pause
    WrapUpIn wrap-up
    SupervisorDiscreteListeningOnly for supervisor : discreet listening
    AgentDiscreteListeningAgent "victim" of discreet listening
    RecordingRecording call
    LoggedOutLog off
    HeldAgent put in hold by his correspondent or having put his correspondent on hold
    DialingIn dialing
    PrivateRingingIn Ringing
    PrivateLocalConversationLocal call
    PrivateExternalConversationExternal call
    PrivateConsultationCall established or on hold, and a second in the establishment phase or established and on hold or in communication
    PrivateConferenceIn conference
    BusyToneBusy tone
    ReservedReserved by the attendant
    AcdOutgoingConversationSimple out coming call
    ContinuousSupervisionSupervisor in "listening on agent"
    UnavailableUsing during a line lockout for the digital IVRs
    unknownthe phone state is unknown
    E_AgentServiceState
    State of service of an agent.
    ValueDescription
    LoggedOutagent is logged out
    LoggedInagent is logged in (out of processing group)
    Assignedagent is logged in and assigned in a processing group
    Withdrawnagent is withdrawn
    unknownunknown state
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    OnAgentRtiChanged
    Notification sent each time if one or more attributes of an agent change.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnAgentRtiChanged'
    namestring[1]Agent name
    firstNamestring[0..1]Agent first name
    numberstring[1]Agent phone Number
    typeAgentType[1]Agent Type (Normal/IVR)
    logonDatestring[0..1]Log on date: String which contains either an UTC dateTime (ISO 8601 format) if the agent is logged on or "NS" (Non Significant) if not
    serviceStateE_AgentServiceState[0..1]Service state
    phoneStateE_AgentPhoneState[0..1]Phone state
    pilotNamestring[0..1]Name of the pilot
    queueNamestring[0..1]Queue name
    nbOfWithdrawalsint[0..1]Number of withdrawals since log on
    serviceStateDatedateTime[0..1]Date of entry in the service state in progress
    comDatestring[0..1]Date of entry in phone state conversation: String which contains either an UTC dateTime (ISO 8601 format) if the agent is in conversation or "NS" (Non Significant) if not
    withdrawalsTotalDurationint[0..1]Total time (in sec) passed in withdrawal
    nbOfPrivateCallsint[0..1]Total number of private answered calls since log on
    privateCallsTotalDurationint[0..1]Total time (in sec) passed in private calls since log on
    nbOfServedACDCallsint[0..1]Number of ACD calls served since log on
    nbOfOutgoingACDCallsint[0..1]Number of outgoing answered ACD calls since log on
    nbOfRefusedACDCallsint[0..1]Number of ACD calls refused since log on
    nbOfInterceptedACDCallsint[0..1]Number of intercepted ACD calls since log on
    nbOfTransferedACDCallsint[0..1]Number of transfered ACD calls since log on
    currentPGstring[0..1]The PG number in which the agent is currently affected in
    associatedSetstring[0..1]The phone number of the associated phone set
    withdrawReasonint[0..1]Agent Withdraw Reason (number)
    [+] : JSON Example
    OnPGAgentRtiChanged
    Notification sent each time if one or more attributes of agent processing group change.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPGAgentRtiChanged'
    namestring[1]Name
    numberstring[1]Number
    typePGAgentType[1]Type
    stateServiceState[0..1]Service state
    nbOfWidthdrawnAgentsint[0..1]Number of withdrawn agents
    nbOfAgentsInPrivateCallint[0..1]Number of agents in private call
    nbOfAgentsInACDCallint[0..1]Number of agents in ACD call
    nbOfAgentsInACDRingingint[0..1]Number of agents in ACD ringing
    nbOfAgentsInACDConvint[0..1]Number of agents in ACD conversation
    nbOfAgentsInWrapupAndTransactionint[0..1]Number of agents in Wrap Up and in Transaction
    nbOfAgentsInPauseint[0..1]Number of agents in pause
    nbOfBusyAgentsint[0..1]Number Integer agents busy (ACD) or in private call
    nbOfLoggedOnAgentsint[0..1]Number of agents logged on (total)
    nbOfFreeAgentsint[0..1]Number of free agents (withdrawn or not)
    nbOfIdleAgentsint[0..1]Number of free agents (excluding withdrawn)
    nbOfLoggedOnAndNotWithdrawnAgentsint[0..1]Number of agents logged on (excluding withdrawn and free)
    incomingTrafficint[0..1]Number of incoming calls during the last minute
    consolidatedPilotsServiceLevelint[0..1]Service Level on all the pilots possibly serving this PG
    consolidatedPilotsEfficiencyint[0..1]Effic on all the pilots possibly serving this PG
    consolidatedQueuesWaitingTimeint[0..1]Current waiting time on the queues possibly serving this PG
    consolidatedQueuesNbOfWaitingCallsint[0..1]Number of waiting calls in the queues possibly serving this PG
    consolidatedQueuesEWTint[0..1]Expected Waiting Time on the queues possibly serving this PG
    pilotsWorstServiceLevelint[0..1]Worst Service Level on all the pilots possibly serving this PG
    pilotsWorstEfficiencyint[0..1]Worst Effic on all the pilots possibly serving this PG
    pilotsBestServiceLevelint[0..1]Best Service Level on all the pilots possibly serving this PG
    pilotsBestEfficiencyint[0..1]Best Effic on all the pilots possibly serving this PG
    queuesLonguestWaitingTimeint[0..1]Longest current waiting time in the queues possibly serving this PG
    [+] : JSON Example
    OnPGOtherRtiChanged
    Notification sent each time if one or more attributes of a PG not associated to an agent change.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPGOtherRtiChanged'
    namestring[1]Name of the Processing Group
    numberstring[1]Phone Number of the Processing Group
    typePGOtherTypeDTO[1]Type
    stateServiceState[0..1]Service state
    nbOfACDCallsint[0..1]Number of ACD calls
    incomingTrafficint[0..1]Number of incoming calls during the last minute
    [+] : JSON Example
    OnPilotRtiChanged
    Notification sent each time if one or more attributes of a pilot change.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnPilotRtiChanged'
    namestring[1]Name
    numberstring[1]Number
    stateServiceState[0..1]State
    nbOfRunningCallsint[0..1]Number of calls in progress
    serviceLevelint[0..1]Service Level
    efficiencyint[0..1]Effic
    nbOfWaitingCallsint[0..1]Number of waiting calls
    nbOfRingingACDCallsint[0..1]Number of ringing ACD calls
    nbOfMutualAidCallsint[0..1]Number of calls rerouted for mutual aid
    nbOfDissuadedCallsint[0..1]Number of dissuaded calls
    nbOfCallsInConversationint[0..1]Number of calls in conversation
    nbOfCallsInGeneralForwardingint[0..1]Number of calls in General Forwarding
    nbOfCallsInRemotePGint[0..1]Number of calls being processed in a Remote Processing Group
    incomingTrafficint[0..1]Number of incoming calls within the minute
    averageWaitingTimeint[0..1]Average waiting time before answering
    worstServiceLevelInListint[0..1]Worst Service Level among the Pilots of a Super Pilot
    worstEfficiencyInListint[0..1]Worst Effic among the Pilots of a Super Pilot
    bestServiceLevelInListint[0..1]Best Service Level among the Pilots of a Super Pilot
    bestEfficiencyInListint[0..1]Best Effic among the Pilots of a Super Pilot
    [+] : JSON Example
    OnQueueRtiChanged
    Notification sent each time if one or more attributes of a queue change.
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnQueueRtiChanged'
    namestring[1]Name
    numberstring[1]Number
    typeQueueType[1]Type
    stateServiceState[0..1]Service state
    nbOfAgentsInDistributionint[0..1]Number of agents in the distribution of the waiting queue
    incomingTrafficint[0..1]Number of incoming calls within the minute
    outgoingTrafficint[0..1]Number of outgoing calls within the minute
    nbOfWaitingCallsint[0..1]Number of waiting calls
    currentWaitingTimeint[0..1]Current waiting time
    fillingRateint[0..1]Filling rate
    expectedWaitingTimeint[0..1]Expected Waiting Time
    longestWaitingTimeInListint[0..1]Longest time among the queues of a Super Waiting Queue
    [+] : JSON Example
    PGAgentAttribute
    Attributes of a PGAgent that may be filtered in the API To get all the attributes, simply set "ALL" as attribute list.
    ValueDescription
    StateService state (Opeb, blocked, ...)
    NbOfWithdrawnAgentsNumber of withdrawn agents
    NbOfAgentsInPrivateCallNumber of agents in private call
    NbOfAgentsInACDCallNumber of agents in ACD call
    NbOfAgentsInACDRingingNumber of agents in ringing ACD call
    NbOfAgentsInACDConvNumber of agents in established ACD call
    NbOfAgentsInWrapupAndTransactionNumber of agents in wrapup and in entering transaction code
    NbOfAgentsInPauseNumber of agents in pause
    NbOfBusyAgentsNumber of busy agents (ACD or private call)
    NbOfLoggedOnAgentsNumber of logged agents
    NbOfFreeAgentsNumber of free agents i(withdrawn or not)
    NbOfIdleAgentsNumber of free agents i(excluding withdrawn)
    NbOfLoggedOnAndNotWithdrawnAgentsNumber of logged agents i(excluding withdrawn and free)
    ConsolidatedQueuesWaitingTimeCurrent waiting time on the queues possibly serving this team
    ConsolidatedQueuesNbOfWaitingCallsNumber of waiting calls on the queues possibly serving this team
    ConsolidatedQueuesEWTExpected Waiting Time on the queues possibly serving this team
    ServiceLevelService level on all the pilots possibly serving this team(average/best/worst)
    EfficiencyEfficiency on all the pilots possibly serving this team(average/best/worst)
    IncomingTrafficNumber of incoming calls within the minute
    ALLused to specify all wanted attributes
    PGAgentType
    Types of Processing group Agent.
    ValueDescription
    Agentteam of agents
    IVRteam of ivr
    QueuedIVRteam of ivr in queue
    unknownteam of unknown type
    PGOtherAttribute
    Attributes of a ProcessingGroupOther that may be filtered in the API To get all the attributes, simply set "ALL" as attribute list.
    ValueDescription
    StateService state (closed, open, ...)
    NbOfACDCallsNumber of ACD calls
    IncomingTrafficNumber of incoming calls during the last minute
    ALLused to specify all wanted attributes
    PGOtherTypeDTO
    Types of Processing Group not associated to agents.
    ValueDescription
    MutualAidPG of type mutual Aid
    ForwardPG of type forward
    GuidePG of type guide
    RemotePG of type remote
    PilotAttribute
    Attributes of a Pilot that may be filtered in the API To get all the attributes, simply set "ALL" as attribute list.
    ValueDescription
    StateService state (Opeb, blocked, ...)
    ServiceLevelService level
    CurrentRuleNameCurrent rule name
    NbOfWaitingCallsNumber of waiting calls
    NbOfMutualAidCallsNumber of calls rerouted for mutual aid
    NbOfCallsInConversationNumber of calls in conversation
    NbOfCallsInRemotePGNumber of calls being processed in a remote PG
    AverageWaitingTimeAverage waiting time before answering(in sec)
    NbOfRunningCallsNumber of calls in progress
    NbOfRingingACDCallsNumber of ringing ACD calls
    NbOfDissuadedCallsNumber of dissuaded calls
    NbOfCallsInGeneralForwardingNumber of calls in general forwarding
    EfficiencyEfficiency(average/best/worst)
    IncomingTrafficNumber of incoming calls within the minute
    ALLused to specify all wanted attributes
    QueueAttribute
    Attributes of a Queue that may be filtered in the API To get all the attributes, simply set "ALL" as attribute list.
    ValueDescription
    StateService state (Opeb, blocked, ...)
    NbOfAgentsInDistributionNumber of agents in the distribution of the waiting queue
    IncomingTrafficNumber of incoming calls within the minute
    OutgoingTrafficNumber of outgoing calls within the minute
    NbOfWaitingCallsNumber of waiting calls
    CurrentWaitingTimeCurrent waiting time
    ExpectedWaitingTimeExpected waiting time
    FillingRateFilling rate
    LongestWaitingTimeInListLongest time among the queues of a super waiting queue
    ALLused to specify all wanted attributes
    QueueType
    Type of queue
    ValueDescription
    NormalNormal queue
    MutualAidMutual Aid queue
    DissuasionDissuasion queue
    VirtualVirtual queue
    WaitingRoomWaiting Room queue
    VirtualWaitingRoomVirtual Waiting Room queue
    unknownunknown state
    RtiAgentFilter
    Agent filter: contains list of numbers and list of attributes
    NameTypeCardinalityDescription
    numbersstring[0..*]List of Agent numbers (or "*" for all)
    attributesAgentAttribute[0..*]List of Agent attributes (or "ALL" for all)
    [+] : JSON Example
    RtiContext
    RTI subscription context with attribute filters for agent/pilot/PG Agent/ PG Other/queue
    NameTypeCardinalityDescription
    activeboolean[0..1]Status of activation. this parameter is only for consultation
    obsPeriodint[0..1]Period of observation (in minutes, minimum is 15, maximum is 60)
    notifFrequencyint[0..1]Frequency of notification (in secondes, minimum is 5 sec) only if pilot quality attributes have changed: average waiting time, service level and efficiency.
    filterRtiFilter[0..1]Filter on objects
    [+] : JSON Example
    Associated methods :
    RtiFilter
    Parameter to set the RTI attribute filters for agent/pilot/PG Agent/ PG Other/queue
    NameTypeCardinalityDescription
    agentFilterRtiAgentFilter[0..1]Filter on agents
    pilotFilterRtiPilotFilter[0..1]Filter on pilots
    queueFilterRtiQueueFilter[0..1]Filter on queues
    pgAgentFilterRtiProcessingGroupAgentFilter[0..1]Filter on Processing group agent
    pgOtherFilterRtiProcessingGroupOtherFilter[0..1]Filter on other PG
    [+] : JSON Example
    RtiIdentifiers
    Lists of identifier for agent/pilot/PG Agent/ PG Other/queue
    NameTypeCardinalityDescription
    agentsRtiObjectIdentifier[0..*]Agent object identifiers
    pilotsRtiObjectIdentifier[0..*]Pilot object identifiers
    queuesRtiObjectIdentifier[0..*]Queue object identifiers
    pgAgentsRtiObjectIdentifier[0..*]PG Agent object identifiers
    pgOthersRtiObjectIdentifier[0..*]PG Other object identifiers
    [+] : JSON Example
    Associated methods :
    RtiObjectIdentifier
    Identifier for agent/pilot/PG/queue/PG composed of name, number and internal key
    NameTypeCardinalityDescription
    numberstring[1]Object phone number
    namestring[1]Object phone name
    firstNamestring[0..1]Object phone firstName (only for agent)
    [+] : JSON Example
    RtiPilotFilter
    Pilot filter: contains list of numbers and list of attributes
    NameTypeCardinalityDescription
    numbersstring[0..*]List of pilot numbers (or "*" for all)
    attributesPilotAttribute[0..*]List of pilot attributes (or "ALL" for all)
    [+] : JSON Example
    RtiProcessingGroupAgentFilter
    ProcessingGroupAgent filter: contains list of numbers and list of attributes
    NameTypeCardinalityDescription
    numbersstring[0..*]List of PG Agent numbers (or "*" for all)
    attributesPGAgentAttribute[0..*]List of PG Agent attributes (or "ALL" for all)
    [+] : JSON Example
    RtiProcessingGroupOtherFilter
    RtiProcessingGroupOther filter: contains list of numbers and list of attributes
    NameTypeCardinalityDescription
    numbersstring[0..*]List of PG numbers (or "*" for all)
    attributesPGOtherAttribute[0..*]List of PG attributes (or "ALL" for all)
    [+] : JSON Example
    RtiQueueFilter
    Queue filter: contains list of numbers and list of attributes
    NameTypeCardinalityDescription
    numbersstring[0..*]List of queue numbers (or "*" for all)
    attributesQueueAttribute[0..*]List of queue attributes (or "ALL" for all)
    [+] : JSON Example
    ServiceState
    State of service of a pilot/queue
    ValueDescription
    ClosedService is closed
    OpenedService is opened
    BlockedService is blocked
    unknownunknown state
    string
    'string' represents character strings.

    Call Center Statistics

    Presentation

    This service allows an administrator to retrieve ACD agents and pilots statistics.
    The data may be retrieved by GET one shot or through scheduled reports.

    To enable this service, "Specific Call Center features" MUST have been activated by configuration.

    All the operations of this API is available only through O2G administrator session.

    Glossary:

    • supervisor : a supervisor has access to the statistics of a set of agents. It is represented in this api by an identifier.
    • scope : defines the list of agents to associate to a supervisor
    • context (ctx) : defines the agents attributes & associated pilots attributes
    • schedule : differed report mechanism
    • D daily report : Current day report
    • D+ daily report : Other day(s) reports

    The usage of this api is the following:
    • The preliminary operation is to define a scope for one or several supervisor(s) (one scope per supervisor).
    • one or several context are then created for a supervisor.
    • Statistics data may then be retrieved for a context either immediately or by scheduling report
    The application can retrieve the statistics data on 2 manners:
    • Get immediate statistics report. In this mode, the application may subscribe to "acdstats" event package in order to receive the progression event (OnAcdStatsProgress), which may be useful in case of long processing.
    • Schedule differed reports : the results will be sent by email attachment to the predefined destination.
    The result may be asked in JSON format(default) or through CSV or XLS zipped file.
    There are 2 types of reports:
    • Current day detailed reports (D).
      They provide detailed statistics: one row data per each time slot of the day.
      The time slot period may be chosen per quarter of an hour, per half hour or per hour.
      The data are provided from 0h00 till the last terminated quarter of an hour.
    • Several days reports (D+) which can be requested for a maximum period of 31 consecutive and terminated days.
      They provide compiled statistics data, that is only one data row per object (agent or pilot) and per day.
      These compiled statistics may be asked overall the 12 last months, possibly over 2 months (eg, from 15/04/2024 to 14/05/2024).
      The data concern the period from the first day 0h00 to the last day 24h00.
      The scheduling of reports only concern (D+) reports.
    Notes about reports :
    • The content of a supervisor's context (report) is based on the list of agents received in scope.
    • If during a new installation (a new scope) for an existing supervisor, there are one or more agents who are no longer in the list, these will be deleted from already existing contexts (reports) by O2G.
      If a context (report) only contained an agent which is not in the new scope, it will be deleted by O2G.
    • If during a new installation (a new scope) for an existing supervisor, there are one or more new agents who are added in the list, the already existing contexts will be not impacted.
    Notes about scheduling :
    • A programmed report (scheduled) is linked to a D+ report.
    • Currently, there is no limitation on the number of programming associated with a report.
    • Every 24 hours, a process evaluates whether scheduled reports should be generated(*): The O2G server starts processing schedules at 2 a.m. (this value can be modified in the /opt/Alcatel-Lucent/webapps/api/WEB-INF/web.xml file in the O2G server).
    • the results are sent as file (zip) attachment of email.
    (*)A programmed report may have been scheduled by a supervisor a long time ago and since this moment, some agents may have been removed from its scope and so, from the report.

    History

    Since version 2.7.4

    Resources summary

    ResourceMethodDescription
    /acd/stats/scopePOSTCreate or update the statistics scope of a supervisor user.
    /acd/stats/scope/{supervisorId}GETRetrieve the information associated to a supervisor.
    DELETEDelete the statistics scope associated to a supervisor.
    /acd/stats/scope/{supervisorId}/ctxPOSTCreate a statistics filter context associated to a supervisor.
    GETRetrieve all the statistics filter context associated to a user.
    DELETEDelete all statistics filter context associated to a user.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}PUTModify an existing statistics filter context associated to a user.
    GETRetrieve a statistics filter context associated to a user.
    DELETEDelete a statistics filter context associated to a user.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/days/dataGETAsk statistics information for several days according to predefined filter context.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/oneday/dataGETAsk statistics information of one day according to filter context.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/oneday/jdataGETDon't use: Just for API documentation of Stats object.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedulePOSTSchedule a report according to predefined filter context.
    GETRetrieve all report schedules according to predefined filter context.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}GETRetrieve a report schedule according to predefined filter context.
    PUTModify an existing report schedule according to predefined filter context.
    DELETEDelete a report schedule according to predefined filter context.
    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}/enablePOSTPause or resume a report schedule according to predefined filter context.
    /acd/stats/scope/{supervisorId}/data/requestDELETECancel any statistics information request in progress.
    /acd/stats/scope/{supervisorId}/filterGETRetrieve the statistics scope filter associated to a supervisor.

    Notification summary

    NotificationDescription
    OnAcdStatsProgressNotification sent during a get /acd/stats/data to inform the client on the progression of the processing (requires subscription to "acdstats" event package).

    Resources

    /acd/stats/scope

    Methods
    POST/acd/stats/scope
    Create or update the statistics scope of a supervisor user. Return the complete private and public URL of the statistics application in the body response, to be invoked by the client.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    StatsScopeapplication/json
    : Information concerning the supervisor and list of acd objects
    Response
    codetypemedia typesdescription
    200StatsScopeAnswerapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Set a scope

    /acd/stats/scope/{supervisorId}

    Methods
    GET/acd/stats/scope/{supervisorId}
    Retrieve the information associated to a supervisor.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstring
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200SupervisorDataapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the information of the supervisor 60114

    DELETE/acd/stats/scope/{supervisorId}
    Delete the statistics scope associated to a supervisor. This function is reserved to an administrator session.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx

    Methods
    POST/acd/stats/scope/{supervisorId}/ctx
    Create a statistics filter context associated to a supervisor. Return the new context identifier
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    StatsContextapplication/json
    : context to create
    Response
    codetypemedia typesdescription
    200RespIdapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Create a new agent context for the supervisor 60114

    GET/acd/stats/scope/{supervisorId}/ctx
    Retrieve all the statistics filter context associated to a user.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200StatsContextsapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    DELETE/acd/stats/scope/{supervisorId}/ctx
    Delete all statistics filter context associated to a user.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}

    Methods
    PUT/acd/stats/scope/{supervisorId}/ctx/{ctxId}
    Modify an existing statistics filter context associated to a user.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    StatsContextapplication/json
    : context to modify
    Response
    codemedia typesdescription
    204application/json
    No Content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Modify the context 11 for the supervisor 60114

    GET/acd/stats/scope/{supervisorId}/ctx/{ctxId}
    Retrieve a statistics filter context associated to a user.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200StatsContextapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    DELETE/acd/stats/scope/{supervisorId}/ctx/{ctxId}
    Delete a statistics filter context associated to a user.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/days/data

    Methods
    GET/acd/stats/scope/{supervisorId}/ctx/{ctxId}/days/data
    Ask statistics information for several days according to predefined filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    query parameters
    parametertypedescription
    begindatestringin format(yyyy-MM-dd HH:mm): the first day
    enddatestringin format(yyyy-MM-dd HH:mm): the last day
    formatstringthe result format may asked in JSON(default mode), CSV or XLS file (csv or XLS file result is zipped).
    asyncstring: optional parameter: async=true to return immediately without response, in this case, the result will be available through eventOnAcdStatsProgress. Considering async=false if parameter is absent.
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    200application/json
    OK
    204application/json
    No Content if async=true
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/oneday/data

    Methods
    GET/acd/stats/scope/{supervisorId}/ctx/{ctxId}/oneday/data
    Ask statistics information of one day according to filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    query parameters
    parametertypedescription
    datestringin format(yyyy-MM-dd HH:mm): the chosen day (default = current day)
    slotTypeSlotTypethe slot type (default is 1/4h)
    formatstringthe result format may asked in JSON(default mode), CSV or XLS file (csv or XLS file result is zipped).
    asyncstring: optional parameter: async=true to return immediately without response, in this case, the result will be available through eventOnAcdStatsProgress. Considering async=false if parameter is absent.
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    200application/json
    OK
    204application/json
    No Content if async=true
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Associated notifications

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/oneday/jdata

    Methods
    GET/acd/stats/scope/{supervisorId}/ctx/{ctxId}/oneday/jdata
    Don't use: Just for API documentation of Stats object.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    query parameters
    parametertypedescription
    datestringin format(yyyy-MM-dd HH:mm): the chosen day (default = current day)
    slotTypeSlotTypethe slot type (default is 1/4h)
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200Statsapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule

    Methods
    POST/acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule
    Schedule a report according to predefined filter context. Return the new schedule identifier
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    StatsScheduleapplication/json
    : the schedule parameters
    Response
    codetypemedia typesdescription
    200RespIdapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    GET/acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule
    Retrieve all report schedules according to predefined filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200StatsSchedulesapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}

    Methods
    GET/acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}
    Retrieve a report schedule according to predefined filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    scheduleIdstringschedule identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200StatsScheduleapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    PUT/acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}
    Modify an existing report schedule according to predefined filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    scheduleIdstringschedule identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    body parameter
    typemedia typesdescription
    StatsScheduleapplication/json
    : the new schedule parameters
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    DELETE/acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}
    Delete a report schedule according to predefined filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    scheduleIdstringschedule identifier
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}/enable

    Methods
    POST/acd/stats/scope/{supervisorId}/ctx/{ctxId}/schedule/{scheduleId}/enable
    Pause or resume a report schedule according to predefined filter context.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    ctxIdstringctx identifier
    scheduleIdstringschedule identifier
    query parameters
    parametertypedescription
    enablestring: optional parameter: enable=false to pause(or suspend), enable=true to enable(or resume) a schedule. Considering enable=true if parameter is absent. When created, the schedule is disable by default.
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/data/request

    Methods
    DELETE/acd/stats/scope/{supervisorId}/data/request
    Cancel any statistics information request in progress.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codemedia typesdescription
    204application/json
    No content
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable

    /acd/stats/scope/{supervisorId}/filter

    Methods
    GET/acd/stats/scope/{supervisorId}/filter
    Retrieve the statistics scope filter associated to a supervisor. Include the list of agents, the list of pilots and all the possible attributes.
    Licenses
    Required in CAPEX mode (FlexLM server): ROXE_API_CONTACTCENTER_SVCS - true.
    Required in OPEX mode (LMS server): api-tel-f - 40 licenses required.
    Request
    path parameters
    parametertypedescription
    supervisorIdstringsupervisor identifier, i.e. its number
    header parameters
    parametertypedescription
    AuthorizationstringFor Private use ONLY: Identifier of the daughter Session
    cookie parameters
    parametertypedescription
    AlcUserIdstringIdentifier of the Session
    Response
    codetypemedia typesdescription
    200StatsFilterRespapplication/json
    OK
    400application/json
    Bad Request
    401application/json
    Unauthorized
    403application/json
    Forbidden
    404application/json
    Not Found
    500application/json
    Internal Server Error
    503application/json
    Service Unavailable
    Examples

    [+] : Get the scope filter of the supervisor 60114

    Representations

    AcdStatsProgressStep
    Step of acd statistics get data progression
    ValueDescription
    COLLECTIn AFE data collect step
    PROCESSEDdata have been processed
    FORMATEDdata have been formatted
    ERRORan error occured during collect
    CANCELLEDthe collect has been cancelled
    AgentAttribute
    Attributes of an Agent that may be filtered in the API:
    ValueDescription
    nbRotatingNumber of rotating time-out
    nbPickedUpnumber of calls picked-up
    nbPickupnumber of call pick-up made by agent
    nbLocalOutNonAcdNumber of internal outgoing calls
    nbExtOutNonacdNumber of external non-acd outgoing calls
    nbRingAcdAcd calls which have rung the agent
    nbHelpCalls for which a help request was initiated
    nbLocInNonacdNon ACD internal incoming calls
    nbExtInNonacdDirectDirect non ACD external incoming calls
    nbExtInNonacdTransferredNon-ACD external incoming calls transferred to the agent
    nbServedWOCodeNumber of ACD calls served without transaction code
    nbServedWCodeNumber of ACD calls served with transaction code
    nbAcdQuickServedNumber of ACD calls served too quickly
    nbExtinNonacdServedNumber of non-ACD external incoming calls served
    nbExtinNonacdQuickServedNumber of non-ACD external incoming calls served too quickly
    nbOutAcdOutgoing ACD calls
    nbOutAcdAnsweredOutgoing ACD calls answered
    nbOnWrapupCalls on wrap-up
    ringAcdServedTDurTotal duration of ringing by ACD calls served(format hh:mm:ss)
    ringAcdServedADurAverage duration of ringing by ACD calls served(format hh:mm:ss)
    ringInNonAcdExtServedTDurTotal duration of ringing by non-ACD external incoming calls served (format hh:mm:ss)
    ringInNonAcdExtServedADurAverage duration of ringing by non-ACD external incoming calls served (format hh:mm:ss)
    ringAcdTDurTotal duration of ringing by ACD calls
    ringAcdADurAverage duration of ringing by ACD calls
    ringInNonAcdExtTDurRinging by non-ACD external incoming calls (total duration)
    ringInNonAcdExtADurRinging by non-ACD external incoming calls ("Average duration)
    ringTDurTotal duration of ringing
    ringADurAverage duration of ringing
    convAcdTDurTotal duration of conversation with ACD calls
    convAcdADurAverage duration of conversation with ACD calls
    wrapupAcdTDurTotal duration of wrapup for all calls served
    convLocOutNonacdTDurTotal duration of conversation for internal outgoing calls
    convLocOutNonacdADurAverage duration of conversation for internal outgoing calls
    convExtOutTDurTotal duration of conversation for external outgoing calls
    convExtOutADurAverage duration of conversation for external outgoing calls
    convLocInNonacdTDurTotal duration of conversation for local non ACD incoming calls
    convLocInNonacdADurAverage duration of conversation for local non ACD incoming calls
    convExtInNonacdTDurTotal duration of conversation for non ACD external incoming calls
    convExtInNonacdADurAverage duration of conversation for non ACD external incoming calls
    outAcdCommTDurTotal duration of call processing for outgoing ACD calls
    outAcdCommADurAverage duration of call processing for outgoing ACD calls
    outAcdConvTDurTotal duration of conversation for outgoing calls
    outAcdConvADurAverage duration of conversation for outgoing calls
    outAcdTransactTDurTotal duration of transaction phase for outgoing ACD calls
    outAcdTransactADurAverage duration of transaction phase for outgoing ACD calls
    outAcdWrapupTDurTotal duration of wrap-up for outgoing ACD calls
    outAcdWrapupADurAverage duration of wrap-up for outgoing ACD calls
    outAcdPauseTDurTotal duration of pause phase
    outAcdPauseADurAverage duration of pause phase
    wrapUpIdleTDurTotal duration of wrap-up done while the agent was in idle state
    callOnWrapupTDurTotal duration of conversation in wrap-up
    busyOnWrapupTDurTotal busy time in wrap-up
    busyTDurTotal busy time
    loggedOutPerTimePercentage of time the agent is in Logged-out
    notAssignedPerTimePercentage of time the agent is in Logged-in but not assigned
    assignedPerTimePercentage of time the agent is in Logged-in assigned
    withdrawPerTimePercentage of time the agent is in withdrawal
    withdrawPerTimeCause1Percentage of time the agent is in withdrawal cause 1
    withdrawPerTimeCause2Percentage of time the agent is in withdrawal cause 2
    withdrawPerTimeCause3Percentage of time the agent is in withdrawal cause 3
    withdrawPerTimeCause4Percentage of time the agent is in withdrawal cause 4
    withdrawPerTimeCause5Percentage of time the agent is in withdrawal cause 5
    withdrawPerTimeCause6Percentage of time the agent is in withdrawal cause 6
    withdrawPerTimeCause7Percentage of time the agent is in withdrawal cause 7
    withdrawPerTimeCause8Percentage of time the agent is in withdrawal cause 8
    withdrawPerTimeCause9Percentage of time the agent is in withdrawal cause 9
    nbPilotsNumber of pilots the agent served call for
    nbAcdServedCallsNumber of ACD served calls
    nbAcdInServedCallsNumber of ACD incoming served calls
    nbInCallsReceivedByPilotNumber of incoming calls directly received by the pilot (served calls)
    nbAcdOutServedCallsNumber of ACD outgoing served calls
    nbTotNonServedCallsNumber of total ACD non served calls
    nbInNonServedCallsNumber of incoming ACD non served calls
    nbPickedupCallsNumber of incoming ACD picked-up (non served calls)
    nbRefusedCallsNumber of incoming ACD refused (non served calls)
    nbAcdOutNonServedCallsNumber of outgoing ACD non served calls
    nbTotNonAcdreceivedCallsTotal number of non ACD received calls
    nbInNonAcdCallsNumber of incoming non ACD calls
    nbOutNonAcdCallsNumber of outgoing non ACD calls
    assignedNotWithdrawDurDuration assigned in a group and not in withdrawal
    withdrawDurDuration in withdrawal
    manuWrapupDurDuration in manual wrap-up
    unreachableDurDuration in unreachable
    nonAcdWorkTDurTotal duration in non ACD work
    nonAcdWorkADurAverage duration in non ACD work
    acdWorkTDurTotal duration in ACD work
    acdWorkADurAverage duration in ACD work
    acdWorkInTDurTotal duration in incoming ACD work
    acdWorkInADurAverage duration in incoming ACD work
    acdWorkInConvTDurTotal duration in incoming conversation ACD work
    acdWorkInConvADurAverage duration in incoming conversation ACD work
    acdWorkInRingTDurTotal duration in incoming ringing ACD work
    acdWorkInRingADurAverage duration in incoming ringing ACD work
    acdWorkInWrapupTDurTotal duration in incoming wrapup ACD work
    acdWorkInWrapupADurAverage duration in incoming wrapup ACD work
    acdWorkOutTDurTotal duration in outgoing ACD work
    acdWorkOutADurAverage duration in outgoing ACD work
    acdWorkOutConvTDurTotal duration in outgoing conversation ACD work
    acdWorkOutConvADurAverage duration in outgoing conversation ACD work
    acdWorkOutWrapupTDurTotal duration in outgoing wrapup ACD work
    acdWorkOutWrapupADurAverage duration in outgoing wrapup ACD work
    acdInConvTDurTotal duration in conversation for incoming ACD
    acdInConvADurAverage duration in conversation for incoming ACD
    acdOutConvTDurTotal duration in conversation for outgoing ACD
    acdOutConvADurAverage duration in conversation for outgoing ACD
    ALLAll attributes in context creation.
    AgentPilotStatsAttrExt
    Structure returned in the getFilter() which contains the agent per pilot attribute information: its DTO value (ex: nbCallsReceived), its nomenclature reference (ex: AC059), its translation in supervisor language(ex: "Calls received") its description in the user language (ex: "Number of calls received by the agent concerning this pilot" )
    NameTypeCardinalityDescription
    dtoAgentPilotStatsAttribute[0..1]DTO value
    refstring[0..1]Reference in nomenclature
    translstring[0..1]translation in supervisor language
    descrstring[0..1]Description of he attribute in supervisor language
    [+] : JSON Example
    AgentPilotStatsAttribute
    Attributes of a Pilot in Agent stats that may be filtered in the API
    ValueDescription
    nbCallsReceivednb calls received for this pilot
    nbCallsTransfInnb calls received by transfer
    nbCallsServednb calls served
    nbCallsServedTooQuicklynb calls served too quickly
    nbCallsWithEnquirynb calls with enquiry
    nbCallsWithHelpnb calls with help
    nbCallsTransfnb calls transferred from agent
    nbCallsTransfToAgentnb calls transferred to agent
    nbCallsInWrapupnb calls in wrap-up
    maxCallProcDurmax duration of call processing
    maxConvDurmax duration of conversation
    maxWrapupDurmax duration of wrap-up
    callProcTDurTotal duration of call processing
    callProcADurAverage duration of call processing
    convTDurTotal duration of conversation
    convADurAverage duration of conversation
    wrapupTDurTotal duration of wrap-up
    wrapupADurAverage duration of wrap-up
    convInWrapupTDurTotal duration of conversation in wrap-up
    busyTimeInWrapupTDurTotal duration of busy time in wrap-up
    onHoldTDurTotal duration of call on hold
    onHoldADurAverage duration of call on hold
    transTDurTotal duration of transaction phase
    transADurAverage duration of transaction phase
    pauseTDurTotal duration of pause
    pauseADurAverage duration of pause
    ALLAll attributes in context creation.
    AgentStats
    The statistics for all agents, corresponding to the same time slot.
    NameTypeCardinalityDescription
    timeSlotstring[0..1]time slot in "yyyy-MM-dd'T'HH:mm" format
    selectedPeriodSelectedPeriod[0..1]statistics selected period
    rowsAgentStatsRow[0..*]list of row statistics
    [+] : JSON Example
    AgentStatsAttrExt
    Structure returned in the getFilter() which contains the agent attribute information: its DTO value (ex: nbPickedUp), its nomenclature reference (ex: AC002), its translation in supervisor language(ex: "Agent's calls picked-up") its description in the user language (ex: "Number of ACD calls ringing the agent that were picked-up" ) is a detailed attribute
    NameTypeCardinalityDescription
    dtoAgentAttribute[0..1]DTO value
    refstring[0..1]Reference in nomenclature
    translstring[0..1]translation in supervisor language
    descrstring[0..1]Description of he attribute in supervisor language
    detailedboolean[0..1]is a detailed attribute
    [+] : JSON Example
    AgentStatsRow
    Agents statistics (one row)
    NameTypeCardinalityDescription
    datestring[0..1]Formated End date of the raw
    yearstring[0..1]year of the raw
    monthstring[0..1]month of the raw
    daystring[0..1]day of the raw
    hourstring[0..1]hour of the raw
    minutestring[0..1]minute of the raw
    loginstring[0..1]login of the agent
    operatorstring[0..1]Operator name of the agent
    firstNamestring[0..1]Firstname of the agent
    lastNamestring[0..1]Lastname of the agent
    numberstring[0..1]Number of the agent
    groupstring[0..1]Group name of the agent
    nbRotatingint[0..1]Number of rotating time-out AC001
    nbPickedUpint[0..1]number of calls picked-up AC002
    nbPickupint[0..1]number of call pick-up made by agent AC003
    nbLocalOutNonAcdint[0..1]Number of internal outgoing calls AC004
    nbExtOutNonacdint[0..1]Number of external non-acd outgoing calls AC005
    nbRingAcdint[0..1]Acd calls which have rung the agent AC006
    nbHelpint[0..1]Calls for which a help request was initiated AC007
    nbLocInNonacdint[0..1]Non ACD internal incoming calls AC008
    nbExtInNonacdDirectint[0..1]Direct non ACD external incoming calls AC009
    nbExtInNonacdTransferredint[0..1]Non-ACD external incoming calls transferred to the agent AC010
    nbServedWOCodeint[0..1]Number of ACD calls served without transaction code AC011
    nbServedWCodeint[0..1]Number of ACD calls served with transaction code AC012
    nbAcdQuickServedint[0..1]Number of ACD calls served too quickly AC013
    nbExtinNonacdServedint[0..1]Number of non-ACD external incoming calls served AC014
    nbExtinNonacdQuickServedint[0..1]Number of non-ACD external incoming calls served too quickly AC015
    nbOutAcdint[0..1]Outgoing ACD calls AC016
    nbOutAcdAnsweredint[0..1]Outgoing ACD calls answered AC017
    nbOnWrapupint[0..1]Calls on wrap-up AC018
    ringAcdServedTDurstring[0..1]Total duration of ringing by ACD calls served(format hh:mm:ss) AC019
    ringAcdServedADurstring[0..1]Average duration of ringing by ACD calls served(format hh:mm:ss) AC020
    ringInNonAcdExtServedTDurstring[0..1]Total duration of ringing by non-ACD external incoming calls served (format hh:mm:ss) AC021
    ringInNonAcdExtServedADurstring[0..1]Average duration of ringing by non-ACD external incoming calls served (format hh:mm:ss) AC022
    ringAcdTDurstring[0..1]Total duration of ringing by ACD calls AC023
    ringAcdADurstring[0..1]Average duration of ringing by ACD calls AC024
    ringInNonAcdExtTDurstring[0..1]Ringing by non-ACD external incoming calls (total duration) AC025
    ringInNonAcdExtADurstring[0..1]Ringing by non-ACD external incoming calls (average duration) AC026
    ringTDurstring[0..1]Total duration of ringing AC027
    ringADurstring[0..1]Average duration of ringing AC028
    convAcdTDurstring[0..1]Total duration of conversation with ACD calls AC029
    convAcdADurstring[0..1]Average duration of conversation with ACD calls AC030
    wrapupAcdTDurstring[0..1]Total duration of wrapup for all calls served AC031
    convLocOutNonacdTDurstring[0..1]Total duration of conversation for internal outgoing calls AC032
    convLocOutNonacdADurstring[0..1]Average duration of conversation for internal outgoing calls AC033
    convExtOutTDurstring[0..1]Total duration of conversation for external outgoing calls AC034
    convExtOutADurstring[0..1]Average duration of conversation for external outgoing calls AC035
    convLocInNonacdTDurstring[0..1]Total duration of conversation for local non ACD incoming calls AC036
    convLocInNonacdADurstring[0..1]Average duration of conversation for local non ACD incoming calls AC037
    convExtInNonacdTDurstring[0..1]Total duration of conversation for non ACD external incoming calls AC038
    convExtInNonacdADurstring[0..1]Average duration of conversation for non ACD external incoming calls AC039
    outAcdCommTDurstring[0..1]Total duration of call processing for outgoing ACD calls AC040
    outAcdCommADurstring[0..1]Average duration of call processing for outgoing ACD calls AC041
    outAcdConvTDurstring[0..1]Total duration of conversation for outgoing calls AC042
    outAcdConvADurstring[0..1]Average duration of conversation for outgoing calls AC043
    outAcdTransactTDurstring[0..1]Total duration of transaction phase for outgoing ACD calls AC044
    outAcdTransactADurstring[0..1]Average duration of transaction phase for outgoing ACD calls AC045
    outAcdWrapupTDurstring[0..1]Total duration of wrap-up for outgoing ACD calls AC046
    outAcdWrapupADurstring[0..1]Average duration of wrap-up for outgoing ACD calls AC047
    outAcdPauseTDurstring[0..1]Total duration of pause phase AC048
    outAcdPauseADurstring[0..1]Average duration of pause phase AC049
    wrapUpIdleTDurstring[0..1]Total duration of wrap-up done while the agent was in idle state AC050
    callOnWrapupTDurstring[0..1]Total duration of conversation in wrap-up AC051
    busyOnWrapupTDurstring[0..1]Total busy time in wrap-up AC052
    busyTDurstring[0..1]Total busy time AC053
    loggedOutPerTimestring[0..1]Percentage of time the agent is in Logged-out AC054
    notAssignedPerTimestring[0..1]Percentage of time the agent is in Logged-in but not assigned AC055
    assignedPerTimestring[0..1]Percentage of time the agent is in Logged-in assigned AC056
    withdrawPerTimestring[0..1]Percentage of time the agent is in withdrawal AC057
    withdrawPerTimeCause1string[0..1]Percentage of time the agent is in withdrawal cause 1 AC057A
    withdrawPerTimeCause2string[0..1]Percentage of time the agent is in withdrawal cause 2 AC057B
    withdrawPerTimeCause3string[0..1]Percentage of time the agent is in withdrawal cause 3 AC057C
    withdrawPerTimeCause4string[0..1]Percentage of time the agent is in withdrawal cause 4 AC057D
    withdrawPerTimeCause5string[0..1]Percentage of time the agent is in withdrawal cause 5 AC057E
    withdrawPerTimeCause6string[0..1]Percentage of time the agent is in withdrawal cause 6 AC057F
    withdrawPerTimeCause7string[0..1]Percentage of time the agent is in withdrawal cause 7 AC057G
    withdrawPerTimeCause8string[0..1]Percentage of time the agent is in withdrawal cause 8 AC057H
    withdrawPerTimeCause9string[0..1]Percentage of time the agent is in withdrawal cause 9 AC057I
    nbPilotsint[0..1]Number of pilots the agent served call for AC058
    nbAcdServedCallsint[0..1]Number of ACD served calls AC085
    nbAcdInServedCallsint[0..1]Number of ACD incoming served calls AC086
    nbInCallsReceivedByPilotint[0..1]Number of incoming calls directly received by the pilot (served calls) AC087
    nbAcdOutServedCallsint[0..1]Number of ACD outgoing served calls AC088
    nbTotNonServedCallsint[0..1]Number of total ACD non served calls AC089
    nbInNonServedCallsint[0..1]Number of incoming ACD non served calls AC090
    nbPickedupCallsint[0..1]Number of incoming ACD picked-up (non served calls) AC091
    nbRefusedCallsint[0..1]Number of incoming ACD refused (non served calls) AC092
    nbAcdOutNonServedCallsint[0..1]Number of outgoing ACD non served calls AC093
    nbTotNonAcdreceivedCallsint[0..1]Total number of non ACD received calls AC094
    nbInNonAcdCallsint[0..1]Number of incoming non ACD calls AC095
    nbOutNonAcdCallsint[0..1]Number of outgoing non ACD calls AC096
    assignedNotWithdrawDurstring[0..1]Duration assigned in a group and not in withdrawal AC097
    withdrawDurstring[0..1]Duration in withdrawal AC098
    manuWrapupDurstring[0..1]Duration in manual wrap-up AC099
    unreachableDurstring[0..1]Duration in unreachable AC100
    nonAcdWorkTDurstring[0..1]Total duration in non ACD work AC101
    nonAcdWorkADurstring[0..1]Average duration in non ACD work AC102
    acdWorkTDurstring[0..1]Total duration in ACD work AC103
    acdWorkADurstring[0..1]Average duration in ACD work AC104
    acdWorkInTDurstring[0..1]Total duration in incoming ACD work AC105
    acdWorkInADurstring[0..1]Average duration in incoming ACD work AC106
    acdWorkInConvTDurstring[0..1]Total duration in incoming conversation ACD work AC107
    acdWorkInConvADurstring[0..1]Average duration in incoming conversation ACD work AC108
    acdWorkInRingTDurstring[0..1]Total duration in incoming ringing ACD work AC109
    acdWorkInRingADurstring[0..1]Average duration in incoming ringing ACD work AC110
    acdWorkInWrapupTDurstring[0..1]Total duration in incoming wrapup ACD work AC111
    acdWorkInWrapupADurstring[0..1]Average duration in incoming wrapup ACD work AC112
    acdWorkOutTDurstring[0..1]Total duration in outgoing ACD work AC113
    acdWorkOutADurstring[0..1]Average duration in outgoing ACD work AC114
    acdWorkOutConvTDurstring[0..1]Total duration in outgoing conversation ACD work AC115
    acdWorkOutConvADurstring[0..1]Average duration in outgoing conversation ACD work AC116
    acdWorkOutWrapupTDurstring[0..1]Total duration in outgoing wrapup ACD work AC117
    acdWorkOutWrapupADurstring[0..1]Average duration in outgoing wrapup ACD work AC118
    acdInConvTDurstring[0..1]Total duration in conversation for incoming ACD AC119
    acdInConvADurstring[0..1]Average duration in conversation for incoming ACD AC120
    acdOutConvTDurstring[0..1]Total duration in conversation for outgoing ACD AC121
    acdOutConvADurstring[0..1]Average duration in conversation for outgoing ACD AC122
    pilotAgentStatsRowsPilotAgentStatsRow[0..*]statistics per pilot
    [+] : JSON Example
    boolean
    'boolean' is a data type, having two values (true and false).
    DaysOfWeek
    The days of the week
    ValueDescription
    mondaymonday
    tuesdaytuesday
    wednesdaywednesday
    thursdaythursday
    fridayfriday
    saturdaysaturday
    sundaysunday
    FileType
    Type result file
    ValueDescription
    csvstatistics file as CSV file
    xlsstatistics file as EXCEL file
    int
    'int' is a 32-bit number (-2147483648 to 2147483647).
    Language
    User Language
    ValueDescription
    ENenglish
    FRfrench
    DEGerman
    OnAcdStatsProgress
    Notification sent during a get /acd/stats/data to inform the client on the progression of the processing (requires subscription to "acdstats" event package). During the collect phase, which is supposed to be the longer step, a notification will be sent every N(eg: 10) objects collected
    NameTypeCardinalityDescription
    eventNamestring[1]The name of the event : 'OnAcdStatsProgress'
    supervisorstring[1]Supervisor name
    stepAcdStatsProgressStep[1]Step of the progression
    nbTotObjectsint[0..1]Total nbr of objects (agents or pilots) asked
    nbProcessedObjectsint[0..1]Nbr of processed objects (agents or pilots)
    resPathstring[0..1]File path of the result (partial if res > Max rows)
    fullResPathstring[0..1]File path of the full result (if res > Max rows)
    xlsfullResPathstring[0..1]File path of the full result in xls format
    [+] : JSON Example
    Associated method :
    Periodicity
    When the statististics report is sent
    ValueDescription
    onceonly once
    dailyevery day (default value)
    weeklyevery week
    monthlyevery month
    PeriodType
    Type of selection period
    ValueDescription
    oneDayone day (default value = current day)
    onSeveralDaysfrom a first Day to a last Day (maximum 31 days)
    PilotAgentStatsRow
    Associated Agent Pilot Statistics
    NameTypeCardinalityDescription
    pilotNumberstring[0..1]pilot's number
    pilotNamestring[0..1]pilot's name
    nbCallsReceivedint[0..1]nb calls received for this pilot AC059
    nbCallsTransfInint[0..1]nb calls received by transfer AC060
    nbCallsServedint[0..1]nb calls served AC061
    nbCallsServedTooQuicklyint[0..1]nb calls served too quickly AC062
    nbCallsWithEnquiryint[0..1]nb calls with enquiry AC063
    nbCallsWithHelpint[0..1]nb calls with help AC064
    nbCallsTransfint[0..1]nb calls transferred from agent AC065
    nbCallsTransfToAgentint[0..1]nb calls transferred to agent AC066
    nbCallsInWrapupint[0..1]nb calls in wrap-up AC067
    maxCallProcDurstring[0..1]max duration of call processing AC068
    maxConvDurstring[0..1]max duration of conversation AC069
    maxWrapupDurstring[0..1]max duration of wrap-up AC070
    callProcTDurstring[0..1]Total duration of call processing AC071
    callProcADurstring[0..1]Average duration of call processing AC072
    convTDurstring[0..1]Total duration of conversation AC073
    convADurstring[0..1]Average duration of conversation AC074
    wrapupTDurstring[0..1]Total duration of wrap-up AC075
    wrapupADurstring[0..1]Average duration of wrap-up AC076
    convInWrapupTDurstring[0..1]Total duration of conversation in wrap-up AC077
    busyTimeInWrapupTDurstring[0..1]Total duration of busy time in wrap-up AC078
    onHoldTDurstring[0..1]Total duration of call on hold AC079
    onHoldADurstring[0..1]Average duration of call on hold AC080
    transTDurstring[0..1]Total duration of transaction phase AC081
    transADurstring[0..1]Average duration of transaction phase AC082
    pauseTDurstring[0..1]Total duration of pause AC083
    pauseADurstring[0..1]Average duration of pause AC084
    [+] : JSON Example
    PilotData
    Pilot information
    NameTypeCardinalityDescription
    numberstring[0..1]Pilot phone number
    namestring[0..1]Pilot name
    [+] : JSON Example
    PilotStats
    The statistics for all pilots, corresponding to the same time slot.
    NameTypeCardinalityDescription
    timeSlotstring[0..1]time slot in "yyyy-MM-dd'T'HH:mm" format
    selectedPeriodSelectedPeriod[0..1]statistics selected period
    rowsPilotStatsRow[0..*]list of row statistics
    [+] : JSON Example
    PilotStatsAttrExt
    Structure returned in the getFilter() which contains the pilot attribute information: its DTO value (ex: nbCallsWithTransCode), its nomenclature reference (ex: PC022), its translation in supervisor language(ex: "Calls with transaction code") its description in the user language (ex: "Total number of calls connected to an agent who answered. A transaction code was made" ) is a detailed attribute
    NameTypeCardinalityDescription
    dtoPilotStatsAttribute[0..1]DTO value
    refstring[0..1]Reference in nomenclature
    translstring[0..1]translation in supervisor language
    descrstring[0..1]Description of he attribute in supervisor language
    detailedboolean[0..1]is a detailed attribute
    [+] : JSON Example
    PilotStatsAttribute
    Attributes of a Pilot that may be filtered in the API
    ValueDescription
    nbCallsOpennb calls received in open state
    nbCallsBlockednb calls received in blocked state
    nbCallsForwardnb calls received in general forwarding state
    nbCallsByTransfernb calls received by transfer
    nbCallsByMutualAidnb calls received by mutual_aid
    maxNbSimultCallsmax nb of simultaneous calls
    nbOverflowInQueuenb overflow while calls were in queue
    NbOverflowInRingingnb overflow while calls rung agent
    nbCallsWOQueuingnb calls served without queuing
    nbCallsAfterQueuingnb calls served after queuing
    nbCallsSentInMutualAidQueuenb calls sent in mutual aid queue
    nbCallsRedirectedOutACDAreanb calls redirected outside ACD area
    nbCallsDissuadednb calls dissuaded
    nbCallsDissuadedAfterTryingMutualAidnb calls dissuaded
    nbCallsVGTypePGnb calls processed by VG type PG
    nbCallsSentToPGnb calls sent to remote PG
    nbCallsRejectedLackOfResnb calls rejected due to lack of resource
    nbCallsServedByAgentnb calls served by agent
    nbCallsServedInTimenb calls served in time
    nbCallsServedTooQuicknb calls served too quickly
    nbCallsWithoutTransCodenb calls without transaction code
    nbCallsWithTransCodenb calls with transaction code
    nbCallsRedistribnb calls redistributed
    nbCallsBeforeTS1nb calls served before threshold 1 (eg 5 sec)
    percentCallsBeforeTS1percent calls served before threshold 1 (eg 5 sec)
    nbCallsBeforeTS2nb calls served before threshold 2 (eg 15 sec)
    percentCallsBeforeTS2percent calls served before threshold 2 (eg 15 sec)
    nbCallsBeforeTS3nb calls served before threshold 3 (eg 30 sec)
    percentCallsBeforeTS3percent calls served before threshold 3 (eg 30 sec)
    nbCallsBeforeTS4nb calls served before 60 sec
    percentCallsBeforeTS4percent calls served before threshold 4 (eg 60 sec)
    nbCallsAfterTS4nb calls served after threshold 4 (eg 60 sec)
    percentCallsAfterTS4percent calls served after threshold 4 (eg 60 sec)
    nbAbandonsOnGreetingsVGNb of abandons on Greeting voice guide
    nbAbandonsOn1WaitingVGNb of abandons on 1st waiting voice guide
    nbAbandonsOn2WaitingVGNb of abandons on 2nd waiting voice guide
    nbAbandonsOn3WaitingVGNb of abandons on 3rd waiting voice guide
    nbAbandonsOn4WaitingVGNb of abandons on 4th waiting voice guide
    nbAbandonsOn5WaitingVGNb of abandons on 5th waiting voice guide
    nbAbandonsOn6WaitingVGNb of abandons on 6th waiting voice guide
    nbAbandonsOnRingingNb of abandons on ringing
    nbAbandonsOnGenFwdVGNb of abandons on Generam Fwd voice guide
    nbAbandonsOnBlockedVGNb of abandons on blocked voice guide
    nbAbandonsOnAgentBusyNb of abandons of direct calls while they was waiting on agent busy
    nbAbandonsOverall number of abandons
    nbAbandonsBeforeTS1Nb number of abandons before threshold 1 (eg 5 sec)
    percentAbandonsBeforeTS1percent of abandons before threshold 1 (eg 5 sec)
    nbAbandonsBeforeTS2Nb number of abandons before threshold 2 (eg 15 sec)
    percentAbandonsBeforeTS2percent of abandons before threshold 2 (eg 15 sec)
    nbAbandonsBeforeTS3Nb number of abandons before threshold 3 (eg 30 sec)
    percentAbandonsBeforeTS3percent of abandons before threshold 3 (eg 30 sec)
    nbAbandonsBeforeTS4Nb number of abandons before threshold 4 (eg 60 sec)
    percentAbandonsBeforeTS4percent of abandons before threshold 4 (eg 60 sec)
    nbAbandonsAfterTS4Nb number of abandons after threshold 4 (eg 60 sec)
    percentAbandonsAfterTS4percent of abandons after threshold 4 (eg 60 sec)
    callProcTDurTotal duration of call processing
    callProcADurAverage duration of call processing
    greetingListenTDurTotal duration of greeting guide listening
    greetingListenADurAverage duration of greeting guide listening
    beforeQueuingTDurTotal time before queuing
    waitServedCallsTDurTotal waiting duration of served calls
    waitServedCallsADurAverage waiting duration of served calls
    waitAbandonnedCallsTDurTotal waiting duration of abandonned calls
    waitAbandonnedCallsADurAverage waiting duration of abandonned calls
    ringingTDurTotal duration of ringing
    ringingADurAverage duration of ringing
    convTDurTotal duration of conv
    convADurAverage duration of conv
    holdCallsTDurTotal duration of hold calls
    holdCallsADurAverage duration of hold calls
    wrapupTDurTotal duration of wrapup
    wrapupADurAverage duration of wrapup
    longestWaitingDurLongest waiting time
    serviceLevelService level
    efficiencyEfficiency
    inServiceStateIn service (pilot state percent )
    genFwdStateGeneral forwarding (pilot state percent)
    blockedStateBlocked (pilot state percent)
    dnbTotReceivedCallsNb total received calls
    dnbCallsOpenNb received calls in Pilot open
    dnbCallsBlockedNb received calls in Pilot blocked
    dnbCallsForwardNb received calls in Pilot General Forwarding
    dnbDirectRouteNb received calls in direct routing
    dnbIndirectRouteNb received calls in indirect routing
    dnbTotServedCallsNb total served calls
    defficiencyACD Served calls efficiency
    dnbCallsWOQueuingNb ACD Served calls (Without queuing)
    dnbCallsAfterQueuingNb ACD Served calls (after queuing)
    dnbCallsBeforeTS1Nb ACD Served calls before threshold 1(eg 5 sec)
    dnbCallsBeforeTS2Nb ACD Served calls before threshold 2(eg 15 sec)
    dnbCallsBeforeTS3Nb ACD Served calls before threshold 3(eg 30 sec)
    dnbCallsBeforeTS4Nb ACD Served calls before threshold 4(eg 60 sec)
    dnbCallsAfterTS4Nb ACD Served calls after threshold 4(eg 60 sec)
    dwaitServedCallsADurACD Served calls (Average waiting time)
    dnbAbandonsNb total abandons
    dnbAbandonsOnGreetingsVGNb abandons on greetings VG
    dnbAbandonsOnWaitingVGNb abandons on waiting VG
    dnbAbandonsBeforeTS1Nb number of abandons before threshold 1(eg 5s)
    dnbAbandonsBeforeTS2Nb number of abandons before threshold 2(eg 15s)
    dnbAbandonsBeforeTS3Nb number of abandons before threshold 3(eg 30s)
    dnbAbandonsBeforeTS4Nb number of abandons before threshold 4(eg 60s)
    dnbAbandonsAfterTS4Nb number of abandons after threshold 4(eg 60s)
    dnbCallsRejectedLackOfResnb calls rejected due to lack of resource
    dnbCallsDissuadednb calls dissuaded
    dnbTotCallsRedirectednb total redirected calls
    dnbCallsRedirectedOutACDAreanb calls redirected outside ACD area
    dnbCallsSentInMutualAidQueuenb calls sent in mutual aid queue
    dnbCallsSentToPGnb calls sent to remote PG
    dserviceLevelService level
    defficiency2Efficiency
    dcallProcADurAverage duration of call processing
    dconvADurAverage duration of conv
    dwrapupADurAverage duration of wrapup
    dholdCallsADurAverage duration of hold calls
    dringingADurAverage duration of ringing
    dwaitingADurAverage duration of waiting
    dlongestWaitingDurLongest waiting time
    ALLAll attributes in context creation.
    PilotStatsRow
    Pilot statistics (one row)
    NameTypeCardinalityDescription
    datestring[0..1]Formated End date of the raw
    yearstring[0..1]year of the raw
    monthstring[0..1]month of the raw
    daystring[0..1]day of the raw
    hourstring[0..1]hour of the raw
    minutestring[0..1]minute of the raw
    queueNamestring[0..1]queue's name
    pilotNamestring[0..1]Pilot's name
    pilotNumberstring[0..1]Pilot's number
    nbCallsOpenint[0..1]nb calls received in open state PC001
    nbCallsBlockedint[0..1]nb calls received in blocked state PC002
    nbCallsForwardint[0..1]nb calls received in general forwarding state PC003
    nbCallsByTransferint[0..1]nb calls received by transfer PC004
    nbCallsByMutualAidint[0..1]nb calls received by mutual_aid PC005
    maxNbSimultCallsint[0..1]max nb of simultaneous calls PC006
    nbOverflowInQueueint[0..1]Timing overflow while calls were in queue PC007
    NbOverflowInRingingint[0..1]Timing overflow while calls rung agent PC008
    nbCallsWOQueuingint[0..1]nb calls served without queuing PC009
    nbCallsAfterQueuingint[0..1]nb calls served after queuing PC010
    nbCallsSentInMutualAidQueueint[0..1]nb calls sent in mutual aid queue PC011
    nbCallsRedirectedOutACDAreaint[0..1]nb calls redirected outside ACD area PC012
    nbCallsDissuadedint[0..1]nb calls dissuaded PC013
    nbCallsDissuadedAfterTryingMutualAidint[0..1]nb calls dissuaded PC014
    nbCallsVGTypePGint[0..1]nb calls processed by VG type PG PC015
    nbCallsSentToPGint[0..1]nb calls sent to remote PG PC016
    nbCallsRejectedLackOfResint[0..1]nb calls rejected due to lack of resource PC017
    nbCallsServedByAgentint[0..1]nb calls served by agent PC018
    nbCallsServedInTimeint[0..1]nb calls served in time PC019
    nbCallsServedTooQuickint[0..1]nb calls served too quickly PC020
    nbCallsWithoutTransCodeint[0..1]nb calls without transaction code PC021
    nbCallsWithTransCodeint[0..1]nb calls with transaction code PC022
    nbCallsRedistribint[0..1]nb calls redistributed PC023
    nbCallsBeforeTS1int[0..1]nb calls served before threshold 1 (eg 5 sec) PC024
    percentCallsBeforeTS1string[0..1]percent calls served before threshold (eg 5 sec) PC025
    nbCallsBeforeTS2int[0..1]nb calls served before threshold 2 (eg 15 sec) PC026
    percentCallsBeforeTS2string[0..1]percent calls served before threshold 2 (eg 15 sec) PC027
    nbCallsBeforeTS3int[0..1]nb calls served before threshold 3 (eg 30 sec) PC028
    percentCallsBeforeTS3string[0..1]percent calls served before threshold 3 (eg 30 sec) PC029
    nbCallsBeforeTS4int[0..1]nb calls served before threshold 4 (eg 60 sec) PC030
    percentCallsBeforeTS4string[0..1]percent calls served before threshold 4 (eg 60 sec) PC031
    nbCallsAfterTS4int[0..1]nb calls served after threshold 4 (eg 60 sec) PC032
    percentCallsAfterTS4string[0..1]percent calls served after threshold 4 (eg 60 sec) PC033
    nbAbandonsOnGreetingsVGint[0..1]Nb of abandons on Greeting voice guide PC034
    nbAbandonsOn1WaitingVGint[0..1]Nb of abandons on 1st waiting voice guide PC035
    nbAbandonsOn2WaitingVGint[0..1]Nb of abandons on 2nd waiting voice guide PC036
    nbAbandonsOn3WaitingVGint[0..1]Nb of abandons on 3rd waiting voice guide PC037
    nbAbandonsOn4WaitingVGint[0..1]Nb of abandons on 4th waiting voice guide PC038
    nbAbandonsOn5WaitingVGint[0..1]Nb of abandons on 5th waiting voice guide PC039
    nbAbandonsOn6WaitingVGint[0..1]Nb of abandons on 6th waiting voice guide PC040
    nbAbandonsOnRingingint[0..1]Nb of abandons on ringing PC041
    nbAbandonsOnGenFwdVGint[0..1]Nb of abandons on Generam Fwd voice guide PC042
    nbAbandonsOnBlockedVGint[0..1]Nb of abandons on blocked voice guide PC043
    nbAbandonsOnAgentBusyint[0..1]Nb of abandons of direct calls while they was waiting on agent busy PC044
    nbAbandonsint[0..1]Overall number of abandons PC045
    nbAbandonsBeforeTS1int[0..1]Nb number of abandons before threshold 1 (eg 5s) PC046
    percentAbandonsBeforeTS1string[0..1]percent of abandons before threshold 1 (eg 5s) PC047
    nbAbandonsBeforeTS2int[0..1]Nb number of abandons before threshold 2 (eg 15s) PC048
    percentAbandonsBeforeTS2string[0..1]percent of abandons before threshold 2 (eg 15s) PC049
    nbAbandonsBeforeTS3int[0..1]Nb number of abandons before threshold 3 (eg 30s) PC050
    percentAbandonsBeforeTS3string[0..1]percent of abandons before threshold 3 (eg 30s) PC051
    nbAbandonsBeforeTS4int[0..1]Nb number of abandons before threshold 4 (eg 60s) PC052
    percentAbandonsBeforeTS4string[0..1]percent of abandons before threshold 4 (eg 60s) PC053
    nbAbandonsAfterTS4int[0..1]Nb number of abandons after threshold 4 (eg 60s) PC054
    percentAbandonsAfterTS4string[0..1]percent of abandons after threshold 4 (eg 60s) PC055
    callProcTDurstring[0..1]Total duration of call processing PC056
    callProcADurstring[0..1]Average duration of call processing PC057
    greetingListenTDurstring[0..1]Total duration of greeting guide listening PC058
    greetingListenADurstring[0..1]Average duration of greeting guide listening PC059
    beforeQueuingTDurstring[0..1]Total time before queuing PC060
    waitServedCallsTDurstring[0..1]Total waiting duration of served calls PC061
    waitServedCallsADurstring[0..1]Average waiting duration of served calls PC062
    waitAbandonnedCallsTDurstring[0..1]Total waiting duration of abandonned calls PC063
    waitAbandonnedCallsADurstring[0..1]Average waiting duration of abandonned calls PC064
    ringingTDurstring[0..1]Total duration of ringing PC065
    ringingADurstring[0..1]Average duration of ringing PC066
    convTDurstring[0..1]Total duration of conv PC067
    convADurstring[0..1]Average duration of conv PC068
    holdCallsTDurstring[0..1]Total duration of hold calls PC069
    holdCallsADurstring[0..1]Average duration of hold calls PC070
    wrapupTDurstring[0..1]Total duration of wrapup PC071
    wrapupADurstring[0..1]Average duration of wrapup PC072
    longestWaitingDurstring[0..1]Longest waiting time PC073
    serviceLevelstring[0..1]Service level PC077
    efficiencystring[0..1]Efficiency PC078
    inServiceStatestring[0..1]In service (pilot state percent) PC079
    genFwdStatestring[0..1]General forwarding (pilot state percent) PC080
    blockedStatestring[0..1]Blocked (pilot state percent) PC081
    dnbTotReceivedCallsint[0..1]Nb total received calls PC082
    dnbCallsOpenint[0..1]Nb received calls in Pilot open PC083
    dnbCallsBlockedint[0..1]Nb received calls in Pilot blocked PC084
    dnbCallsForwardint[0..1]Nb received calls in Pilot General Forwarding PC085
    dnbDirectRouteint[0..1]Nb received calls in direct routing PC086
    dnbIndirectRouteint[0..1]Nb received calls in indirect routing PC087
    dnbTotServedCallsint[0..1]Nb total served calls PC088
    defficiencystring[0..1]ACD Served calls efficiency PC089
    dnbCallsWOQueuingint[0..1]Nb ACD Served calls (Without queuing) PC090
    dnbCallsAfterQueuingint[0..1]Nb ACD Served calls (after queuing) PC091
    dnbCallsBeforeTS1int[0..1]Nb ACD Served calls before threshold 1 (eg 5 sec) PC092
    dnbCallsBeforeTS2int[0..1]Nb ACD Served calls before threshold 2 (eg 15 sec) PC093
    dnbCallsBeforeTS3int[0..1]Nb ACD Served calls before threshold 3 (eg 30 sec) PC094
    dnbCallsBeforeTS4int[0..1]Nb ACD Served calls before threshold 4 (eg 60 sec) PC095
    dnbCallsAfterTS4int[0..1]Nb ACD Served calls after threshold 4 (eg 60 sec) PC096
    dwaitServedCallsADurstring[0..1]ACD Served calls (Average waiting time) PC097
    dnbAbandonsint[0..1]Nb total abandons PC098
    dnbAbandonsOnGreetingsVGint[0..1]Nb abandons on greetings VG PC099
    dnbAbandonsOnWaitingVGint[0..1]Nb abandons on waiting VG PC100
    dnbAbandonsBeforeTS1int[0..1]Nb number of abandons before threshold 1 (eg 5s) PC101
    dnbAbandonsBeforeTS2int[0..1]Nb number of abandons before threshold 2 (eg 15s) PC102
    dnbAbandonsBeforeTS3int[0..1]Nb number of abandons before threshold 3 (eg 30s) PC103
    dnbAbandonsBeforeTS4int[0..1]Nb number of abandons before threshold 4 (eg 60s) PC104
    dnbAbandonsAfterTS4int[0..1]Nb number of abandons after threshold 4 (eg 60s) PC105
    dnbCallsRejectedLackOfResint[0..1]nb calls rejected due to lack of resource PC106
    dnbCallsDissuadedint[0..1]nb calls dissuaded PC107
    dnbTotCallsRedirectedint[0..1]nb total redirected calls PC108
    dnbCallsRedirectedOutACDAreaint[0..1]nb calls redirected outside ACD area PC109
    dnbCallsSentInMutualAidQueueint[0..1]nb calls sent in mutual aid queue PC110
    dnbCallsSentToPGint[0..1]nb calls sent to remote PG PC111
    dserviceLevelstring[0..1]Service level PC112
    defficiency2string[0..1]Efficiency PC113
    dcallProcADurstring[0..1]Average duration of call processing PC114
    dconvADurstring[0..1]Average duration of conv PC115
    dwrapupADurstring[0..1]Average duration of wrapup PC116
    dholdCallsADurstring[0..1]Average duration of hold calls PC117
    dringingADurstring[0..1]Average duration of ringing PC118
    dwaitingADurstring[0..1]Average duration of waiting PC119
    dlongestWaitingDurstring[0..1]Longest waiting time PC120
    [+] : JSON Example
    ReportFrequency
    Frequency and day when the report is generated
    NameTypeCardinalityDescription
    periodicityPeriodicity[1]Periodicity
    daysInWeekDaysOfWeek[0..*]If weekly, the day in the week
    dayInMonthint[0..1]If monthly, the day in the month(1-31) or 0 for last day
    [+] : JSON Example
    RespId
    Histogram information.
    NameTypeCardinalityDescription
    idstring[0..1]the identifier
    [+] : JSON Example
    Associated methods :
    ScheduledPeriodType
    Type of selection period
    ValueDescription
    currentDaycurrent day
    currentWeekthe current week
    currentMonththe current month
    lastDaysthe n last days(from the current day, n <= 31)
    lastWeeksthe n last weeks(n <= 4)
    lastMonththe last month
    fromDateToDatefrom a date to a date
    ScheduledSelPeriod
    Selected period for scheduling a report: type of period, begin Date/end Date
    NameTypeCardinalityDescription
    periodTypeScheduledPeriodType[1]scheduled period type: the current day/week/month/last days/
    lastNbint[0..1]nb of last days(max=31)/weeks(max=4)/months(max=1)
    beginDatestring[0..1]Begin date in format(yyyy-MM-dd'T'HH:mm): begin of selection period if periodType is from date to date
    endDatestring[0..1]End date in format(yyyy-MM-dd'T'HH:mm): end of selection period if periodType is from date to date (maximum 31 days)
    [+] : JSON Example
    ScheduledState
    Type of slot period
    ValueDescription
    Not_executedNot yet executed
    ExecutedExecuted at least once time and last execution succeeded
    Failed_On_Get_DataLast execution failed when collecting data
    Failed_On_Send_MailLast execution failed when sending mail
    In_progressData collect is in progress
    ExpiredExpired
    SelectedPeriod
    Selected period : type of period, begin Date/end Date
    NameTypeCardinalityDescription
    periodTypePeriodType[1]type of selected period: one or several days
    slotTypeSlotType[0..1]if periodType is on oneDay, type of slot (1/4h, 1/2h or 1h)
    beginDatestring[0..1]Begin date in format(yyyy-MM-dd'T'HH:mm): the chosen day or the begin of selection period (default = current day)
    endDatestring[0..1]End date in format(yyyy-MM-dd'T'HH:mm): end of selection period (valid only for a several days period, default = current day)
    [+] : JSON Example
    SlotType
    Type of slot period
    ValueDescription
    aQuarterOfAnHourstatistics slot duration is 15 minutes
    halfAnHourstatistics slot duration is 30 minutes
    anHourstatistics slot duration is one hour
    Stats
    The global statistics result for a supervisor.
    NameTypeCardinalityDescription
    supervisorstring[0..1]supervisor requester of the statistics
    agentsStatsAgentStats[0..*]Statistics for set of agents
    pilotsStatsPilotStats[0..*]Statistics for set of pilots
    [+] : JSON Example
    Associated method :
    StatsAgentFilter
    Agent filter: contains list of numbers and list of attributes for statistics
    NameTypeCardinalityDescription
    numbersstring[0..*]List of Agent numbers
    agentAttributesAgentAttribute[0..*]List of Agent statistics attributes
    pilotAttributesAgentPilotStatsAttribute[0..*]List of pilot statistics attributes
    [+] : JSON Example
    StatsAgentFilterResp
    Agent filter: contains list of numbers and list of attributes for statistics
    NameTypeCardinalityDescription
    agentsDetailsSupervisedData[0..*]List of Agents details
    agentAttrExtsAgentStatsAttrExt[0..*]List of Agent statistics attributes extended
    pilotAttrExtsAgentPilotStatsAttrExt[0..*]List of pilot statistics attributes extended
    [+] : JSON Example
    StatsContext
    Statistics context with period and filters for agent and pilot objects. The context may specify:
    • a filter (selected agents and pilots with their respective data fields),
    • an observation period (limited to 31 days),
    • schedule informations(generation and sending of regular reports)
    if the context already exists, it is updated with the present attributes.
    NameTypeCardinalityDescription
    ctxIdstring[0..1]identifier of the context. Return in result, ignored when creating or modifying a new context
    supervisorIdstring[0..1]Supervisor identifier, i.e. its number. Return in result, ignored when creating or modifying a new context
    labelstring[0..1]context label
    descriptionstring[0..1]description
    isScheduledboolean[0..1]is this context scheduled (at least once)
    filterStatsFilter[1]Filter on objects(agents or(exclusive) pilots)
    [+] : JSON Example
    Associated methods :
    StatsContexts
    List of stats contexts
    NameTypeCardinalityDescription
    contextsStatsContext[0..*]List of contexts
    [+] : JSON Example
    Associated method :
    StatsFilter
    Statistics attribute filters for agents or(exclusive) pilots. Agent filter and pilot filter must not be present at the same time in a create/modify context.
    NameTypeCardinalityDescription
    agentFilterStatsAgentFilter[0..1]Filter on agents (if present, the pilot filter will be ignored)
    pilotFilterStatsPilotFilter[0..1]Filter on pilots (only considered if agent filter is absent)
    [+] : JSON Example
    StatsFilterResp
    Statistics attribute filters for agents or(exclusive) pilots.
    NameTypeCardinalityDescription
    agentFilterStatsAgentFilterResp[0..1]Filter on agents
    pilotFilterStatsPilotFilterResp[0..1]Filter on pilots (only present if agent filter is absent)
    [+] : JSON Example
    Associated method :
    StatsPilotFilter
    Pilot filter: contains list of numbers and list of attributes for statistics
    NameTypeCardinalityDescription
    numbersstring[0..*]List of pilot numbers
    attributesPilotStatsAttribute[0..*]List of pilot statistics attributes
    [+] : JSON Example
    StatsPilotFilterResp
    Pilot filter: contains list of numbers and list of attributes for statistics
    NameTypeCardinalityDescription
    pilotsPilotData[0..*]List of pilot data
    attrExtsPilotStatsAttrExt[0..*]List of pilot statistics attributes extended
    [+] : JSON Example
    StatsSchedule
    Statistics scheduling context to receive the reports
    NameTypeCardinalityDescription
    namestring[1]Name of the report: the name must be unique.
    descriptionstring[0..1]Description of the report
    obsPeriodScheduledSelPeriod[1]Period of observation
    frequencyReportFrequency[1]Frequency of the reports
    recipientsstring[1..*]Destination of the report (list of mail addresses)
    stateScheduledState[0..1]State of execution of the report (only set by server)
    enableboolean[0..1]Is this schedule enable (false if not present)
    lastExecDatestring[0..1]Last execution date
    fileTypeFileType[0..1]

    Since version 2.7.4

    Type of the result file
    [+] : JSON Example
    Associated methods :
    StatsSchedules
    List of stats schedules
    NameTypeCardinalityDescription
    schedulesStatsSchedule[0..*]List of contexts
    [+] : JSON Example
    Associated method :
    StatsScope
    Supervisor scope defines the list of agent numbers amongs which the supervisor can define a filter context
    NameTypeCardinalityDescription
    supervisorSupervisorData[1]Supervisor information
    agentsSupervisedData[0..*]List of supervised agents
    [+] : JSON Example
    Associated method :
    StatsScopeAnswer
    NameTypeCardinalityDescription
    [+] : JSON Example
    Associated method :
    string
    'string' represents character strings.
    SupervisedData
    Supervised agent information
    NameTypeCardinalityDescription
    numberstring[1]Supervised phone number
    loginNamestring[0..1]application loginName
    firstNamestring[0..1]firstName
    lastNamestring[0..1]lastName
    groupNamestring[0..1]groupName
    [+] : JSON Example
    SupervisorData
    Supervisor information (identifier, language, timezone)
    NameTypeCardinalityDescription
    identifierstring[1]Supervisor identifier
    languageLanguage[0..1]language
    timezonestring[0..1]time zone used by the supervisor: a string containing a valid UTC offset from "-11:00" to "+12:00"
    [+] : JSON Example
    Associated method :