GET /api/v1/call_routers
List Call Flow records.

Params

Param name
Description
ids
Optional

Return records matching these ids.

  • Must be an array of decimal values. EG: [0, 1, 2, 3]

offer_id
Optional

Assign the record to this Offer.

page
Optional

Return the next page of results.

  • Must be a number.

per_page
Optional

How many results to return per page. The default is 25.

  • Must be a number.

created_at_to
Optional

Date formatted like 2016-01-01 12:25:15 -0500

  • Must be String

created_at_from
Optional

Date formatted like 2016-01-01 12:25:15 -0500

  • Must be String

fulltext
Optional

Search for any record that matches this text

  • Must be String

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:

  • id
  • legacy_id
  • type
  • uuid
  • created_at
  • updated_at
  • deleted_at
  • user_updated_at
  • routes_show_path
  • routes_edit_path
  • external_record_id
  • category
  • name
  • context_menu_name
  • offer_id
  • message_type
  • message_action
  • message_loop
  • text_to_speech
  • text_to_speech_gender
  • router_action
  • action_option
  • buyer_ids
  • buyer_offer_ids
  • buyer_group_ids
  • sortable_order
  • schedule_id
  • outbound_timeout_seconds
  • router_type
  • description
  • message_action_type
  • key_press_timeout_seconds
  • perform_action_if_buyer_is_available
  • inbound_call_route_async
  • backup_buyer_ids
  • backup_buyer_group_ids
  • use_sound_playlist
  • sound_playlist_id
  • hold_music_sound_playlist_id
  • voicemail_sound_playlist_id
  • has_schedule
  • has_extension_pool
  • allows_outgoing_webhooks
  • use_with_find_a_buyer
  • use_with_key_press_flows
  • key_press_flow_group_id
  • auto_retry_next_buyer
  • auto_retry_next_buyer_seconds
  • has_extension_actions
  • has_schedule_action
  • can_dial
  • can_alter_traffic_source
  • max_call_disposition_wait_seconds
  • hold_queue_caller_limit
  • hold_queue_percentage_size
  • max_hold_seconds
  • max_hold_seconds_average
  • fire_call_router_webhooks_before_action
  • action_digit
  • off_hook_calls_per_seat
  • off_hook_unaccepted_wait
  • off_hook_leads_needed
  • audio_file_url
  • voicemail_file_url
  • hold_music_file_url
  • call_router_hangup_reason
  • call_router_answer_group_id
  • off_hook_no_lead_timeout
  • outgoing_webhook_ids
  • after_action_sound_playlist_enabled
  • after_action_sound_playlist_id
  • off_hook_dropped_call_seconds
  • off_hook_drop_limit_1
  • off_hook_drop_cps_1
  • off_hook_drop_limit_2
  • off_hook_drop_cps_2
  • record_token_filter_id
  • record_token_filter_data_count
  • record_token_filter_data
  • record_token_additional_id
  • record_token_additional_data_count
  • record_token_additional_data
  • off_hook_dropped_calls
  • Must be String

root
Optional

Pass root=false to return results without a root node and metadata.
For example:
GET /api/v1/calls?root=false will return [call1, call2, call3]
While:
GET /api/v1/calls will return {calls: [call1, call2, call3], metadata: {}}

  • Must be a boolean value: 1, true, yes, on, 0, false, no, off


GET /api/v1/call_routers/new
Build Call Flow Rule with defaults.

Params

Param name
Description
message_type
Optional

Play A Message?

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    noneNo Message
    speakSpeak TTS
    audioPlay Audio
router_action
Optional

Choose An Action

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    dialForward To Buyers
    redirectForward To Offer
    add_to_scheduleAdd To Schedule
    add_to_hold_queuePlace Caller In Hold Queue
    remove_from_scheduleRemove From Schedule
    record_voicemailRecord Voicemail
    request_key_pressRequest Key Press
    block_callerBlock Caller
    end_callHang Up
    noneContinue Offer Routing
record_token_filter_list
Optional Blank Value Allowed

Assign filters to the object by passing an array of key:value pairs

  • Must be a valid list of filters. Example filters:
    "interest:auto", "loan_amount:>=10000", "loan_amount:<=50000", "geo:!=800", "caller_id:!=anonymous"
record_token_additional_list
Optional Blank Value Allowed

Assign additional tokens that will be applied to leads and calls by passing a comma separated string of key:value pairs.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value
description
Optional Blank Value Allowed

Describe the purpose of this call flow rule.

  • Must be String

text_to_speech
Optional Blank Value Allowed

Text To Speech that will be spoken when message_type=speak

  • Must be String

message_loop
Optional Blank Value Allowed

The message will be repeated this many times.

  • Must be a decimal number.

audio_file
Optional Blank Value Allowed

The audio file that will be played when message_type=audio

  • Must be a valid file upload.

schedule_id
Optional Blank Value Allowed

The schedule that will be used when router_action=add_to_schedule

buyer_ids
Optional Blank Value Allowed

Calls will be forwarded to these buyers when router_action=dial

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Buyer. Refer to: /api/docs/1.0/buyers

buyer_group_ids
Optional Blank Value Allowed

Calls will be forwarded to these buyer groups when router_action=dial

buyer_offer_ids
Optional Blank Value Allowed

Calls will be forwarded to this offer when router_action=redirect

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Offer. Refer to: /api/docs/1.0/offers

hold_queue_caller_limit
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. How many people can be on hold?

  • Must be a decimal number.

hold_queue_percentage_size
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Set the hold queue size automatically by taking [Active CC * This Percentage]

  • Must be a decimal number.

max_hold_seconds
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Maximum number of seconds a caller can be on hold.

  • Must be a decimal number.

max_hold_seconds_average
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Trackdrive will stop adding callers to the hold queue if the average time spent on hold exceeds this number of seconds.

  • Must be a decimal number.


POST /api/v1/call_routers
Create Call Flow Rule.

Params

Param name
Description
offer_id
Required

Assign the record to this Offer.

router_type
Required

The type of Call Flow Rule.

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    ask_a_questionAsk A Question And Request An Answer
    no_greeting_is_playedHandle Call When No Keypress Is Requested
    when_answering_machine_detectedWhen an answering machine is detected
    greetingPlay A Greeting Message And Request A Keypress
    off_hook_press_to_acceptWhen Getting Instant Agents On The Phone
    key_press_1When 1 is Pressed
    key_press_2When 2 is pressed
    key_press_3When 3 is pressed
    key_press_4When 4 is pressed
    key_press_5When 5 is pressed
    key_press_6When 6 is pressed
    key_press_7When 7 is pressed
    key_press_8When 8 is pressed
    key_press_9When 9 is pressed
    key_press_#When # is pressed
    key_press_*When * is pressed
    key_press_0When 0 is pressed
    no_key_pressWhen nothing is pressed
    any_other_key_pressWhen anything is pressed
    calling_buyer_musicCalling Buyer Music Played to Caller during Transfers
    whisperWhisper To Buyer that a Call is being Transferred
    enter_extensionEnter Extension
    extension_failedWhen an invalid extension is entered
    zip_code_entryEnter Zip Code
    zip_entry_failedIncorrect Zip Code
    press_1_to_acceptWhisper to Buyer to Press 1 to Accept a Call
    press_1_too_slowWhisper to Buyer that they Pressed 1 Too Slowly
    add_to_hold_queueWhen placed in hold queue
    hold_queue_is_fullWhen the hold queue is full
    hold_queue_max_seconds_exceededWhen the caller has been on hold for longer than max hold seconds
    no_instant_agent_availableWhen no instant agent is available during an inbound call from a consumer
    no_instant_agent_available_outboundWhen no instant agent is available during an outbound call to a consumer
    when_instant_agent_transfers_to_buyerWhen an instant agent transfers to a buyer
    when_buyer_hangup_before_durationWhen A Buyer Hangs Up Before Duration
    no_buyers_have_open_concurrency_capWhen no buyers have open concurrency cap
    all_buyers_closedWhen no buyers are open
    no_buyer_answeredWhen no buyers answer
    no_buyers_matchWhen no buyers have matching filters
    tag_validation_failedToken Entry Failed
    traffic_source_cappedWhen the traffic source is capped
    caller_hang_up_before_conferenceWhen the caller hangs up before being connected to a buyer
message_type
Optional

Play A Message?

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    noneNo Message
    speakSpeak TTS
    audioPlay Audio
router_action
Optional

Choose An Action

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    dialForward To Buyers
    redirectForward To Offer
    add_to_scheduleAdd To Schedule
    add_to_hold_queuePlace Caller In Hold Queue
    remove_from_scheduleRemove From Schedule
    record_voicemailRecord Voicemail
    request_key_pressRequest Key Press
    block_callerBlock Caller
    end_callHang Up
    noneContinue Offer Routing
record_token_filter_list
Optional Blank Value Allowed

Assign filters to the object by passing an array of key:value pairs

  • Must be a valid list of filters. Example filters:
    "interest:auto", "loan_amount:>=10000", "loan_amount:<=50000", "geo:!=800", "caller_id:!=anonymous"
record_token_additional_list
Optional Blank Value Allowed

Assign additional tokens that will be applied to leads and calls by passing a comma separated string of key:value pairs.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value
description
Optional Blank Value Allowed

Describe the purpose of this call flow rule.

  • Must be String

text_to_speech
Optional Blank Value Allowed

Text To Speech that will be spoken when message_type=speak

  • Must be String

message_loop
Optional Blank Value Allowed

The message will be repeated this many times.

  • Must be a decimal number.

audio_file
Optional Blank Value Allowed

The audio file that will be played when message_type=audio

  • Must be a valid file upload.

schedule_id
Optional Blank Value Allowed

The schedule that will be used when router_action=add_to_schedule

buyer_ids
Optional Blank Value Allowed

Calls will be forwarded to these buyers when router_action=dial

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Buyer. Refer to: /api/docs/1.0/buyers

buyer_group_ids
Optional Blank Value Allowed

Calls will be forwarded to these buyer groups when router_action=dial

buyer_offer_ids
Optional Blank Value Allowed

Calls will be forwarded to this offer when router_action=redirect

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Offer. Refer to: /api/docs/1.0/offers

hold_queue_caller_limit
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. How many people can be on hold?

  • Must be a decimal number.

hold_queue_percentage_size
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Set the hold queue size automatically by taking [Active CC * This Percentage]

  • Must be a decimal number.

max_hold_seconds
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Maximum number of seconds a caller can be on hold.

  • Must be a decimal number.

max_hold_seconds_average
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Trackdrive will stop adding callers to the hold queue if the average time spent on hold exceeds this number of seconds.

  • Must be a decimal number.


GET /api/v1/call_routers/:id
Get Call Flow Rule by id.


PUT /api/v1/call_routers/:id
Update Call Flow Rule by id.

Params

Param name
Description
offer_id
Optional

Assign the record to this Offer.

message_type
Optional

Play A Message?

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    noneNo Message
    speakSpeak TTS
    audioPlay Audio
router_action
Optional

Choose An Action

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    dialForward To Buyers
    redirectForward To Offer
    add_to_scheduleAdd To Schedule
    add_to_hold_queuePlace Caller In Hold Queue
    remove_from_scheduleRemove From Schedule
    record_voicemailRecord Voicemail
    request_key_pressRequest Key Press
    block_callerBlock Caller
    end_callHang Up
    noneContinue Offer Routing
record_token_filter_list
Optional Blank Value Allowed

Assign filters to the object by passing an array of key:value pairs

  • Must be a valid list of filters. Example filters:
    "interest:auto", "loan_amount:>=10000", "loan_amount:<=50000", "geo:!=800", "caller_id:!=anonymous"
record_token_additional_list
Optional Blank Value Allowed

Assign additional tokens that will be applied to leads and calls by passing a comma separated string of key:value pairs.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value
description
Optional Blank Value Allowed

Describe the purpose of this call flow rule.

  • Must be String

text_to_speech
Optional Blank Value Allowed

Text To Speech that will be spoken when message_type=speak

  • Must be String

message_loop
Optional Blank Value Allowed

The message will be repeated this many times.

  • Must be a decimal number.

audio_file
Optional Blank Value Allowed

The audio file that will be played when message_type=audio

  • Must be a valid file upload.

schedule_id
Optional Blank Value Allowed

The schedule that will be used when router_action=add_to_schedule

buyer_ids
Optional Blank Value Allowed

Calls will be forwarded to these buyers when router_action=dial

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Buyer. Refer to: /api/docs/1.0/buyers

buyer_group_ids
Optional Blank Value Allowed

Calls will be forwarded to these buyer groups when router_action=dial

buyer_offer_ids
Optional Blank Value Allowed

Calls will be forwarded to this offer when router_action=redirect

  • Must be a valid array of integers. Each integer ID must be a valid foreign key reference to an Offer. Refer to: /api/docs/1.0/offers

hold_queue_caller_limit
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. How many people can be on hold?

  • Must be a decimal number.

hold_queue_percentage_size
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Set the hold queue size automatically by taking [Active CC * This Percentage]

  • Must be a decimal number.

max_hold_seconds
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Maximum number of seconds a caller can be on hold.

  • Must be a decimal number.

max_hold_seconds_average
Optional Blank Value Allowed

Used when router_type=add_to_hold_queue. Trackdrive will stop adding callers to the hold queue if the average time spent on hold exceeds this number of seconds.

  • Must be a decimal number.


DELETE /api/v1/call_routers/:id
Destroy Call Flow Rule by id.