The Cisco Webex Suite, along with other Cisco Collaboration products like Cisco Unified Communications Manager (CUCM) — which offers call control services for Cisco Webex Calling Dedicated Instance — provides a comprehensive set of Application Programming Interfaces (APIs). These APIs can be used to extend and enhance the product capabilities, management, and diagnostics. This course will guide you through commonly used APIs in the Cisco Webex Suite and CUCM, enabling you to programmatically control messaging, meeting, and calling capabilities, including provisioning tasks common to the Suite.
The goal of this lab is to give you hands-on knowledge of how to use these APIs by starting from the basics and building up to more complex tasks. By the end, you will use these APIs to build a simple web-based management portal that will enable you to simplify a series of complex provisioning and monitoring tasks, such as moving a user from UCM calling to Webex Calling.
Let's walk through a few use cases:
These are just some of the examples of problems that can be solved using APIs. We will explore some of these challenges in this lab and walk you through how to use the APIs to solve them. The intention of this lab is not to make you an expert in any one API, but rather to give you a broad understanding of the capabilities of the APIs and how to use them to solve common problems so you can adapt the knowledge to your own use cases.
To be clear, this lab is not a course about web development or programming in Python, Javascript, or any other language. Although you will use Python and some Javascript, we have provided enough information for those unfamiliar with these languages to complete the tasks. Because of the limited time for this lab and our desire to provide you with as much information as possible, you will see that we have provided you with code to lay the foundation for what you will be building and your tasks will largely be to fill in the important parts of the code to make it work. For your final task in the lab, a basic web page (HTML/CSS/Javascript) has already been created for you and your focus in this lab will be to leverage the collaboration product APIs to accomplish the tasks the portal provides.
Cisco's collaboration prodcts generally use one of two types of APIs: SOAP and Representational State Transfer (REST). Most modern APIs are based on the REST architecture, but most of the on-premises Cisco Collaboration products (including Webex Calling DI) use SOAP so it is important to learn both. We will start with an overview of the two types of APIs and then dig into the specifics of how this applies to the various product APIs in particular. We will walk through some of the tools available to interact with the APIs, how to use the documentation, and how tooks like the AxlToolkit and Webex Software Development Kit (SDK) can help you build applications without having to worry about some of the details of the API.