Calls
The phone calls that have been made to and from your account.
GET /calls
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls
List calls.
Search and list calls in your account with filters and pagination, or request the CSV format for bulk export. Returns computed call statistics as metadata for superusers. Superuser-restricted result sets are further limited to permitted stats and page size.
Supported Formats
json, csvParams
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional Blank value allowed |
This endpoint supports multiple response formats. Pass
|
||||||
|
page Optional |
Return the next page of results. A per_page request parameter > 10 is not allowed, cursor must be used instead.
|
||||||
|
cursor Optional |
The API provides a technique called ‘cursoring’ to paginate large result sets. Cursoring separates results into pages (the size of which are defined by the per_page request parameter) and provides a means to move backwards and forwards through these pages. To retrieve cursored results, you initially pass a cursor with a value of -1 to the endpoint. By default, an API endpoint that supports cursoring will assume -1 was passed as cursor if you do not provide one. The response to a cursored request will contain metadata.next_cursor. The next_cursor is the cursor that you should send to the endpoint to receive the next batch of responses. You will know that you have requested the last available page of results when the API responds with a next_cursor = 0.
|
||||||
|
per_page Optional |
How many results to return per page. The default is 25.
|
||||||
|
created_at_to Optional |
Date formatted like 2016-01-01 12:25:15 -0500
|
||||||
|
created_at_from Optional |
Date formatted like 2016-01-01 12:25:15 -0500
|
||||||
|
fulltext Optional |
Search for any record that matches this text
|
||||||
|
time_zone Optional |
Date ranges will be parsed using this time zone.
|
||||||
|
columns Optional |
Specify the columns you would like returned by the API for a given resource.
Limiting the columns can significantly increase API response time since only the requested data will be processed.
columns=uuid,number,created_at
Must be any combination of:
|
||||||
|
root Optional |
Pass
|
||||||
|
created_at_label Optional Blank value allowed |
Dynamic Date String such as “Today” or “This Year”
|
||||||
|
offer_repeat_caller Optional |
Match calls where the Traffic Source had a repeat caller.
|
||||||
|
buyer_repeat_caller Optional |
Match calls where the Buyer had a repeat caller.
|
||||||
|
buyer_converted Optional |
Did the buyer convert?
|
||||||
|
offer_converted Optional |
Did the traffic source convert?
|
||||||
|
in_progress Optional |
Match calls that are on-going
|
||||||
|
placed_on_hold Optional |
Was the call placed on hold?
|
||||||
|
has_recording Optional |
Match calls that have a recording.
|
||||||
|
either_converted Optional |
Whether this call’s buyer or traffic source has converted.
|
||||||
|
buyer_conversion_duplicated_call Optional |
Match calls where the callerID was a duplicate against the Buyer’s conversion settings.
|
||||||
|
offer_conversion_duplicated_call Optional |
Match calls where the callerID was a duplicate against the Traffic Source’s conversion settings.
|
||||||
|
no_buyer Optional |
Match calls that didn’t connect to a Buyer
|
||||||
|
token_key Optional |
Calls that are tagged with this token will be matched. EG: token_key=buyer_id will return all calls that have a buyer_id token.
|
||||||
|
token_value Optional |
Will match calls that are tagged with a token:value. EG: token_key=buyer_id:12345 will return all calls that have a buyer_id token with the value set to 12345.
|
||||||
|
order Optional |
Sort results by this field.
|
||||||
|
order_dir Optional |
Sort results in ascending or descending order.
|
||||||
|
number_id Optional |
Refer to the number api for details
|
||||||
|
offer_id Optional |
Refer to the offer api for details
|
||||||
|
schedule_id Optional |
Schedule internal id.
|
||||||
|
traffic_source_id Optional |
Refer to the traffic source api for details
|
||||||
|
buyer_id Optional |
Refer to the buyer api for details
|
||||||
|
buyer_group_ids Optional |
Buyer Group Internal ids.
|
||||||
|
ring_pool_id Optional |
Refer to the Number Pool api for details
|
||||||
|
id Optional |
An Integer number eg: 12345
|
||||||
|
provider_configuration_id Optional |
Refer to the provider api for details
|
||||||
|
contact_id Optional |
Match calls that were placed by this caller.
|
||||||
|
status Optional |
Match results that have this status.
|
||||||
|
ended_at_to Optional |
Date formatted like 2016-01-01 12:00:15 -0500
|
||||||
|
ended_at_from Optional |
Date formatted like 2016-01-01 12:00:15 -0500
|
GET /calls/:caller_number/by_caller_number
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/:caller_number/by_caller_number
List calls by caller number.
List the most recent calls placed by a specific caller number, newest first. Useful for looking up a caller without knowing the call id or uuid. Returns a 404 if no calls match that number.
Params
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional Blank value allowed |
This endpoint supports multiple response formats. Pass
|
||||||
|
caller_number Required |
The caller number. EG: +17191112222
|
||||||
|
per_page Optional |
How many results to return per page. The default is 25.
|
GET /calls/live_calls
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/live_calls
List ongoing live calls.
List calls that are currently in progress. Results are cached for a couple of seconds and limited to the calls the current user is permitted to see, so this is safe to poll for a live calls dashboard.
Supported Formats
json, csvParams
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional Blank value allowed |
This endpoint supports multiple response formats. Pass
|
GET /calls/reports
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/reports
Get statistics on calls by category.
Get aggregate call statistics grouped by a category such as buyer, offer, or disposition, for a date range. Supports CSV output, and results can be limited to the stat types your permissions allow.
Supported Formats
json, csvParams
| Param name | Description |
|---|---|
|
category Required |
|
|
page Optional |
Return the next page of results.
|
|
per_page Optional |
How many results to return per page. The default is 25.
|
|
created_at_to Optional |
Date formatted like 2016-01-01 12:25:15 -0500
|
|
created_at_from Optional |
Date formatted like 2016-01-01 12:25:15 -0500
|
|
fulltext Optional |
Search for any record that matches this text
|
|
time_zone Optional |
Date ranges will be parsed using this time zone.
|
|
columns Optional |
Specify the columns you would like returned by the API for a given resource.
Limiting the columns can significantly increase API response time since only the requested data will be processed.
columns=uuid,number,created_at
Must be any combination of:
|
|
root Optional |
Pass
|
|
offer_repeat_caller Optional |
Match calls where the Traffic Source had a repeat caller.
|
|
buyer_repeat_caller Optional |
Match calls where the Buyer had a repeat caller.
|
|
buyer_converted Optional |
Did the buyer convert?
|
|
offer_converted Optional |
Did the traffic source convert?
|
|
in_progress Optional |
Match calls that are on-going
|
|
placed_on_hold Optional |
Was the call placed on hold?
|
|
has_recording Optional |
Match calls that have a recording.
|
|
either_converted Optional |
Whether this call’s buyer or traffic source has converted.
|
|
buyer_conversion_duplicated_call Optional |
Match calls where the callerID was a duplicate against the Buyer’s conversion settings.
|
|
offer_conversion_duplicated_call Optional |
Match calls where the callerID was a duplicate against the Traffic Source’s conversion settings.
|
|
no_buyer Optional |
Match calls that didn’t connect to a Buyer
|
|
token_key Optional |
Calls that are tagged with this token will be matched. EG: token_key=buyer_id will return all calls that have a buyer_id token.
|
|
token_value Optional |
Will match calls that are tagged with a token:value. EG: token_key=buyer_id:12345 will return all calls that have a buyer_id token with the value set to 12345.
|
|
order Optional |
Sort results by this field.
|
|
order_dir Optional |
Sort results in ascending or descending order.
|
|
number_id Optional |
Refer to the number api for details
|
|
offer_id Optional |
Refer to the offer api for details
|
|
schedule_id Optional |
Schedule internal id.
|
|
traffic_source_id Optional |
Refer to the traffic source api for details
|
|
buyer_id Optional |
Refer to the buyer api for details
|
|
buyer_group_ids Optional |
Buyer Group Internal ids.
|
|
ring_pool_id Optional |
Refer to the Number Pool api for details
|
|
id Optional |
An Integer number eg: 12345
|
|
provider_configuration_id Optional |
Refer to the provider api for details
|
|
contact_id Optional |
Match calls that were placed by this caller.
|
|
status Optional |
Match results that have this status.
|
|
ended_at_to Optional |
Date formatted like 2016-01-01 12:00:15 -0500
|
|
ended_at_from Optional |
Date formatted like 2016-01-01 12:00:15 -0500
|
GET /calls/stats
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/stats
Get call statistics by category and interval
Get call counts and statistics broken out by category and by time interval (for example hourly or daily buckets), suitable for charting call volume over time. The group_by category must be one your account is permitted to use.
Params
| Param name | Description |
|---|---|
|
group_by Required |
Group calls by one of these attributes.
|
|
stat Required |
Return statistics on the grouped calls by one of these numeric columns.
|
|
created_at_to Required |
Date formatted like 2016-01-01 12:25:15 -0500
|
|
created_at_from Required |
Date formatted like 2016-01-01 12:25:15 -0500
|
|
page Optional |
Return the next page of results.
|
|
offer_repeat_caller Optional |
Match calls where the Traffic Source had a repeat caller.
|
|
buyer_repeat_caller Optional |
Match calls where the Buyer had a repeat caller.
|
|
buyer_converted Optional |
Did the buyer convert?
|
|
offer_converted Optional |
Did the traffic source convert?
|
|
in_progress Optional |
Match calls that are on-going
|
|
placed_on_hold Optional |
Was the call placed on hold?
|
|
has_recording Optional |
Match calls that have a recording.
|
|
either_converted Optional |
Whether this call’s buyer or traffic source has converted.
|
|
buyer_conversion_duplicated_call Optional |
Match calls where the callerID was a duplicate against the Buyer’s conversion settings.
|
|
offer_conversion_duplicated_call Optional |
Match calls where the callerID was a duplicate against the Traffic Source’s conversion settings.
|
|
no_buyer Optional |
Match calls that didn’t connect to a Buyer
|
|
token_key Optional |
Calls that are tagged with this token will be matched. EG: token_key=buyer_id will return all calls that have a buyer_id token.
|
|
token_value Optional |
Will match calls that are tagged with a token:value. EG: token_key=buyer_id:12345 will return all calls that have a buyer_id token with the value set to 12345.
|
|
order Optional |
Sort results by this field.
|
|
order_dir Optional |
Sort results in ascending or descending order.
|
|
number_id Optional |
Refer to the number api for details
|
|
offer_id Optional |
Refer to the offer api for details
|
|
schedule_id Optional |
Schedule internal id.
|
|
traffic_source_id Optional |
Refer to the traffic source api for details
|
|
buyer_id Optional |
Refer to the buyer api for details
|
|
buyer_group_ids Optional |
Buyer Group Internal ids.
|
|
ring_pool_id Optional |
Refer to the Number Pool api for details
|
|
id Optional |
An Integer number eg: 12345
|
|
provider_configuration_id Optional |
Refer to the provider api for details
|
|
contact_id Optional |
Match calls that were placed by this caller.
|
|
status Optional |
Match results that have this status.
|
|
ended_at_to Optional |
Date formatted like 2016-01-01 12:00:15 -0500
|
|
ended_at_from Optional |
Date formatted like 2016-01-01 12:00:15 -0500
|
POST /calls
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls
Make an outbound phone call.
Place an outbound call from a phone number in your account. If no lead or schedule is specified, a lead is created or matched automatically; the call fails if the schedule or offer cannot be resolved from the from number.
Params
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional |
This endpoint supports multiple response formats. Pass
|
||||||
|
from Required |
The call will originate from this address (+E.164 formatted phone number.) Example: +18665550001
|
||||||
|
to Required |
The call will be placed to this receiving address (+E.164 formatted phone number.) Example: +18665550001
|
||||||
|
lead_id Optional |
Optional. Associate this call with this lead.
|
||||||
|
schedule_id Optional |
Optional. If a lead exists on this schedule, this call will be associated with it. If no lead currently exists, one will be created, and it will be added to this schedule.
|
||||||
|
offer_id Optional |
Optional. Associate this call with a matching lead on this offer. If no lead currently exists, one will be created on this offer.
|
GET /calls/:id
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/:id
Get a call by id or uuid.
Get the full details of a single call by its internal id or uuid.
Params
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional Blank value allowed |
This endpoint supports multiple response formats. Pass
|
||||||
|
id Optional |
Find the call by
|
GET /calls/:id/events
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/:id/events
Get a call's event log
Advanced Call Analysis provides detailed event logs of telephonic interactions. This feature captures an array of events including call channels, agent interactions, outgoing HTTP requests, buyer pings, call recordings, and more. Each advanced call analysis request incurs a usage charge billed at your account’s Per Advanced Call Analysis Rate, shown on your Rate Sheet. The default rate is 0.0002/request.
POST /calls/:id
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/:id
Update a call by ID or UUID
Update a call by Call ID or Call UUID with contact fields, revenue, payout, and more.
Params
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional Blank value allowed |
This endpoint supports multiple response formats. Pass
|
||||||
|
id Optional |
Find the call by
|
||||||
|
post_call_tokens Optional |
Custom contact fields defined on the offer.
|
||||||
|
revenue Optional |
The revenue paid out for the call.
|
||||||
|
add_revenue Optional |
Add this amount to the call’s current revenue. For example pass 2.5 to add 2.5 to the current call revenue. If the call revenue is currently 10.50, the revenue would become 13 (10.50 + 2.50)
|
||||||
|
add_payout Optional |
Add this amount to the call’s current payout.
|
||||||
|
buyer_converted Optional |
Did the buyer convert?
|
||||||
|
trackdrive_buyer_id Optional |
Update the winning Buyer that is assigned to this call.
|
||||||
|
payout Optional |
The amount paid to the traffic source.
|
||||||
|
offer_converted Optional |
Did the traffic source convert?
|
||||||
|
trackdrive_traffic_source_id Optional |
Update the Traffic Source that is assigned to this call.
|
||||||
|
contact_field_type Optional |
Pass an ID belonging to an
|
||||||
|
fire_outgoing_webhook_ids Optional |
Manually refire the listed outgoing webhook ids against this call.
|
||||||
|
manual_transcribe Optional |
Manually transcribe this call using the default transcription group.
|
||||||
|
call_disposition_id Optional Blank value allowed |
Call Disposition
|
||||||
|
agent_call_disposition_notes Optional Blank value allowed |
Notes
|
||||||
|
blocked Optional Blank value allowed |
Block or unblock this caller’s number. Blocking prevents outbound calls, SMS, and email to them, and blocks their inbound calls and SMS too.
|
||||||
|
contact_field_view_id Optional Blank value allowed |
The Agent Script this call is showing to the agent, which controls its custom fields and instructions.
|
||||||
|
description Optional Blank value allowed |
A human readable description of the record.
|
||||||
|
hang_up Optional Blank value allowed |
Set to true to immediately hang up this call.
|
||||||
|
original_recording_url Optional Blank value allowed |
The externally hosted recording URL for this call, before it is copied to Trackdrive’s own storage.
|
||||||
|
reapply_conversions Optional Blank value allowed |
Set to true to reapply this call’s buyer and offer conversion logic using its current revenue and payout.
|
||||||
|
rerun_webhooks Optional Blank value allowed |
Manually refire the webhooks associated with this call.
|
||||||
|
schedule_callback_now Optional Blank value allowed |
Schedule an immediate callback.
|
||||||
|
schedule_callback_random_one_hour Optional Blank value allowed |
Schedule a callback sometime in the next hour.
|
POST /calls/update_by_caller_id/:caller_id
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/update_by_caller_id/:caller_id
Update a call's revenue by caller ID
Update a call’s revenue and buyer_converted using the call’s caller_id and offer_token
Params
| Param name | Description |
|---|---|
|
caller_id Required |
The caller ID for the call that will be updated.
|
|
offer_token Required |
The
|
|
call_timeframe Optional |
Pass this optional parameter to restrict the call update to calls made in the last
|
|
revenue Optional |
Set the call’s revenue to this amount. For example pass 10.50 to set the revenue to 10.50
|
|
add_revenue Optional |
Add this amount to the call’s current revenue. For example pass 2.5 to add 2.5 to the current call revenue. If the call revenue is currently 10.50, the revenue would become 13 (10.50 + 2.50)
|
|
add_payout Optional |
Add this amount to the call’s current payout.
|
|
call_disposition_id Optional Blank value allowed |
Call Disposition
|
|
agent_call_disposition_notes Optional Blank value allowed |
Notes
|
|
buyer_converted Optional |
Did the buyer convert?
|
POST /calls/send_key_press
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/send_key_press
Trigger a key press flow
Simulate a caller pressing DTMF digits on a live call, triggering whatever key-press flow is currently listening on that call leg. Optionally updates the call data at the same time.
Params
| Param name | Description |
|---|---|
|
id Required |
Find the call by
|
|
digits Required |
DTMF digit
|
|
data Optional Blank value allowed |
Update the call with this data.
|
DELETE /calls/:id
Authorization Requiredhttps://[your-subdomain].trackdrive.com/api/v1/calls/:id
Hang up an ongoing call.
Hang up an ongoing call immediately. This is a superuser-only, irreversible action that ends the call for all parties on the line.
Params
| Param name | Description | ||||||
|---|---|---|---|---|---|---|---|
|
serializer Optional Blank value allowed |
This endpoint supports multiple response formats. Pass
|
||||||
|
id Optional |
Find the call by
|