This API facilitates export of Call History/Call Detail Records (CDR) in either CSV or JSON format.
In order to access this API method, please ensure you have correctly set permissions for the relevant API Key. See Creating a new API Key
Base URI and Endpoint
Base URI: https://myapi.maxo.com.au/
Endpoint: calls/list
Permissions Required
Call History/Get Call History
Example
The API example below is called via standard HTTP GET request, however all parameters can be posted or included in a JSON array.
https://myapi.maxo.com.au/calls/list/?key=[key]&startTime=[start]&endTime=[end]
Supported Parameters
Attribute | Supported Values | Required | Notes |
key | The API key from My Account Portal | Yes | |
startTime | Unix Timestamp | Yes | Start time of period for which CDR's are required. Treated as >= |
endTime | Unix Timestamp | Yes | End time of period for which CDR's are required. Treated as < |
outputFormat | json or csv | No | Default is json |
chargesOnly | 0 | No | Specifies if result set is to include calls which have not attracted a charge (0) or only return calls which have attracted a charge (1) |
showHeadings | 0 | No | Include header row in CSV output |
connectedOnly | 0 | No | List only connected calls in the result set |
humanReadable | 0 1 | No | Includes a Human Readable conversion of the duration |
waitForActiveCalls | 0 1 | No | This parameter will block the response if there is a call in progress that is yet to complete |
limit | 1 to 10000 | No | Default 10000. Limits the results |
Successful Response
A successful request to the API will result in a HTTP 200 response, and CDR data being returned in either a JSON object, or CSV format, dependent on the request type.
Successful Response - CSV
Should records be available for the request period and filters, a CSV file is returned comprising call records.
Should no records be available for the requested period and filters, an empty CSV file is returned.
Successful Response - JSON
A JSON array with status: 1 and an array of calls (with key "calls") is returned. If there are no calls, count is 0 and data is null.
An example of a result set containing a single call record is as follows:
If your access attempt is successful, but no records be available for the requested period and filters, a JSON object is returned as follows;
Successful Response - Result
For JSON The following parameters are returned
Field | Description |
timezone | Timezone in Country/City format |
offset | Timezone offset in +/-hours:minutes |
starttime | Parsed start time from input startTime |
endtime | Parsed end time from input endTime |
count | The total number of records returned |
calls | An array of call detail records (described below) |
In the case of both JSON & CSV result sets, each CDR returns the following fields
Field | Description |
callid | Unique identifier for the call detail record |
datetime | CDR Time (YYYY-MM-dd HH:MM:SS format) |
unixtime | CDR Time (Unixtime format) |
direction | Call direction (Inbound, Outbound) |
origin | Originating party number (A Party) |
destination | Terminating party number (B Party) |
rate | Plaintext description of rate category, empty field for |
inboundrate | Plaintext description of rate category, empty field for |
status | Call completion status ( |
duration | Call duration (seconds) |
duration_hr | Call duration in friendly format (hh mm ss) |
cost | Call charge ($.c) |
recording | Whether or not a call recording exists for the call |
statid | Unique identifier for related statistics in the PBX system (unused) |
Unsuccessful Response
An unsuccessful request to the API will result in a HTTP response other than a 200 OK, and json with status:0.
Examples of unsuccessful HTTP codes include 401 Unauthorised, 404 Invalid method, a 400 Bad Request/Incomplete request, or 403 Forbidden if the supplied key has insufficient permissions for the method or resource.
As further functionality becomes available, full permissions, functions, and API descriptions will be available in our upcoming developer portal.
For further assistance with any API CDR related queries, please reach out to MaxoTel support.