Build And Integrate Ringless Voicemails API
Directly integrate ringless voicemail delivery into your software. Successful deliveries are deducted from your account balance based on the rate dictated by your monthly subscription plan. Invoke the Ringless Voicemail API from your application by sending an HTTP POST containing a json document with the attributes listed below. Once delivery is attempted, you will receive a callback containing the delivery status to the webhook you specified in your API settings contained in your account.
Sending Ringless Voicemail via API
Content-Type: application/json
Attributes
NAME
TYPE
DESCRIPTION
REQUIRED
Located on the API Setting tab.
Example: <Your Account>
Located on the API Setting tab.
Example: <Your Secret>
A value to identify this drop in your system. Will be passed through to you in the webhook callback. Max length 256 characters.
Example: <Your system’s ID>
A url to the voicemail audio to play (mp3 or wav).
Example: https://example.com/your-file.mp3
The file type of audio_url: ‘mp3’ or ‘wav’.
Example: ‘mp3’
Your contact’s phone number in E.164 format.
Example: ‘+15552223333’
The phone number to forward calls and texts to when the contact replies to your message. Must be in E.164 format.
Example: ‘+15557778888’
The ID of the private number pool to select phone numbers from based on geographic location of your contact.
Defaults to the public pool of shared numbers.
The zip code / postal code of your contact. Supplying a value for postal code is optional but provides more accurate compliance with TCPA calling hours.
Example: ‘02101’ or ‘90210-0001’
Override the default RVM webhook url that you specified in your API settings.
Example: ‘http://example.com’
Wholesale customers are able to specify SIP Trunks and STIR/SHAKEN credentials.
Please contact us for details
Example
curl --header "Content-Type: application/json" --data {"team_id": "<your team_id>", "secret": "<your secret>", "audio_url": "https://example.com/your-file.mp3", "audio_type": "mp3", "phone_number": "+15552223333", "caller_id":"+15557778888", "foreign_id": "<your system value>"} https://api.dropcowboy.com/v1/rvm
Results
System will call the callback url specified in the settings tab with json content like this:
{ "drop_id": "5c8eb7940a057a4ab0823e1a", "phone_number": "+15552224444", "attempt_date": "2019-03-17T21:10:26.000Z", "status": "success", "reason": "", "dnc": false, "product_cost": 0.099, "compliance_fee": 0.0025, "network": { "name": "Verizon Wireless:6006 - SVR/2", "type": "wireless" }, "foreign_id": "<your system value>" }
{ "drop_id": "5c8ee427a8d9ef4758bfaca5", "phone_number": "+15552224444", "attempt_date": "2019-03-18T00:20:26.000Z", "status": "failure", "reason": "VoiceMail NotDetected", "dnc": false, "product_cost": 0, "compliance_fee": 0.0025, "network": { "name": "Verizon Wireless:6006 - SVR/2", "type": "wireless" }, "foreign_id": "<your system value>" }
Possible Error Reasons
NAME
DESCRIPTION
The phone number is not reachable – usually because it is no longer in service.
The phone number is experiencing a localized service outage.
The phone number does not have voicemail capability.
Your Ringless Voicemail account is out of money.
The phone number is a known TCPA litigator.
The phone number is a landline (only possible to get this error via the Drop Cowboy UI and not through the API).
The telephone carrier actively rejected our voicemail attempt – usually because they marked your message attempt as spam.
The phone number is on your Drop Cowboy DNC list and therefore blocked.
You attempted to deliver a voicemail message to your contact outside of TCPA callable hours.
Create Contact List
Headers
NAME DESCRIPTION REQUIRED
Attributes
NAME DESCRIPTION REQUIRED
Example JSON Body
{ "list_name": "My List Name" }
Results
An object containing the following:
NAME DESCRIPTION
Example Results
{ "list_id": "ba2ace9b-471c-4c77-8c07-0bcba83f9xyze", "list_name": "api test 5", "created_at": 1587424720775 }
Rename Contact List
URI Parameters
NAME DESCRIPTION LIST_ID
Is the UUID value returned in the api results when creating a list or getting a list from the /list endpoint.
Headers
NAME DESCRIPTION REQUIRED
Attributes
NAME DESCRIPTION REQUIRED
Example JSON Body
{ "list_name": "My Updated List Name" }
Results
This endpoint will return a HTTP STATUS 200 if successful.
Get Contact List Details
URI Parameters
NAME DESCRIPTION LIST_ID
Is the UUID value returned in the api results when creating a list or getting a list from the /list endpoint.
Headers
NAME DESCRIPTION REQUIRED
Results
An array of objects containing:
NAME DESCRIPTION
The total number of contacts in the list.
Example Results
{ "list_id": "ba2ace9b-471c-4c77-8c07-0bcba83f9xyz", "list_name": "My List Name", "created_at": 1587424720775, "contact_count": 10482 }
Delete Contact List
URI Parameters
NAME
DESCRIPTION
Is the UUID value returned in the api results when creating a list or getting a list from the /list endpoint.
Headers
NAME
DESCRIPTION
REQUIRED
The team_id assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
The secret assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
Results
This endpoint will return a HTTP STATUS 200 if successful.
Append Contacts to List
URI Parameters
NAME
DESCRIPTION
Is the UUID value returned in the api results when creating a list or getting a list from the /list endpoint.
The number of contacts that can be appended to this list is dependent on the amount of data you submit per contact. If you’re only submitting phone numbers, it’s recommended to submit in batches of 10,000. If you are sending full contact data including addresses and custom fields, it’s recommended to submit in batches of less than 10,000. The api is restricted to requests less than 10MB and taking less than 29 seconds to process.
Headers
NAME
DESCRIPTION
REQUIRED
The team_id assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
The secret assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
Attributes
NAME
DESCRIPTION
REQUIRED
Array of strings that define the data types being passed in the Values attribute. It is acceptable tohave repeat field types specified if your contacts have multiple phone numbers, pass in the value of “phone” multiple times in this array. Possible field types are: record_id
, first_name
, last_name
, company
, email
, phone
, address1
, address2
, city
, state
, postal
, country
, custom1
, custom2
, custom3
, custom4
, custom5
.
An array of arrays. Inner arrays contain the values associated with the field types you specify in the fields attribute. You may pass in up to 10,000 contacts per api call.
The ISO country code to use when converting your phone number values to E.164 format. If yourphone numbers are already formatted in E.164 then the region attribute is ignored. Defaults to US
.
Example JSON Body for a Contact With 3 Phone Numbers
{ "region": "US", "fields": [ "record_id", "first_name", "last_name", "company", "email", "phone", "phone", "phone", "address1", "address2", "city", "state", "postal", "country", "custom1", "custom2", "custom3", "custom4", "custom5" ], "values": [ [ "ExternalID123", "bob", "doe", "bobs company", "bob@example.com", "555-111-1111", "(555) 222-2222", "+15553334444", "123 Very Long Name St.", "Apartment 12345", "Phoenix", "AZ", "85020", "US", "Under $500,000", "Green", "3 Kids", "1 Dog", "Next 6 Months" ] ] }
Results
NAME
DESCRIPTION
The number of contacts appended to the list.
An array of objects containing the index of the rejected contact from the value array that you passed to the api and the reason that contact was rejected.
Example Results
{ "accepted_count": 10479, "rejected": [ { "index": 0, "reason": "Not a valid US,CA phone number" }, { "index": 229, "reason": "Not a valid US,CA phone number" }, { "index": 301, "reason": "Not a valid US,CA phone number" } ] }
Getting Started
Invoke our brand api from your application by sending an HTTP GET containing with the attributes listed below.
Listing Brands
Content-Type: application/json
Headers
The team_id assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
The secret assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
Example Results
[ { "brand_id": "ba2ace9b-471c-4c77-8c07-0bcba83f9xyz", "company_name": "Legal Name Brand #1", "dba_name": "Other Name Brand #1", "trust_score": 0, "identity_status": "UNVERIFIED" }, { "brand_id": "ba2ace9b-471c-4c77-8c07-0bcba83f9xye", "company_name": "Legal Name Brand #2", "dba_name": "Other Name Brand #2", "trust_score": 55, "identity_status": "VERIFIED" } ]
Getting Started
Invoke our number pool api from your application by sending an HTTP GET containing with the attributes listed below.
Listing Number Pools
Content-Type: application/json
Headers
The team_id assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
The secret assigned to your Drop Cowboy account. This value is found by logging into Drop Cowboy and visiting the My Account -> API page.
Example Results
[ { "pool_id": "abcace9b-471c-4c77-8c07-0bcba83f9abc", "brand_id": "ba2ace9b-471c-4c77-8c07-0bcba83f9xyz", "name": "Number Pool #1", "service_type": "sms", "number_count": 1 }, { "pool_id": "deface9b-471c-4c77-8c07-0bcba83f9def", "brand_id": "ba2ace9b-471c-4c77-8c07-0bcba83f9xye", "name": "Example Pool #2", "service_type": "rvm", "number_count": 19 } ]