The ICWS
API is versioned in two important ways. Groups of related APIs, called features, are versioned together as Feature Versions. API consumers should use the Feature Versions when determining which APIs are supported by the server. The Interaction Center server installation also has a version number is also made available for informational purposes.
These values only change when the server is updated, so an application can use caching strategies rather than repeatedly query the feature versions of the server.
Groups of APIs are versioned together as a set called a Feature
. The Version
for each Feature
is a positive integer value. When items are added to an API or a new API is added to a Feature
, the version number for that Feature
is increased.
All APIs are documented with the Feature
and Version
that the API was first introduced to the ICWS
API. When items are added to an existing API, the individual items will indicate which Version
they were introduced. For more on the documentation, see Versions.
The Versions
for all Feature
on a ICWS
server can be acquired using GET /icws/connection/features. If an application is interested in a specific Feature
, GET /icws/connection/features/{featureId} can be used to get a single Version
. If a Feature
is not included, it can be assumed that the server does not support that Feature
.
Simple integer values for the Version
values are used so that client applications may perform simple integer comparison when determining whether or not a server supports the desired functionality. Well-formed applications will use the Feature
provided by the server to change application logic to match the functionality the server supports. Since individual items on APIs are also versioned, applications can be written to provide basic functionality to older versions of ICWS
while also being able to provide advanced functionality to those instances of ICWS
that support higher Version
. This allows an application written once to be used across multiple installations of Interaction Center.
In some cases, a part of the ICWS
API may have multiple Features
listed in the documentation. In this case the part of the API is supported if the server supports any of the Features
listed.
If an API element is no longer supported, it will be documented with the Version
in which the API was obsoleted in the ICWS
API. If the API has multiple Features
listed, each will have its own obsolete version. For more on the documentation, see Obsolete Versions.
A server's overall installed version information can also be queried using GET /icws/connection/version. This general version information is primarily for informational purposes but in rare cases may be useful to programmatically determine whether required functionality is available for broader API additions that were introduced with a release.