Our 3CX Http API makes it easy to integrate phone functions into your applications. By abstracting the complexities of the 3CX Call Control API into a simple-to-use API, even a novice programmer can integrate with 3CX.
1.1. What are the API Methods?
Our Http API makes it easy for even novice programmers to incorporate 3CX phone functions into your applications. With over a dozen methods to choose from, HTTP API is perfect for helping create your custom 3CX solution.
A view of all the API methods is displayed in the Appendix section of this manual.
Some of the methods that API includes are as mentioned below:
• Drop Call
• Make Call
• Make Call Play File
• Outbound Caller ID
• Park Call
1.2. How does it work?
The API is self-documenting. To display the syntax for a given method, simply call the method without any parameters and the API will return the required syntax along with examples. This makes working with the API simple. For example, to display the syntax for the WhisperTo method, simply call the method by browsing to http://localhost:5505/WhisperTo.aspx and the following table will display:
Figure 1: Display of Syntax for the ‘WhisperTo’ method
1.3. What’s New?
Our API extends the existing 3CX API methods, and adds new API methods. For example, our MakeCall method has the following additional features:
• All parameters are validated to ensure extensions, queues, ring groups, and shared parking orbits exist
• Enforces security by requiring a PIN for extension parameters
• Adds an optional parameter to swap the outbound Caller ID before placing a call
• Supports a default tenant
• Adds an optional parameter to override the default tenant
Before installing 3CX Http API, you need to ensure that your computer meets the minimum requirements mentioned below:
1. 3CX Version 16
2. .Net Framework 4.7.2 (or above)
3. Microsoft Internet Information Server (IIS) 7.0 or above
4. The VoIPTools Relay must be installed directly on the 3CX server
5. The API can be installed on a separate server (recommended)
You can order 3CX Http API on-line at http://www.voiptools.com. Your order confirmation email will include your license key and a link to download the software.
There are a number of prerequisites that must be installed prior to installing 3CX Http API. These prerequisites include Microsoft Internet Information Server (IIS).
Install 3CX Http API
This User Guide contains step-by-step instructions to successfully install 3CX Http API. Begin by extracting the installer from the downloaded zip file (Step 1 above), then run the setup program named VoIPToolsHttpAPIInstaller.exe
Register your License Key
You must register your license key to activate 3CX Http API. Your license key is included in your order confirmation email, and can also be found in your order history on our website. A separate license is required for each server utilizing the API. You do not require license for workstations.
The following section guides you through a detailed walk-through of the installation process.
Step 1: Download 3CX Http API
You can check for the software download link included in your order confirmation email. As an alternative, you can also find the link from your order history on our website.
Step 2: Extract the installer from the downloaded .zip file
The file you downloaded in the above step is a compressed .zip file.
1. Position the mouse on the zip file and right-click.
2. From the popup menu, select Extract All to extract the software.
Step 3: Start the installation process
1. From the extracted folder, find the file VoIPToolsHttpAPIInstaller.exe
2. Double-click the file to start the VoIPTools Setup Wizard.
3. Click Next to continue.
Step 4: Download the VoIPTools 3CX Relay (if required)
3CX permits one 3rd party application to communicate with the 3CX server at a time. To overcome this limitation, VoIPTools created the 3CX Relay Service. The Relay is a lightweight application that is installed directly on the 3CX server. The Relay exposes the 3CX Call Control API (and other VoIPTools services) to all our applications, and manages requests and events between by VoIPTools products and 3CX. The Relay also makes it possible to install our VoIPTools products on a remote server (including over the internet).
1. If you have not previously installed the Relay on your 3CX Server, you can download the Relay installer by clicking on the Download Relay button. The Relay must be installed directly on the 3CX server.
2. If you are installing 3CX Http API directly on the 3CX server, you can install the Relay simply by clicking the Install/ Upgrade Relay button and following the Relay install instructions.
Step 5: Test Relay Settings
1. In the Relay Type drop down, select Legacy Relay for old Relay or New Relay for new Relay based on the 3CX version of your application.
If you choose ‘Relay Type’ as ‘Legacy Relay’ then ‘3CX Http API’ will communicate with old Relay Service, and if you choose ‘New Relay’ then it will communicate with new Relay Service.
2. In the Relay Services Host field, enter “localhost” if installing ‘3CX Http API’ on the 3CX server. If 3CX resides on a different server, enter the IP address or FQDN of the 3CX server.
3. In the Relay Services Port field, enter the value as 8700 for Legacy Relayor 8800 for New Relay.
The ‘3CX Http API’ will take default port as 8700 for ‘Legacy Relay’ and 8800 for ‘New Relay’. If the default port number doesn’t appear automatically, you can manually enter the respective default port number.
4. Click Test Relay Settings to confirm ‘3CX Http API’ can communicate with the Relay services running on the 3CX server.
5. If the ‘3CX Http API’ is successfully able to communicate with the Relay services that run on the 3CX server, a Success message box appears. Click OK.
6. Click Next to continue the installation.
Step 6: Run the Application
When the installation is complete, click Run Application button.
Step 7: Registration
Registration is required to authorize your license key. Registering also makes it possible for VoIPTools to provide a replacement key if your license key is ever lost. Also, it enables VoIPTools to notify you of any product updates, and reminders if your key is reaching the renewal date.
Instructions to Register the software:
1. On the Settings menu, and in the License tab, enter your registration information in all the fields (Note the red dot denotes a required field).
2. Click Register.
Visit our website to access our on-line manuals and receive quick answers to most of your questions. Otherwise, you can contact us by phone, email, live chat and on the VoIPTools forums.
Our team is ready to assist you with answers to your technical questions, during normal business hours, which is Monday through Friday, 8:00 AM to 6:00 PM (Central Standard Time), and 8:00 AM to 12:00 AM (Indian Standard Time).
• Windows Event Log (Applications and Services ? VoIPTools)
The Windows Event Log lists various errors, information messages and warnings related to all our VoIPTools applications and services. The data here can be used for troubleshooting various application errors.
Our forum is intended for VoIPTools customers to collaborate on real-life challenges, solutions and best practices. You can participate on our forum at: https://www.voiptools.com/community/
• Submit a Bug
If you suspect a bug in any of our VoIPTools products, you can bring it to our notice by reporting your issue at: https://www.voiptools.com/report-a-bug/
• Live Chat
Our chat support team is ready to acknowledge your queries in real-time. You can start a live chat with us by simply clicking on the Live Chat button at the lower right corner of our web page.
You can email us at: firstname.lastname@example.org. Be sure to describe your issue in detail. We’ll get back to you within one business day of receiving your request.
You can call us at +1 801-642-4655 to reach a representative. VoIPTools will accept calls at this number from 8:00 AM to 6:00 PM (Central Standard Time).
• Support Services
If you purchased our products through a VoIPTools Partner, your Partner will provide first level support. Partners have access to 100% free technical support, provided they participate actively in the troubleshooting process.
VoIPTools customers have access to our on-line manuals and we will respond to emails (next business day) and live chat, but we will not login to your servers remotely.
If you purchase “Installation Support’ our support team can login to your servers and install and configure all our tools for you. This includes installing SQL Server Express and Internet Information Server if required. Our team will work with you to configure our applications to best meet your needs.
Through Http API, novice programmers can incorporate 3CX phone functions into your applications. With over a dozen methods to choose from, HTTP API is perfect for helping create your custom 3CX solution.
A view of all the API methods is displayed in this section. All you have to do is to add valid values to the syntax of appropriate function that you want to perform, and then add it to the url in the address bar of your browser. You can see the image below for your reference:
I. BargeinCall Method
BargeinCall method allows you to listen to active calls without the caller or agent knowing that it is under ‘silent call monitoring’. You can also barge into the call to speak with both the call participants.
II. DropCall Method
DropCall method allows you to disconnect an active participant from a live call. If this is the last participant, the call will be dropped.
III. Listen Method
Listen method allows you to listen to active calls without the caller or agent knowing that it is under ‘silent call monitoring’, However, you cannot speak to the call participants. In other words, it works just like BargeinCall method except that you cannot speak to the call participants.
IV. MakeCall Method
MakeCall method allows you to make a request to an extension for a call to the desired number.
Once the call is successfully running, you can see that in the 3CX Console Management, the Caller ID column of the associated extension requesting call will display the outbound Caller ID you have set. You can refer the image below:
V. MakeCallPlayFile Method
MakeCallPlayFile method allows you to make a call to the desired number and play the .wav file. Once the audio file has finished playing, the call will hang up.
VI. OutboundCallerId Method
OutboundCallerID method allows you to update the current outbound caller ID of the desired extension to the desired caller ID.
VIII. RecordCall Method
RecordCall method allows you to start or stop the recording of an active call.
IX. TransferCall Method
TransferCall method allows you to transfer a call to another number. In other words, it enables you to replace the current participant of the call with a new participant.
X. WhisperTo Method
WhisperTo method allows a new participant to barge into an active call and ‘whisper’ to the desired participant of the call. By doing so, the participant of the call will hear the ‘whisper’ from the new participant and be able to talk to the other participant of the call.
Whether through one of our commercial products, or a custom solution built to meet your specific needs, we can help you get the most out of your 3CX investment. Call us today!Contact Us