The Contact Control Service (CCS) is a component on the AACC/ACCS server which provides agent and contact control services for third party applications.
Applications can communicate with the Contact Control Service by developing against the Contact Control Service Application Programming Interface (CCS API).The Application Programming Interface (API) communicates with the Contact Control Service through WebSockets.
Requests are transmitted from the API to the Contact Control Service over a proprietary HTTP-like protocol. Events are transmitted from the Contact Control Service to the API over a proprietary JSON-like protocol.The Contact Control Service Software Development Kit (CCS SDK) is the packaged resources that are required to develop an application that is compliant with the Contact Control Service. The CCS SDK packaged zip contains;
Contact Control Service Application Programming Interface (CCS API) Contact Control Service JavaScript Reference Client Relevant documentation The CCS API library ccs-min.js is located in the API directory of the packaged SDK. The CCS Reference Client is located in the RefClientJS directory of the packaged SDK. The documentation is located in the docs directory of the packaged SDK.The Contact Control Service Application Programming Interface (CCS API) defines the set of interfaces to provide JavaScript developers with access to the Contact Control Service. The starting point when developing a CCS API compliant application is the creation of an instance of a Client object. Once an instance of this interface is obtained, the API methods defined on this object can be used to access the Contact Control Service.
The following is a high level overview of the API classes next sections will describe the defined classes and the eventing structure of the API.The Client class represents the CCS API's connection to the Contact Control Service.
An instance of the Client class will have an open WebSocket to the Contact Control Service. For High Availability solutions, there are Contact Control Service instances on each of the High Availability Contact Center servers. For Mission Critical High Availability campus solutions the client will have a WebSocket open to each of the High Availability Contact Center servers (one WebSocket to the Active Contact Center and one WebSocket to the Standby Contact Center). Please see the Client for detailed information.The Session class represents an authenticated session with the Contact Control Service.
An instance of the Client class will have at any one time a single Session object associated after successful SignIn. A successful signin and authentication is required to gain access to the Contact Control Service. Please see Session for more detailed information.The User class represents a Contact Center User (Agent or Supervisor) in the Contact Control Service.
A User object allows the application to control the Contact Center User. A User object is associated with a Session and there can be one user per session. The User object associated to a session can be accessed by invoking OpenUsers once a new session has been created. Please see User for detailed information.The Resource class represents a Contact Center Users device or endpoint.
A Resource object allows the application to control the Contact Center Users device. A Resource object is associated with a Session. The Resource object in a session can be accessed by invoking OpenResources once a new session has been created. Please see Resource for detailed information.The Interaction class represents a Contact Center User's (Agent or Supervisor) interaction with a Contact in the Contact Center.
An Interaction object allows the application to control the Contact Center Users participation in the Contact as well as access the details of the Contact. There can be multiple interactions in a Session at any given time. The Interaction objects in a session can be accessed by invoking OpenInteractions once a new session has been created. Please see User for detailed information.The MonitoredUser class represents a monitored Contact Center User from the point of view of their Supervisor in the Contact Control Service.
A MonitoredUser object allows the application to invoke supervisor operations on a user in the Contact Control Service. The MonitoredUser objects are associated with the Supervisors User object and there can be multiple monitored users on a Supervisor user. The MonitoredUser objects can be accessed by invoking MonitorUsers on the Supervisors user. Please see User and MonitoredUser for detailed information.The MonitoredInteraction class represents an Interaction object at a User object from the point of view their Supervisor in the Contact Control Service.
A MonitoredInteraction object allows the application to invoke supervisor operations on an interaction in the Contact Control Service. There can be multiple monitored interactions on a Supervisor user. The MonitoredInteraction objects can be accessed by invoking MonitoredInteractions. Please see Interaction and MonitoredInteraction for detailed information.