Supported Formats

json

Examples

curl -H "Authorization: Basic BASE64_ENCODED_PUBLIC_KEY_AND_PRIVATE_KEY" -H "Content-Type: application/json" -X POST -d '{"name":"Call Centre 1", "number": "+18004457682"}' https://[your-subdomain].trackdrive.com/api/v1/buyers

Params

Param name
Description
serializer
Optional Blank Value Allowed

This endpoint supports multiple response formats. Pass serializer=name to retrieve data in an alternate format.

  • Must be a value contained in the pick list:
    Acceptable ValueDescription
    buyerDefault response format.
    buyer_gridModern response format that returns various foreign keys for use with other API endpoints.
copy_another_buyer
Optional

Copy another buyer?

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

user_buyer_id
Optional

Your external ID for this buyer.

  • Must be a String

number
Optional

The DID or SIP endpoint to call. DID must be prefixed with +{country code}. Example: to dial a number in the USA, enter +1 followed by the 10 digit DID number, in UK it would be +44 followed by the DID number. To transfer a call via SIP, begin the number with 'sip:'.

  • Must be a String

name
Optional

The name for this buyer that will appear on menus and in logs.

  • Must be a String

timeout_seconds
Optional

Determines the time in seconds the call should ring. Must be at least 12 seconds. If the call is not answered within the ring timeout value or the default value of 120 s, it is canceled.

  • Must be a decimal number.

dtmf_tones
Optional Blank Value Allowed

Play DTMF tones when the call is answered. This is useful when dialing a phone number and an extension. Your provider will dial the number, and when the automated system picks up, sends the DTMF tones to connect to the extension. E.g. If you want to dial the 2410 extension after the call is connected, and you want to wait for a few seconds before sending the extension, add a few leading 'w' characters. Each 'w' character waits 0.5 second before sending a digit. Each 'W' character waits 1 second before sending a digit.

  • Must be a String

time_zone
Optional

Date ranges will be parsed using this time zone.

buyer_suppression_ids
Optional Blank Value Allowed

The list of internal suppression id's that will be assigned to this buyer.

paused
Optional

Pause or unpause the buyer.

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

record_calls
Optional

Enable or Disable call recordings for this Buyer.

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

press_one_to_accept
Optional Blank Value Allowed

After answering the call the Buyer must Press 1 before being connected to the Caller.
Trackdrive will use the “Press 1 To Accept” call routing from the current Offer.

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

generate_team
Optional

Grant access to edit this Buyer, and view calls that it paid for.

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

team_users_emails
Optional Blank Value Allowed

The selected users will recieve an email invitation to collaborate on your company.

  • Must be an array of emails. EG: ["john-smith@gmail.com", "example@domain.com"]

team_offer_ids
Optional Blank Value Allowed

Team members can view calls made to these Offers that were paid for by their Buyer.

  • 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

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
route_by_type
Optional

Configure how calls will be routed to this Buyer. When routing by revenue the tier will be automatically calculated by taking the revenue for the current timeframe * -1.

  • Must be one of: tier, revenue, epc.

tier
Optional Blank Value Allowed

When routing by revenue the tier will not be used. Buyers with the lowest tier are considered first for calls (a tier may be negative if needed). For buyers with the same tier, the weight will then be used to calculate the % of calls the buyer gets within that tier.

  • Must be a decimal number.

epc_timeframe
Optional Blank Value Allowed

The number of hours used when calculating the EPC. If there are less than Minimum Required Calls in this timeframe the Assumed EPC will be used instead.

  • Must be a decimal number.

epc_assumed_amount
Optional Blank Value Allowed

The Assumed EPC will be used until the Buyer has received Minimum Required Calls calls during the EPC Timeframe.

  • Must be a decimal number.

epc_assumed_calls_count
Optional Blank Value Allowed

The number of calls required during EPC Timeframe before the real EPC is used insead of the Assumed EPC.

  • Must be a decimal number.

weight
Optional Blank Value Allowed

The Weight of this buyer will be divided by the Total Weight of all buyers at this same Tier to get the % of calls this buyer will get within this Tier.

  • Must be a decimal number.

display_caller_id_type
Optional

Select which Caller ID will be sent to this Buyer.

  • Must be one of: display_caller_id, display_fake_caller_id, display_trackdrive_number_id.

display_trackdrive_number_id
Optional Blank Value Allowed

The Trackdrive number to display when display_caller_id_type=display_trackdrive_number_id

concurrency_cap_limit
Optional Blank Value Allowed

Choose the number of concurrent calls that can be forwarded to this buyer simultaneously.

  • Must be a decimal number.

attempt_total_limit
Optional Blank Value Allowed

Attempt caps limit the number of times a buyer can be attempted in a given interval.

  • Must be a decimal number.

attempt_monthly_limit
Optional Blank Value Allowed

Monthly Attempt Cap

  • Must be a decimal number.

attempt_daily_limit
Optional Blank Value Allowed

Daily Attempt Cap

  • Must be a decimal number.

connection_total_limit
Optional Blank Value Allowed

Connection caps limit the number of times a buyer can be connected in a given interval.

  • Must be a decimal number.

connection_monthly_limit
Optional Blank Value Allowed

Monthly Connection Cap

  • Must be a decimal number.

connection_daily_limit
Optional Blank Value Allowed

Daily Connection Cap

  • Must be a decimal number.

buyer_conversion_total_limit
Optional Blank Value Allowed

Conversion caps limit the number of times a buyer can convert in a given interval.

  • Must be a decimal number.

buyer_conversion_monthly_limit
Optional Blank Value Allowed

Monthly Conversion Cap

  • Must be a decimal number.

buyer_conversion_daily_limit
Optional Blank Value Allowed

Daily Conversion Cap

  • Must be a decimal number.

revenue_total_limit
Optional Blank Value Allowed

Revenue caps limit the dollar amount that can be paid by a buyer in a given interval.

  • Must be a decimal number.

revenue_monthly_limit
Optional Blank Value Allowed

Monthly $ Revenue Cap

  • Must be a decimal number.

revenue_daily_limit
Optional Blank Value Allowed

Daily $ Revenue Cap

  • Must be a decimal number.

business_hours_schedule
Optional

Day is an integer representing the day of the week, 0..6, with Sunday == 0. [

{
  attempt_hourly_limit: 10,
  connection_hourly_limit: 10,
  buyer_conversion_hourly_limit: 10,
  revenue_hourly_limit: 10,
  schedule: [
    {
      day: 0,
      times: ["11:00..13:09", "14:00..15:09"]
    },
    {
      day: 1,
      times: ["11:10..18:39", "19:10..23:39"]
    }
  ]
}

]

  • Must be an array of any type

buyer_conversions_schedule
Optional

Day is an integer representing the day of the week, 0..6, with Sunday == 0. [

{
  buyer_conversions_attributes: [
    {
      name: '10$ conversion at 1 minute, deduped every 2 hours',
      duration: 60,
      revenue: 10,
      duplicate_timeframe: 7200
    }
  ],
  schedule: [{"day":0,"times":["00:00..23:59"]},{"day":1,"times":["00:00..23:59"]},{"day":2,"times":["00:00..23:59"]},{"day":3,"times":["00:00..23:59"]},{"day":4,"times":["00:00..23:59"]},{"day":5,"times":["00:00..23:59"]},{"day":6,"times":["00:00..23:59"]}]
}

]

  • Must be an array of any type

current_conversion_revenue_max
Optional

The maximum valid revenue for the current time frame.

  • Must be a decimal number.

current_conversion_revenue_min
Optional

The minimum valid revenue for the current time frame.

  • Must be a decimal number.

current_conversion_revenue_increment
Optional

Bids must be increased/decreased by this amount for the current time frame.

  • Must be a decimal number.

current_conversion_revenue
Optional

The number of dollars paid per call in increments of $0.01 for the current time frame.

  • Must be a decimal number.

current_conversion_duration
Optional

The number of seconds for a call to payout. If this is set to 0 the call will convert when this buyer is dialed for the current time frame.

  • Must be a decimal number.

current_conversion_duplicate_timeframe
Optional

The period of time that must elapse before a buyer will pay for the same caller to be transferred.

  • Must be a decimal number.

current_conversion_name
Optional

This name that will appear in call logs.

  • Must be a String

current_conversion_token_values
Optional Blank Value Allowed

Conversion will only occur if the caller matches these filters.

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

If the call converts, these tokens will be applied to the call.

  • Must be a valid list of tokens. Example tokens:
    buyer_interest:loan,another_token:value