Developing on Voximplant: Voximplant Management APIs
At Voximplant, we often refer to our unique serverless architecture and how it enables developers to easily build and rapidly scale a communications application in the cloud. You may not know Voximplant also offers a set of complementary Management APIs that enable you to control and manage the Voximplant cloud platform from your own servers. You can initiate and control any type of Voximplant communications session using the Management API, formerly known as the “HTTP API”, and our client libraries for the most popular programming environments.
The Management API is an integral component in the Voximplant triad of development tools. Together with a complete set of client SDKs and the VoxEngine serverless environment, Voximplant offers flexible tool sets that empower application developers to create a wide range of innovative communications services.
In this blog, we’ll describe the Management API and how they complement the other tool sets in the triad.
The Voximplant architecture combines power and simplicity
First, let’s describe the Voximplant architecture and how the Management API fits into it. The platform is designed to simplify development and get new communications services to market quickly. It combines three sets of complementary tools that developers can use to create a wide range of communications services. Each tool set includes support for popular development environments, enabling developers to easily add real time communications to server and client-side applications.
Voximplant customers in banking, transportation, hospitality, retail, and other industries have leveraged our platform to deliver exceptional user experiences.
VoxEngine is our full-featured serverless application runtime environment. It enables you to add voice, video and messaging services to your applications without any incremental investments in backend infrastructure. VoxEngine provides an integrated development environment (IDE) that enables you to edit, execute, and debug your code in real time from within a standard web browser.
With VoxEngine, your code is executed automatically when a call arrives at the platform or when triggered by the Management API. Your cloud-based application controls the service delivered to endpoint devices regardless of whether they are PSTN calls, a session initiated by a mobile or web app, or a SIP session with an enterprise communications server (e.g. PBX).
Our cloud application environment enables you to easily scale your service without worrying about capacity limits. It removes the headaches of provisioning servers and monitoring utilization.
Our client SDKs enable you to add communications capabilities to an iOS, Android or web client. They provide complete support for initiation and termination of voice, video and messaging sessions, including client authentication, call control, and device interaction.
Voximplant offers SDKs for popular development environments, including iOS, Android, React Native, Flutter, and Unity.
The Management API, either directly via HTTP methods or via one of our many libraries, combine include back-end operations management functions with powerful call control capabilities. Everything you see and do on the Voximplant web console can be done via this interface and more. Your web application can easily manage our cloud service as well as control the real time communications services it delivers. This call control capability complements the applications you build in the VoxEngine cloud by enabling your web application to call its services.
The APIs automate typical back-end service operations, including provisioning users, call detail reporting, billing and more.
We offer client libraries for popular programming languages that further simplify development. These wrappers abstract some of the details of the API and ensure you’re accessing the latest functionality. We offer Management API client libraries for Go, Python, PHP, node.js, .NET, and Java or reference our curl examples for building your own interface.
What can you do with Voximplant APIs?
We provide a range of classes and functions that can be used to control calls and manage Voximplant built-in features, including call recording, speech recognition, speech synthesis, and much more. These building blocks enable you to create virtually any type of communications service ranging from simple to complex. Here are a few examples:
- Cloud-based contact center system
- Text messaging for two-factor authentication
- Intelligent call routing/forwarding
- Visual voice mail service
Our API provides all the features of alternative CPaaS platforms from Twilio, Plivo and Nexmo but with the added ability to leverage our VoxEngine cloud infrastructure. This gives developers the powerful combination of a highly scalable serverless cloud environment with complete web application controls.
Exploring the Management APIs
Let’s take a deep dive into the major groups of API methods. The Voximplant APIs enable you to automate the entire service lifecycle from provisioning to service delivery and call detail reporting (CDR). The APIs also expose call control functions to your application, enabling you to orchestrate communications together with your business applications.
Methods are logically grouped based on their function.
The Phone Number API enables your application to purchase, activate, and bind phone numbers to users. Voximplant offers a robust inventory of phone numbers in more than 60 countries including phone numbers enabled for SMS.
Phone numbers are offered on-demand, except in countries where regulations require additional steps. This on-demand capability enables your service to instantly activate service for new users.
Phone numbers - This group of methods enables your application to reserve phone numbers for use by your service and activate them for a particular application. All phone numbers are purchased from Voximplant based on country and region criteria. You can also determine whether a number supports SMS and enable SMS if so.
Regulation address - These methods perform lookups to identify government regulations that may apply to a phone number or geographic location. They also enable you to assign a regulation address ID to a phone number for later reference by your application.
Identity and access management (IAM)
Voximplant offers a two-tier account hierarchy that is ideal for white label service providers and other customers who need to segment subscriptions for multiple user communities. The IAM methods enable you to create and manage multiple services that are organized as child accounts. Each child account may be independently configured with subscription values.
Accounts - The methods in this group enable you to create and manage accounts, including assignment of role-based permissions, control of price and rating parameters for your service, and creation of child accounts.
Users - Defines the end-users that may access your communications application and any monetary limits that apply to their usage.
Push credentials - Android and iOS apps cannot display push notifications, such as incoming call alerts, unless they are accompanied by the appropriate credentials. This method group enables your application to create and manage push credentials for Voximplant mobile SDK users.
Dialogflow credentials - These methods enable you to connect your Voximplant application to your Google Dialogflow account. This allows you to add natural language processing features to your communications service.
Authorized IPs - Voximplant enables you to secure access to the service by routable IP4 addresses. This group of methods manages a white/black list that filters access to your service.
You can configure the mechanisms Voximplant uses to charge for its platform services and move funds between users within your account.
Add money to accounts and users - Transfer or add money between any user and account.
Transaction history - This method reports all monetary transactions and provides details about users, accounts and transaction types.
Rules - Voximplant rules define the way communications sessions are routed on the platform. Your application can use rules to make conditional routing decisions based on the scenario.
PSTN blacklist - Manage a phone numbers blacklist for your service to block incoming calls you don’t want. The blacklist applies only to numbers purchased from Voximplant.
SIP registration - the Voximplant platform features a SIP registrar that your service can use to connect SIP clients with each other, Voximplant web and client-SDKs, and with the PSTN using SIP user credentials. The HTTP API methods allow you to add and manage these SIP user credentials.
SIP whitelist - This method enables you to explicitly list IP addresses or ranges that are allowed to interact with your application over SIP.
Logs and Call Detail Reports
The Voximplant platform collects and stores comprehensive call detail records which are accessible via the API to help automate reporting and back-end billing operations.
History - This method group enables you to retrieve and download complete call history data including ACD history. You can specify the data returned based on time interval, call status, session ID, and many other parameters. The method group also provides a range of call status and ACD metrics, including completions, failures, and call counts.
Call Recordings - Retrieves saved voice and video call recordings
The Voximplant platform includes an automatic call distribution (ACD) system that your application can use to create and manage a full-featured contact center service.
Queues - The queue methods group enables you to create, manage, and report on the performance of skills-based queues. You can also use these methods to bind a call to a specific queue.
Skills - This method group works in conjunction with the Queues methods to create a contact center service. The skills methods allow you to establish a skill and bind it to a specific group of users (contact center agents) or a queue.
Call lists - Voximplant features call list processing which enables your application to initiate calls to a list of phone numbers at a prescribed day and time. It is ideal for all types of outbound contact center applications, including marketing campaigns and mass notifications. This method enables you to create a list and control processing. You can upload a call list in CSV file format or create a list in the Voximplant cloud.
Your application can control the transmission of SMS messages and it can receive SMS messages using HTTP callbacks.
P2P - This method group sends text messages from an origination user to a destination user or enables the application to originate and send messages.
A2P - like P2P, but designed for higher volume Application to Person scenarios
Voximplant Management APIs Put Your Application in Control
Voximplant HTTP APIs enable your web application to administer and control the services delivered by our cloud service. They provide a powerful complement to the programmable services delivered by the VoxEngine cloud, enabling your application to initiate and control them.
In addition, the APIs cover traditional operations and administration functions needed to manage any communications service. This provides developers a comprehensive interface that enables them to build rich communications experiences for their users.
You can see the complete Management API reference here in our documentation. Find our Management API library repos on Voximplant’s GitHub page or use your favorite package manager
See the Management API Library links on our docs page for more information.