The primary goal of the interface is to enable the integration of external applications with the recording system on business data level. The API provides access to features like attaching metadata to calls, keeping on-demand calls, getting call information, etc.This API lets you improve business processes by integrating the recording system with your applications.
HTTP GET, POST
The functions of the API are available as simple HTTP GET and POST requests. For implementations, where HTTP POST is not available, you can use the HTTP GET method. The maximum length of the HTTP GET request is usually maximised either by the client or the server. The client should assume that the maximum length of a GET request is 4000 characters, although, some implementations may support longer URLs too.
All HTTP requests have to be URL encoded and all spaces and special characters has to be escaped and substituted with its URL encoded equivalent. For further information, see http://www.w3schools.com/TAGS/ref_urlencode.asp.
The API provides multiple types of responses, depending on the parameter defined in the request. This feature allows to use the API with applications with different capabilities:
- XML: for applications with XML parsing capabilities
- HTML: client-side, browser based applications, where only a HTTP URL can be called and HTML formatted response can be displayed
- TEXT: for applications with very limited capabilities
The available response types are depending on the API function, some of the response types are not applicable for certain API functions.
The API provides the following mechanism to ensure that the communications between the external application and the recording system is secure:
- Token based sessions
- Option to limit the access to the API from preset network addresses
- Option to use SSL/HTTPS
Add Marker — Adds segment markers to any recorded call.
Attach Metadata — Adds metadata to any recorded call.
Get Call ID — Retrieves the unique identifier of the given call.
Get Call Information — Retrieves all metadata available for a call.
Get Call URL — Retrieves the full HTTP URL pointing to the given call.
Get Markers — Get the list of segment markers for any recorded call.
Keep Call — Keeps the on-demand call.
Mute Recording — Mutes or Unmutes Recording (pause / continue).
Search Calls — Retrieves all CDRs that match a search filter.
Get Media — Retrieves the media for the given call.
Get Media Encoded — Retrieves encoded media for the given call.
Get Media Live — Retrieves the live media for a given ongoing call.
Get Media Segment — Retrieves the audio segment for the given call.
Get Thumbnail — Retrieves a frame from a selected video call.
Get Waveform — Retrieves the waveform for the given call.
Put Media — Uploads a media file with metadata.