Phone Cloud Hosted PBX Telecom Support
API Documentation
Introduction
At the end of this article, you will be able to integrate API and Webhooks triggers of calls from our PBX system to your preferred system. Should you need any assistance, feel free to contact our support department.
Configuring API integrations
API integration is the connection between two or more applications via APIs, which allow the systems to exchange data. By using this feature, you will be able to integrate your phone system to CRMs, management software, and other systems. To configure the API integration, firstly, click on the “Integration/API” tab and select the API option from the left-hand menu. To locate and protect your account in our system, an API key is generated. Copy and paste this API key into the header of your API request. Further, as an extra security layer, add the public IP where the API request is coming from by clicking the button “add IP” to have it whitelisted. Please note, you must list the IP from which the API request comes, otherwise, 401 – Not authorised response will be sent.
As an example, the API key has been added to the header of the API request. The system will compare if the API key matches and responds to the request.
Currently, our system supports four main types of requests:
Get Method
- Get user calls
- Get queue calls
- Get ring group calls
POST method
- Call a number
The example below shows a “get user calls” request. Once your IP address is whitelisted and the API key is in the header of your API request, the next step is defining the parameters. To obtain the user call details, firstly, define the date, how the calls will be sorted and the user(s) you would like to receive the call information. The offset parameter shifts the position of the calls you would like to receive, and the limit parameter defines how many will be shown.
For example, if a user has placed 100 calls, select the range from the 50th call to the 80th by setting 50 in the offset field and 30 in the limit. Then, copy the full request URL and paste it into your API request. Further, click on the “test API request” button to view the form of response when sending a get user request.
The “get” response includes a unique call ID, type of call, caller ID, caller name, destination number, user name, user’s extension number, date, and duration of the call in seconds.
Similar to the “get ring group” calls, the queue calls details can be sent via an API request as well. To get the queue call information, firstly, define the date, how the calls will be sorted and the queue(s) you would like to receive the call information. The offset parameter shifts the position of the calls you would like to receive, and the limit parameter defines how many will be shown.
For example, if a queue has received 100 calls, select the range from the 50th call to the 80th by setting 50 in the offset field and 30 in the limit. Then, copy the full request URL and paste it into your API request. Further, click on the “test API request” button to view the form of response when sending a get-user request.
The queue API response template is shown in the image below. Information such as caller ID, date, call duration, user, and status of the queue is sent when requesting get queue calls.
Lastly, the POST call to a number request will place a call from the selected user to the entered number. On this request, select a user from the dropdown list and type the destination number following the E.164 format, as shown in the image below. Fill in the missing fields to generate a code in JSON format to be sent in the request body.
Once the POST request has been sent, the user will receive a call showing the destination number as the caller ID. If answered, a call will be placed to the destination number. In the case the user has more than one SIP device, all devices will receive the call at the same time until it times-out or is answered by one of the SIP devices.