Cisco Cisco Unified Customer Voice Portal 11.0(1) Developer's Guide
C
HAPTER
2:
U
NIFIED
CVP
API
I
NTRODUCTION
P
ROGRAMMING
G
UIDE FOR
C
ISCO
U
NIFIED
CVP
VXML
S
ERVER
AND
C
ISCO
U
NIFIED
C
ALL
S
TUDIO
R
ELEASE
4.1(1)
3
Chapter 2: Unified CVP API Introduction
Unified CVP’s API design has three goals: to be simple to use, to provide all the information a
developer may need, and to allow the use of as many programming languages as possible. The
API is used for simple tasks such as getting the ANI of the call or complex tasks such as creating
a custom voice element. The API defines some mechanisms for custom components to integrate
with Call Studio, though the API is primarily used to create components for integration with
VXML Server.
developer may need, and to allow the use of as many programming languages as possible. The
API is used for simple tasks such as getting the ANI of the call or complex tasks such as creating
a custom voice element. The API defines some mechanisms for custom components to integrate
with Call Studio, though the API is primarily used to create components for integration with
VXML Server.
Unified CVP provides a Java API, which is the most efficient way to interface with Unified CVP
software. The Java API is also the most comprehensive; all components can be constructed using
it. It is also the only way to build the components that require integration with Unified CVP
Studio. Many components can be built with an equivalent API called the XML API. This API
works by sending and receiving XML documents over an HTTP connection. This scheme allows
for the use of any programming language with the ability to create and parse XML and handle
HTTP connections. Languages such as Perl or ASP in conjunction with a web server like Apache
are sufficient to interface with VXML Server using the XML APIs. The requirement for
integrating with Call Studio must be through Java, so the XML API is used to construct only
those components that need to integrate with VXML Server. The table below lists each
component, which API can be used to construct it, and whether that component must integrate
with Call Studio.
software. The Java API is also the most comprehensive; all components can be constructed using
it. It is also the only way to build the components that require integration with Unified CVP
Studio. Many components can be built with an equivalent API called the XML API. This API
works by sending and receiving XML documents over an HTTP connection. This scheme allows
for the use of any programming language with the ability to create and parse XML and handle
HTTP connections. Languages such as Perl or ASP in conjunction with a web server like Apache
are sufficient to interface with VXML Server using the XML APIs. The requirement for
integrating with Call Studio must be through Java, so the XML API is used to construct only
those components that need to integrate with VXML Server. The table below lists each
component, which API can be used to construct it, and whether that component must integrate
with Call Studio.
Unified CVP Component
Build With
Java API
Build With
XML API
Call
Studio
Integration
On Call Start / On Call End Actions
Yes
Yes
No
Dynamic Element Configurations
Yes
Yes
No
Generic Action and Decision Elements
Yes
Yes
No
Hotevents Yes
No
No
Say It Smart Plugins
Yes
No
Yes
On Application Start / End Actions
Yes
No
No
Loggers Yes
No
No
On Error Notification
Yes
No
No
Java API
There are two parts of the Unified CVP Java API: a set of Java interfaces and classes that are
implemented or extended to build a custom component and a set of classes used by those
components to obtain information on the environment in which the call is occurring. Each
component implements or extends a different class, though many of them share a common base.
Similarly, the class used to obtain environment information differs for each component, though
each of those classes shares a common base class.
implemented or extended to build a custom component and a set of classes used by those
components to obtain information on the environment in which the call is occurring. Each
component implements or extends a different class, though many of them share a common base.
Similarly, the class used to obtain environment information differs for each component, though
each of those classes shares a common base class.