CDRs

Aggregate CDRs

Aggregate the Call Analytics call records into grouped summary rows over a required date range.

When to use. Produce summary rows (totals, durations, ACD, ASR, cost) grouped by one or more dimensions such as user, destination, or trunk. For the individual call rows behind Call Analytics rather than aggregates, use GET /cdrs.

Request body. group and filter are required, and filter must include filter.start_at and filter.end_at. See Core API Concepts.

  • group (string, required): semicolon-separated dimensions to group by, for example user;call status;duration;hangup;destination;caller_id;q850;sip termination status;extension number;transfer to;conference to;trunk;network_type.
  • fields (string): semicolon-separated columns to include in each row, for example user;call status;duration;total calls;successful calls;total duration;total bill duration;ACD;ASR;cost;transfer duration;conference duration;transfer cost;conference cost;total transfer;call agent duration.
  • period (string): semicolon-separated time buckets. Defaults to year;month;day. Example year;month;day;hour.
  • filter (object, required): filter criteria. start_at and end_at are required and do not accept an operator. Other keys accept a single value, an array, or a value;operator expression, for example "duration": "5;>|9999;<". Supported keys include destination, caller_id, callAttributes, user, original_trunk_id, callsType, bill_duration and duration.
  • order (string): sort order, for example user;desc. The field must appear in group or fields.
  • limit (integer): maximum rows to return, 1 to 500, default 500.
  • offset (integer): row offset for pagination.

Notes. callsType accepts an array of call-type ids: PHONEBOOK 2, MANUAL_CALL 3, INCOMING 4, MISSED_CALL 7, INTERNAL_CALL 8.

Returns. 201 with an array of aggregated rows. Each row carries the grouped dimensions plus the requested metrics (total, successful, call_duration, call_bill_duration, acd, asr, cost, and so on). Durations are formatted as H:MM:SS and period reflects the chosen buckets.

Example.

{
  "group": "user;call status;destination;trunk",
  "fields": "user;call status;total calls;successful calls;ACD;ASR;cost",
  "period": "year;month;day",
  "filter": {
    "start_at": "2020-01-01 00:00:00",
    "end_at": "2025-01-01 00:00:00",
    "user": [2, 3],
    "duration": "5;>|9999;<"
  },
  "order": "user;desc",
  "limit": 100,
  "offset": 0
}
post/{sub_domain}/api/cdrs/cdrs-aggregate

Request

  • Base URL
    https://api.commpeak.com/pbx
  • URL
    https://api.commpeak.com/pbx/{sub_domain}/api/cdrs/cdrs-aggregate
  • Auth
    API key in header Authorization

Path parameters

sub_domainstring required

PBX Name (subdomain)

Request body

groupstring required

Semicolon-separated list of fields to group the CDRs by. Required.

fieldsstring nullable

Semicolon-separated list of fields (columns) to include in the aggregated rows.

periodstring nullable

Semicolon-separated time period for aggregation. Defaults to year;month;day.

orderstring nullable

Order of the aggregated rows. The field must be present in group or fields.

limitinteger nullable

Maximum number of aggregated rows to return (1-500, default 500).

offsetinteger nullable

Offset for paginating the aggregated rows.

Response

Successful Response

caller_user_idinteger nullable
statusstring nullable
dst_countrystring nullable

Destination country name detected from the dialed number prefix, when grouped by destination country. Null when no country could be detected.

periodstring nullable
totalstring nullable
successfulstring nullable
call_durationstring nullable

Formatted as H:MM:SS.

call_bill_durationstring nullable

Formatted as H:MM:SS.

acdstring nullable
asrstring nullable
costnumber nullable
transfer_durationstring nullable
conference_durationstring nullable
transfer_costnumber nullable
conference_costnumber nullable
total_transferstring nullable
call_agent_durationstring nullable

Changes

No recorded changes to this operation across all 1 revision of this API.