Welcome

Interaction Center Web Services (ICWS for short) is a programming API that allows developers to create custom applications that leverage the Interaction Center to solve business problems.

ICWS provides a rich API that applications can use to manage sessions with the Interaction Center (IC) server. ICWS provides session creation and logon functions that allow applications to connect with one or more IC servers using various logon options (e.g. user, password, station, remote number, remote station, persistent, audio enabled).

Welcome

Generally speaking, ICWS provides the means to work with Interactions, Directories, People, Configuration, Statistics, Interaction Tracker, and Unified Messaging. It manages connections with the IC server, specifies authentication and station settings, watches for connection state-change events, and performs actions relative to the connected Session user.

Note

Use of the ICWS SDK requires that the Interaction Center server have the "I3_FEATURE_ICWS_SDK" feature license.

ICWS Coverage of IceLib APIs

For those with experience in the IceLib API, additional information about Coverage of IceLib APIs is provided. Custom application developers can use this information when planning a migration from an IceLib-based application to an ICWS-based one.

Documentation Sections

In addition to the API documentation, the following documentation topics are provided to explain concepts and help get started using the Web Service API more quickly and easily.

Releases

The Releases section includes highlights of the ICWS API for each release of the Interaction Center on which it is supported. This includes features that have been added, improved, and changed as well as the supported feature versions for each release.

2019 R3

Details the release of ICWS for the 2019 R3 release of the Interaction Center.

2019 R2

Details the release of ICWS for the 2019 R2 release of the Interaction Center.

2019 R1

Details the release of ICWS for the 2019 R1 release of the Interaction Center.

2018 R5

Details the release of ICWS for the 2018 R5 release of the Interaction Center.

2018 R4

Details the release of ICWS for the 2018 R4 release of the Interaction Center.

2018 R3

Details the release of ICWS for the 2018 R3 release of the Interaction Center.

2018 R2

Details the release of ICWS for the 2018 R2 release of the Interaction Center.

2018 R1

Details the release of ICWS for the 2018 R1 release of the Interaction Center.

2017 R4

Details the release of ICWS for the 2017 R4 release of the Interaction Center.

2017 R3

Details the release of ICWS for the 2017 R3 release of the Interaction Center.

2017 R2

Details the release of ICWS for the 2017 R2 release of the Interaction Center.

2017 R1

Details the release of ICWS for the 2017 R1 release of the Interaction Center.

2016 R4

Details the release of ICWS for the 2016 R4 release of the Interaction Center.

2016 R3

Details the release of ICWS for the 2016 R3 release of the Interaction Center.

2016 R2

Details the release of ICWS for the 2016 R2 release of the Interaction Center.

2016 R1

Details the release of ICWS for the 2016 R1 release of the Interaction Center.

2015 R4

Details the release of ICWS for the 2015 R4 release of the Interaction Center.

2015 R3

Details the release of ICWS for the 2015 R3 release of the Interaction Center.

2015 R2

Details the release of ICWS for the 2015 R2 release of the Interaction Center.

2015 R1

Details the release of ICWS for the 2015 R1 release of the Interaction Center.

4.0 SU 6

Details the initial release of ICWS for the 4.0 SU 6 release of the Interaction Center.

Getting Started

The Getting Started section includes documentation on some key areas of the ICWS API, such as overview information and examples for common use cases. It can be challenging for a new developer to determine where to get started with the elements of a namespace.

These topics are meant to "jump start" that effort, providing some important aspects to be aware of for a particular API area. Additionally, by providing focused example snippets around common tasks, these topics provide quicker understanding of what's possible and how to make those possibilities into reality. Then, the more full-featured example applications extend the core concepts and API usages into the context of developing real applications that allow users to perform larger tasks.

Making Requests

In order to work with the ICWS API, consumer code must make requests to retrieve data or perform operations.

Connecting

This topic describes how to get started with connecting to an IC server.

Event Subscriptions and Messaging

The ICWS API provides access to real time information, including support for subscribing for changes that are delivered as "messages" to the API consumer.

Language-specific Libraries

The ICWS SDK includes helper libraries to simplify common API usages in several languages, including JavaScript, C#, Objective-C, and others.

JavaScript Language-Specific Library

Explains the JavaScript Language-Specific Library and how to get started using it.

Objective-C Language-Specific Library

Explains the Objective-C Language-Specific Library and how to get started using it.

C# Language-Specific Library

Explains the C# Language-Specific Library and how to get started using it.

Example Applications

The ICWS SDK includes example applications that demonstrate usage of various parts of the API for 3rd party developers. These example applications are implemented using various technologies, to provide examples for a wider variety of languages.

Going Further

Explains some more advanced usage scenarios, with details and examples of how to get started with them. This includes topics such as getting/setting configuration values for the Interaction Center server, working with Interactions and Queues, monitoring statistics and alerts, and details about the available information in the statistics catalog.

Configuration

Discusses concepts and provides examples of getting and setting configuration information for the Interaction Center server. This includes retrieving settings for Users, Roles, Workgroups, and so on and support for administrative integrations to configure those objects.

Directories

Discusses concepts and provides examples of managing directories for the Interaction Center server. This includes managing subscriptions for directory metadata, directories, as well as performing directory lookups via the directory lookup entries API.

Interactions and Queues

Details how to work with Interactions and Queues. This includes initiating and monitoring Calls, Chats, Emails, etc. and Queues of those interactions.

Statistics and Alerts

ICWS provides access to real-time statistics for the Interaction Center server. It also provides support for creating and monitoring for alerts on those statistics.

The Statistics Catalog

The Statistics namespace does not include an API element for each available statistic. Instead, it is "metadata based", where the catalog of available statistics can be retrieved from the IC server through the ICWS statistics API. The statistics catalog contains the display name, description, type, units, required statistic parameters (if any), etc. for each available statistic.

Interaction Dialer

Contains supplemental information useful in understanding the Interaction Dialer-specific resource methods, responses, and event messages.

IPA Product Information

Contains supplemental information useful in understanding the IPA-specific resource methods, responses and event messages.

IPA Resource Paths

Contains links to various parts of the ICWS API that related to IPA.

IPA Page and Data Definitions File

Provides details about the file that contains the page definition and data definitions.

Communicating with Handlers

This topic discusses concepts and provides examples of communicating with handlers published on the Interaction Center server.

Concepts

The Concepts section includes documentation on some fundamental concepts which are common to many different areas of the ICWS API. Some concepts are simple, while others contain nuances that can trip up developers. These topics strive to clarify these general points, providing conceptual context for utilizing elements throughout the ICWS API.

Design Principles

Discusses some of the ICWS API design principles and protocol details, such as date / time formatting and support for enumerations.

Representation Object Format

Details the format for representation objects, including advanced cases such as derived complex types and dictionaries.

Documentation Conventions

Explains the conventions used in the ICWS API documentation and provides tips for how to read it. Also explains how to interpret the associated JSON that the web service consumer code would use.

Security

Describes ICWS API security concepts and best practices.

Web Proxies

Explains how to utilize the ICWS API with reverse proxies.

Versioning

Over time, the ICWS API will be extended with additional API elements. As this occurs, newer API consumers might need to work with versioning in order to correctly operate against older Interaction Center servers that do not have support for the newer API. This section describes how to work with versioning and how to read the ICWS API documentation to determine the required version for a specified API element.

Coverage of IceLib APIs

Describes the coverage of IceLib APIs that is provided by the ICWS API. Custom application developers can use this information when planning a migration from an IceLib-based application to an ICWS-based one.