Data Export API – Filters and Query Examples #
This page provides an overview of the filters available in the Data Export API, including supported operators and example queries.
Available Filters #
Filter Name | Description | Options | Example Query Snippet |
---|---|---|---|
dateFilter | Filters records by a specific date range or relative time span. | isSpecific, fromDate, toDate, relativeTimeSpan, relativePeriodType (DAYS, WEEKS, MONTHS) |
dateTimeFilter: { dateFilter: { isSpecific: true, fromDate: "2024-02-01", toDate: "2024-02-10" }, timeFilter: { isInterval: false, startTime: "00:00", endTime: "23:59" } } |
timeFilter | Filters by time of day for calls. | isInterval (true/false), startTime, endTime |
dateTimeFilter: { dateFilter: { isSpecific: true, fromDate: "2024-02-01", toDate: "2024-02-10" }, timeFilter: { isInterval: true, startTime: "08:00", endTime: "17:00" } } |
callTypeFilter | Filters by call type (e.g., inbound, local, long distance). | callTypes (ALL, LOCAL, LONG_DISTANCE, INBOUND, INTERNATIONAL, INFO_ASSIST, INTERNAL, USER_DEFINED_1, USER_DEFINED_2, USER_DEFINED_3, USER_DEFINED_4) |
callTypeFilter: { callTypes: [INBOUND, LOCAL] } |
extensionsFilter | Filters by extension number. | querySpecificValue (true/false), operator (EQUALS, LESS_THAN_EQUAL_TO, MORE_THAN_EQUAL_TO, INCLUDES, DOESNOT_INCLUDE) |
extensionsFilter: { querySpecificValue: true, operator: LESS_THAN_EQUAL_TO, value: "200" } |
phoneNumberFilter | Filters by specific phone numbers. | querySpecificValue (true/false), operator (LIKE, INCLUDES, DOESNOT_INCLUDE) |
phoneNumberFilter: { querySpecificValue: true, operator: LIKE, value: "312%" } |
ownerNameFilter | Filters by the owner of the call (e.g., employee, department). | operator (LIKE, INCLUDES, DOESNOT_INCLUDE), value |
ownerNameFilter: { operator: LIKE, value: "John%" } |
dataSourceNameFilter | Filters by the source of the call data. | operator (LIKE, INCLUDES, DOESNOT_INCLUDE), value |
dataSourceNameFilter: { operator: LIKE, value: "Cisco%" } |
dataSourceNumberFilter | Filters by data source number. | operator (INCLUDES, DOESNOT_INCLUDE), value |
dataSourceNumberFilter: { operator: DOESNOT_INCLUDE, value: "1; 2; 3" } |
uniqueIdFilter | Filters by unique call identifiers. | operator (INCLUDES, EQUALS), value |
uniqueIdFilter: { operator: INCLUDES, value: "1000-1999" } |
destinationFilter | Filters calls based on the destination number. | operator (LIKE, INCLUDES, DOESNOT_INCLUDE), value |
destinationFilter: { operator: LIKE, value: "555%" } |
Example Full Query Using Multiple Filters #
This example retrieves inbound and local calls from February 1-10, 2024, between 8 AM and 5 PM, where the caller ID starts with “312”.
query { getProcessedRecords( pageLimit: 10, nextPageToken: "", filters: { dateTimeFilter: { dateFilter: { isSpecific: true, fromDate: "2024-02-01", toDate: "2024-02-10" } }, timeFilter: { isInterval: true, startTime: "08:00", endTime: "17:00" }, callTypeFilter: { callTypes: [INBOUND, LOCAL] }, phoneNumberFilter: { querySpecificValue: true, operator: LIKE, value: "312%" } } ) { count nextPageToken processedRecords { uniqueId callerID callType duration date time } } }
Notes on Using Filters
- Multiple filters can be combined in a single request.
- Ensure correct formatting for
dates (YYYY-MM-DD)
andtimes (HH:MM)
. - The operator must match the filter type (e.g.,
LIKE
is valid forphoneNumberFilter
, but not fordateTimeFilter
). - Filters using
querySpecificValue: false
will return all available values unless an explicit filter is set.