Contents
-
-
- AddNumbersToBroadcast
- AddNumberToBroadcast
- CancelBroadcast
- CreateBroadcast
- CreateDetailedBroadcast
- DeleteNumberFromBroadcast
- DeleteNumbersFromBroadcast
- DeleteSchedule
- ExtCreateBroadcast
- GetAllBroadcastStatus
- GetBroadcastStatusValues
- GetSchedules
- InsertCustomCall
- ScheduleDaily
- ScheduleWeekly
- WBCreateAccount
-
- AddNumbersToList
- AddPersonsToList
- CreateNewList
- CreatePersonID
- DeletePerson
- DeletePersonFromList
- GetAccountOptInOptOut
- GetAccountOptOuts
- GetAvailableLists
- GetListContents
- GetListIDByName
- GetListsByPersonID
- GetListsByPhone
- GetOptOutList
- GetPersonIDDetails
- GetPersonIDsByPhone
- GetSMSOptIns
- InsertOptOut
- LinkKeywordToList
- UpdatePersonID
-
- AudioID
- AudioType
- BroadcastID
- BroadcastStatus
- BroadcastType
- CallResultValues
- CommaDelimitedPhoneNumbers
- CreateBroadcastType
- DateTime
- ErrorCode
- ErrorMessage
- InboxID
- JobName
- Keyword
- ListID
- MessageID
- MessageIDVM
- MessageRecordingID
- MessageType
- OptInOptOutReasonCode
- PersonID
- PhoneNumber
- PhoneNumberSource
- PIN
- SMSInboxMessageStatus
- SMSMessageType
- SMSMsg
- SMSResultValues
- SurveyOptions
- TimeZoneOffset
- TTSText
- Username
-
- Function Error Codes
Introduction
The SOAP API is deprecated and should not be used for new development. If you're starting a new integration, please use the REST API. If you're currently using the SOAP API, you may continue to develop against it. We will make bug fixes and other changes as needed to support existing SOAP API users. We will update this documentation as needed. However, we may not add new features of our service to the SOAP API.
Welcome to Call-Em-All's SOAP API Developer's Guide. We've put together a comprehensive reference for your use. Like any good guide it describes the API functions and tells you how to connect and make use of our service. It even has code examples in several languages. However, it goes further by providing details on such subjects as common data formats used throughout the API, the three broadcast types, SMS texting peculiarities, and controlling your text-to-speech conversions. In short, there's lots of good stuff in here that will help you get the most out of the Call-Em-All API.
Whether you're new to our API or not, we recommend that you read (or at least skim) the Quick Start section first. Once you digest that, refer back to the other material in the Intro & Background part of the guide for a closer look at the API and its features including: API Conventions, Connecting to the API, Staging Considerations (you'll develop and test your code in a Staging environment), Text-to-Speech, and SMS at Call-Em-All.
The remainder, and actually the bulk, of the Developer's Guide consists of API function descriptions, common data types, code examples in several languages, and a listing of error codes returned by the API's functions.
Account Requirements
We require all API accounts to be on the Pay-As-You-Go plan. Unfortunately, we do not offer API access to monthly customers. If you have any questions please feel free to contact us.
Quick Start Guide
The following bits of info will get you on your way to adding Call-Em-All functionality to your application.
- You need to have a Call-Em-All account to use the API. If you do not have an account, please visit http://www.call-em-all.com and create a free trial account.
- With your account credentials at the ready, browse to the API authorization page and request API access.
- Once approved, you'll be granted an account in our Staging environment. The Staging environment is fully functional, but operates on canned data. Therefore, you can test your application without worry. We even give you some credits so you can make broadcasts from Staging. The Staging environment has its own web site: http://staging.call-em-all.com. What you do through the API to your Staging account will be viewable on the web site. We encourage you to use the Staging web site to view and manage your data as you develop and debug your code. However, note that while fully operational, Staging is a bit different than the Production environment that your application will use when it goes live. See the Staging Considerations section for details.
- The Call-Em-All SOAP API accepts both SOAP 1.1 and SOAP 1.2 requests via a family of function calls. The bulk of this document is an explanation of those functions. While we think the function descriptions are straightforward, you might want to take a peek at the API Conventions section.
- Most applications will only ever need to use a handful of the API functions that we call the Great Eight. The Great Eight are listed below and can also be accessed through the table of contents under Functions.
- While in development, your API function calls will be made against one of the Staging SOAP web service end points. Information on how to connect to the API can be found in the Connecting to the API section.
- We have code examples available in several languages. Please have a look at the Code Examples section for inspiration.
- If you're going to use the API for SMS text messaging, we strongly recommend that you look at the SMS at Call-Em-All section. It will help you understand our terminology, treatment, and process for text broadcasts.
- The API can convert text to speech (TTS) for use in voice broadcasts. If you will use TTS, please check out the Text-To-Speech section.
- When your application is tested and ready to go live, contact us at api@text-em-all.com. If everything looks good, we'll enable API access for your account in the Production environment. Of course you'll have have to change your code to use the Production End Points. You'll also have to migrate from Staging to Production any audio or contact list entries that you want to save. You can do this through API calls. Note that your AudioIDs and contact list identifiers (like PersonIDs and ListIDs) will change when you move from Staging to Production. Therefore, you'd be wise to refrain from hard-coding values into your application.
API Conventions
This bulk of this document consists of descriptions of the 70 some odd SOAP API functions. As the functions are your application's way to communicate with Call-Em-All, we have tried to make the functions as easy to understand and use as possible. However, in case some items are confusing we provide this guide to the conventions used when presenting the functions.
Function Format
Each function's description has the following format.
- The function's name
- Cautionary notes (e.g., deprecated, beta, restricted use)
- The call format
- A description of what the function does and suggestions for its use
- Links to Code Examples, if any
- The request object to pass and any types upon which it depends
- The response object returned and any types upon which it depends
The request and response objects are the key parts of any function. Therefore, the rest of this section centers on them.
Request and Response Types
All functions accept an object as input and return an object (a request object and a response object, respectively). Each object is of a certain type. The names of the request type and response type are an extension of the function's name. For example, the AddNumbersToBroadcast function's request type is AddNumbersToBroadcastRequestType and its response type is AddNumbersToBroadcastResponseType. Each request and response type entry starts with the type's name followed by a brief description and a table explaining the type's attributes. For illustrative purposes, here's a copy of the AddNumbersToBroadcastRequestType entry (click on the link to go to the real entry).
AddNumbersToBroadcastRequestType
Contains all the information needed to add additional phone numbers to an existing broadcast.
Attribute | Description |
---|---|
String username (R) | The account's UserName. |
String pin (R) | The account's personal identification number (PIN). |
String broadcastID (R) | The broadcast's ID number. |
NumbersArray[ ] numbersToAdd (R) | An array populated with one or more objects. Click on the array's type for details. |
NumbersArray
Despite the name, this is a structure holding information about a single phone number.
Attribute | Description |
---|---|
String phoneNumber | |
String firstName | |
String lastName |
Attributes
As you can see from the example type entries above, type tables have just two columns: Attribute and Description.
Entries in the Attribute column present attribute properties in a declarative fashion, much like you'd find in a programming language. For example, the username attribute is of type String and the numbersToAdd attribute is an array of NumbersArray type objects. In the case of simple types like Strings and Integers clicking on an attribute's name in the Attribute column takes you to an explanation of the attribute's type and conditions placed on it. For instance, although it's a String, broadcastID values must conform to certain rules. For complex types like numbersToAdd clicking on the type's name leads you to the type's description.
Functions are self-contained, so if a type references another type, the referenced type's entry will be found in the function's description after the type that references it. Note that the dependencies can be two levels deep.
The Description column is self-explanatory. A description may be empty if we feel that the attribute doesn't need one. E.g., In the example above phoneNumber, firstName, and lastName all seem self-explanatory.
Attribute Specifiers
In the example listing above for AddNumbersToBroadcastRequestType you'll notice that some attribute entries contain an R surrounded by parentheses like so: (R). This is an optionality specifier for the attribute. In this case, the (R) indicates that the attribute is required. There are four attribute optionality specifiers.
Value | Description |
---|---|
(R) | The attribute must be present and have an appropriate value. If the parameter is missing, left empty or blank, or is null, the function will return an error. |
(C) | The attribute's value is conditional on one the function's other attributes or on how the function is being used. The attribute's description will explain the conditions. |
(S) | The attribute is suggested in the sense that it is not required, but providing a value for it will make the function execute faster or provide a better client experience. |
The lack of a specifier means that the attribute is optional. Oftentimes, optional attributes will have a default value. Thus, if you don't explicitly include the attribute in your function call, or include it but don't give a value, the default value will be used. Consult the attribute's description for details. |
Strings Abound
Our API uses Strings for a majority of its parameters. For example, even though it's a String, the username attribute is restricted to being a sequence of numeric characters (a numeric String). The reason for this is that it's natural for a customer to use their phone number as their username (easy to remember). Also, when launching a broadcast over the phone, it is much easier to enter a number than it is characters. When warranted, Attribute column entries contain links to the conditions and restrictions placed on attributes. For instance, clicking on username in the AddNumbersToBroadcastRequestType example listing above jumps you to the UserName Common Type entry which explains the limits on username and how username is treated by the system.
In other cases, Strings are just Strings with no special conditions placed on them.
The Function Response
Once you have populated your request and submitted it to our API, we will process it and send back a response object. The response object's type is described in the function description.
Functions always return a high-level error code and error message. If the function executed without problems, the error code and message will reflect that, too. The Function Error Codes section contains a complete listing of these error codes and messages.
It's possible for a function to execute and respond that it didn't have an error, but for some parts of it to go unprocessed or have non-fatal errors. When this is the case, the function usually returns addtional information about lower level errors. An example of this is adding phone numbers to an existing broadcast via the AddNumbersToBroadcast function. One of the parameters passed to the function is an array of contact information. It's possible that the contact information of one of the array's entries may be bad (an improperly formatted phone number, for example). If so, that contact will be rejected when the function executes, but all good contacts will still be processed. If this is the only error, the function will return an error code of 0 (zero) meaning that it successfully executed. To see if there were errors adding phone numbers, you'll need to check the response object's addResults attribute which contains an error code and message for each failed phone number.
Binary Data
Some functions take a binary data stream as input or return one. Examples of this include Excel spreadsheets and audio files. Whenever this occurs, we tell you what formats are acceptable and what kind of restrictions are placed on the stream (e.g., Base-64 encoded). Since computing systems and languages do some things differently, the coding for passing of binary data can sometimes be difficult to get right. Unless this documentation specifically calls for special treatment, we suggest you first try a raw binary stream. If that doesn't work, try a Base-64 encoded stream. If you still aren't feeling the love, then contact us at api@text-em-all.com and we'll help you troubleshoot.
Common Types
Common types are format restrictions or enumerations used througout the API. The UserName restrictions on a String is one Common Type. The possible results of calling a phone number during a broadcast is an enumeration Common Type called CallResultsValues. When needed, links to common types are found in the Subtype column of a type's attribute description table. You can also browse the full listing of common types.
Dates, Times, and Time Zones
It should be no surprise that dates, times, and time zones frequently show up in function requests and responses. In fact, the nature of the business demands it. Failure to pay proper attention to dates and times might mean that your broadcasts execute at inconvenient times for both you and those called.
All dates and times use your local time zone (the account's time zone). To perform actions at the proper time and to show you results in your time zone, the system needs to know your time zone or how many hours difference there is between your time zone and the Central Standard Time (CST) zone. To set up your account with the correct time zone, either log into your account and go to the "My Account" tab or use the API's UpdateAccountInfo function.
Please pay attention to the dates and times you submit, especially when scheduling broadcasts. If you're not careful, you can end up annoying people by calling them either too early or too late in the day. For example, say you're based in New York City which is in the Eastern Standard Time (EST) zone. If you schedule a broadcast to start at 9:00 AM, then calls will start going out at 9:00 AM EST. This means calls going to numbers in the Central Standard Time (CST) zone might be called as early as 8:00 AM their time, numbers in the Mountain (MST) zone at 7:00 AM MST, and numbers in the Pacific (PST) zone at 6:00 AM. The situation is reversed for accounts based in the PST; calls made late in the day will be at a very late hour to those on the east coast (e.g., 8 PM PST is 11 PM EST).
Beyond these warnings, we strongly suggest you check out the DateTime common type which explains how dates and times are formatted and the TimeZoneOffset common type which gives the difference in hours between your time zone and the Central Standard Time zone.
Connecting to the API
Function calls must be made to one of the various end points of the Call-Em-All SOAP API web service. Which end point you use depends on your environment (Staging or Production) and which version of the API you are using. Also, some technologies require that your software source the API's Web Service Definition Language (WSDL). This section is your guide to putting together the correct URLs for your application.
API Versions
The current version of the SOAP API goes by the name "CEAAPI_V3-2-13". This name is key to making web service calls and viewing or connecting to the WSDL as we'll explain in a moment. New development should use this name when constructing URLs.
If you have an application that uses an older version of the API, those versions are still supported and you can continue to use your existing URLs. However, if you wish to upgrade your application to make use of new functions or the enhanced capabilities of existing functions, you'll need to change any upgraded portions of your code to use the current API version. Note that the current version is backwards compatible with older versions. So, if you want to change all of your legacy application's URLs to the current version, then you can do that.
We also have a Beta API that is only available in the Staging environment. It's name is "CEAAPI_V3-Beta".
End Points
SOAP API function calls are made against either the Staging or Production end points as listed below. If using an older API version, substitute that version's name for the current version's name. Clicking on each link takes you to a listing of API functions where interface definitions can be found. The definitions might be informative for some developers, but simply outline each function's request and response types in the barest of fashions. Instead, we suggest that you consult this guide for information about the functions.
While you develop and test your code, you'll make your function requests to one of the Staging environment's end points. Then you'll switch to Production end points for real world use. Requests must be made using HTTPS and encrypted with TLS 1.2 or higher.
Examples of setting up function calls in several languages can be found in the Code Examples section.
Staging
Production
WSDL
The API's Web Service Definition Language specification can be accessed at the following URLs.
Staging
Production
Staging Considerations
When fully developed, your Call-Em-All enabled application will operate in our Production environment. However, during development and testing your application will use our Staging environment. The Staging environment can do everything that Production can, but uses a separate set of data and behaves differently in the following respects.
Short-code SMS Texting
When sending SMS text messages to the Staging system, you MUST preface all of your messages with "callem". For example, to opt-in to an SMS group on the Production system you would simply text "Keyword" or "join Keyword" to our 292929 shortcode. However, to do the same thing in Staging you'd have to text "callem Keyword" or "callem join Keyword" to 292929, respectively.
Voice
The Staging system has a limited number of outbound ports for making calls. It also does not check as frequently for calls to be made. Just be aware that calls will go out with more delay and on a much slower basis than what you will see in Production.
The toll-free numbers used for voice broadcasts are also different as the table below shows.
Toll-free Line Purpose | Production | Staging |
---|---|---|
Record a message with a MessageRecordingID | 866-623-7244 | 866-284-4401 |
Launch a broadcast via phone | 866-623-7525 | 866-283-1118 |
Record a sales intro message | 866-284-5331 | n/a |
Opt-Out Line | 866-284-6198 | n/a |
Record a message with a MessageRecordingID (no Call-Em-All branding) |
877-565-8460 | n/a |
Replay last message sent to the calling number | 877-565-8456 | n/a |
Text To Speech
The API gives you the ability to create voice messages from text using text-to-speech (TTS) technology. Where TTS is available, you pass the text to be converted to speech as part of a function call. In addition to the text be converted, you can include special commands for the TTS system. Using these commands you can control things like synthetic voice (gender, pitch, speaking rate, etc.), special pronunciation, pause durations, how numbers are to be converted, and more. The commands are delimited by angle braces, < and >, much like in HTML. For example to specify the voice to be used, you would insert the following command into your text: <voice name='callie'>. The available TTS commands are found in this section.
IMPORTANT: You must use single quotes as shown in the examples. Failure to do so will cause result in TTS errors.
Voices
You can specify the voice to be used to read your text. You can even alternate voices as if they were having a conversation. For example, to use the female voice Callie simply wrap the text with a voice tag and specify the voice's name as in:
<voice name='callie'>Hello, my name is Callie</ voice>.
The voices are listed below.
- Female: Allison, Callie
- Male: David, Lawrence, William
The Say-as Element
Your TTS can be comprehended more easily by the listener if some types of data receive special treatment. You can do this through the Speech Synthesis Markup Language (SSML) Say-As element. The table below gives information on Say-As options that may be useful in the Call-Em-All context.
Type | Example | Example as Read |
---|---|---|
address | <say-as type='address'>Elm St Seattle WA</say-as> | Elm Street Seattle Washington |
cardinal | <say-as type='cardinal'>12345</say-as> | Twelve thousand three hundred forty five |
date:md | <say-as type='date:md'>10.20</say-as> | October twentieth |
date:mdy | <say-as type='date:mdy'>10.20.1998</say-as> | October twentieth nineteen ninety eight |
date:y | <say-as type='date:y'>1998</say-as> | Nineteen ninety eight |
letters | <say-as type='letters'>hello</say-as> | H E L L O |
number:digit | <say-as type='number:digit'>123</say-as> | One two three |
number:digit | <say-as type='number:digit'>1.23</say-as> | One point two three |
ordinal | <say-as type='ordinal'>1</say-as> | first |
spell | <say-as type='spell'>hello</say-as> | H E L L O |
telephone | <say-as type='telephone'>123</say-as> | One two three |
telephone | <say-as interpret-as='telephone' format='1'>9725551212</say-as> | Nine seven two <pause> five five five <pause> one two one two |
time | <say-as type='time'>3:45 pm</say-as> | Three forty-five P M |
Phonetic Spelling
Sometimes you need precise control over the pronunciation of words. This can be achieved using the Speech Synthesis Markup Language (SSML) phoneme element. A phoneme is a particular sound used in a spoken language. For example, as written, our company name "Call-Em-All" doesn't sound right when converted to speech. To have it pronounced correctly we need to use a phoneme phrase as follows: <phoneme ph='k ao1 l eh1 m ao1 l'>Call-Em-All</phoneme>. An excellent table of English phonemes that can be used for TTS can be found here.
Inserting Pauses
You can control the duration of pauses in the converted text using the break element. There are six possible durations. In order from shortest to longest they are: none, x-weak, weak, medium, strong, and x-strong. The element tag is <break strength='duration'/> where 'duration' is replaced with the one of the six pause durations (e.g., no pause would be <break strength='none'/>.
Pitch, Range, Rate and Volume
The Speech Synthesis Markup Language (SSML) prosody element lets you control the pitch, range, rate, and volume of the converted text. In the prosody tag, all attributes are optional, but at least one must be present. A description of each attribute and examples follow.
Pitch
This attribute modifies the baseline pitch for the text enclosed within the tag. Accepted values are:
- the absolute frequency in Hz
- a relative change
- 'x-low'
- 'low'
- 'medium'
- 'high'
- 'x-high'
- 'default'
Examples
- <prosody pitch='150Hz'> Modified pitch </prosody>
- <prosody pitch='-20Hz'> Modified pitch </prosody>
- <prosody pitch='+20Hz'> Modified pitch </prosody>
- <prosody pitch='-12st'> Modified pitch </prosody>
- <prosody pitch='+12st'> Modified pitch </prosody>
- <prosody pitch='x-low'> Modified pitch </prosody>
Range
This attribute modifies the baseline pitch range for the text enclosed within the tag. Accepted values are the same as for the Pitch attribute.
Rate
This attribute controls the speaking rate for the text enclosed by the tag. The rate is specified in words-per-minute. If the speaking rate is 50 words-per-minute, then set rate to 50. If the setting is rate +10, the speaking rate will be 10 words per minute faster than your current rate setting. Accepted values are:
- a positive number (not SSML compliant)
- a relative change
- 'x-slow'
- 'slow'
- 'medium'
- 'fast'
- 'x-fast'
- 'default'
Examples
- <prosody rate='+25'>Modified speaking rate</prosody>
- <prosody rate='-25'>Modified speaking rate</prosody>
- <prosody rate='x-slow'> I talk really slow. </prosody>
- <prosody rate='slow'> I talk slow. </prosody>
- <prosody rate='medium'> I talk at a medium pace. </prosody>
- <prosody rate='fast'> I talk fast. </prosody>
- <prosody rate='x-fast'> I talk very fast. </prosody>
- <prosody rate='default'> I talk normally. </prosody>
Volume
This attribute modifies the volume for the contained text. Accepted values are:
- a number between 0.0 and 100.0
- 'silent'
- 'x-soft'
- 'medium'
- 'loud'
- 'x-loud'
- 'default'
Examples
- <prosody volume='88.9'>Modified volume</prosody>
- <prosody volume='loud'>Modified volume</prosody>
Short-code SMS
This section relays information about our deprecated short-code SMS service and is of value to legacy short-code customers only. The short-code texting system sent and received texts using the 292929 short code. Our current texting system uses standard long-code phone numbers and offers several advantages over short-code texting. To learn more about our current texting system, log into your Call-Em-All account or read this FAQ page.
In order to make SMS text broadcasting work Call-Em-All has had to add some functionality to the normal text messaging you might be used to. The reasons are several. One has to do with following FTC guidelines imposed on our industry. Another has to do with the practicalities of text broadcasting such as enabling replies and broadcasting to specific contact list groups. At first glance, the way our texting system works may seem weird. Rest assured that everything is done with a purpose. This section explains the "why", "what", and "how" of our texting service. Once you understand it, you'll be a better user and be better able to explain the service to your users.
We'll start by explaining how to enable text messaging on your Call-Em-All account. You'll learn the importance of Account Keywords and how to add flexibility to your texting with Group Keywords. Next we'll explain why people need to opt-in to receive text messages from you. Then we'll show you how the opt-in process works, how to get people to opt-in, and how people can opt-out.
Enabling Text Messaging
To send text broadcasts, you must first establish an Account Keyword for your account. Optionally, you can increase your texting flexibity by targeting contact list groups using Group Keywords. We refer to both Account Keywords and Group Keywords as just "Keywords" distinguishing between the two when the context isn't clear. We encourage you to read about the Keyword common type before continuing on.
To create an Account Keyword, log into your Call-Em-All account. If you're using the Staging environment, go to http://staging.call-em-all.com. For the Production environment, go to http://www.call-em-all.com. Once logged in, click on the button on the left side of your home page that reads, "Want to send texts?". On the resulting screen click the "Create Keyword" button. Alternately, you can click on the "My Account" tab at the top of the screen and once there click on the "Enable Text Messaging" link under the "Preferences" section. Part of the window will look like the image below. Follow the steps under "Text Message Quick Start" to create your account's Keyword (step #1). You can optionally set a phone number from which text broadcasts can be launched (step #2) and author a welcome message that people will see when they opt-in to your Keyword (step #3).
The Keyword just created is the Account Keyword for your account and is tied to the "Everyone" contact list. If you text a message to the Call-Em-All shortcode 292929, then every number in your "Everyone" list that has opted-in to your Keyword will receive the message. You can tell if a number has opted-in becase a green "TXT" will appear next to the number.
CAUTION: You can change your Keyword at any time. However, if anybody has opted-in to your old Keyword, they will have to opt-in to your new Keyword. Pick your Keyword carefully.
Group Keywords
Using a Group Keyword in conjunction with your Account Keyword you can send texts to a contact list group. The idea is simple and best explained by example.
Suppose there's a church with an account that has the Base Keyword "Church". Using just the "Church" Keyword, the church can only text to opted-in numbers in its "Everyone" contact list. Now suppose that the church has some contact groups set up and populated. One group is for the church's youth organization and has the name "Youth". The other group is for the ladie's guild and is called "Ladies". Group Keywords are not enabled by default. To create a Group Keyword for each group, the church needs to go to the "Contacts" page within its account, select the group's name then click on the edit button next to the group's name (looks like a pencil). In the pop-up that appears, they would enter the Group Keyword for the group.
For simplicity, let's assume that the church's group names and Group Keywords are the same. The full Keyword for a group is the concatenation of the Account and Group Keywords as in <AccountKeyword.GroupKeyword>. For the church, then, the Keyword for each group is "Church.Youth" and "Church.Ladies", respectively.
Sending Texts
Continuing with the church scenario, we now show three ways to launch a text broadcast: Web Site, Phone, and API.
Sending a Text Broadcast Using the Web Site
This is probably the easiest way to launch a text broadcast. You simply click the "Create A Broadcast" button (present at the top of everypage when logged in) and follow the steps. Here are some pointers.
- In step #1 make sure you pick either the "Text" or "Voice & Text" Message Type options.
- In step #2 you have complete control over which numbers to text. Note that if you upload numbers or add numbers indivually, those numbers must have opted-in to your Account Keyword and any applicable Group Keyword or they will not receive a text. If your broadcast is a combination of voice and text, opted-out numbers will still get a phone call.
- In step #4 you write your text message. An estimate of the message's length is shown for both for U.S. and Canadian systems. This is because any special characters will be encoded prior to broadcast and may actually take up more than one character's worth of space. Notice that the Keyword is already shown. While, not essential, we recommend that you include the full Keyword for the group you're texting in your message so that recipients can get an idea of who is texting them and why.
Sending a Text Broadcast From a Phone
Launching a text broadcast from a phone is fairly easy. Note that only a text-capable phone can be used and that the phone number of that phone must be registered with the account before it can be used to make text broadcasts. Here's how to do it.
- Create a new text message on your phone to the short code 292929.
-
Target a contact list group to receive the broadcast. Your options are:
-
Everyone: Start your message with the pound sign, #, followed immediately by your Keyword or start your message with "#all". Using the church scenario from earlier, the church could send an announcment about Easter services to Everyone using one of these two methods:
- "#church Easter services..."
- "#all Easter services..."
-
Contact list group: The message must be proceeded by the concatenation of the Account Keyword and the Group Keyword separated by a period like so: <AccountKeyword.GroupKeyword>. Remember, case doesn't matter. Here are some examples using the church scenario:
- "#church.Youth Tonight's meeting..."
- "#Church.Ladies Our next meeting..."
- "callem #church.youth Tonight's meeting..." (Staging environment)
-
Everyone: Start your message with the pound sign, #, followed immediately by your Keyword or start your message with "#all". Using the church scenario from earlier, the church could send an announcment about Easter services to Everyone using one of these two methods:
- Type the rest of your message and hit send. Be sure to pay attention to the message length limits: 160 characters (U.S.) and 136 characters in Canada. Note that special symbols will translate into additional characters when the message is sent. Also note that the "#keyword" part of your message will be removed (recipients will not see it). Thus you may want to identify yourself to the recepients somehow, perhaps by putting your Keyword in the message body.
Sending a Text Broadcast Using the API
Use the ExtCreateBroadcast function to launch a single text broadcast. The functions ScheduleDaily and ScheduleWeekly can be used to create recurring broadcasts. Unlike the other two methods for creating text broadcasts, you can't use Group Keywords to target a contact list group, but instead must use a group's ListID.
Opting-in and Opting-out
At Call-Em-All, we are very careful to follow both the letter and spirit of FTC, FCC, and industry guidelines for text messaging services. One of them concerns who can receive text messages. In this section we'll explain the rules, how people can opt-in to receive messages from you, and how to manage your opt-ins.
Opt-ins are Neccessary
In order to send a text message to someone through Call-Em-All you must receive explicit permission from him or her. In Call-Em-All lingo, the person must "opt-in" to your Keyword before you can text them.
Why is this? There are several reasons. Chief among them is that the FTC and FCC take a dim view on unsolicited texting. Both you and Call-Em-All could be in a heap of trouble if we send texts to people without their permission. See our Terms of Use and Responsible Use statements for the nitty-gritty. A second reason is that some people's phone plans charge per text message. People don't want you running up their bills and the telecommunications companies don't want your running up their customer's bills. Lastly, unwanted texts are just that: unwanted. They're annoying and can be bad for business.
How to Opt-in
Like we said before, people must opt-in to your Keyword before you can text them. Here's how to do it.
Connect with the people that you want to opt-in (see the next section Promoting Your Keyword). If they are opting-in to your Account Keyword in the Production environment, have them send a text to Call-Em-All's shortcode of 292929 with your Account Keyword as the message. For example, to join the Keyword "Church" a person simply texts the word "Church" to 292929. Alternatively, they can also text "join church". If using a Staging account, the process is the same except that "callem" must appear before the Keyword in message body like so: "callem church" and "callem join church". People can opt-in to groups by texting the concatenation of the Account Keyword and group's Group Keyword separated by a period. For instance, to opt-in to the church's youth group text "church.youth" to 292929.
When a contact has opted-in, you'll see the letters "TXT" in green next to the phone number.
Promoting Your Keyword
It can be difficult to get the word out about your Keyword. Here are some ideas to get you started.
- Advertise it yourself with promotional literature or your web site.
- Email the potential opt-ins.
- Send out a voice broadcast.
- Use the API's SendOptInvitation function to send a text inviting someone to opt-in. You can send one invitation per phone number every 90 days.
How to Opt-out
Sometimes people will want to stop receiving texts from you. Yes, it's a sad reality. To opt-out to all texts from your account a person would simply text "stop AccountKeyword" 292929. To opt-out of texts from a contact list group the person would text "stop AccountKeyword.GroupKeyword". Using the church scenario, example opt-out messages are "stop church" or "stop church.youth". Again, for the Staging environment, texting commands need to be prefaced with the word "callem". You might also consider telling people about the opt-out web page (http://www.call-em-all.com/OptOut).
Function: AddNumbersToBroadcast
AddNumbersToBroadcastResponseType AddNumbersToBroadcast(AddNumbersToBroadcastRequestType myRequest)
Adds multiple new phone numbers to an existing broadcast. To add a single phone number consider AddNumberToBroadcast. The phone numbers are not added to the account's contacts.
AddNumbersToBroadcastRequestType
Contains all the information needed to add additional phone numbers to an existing broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastID (R) | The broadcast's ID number. |
NumbersArray[ ] numbersToAdd (R) | An array of objects. Click on the array's type for details. |
NumbersArray
Despite the name, this is a structure holding information about a single phone number. Providing a firstName and lastName may help when examining call results.
Attribute | Description |
---|---|
String phoneNumber (R) | |
String firstName (S) | |
String lastName (S) |
AddNumbersToBroadcastResponseType
Contains details about the success or failure of the function itself and each attempted insert into the broadcast's phone numbers.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String broadcastID | The broadcast's ID number. |
ResultsArray[ ] addResults | An array of objects. Click on the array's type for details. |
ResultsArray
Despite the name, objects of this type contain the results of adding a phone number to an existing broadcast. Note that the error code and message may be simply state that the phone number was successfully added.
Attribute | Description |
---|---|
Integer errorCode | A numeric status code. |
String errorMessage | A description of the error. |
String phoneNumber |
Function: AddNumbersToList
AddNumbersToListResponseType AddNumbersToList(AddNumbersToListRequestType myRequest)
Adds one or more contacts to one of an account's contact lists. The contacts will also be added to the Everyone list. Note that there is no checking for duplicate contacts when new entries are created. Rather, only PersonID controls contact identity.
AddNumbersToListRequestType
A master type containing all the information for adding multiple phone numbers to an account's contact list.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID (R) | The ID number of a contact list within an account. |
ListAddDetailData[ ] NumbersToAdd (R) | An array of objects. Click on the array's type for details. |
ListAddDetailData
This type represents the full set of information for a Call-Em-All contact list entry.
Attribute | Description |
---|---|
String PrimaryPhone (R) | |
String FirstName | |
String LastName | |
String Notes | |
String SecondaryPhone | |
String TertiaryPhone |
AddNumbersToListResponseType
Contains details about the success or failure of the function itself and each attempted insert into the contact list.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String listID | The ID number of a contact list within an account. |
FailedRecordData[ ] FailedInserts | An array of objects. Click on the array's type for details. |
ListAddDetailResults[ ] PersonsCreated | An array of objects. Click on the array's type for details. |
FailedRecordData
Each object of this type contains details on a failure to insert an item into the contact list.
Attribute | Description |
---|---|
Integer EntryNumber | The zero-based position of a failed entry in the NumbersToAdd attribute of AddNumbersToListRequestType. |
String errorMessage | A description of the error. |
ListAddDetailResults
Each object of this type contains the contact information for each successful contact list insert. Note that a PersonID is assigned to each contact.
Attribute | Description |
---|---|
String PersonID | |
String FirstName | |
String LastName | |
String Notes | |
String PrimaryPhone | |
String SecondaryPhone | |
String TertiaryPhone |
Function: AddNumberToBroadcast
AddNumberToBroadcastResponseType AddNumberToBroadcast(AddNumberToBroadcastRequestType myRequest)
Adds a single new phone number to an existing broadcast. To add multiple phone numbers at one time see AddNumbersToBroadcast. The phone number is not added to the account's contacts.
AddNumberToBroadcastRequestType
Contains all the information needed to add single phone number to an existing broadcast. You can optionally associate a first name and last name with the phone number, which might be when reviewing call results.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastID (R) | The broadcast's ID number. |
String phoneNumber (R) | |
String firstName (S) | |
String lastName (S) |
AddNumberToBroadcastResponseType
Contains details about the attempt to add a single phone number to an existing broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String broadcastID | The broadcast's ID number. |
String phoneNumber |
Function: AddPersonsToList
AddPersonsToListResponseType AddPersonsToList(AddPersonsToListRequestType myRequest)
Adds existing contact entries to one of an account's contact group lists. To create a contact use CreatePersonID. Contact lists can be created with CreateNewList
AddPersonsToListRequestType
Holds the data needed to add existing contact information specified by PersonIDs to one of an account's contact group lists.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID (R) | The ID number of a contact list within an account. |
AddPersonsToListDetailData[ ] PersonIDsToAdd (R) | An array of objects. Click on the array's type for details. |
AddPersonsToListDetailData
Simply holds a PersonID.
Attribute | Description |
---|---|
String personID (R) | A unique identifier number for a contact (a person) within an account. |
AddPersonsToListResponseType
Contains details about the attempt to add contacts (reference by PersonIDs) to a contact list.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String listID | The ID number of a contact list within an account. |
PersonsFailedRecordData[ ] FailedInserts | An array of objects. Click on the array's type for details. |
PersonsFailedRecordData
Contains details about failed attempts to add a contact (identified by its PersonID) to a contact list.
Attribute | Description |
---|---|
String personID | |
String errorMessage | A description of the error. |
Function: ArchiveBroadcast
ArchiveBroadcastResponseType ArchiveBroadcast(ArchiveBroadcastRequestType myRequest)
Archives a broadcast immediately instead of waiting 90 days. This feature can be used to trim the recent broadcast list.
ArchiveBroadcastRequestType
Contains the information needed to locate and archive a broadcast within a user's account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastID (R) | The broadcast's ID number. |
ArchiveBroadcastResponseType
Contains details about the attempt to archive a broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String broadcastID | The broadcast's ID number. |
Function: CancelBroadcast
CancelBroadcastResponseType CancelBroadcast(CancelBroadcastRequestType myRequest)
CancelBroadcast allows the user to cancel an existing active broadcast. A broadcast that has been scheduled, but not started will be cancelled outright. A broadcast that is executing not make new calls and will stop as as soon as all current out-going calls have ended. Credits will be charged for all calls that were successfully delivered.
CancelBroadcastRequestType
Contains the information needed to locate and cancel a broadcast within a user's account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastID (R) | The broadcast's ID number. |
CancelBroadcastResponseType
Contains the results of cancelling a broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String broadcastID | The broadcast's ID number. |
Function: CheckAccount
CheckAccountResponseType CheckAccount(CheckAccountRequestType myRequest)
This function returns a suite of data about a user's account. See the response type for a full list of the information returned.
Code Examples
CheckAccountRequestType
Contains the information needed to fetch details about an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String AccountIdentifier | If specified, it must match the account's promotion code. |
CheckAccountResponseType
A data structure holding the details about a user's accont.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String username | The account's Username. |
Integer CallBalance | The number of call units (credits) the account has. The balance will be reduced when a broadcast completes. |
Integer PendingCallBalance | The number of credits to be used by pending broadcasts. |
Integer AvailableCallUnits | The number of call units (credits) the account has for making calls and sending texts. This number is the difference between CallBalance and PendingCallBalance. |
String CallRetries | The number of times a call will be retried before giving up. |
String CallThrottle | An upper limit on the number of simultaneous calls that can be ongoing at any given time. |
String CallerID | The phone number displayed on the recipient's caller ID. |
String CallingWindowStart | The earliest time of day to make calls. The time is relative to the account's Time Zone. |
String CallingWindowStop | The latest time of day to make calls. The time is relative to the account's Time Zone. |
String ContinueOnNextDay | Are calls to continue on the next day if the broadcast doesn't complete today? |
String MaxMessageLength | The time limit, in seconds, for voice broadcast messages. |
String TimeZone | The time zone of the account. Time zones include the continental United States, Hawaii, Puerto Rico, and Canada. |
Integer accountStatus | This is a code that indicates the account's status. Possible values are: 0 - good standing, 104 - bad user, 105 - inactive, 106 - credit issues, and 107 - blocked from API. |
String accountStatusDescription | A textual description of the accountStatus. |
String SMSName | The top-level SMS keyword for the account |
String FirstName | Account owner's first name. |
String LastName | Account owner's last name. |
String ObservesDST | Does the location observe Daylight Saving Time? Pass one of two numeric string values: 1 = Yes, 0 = No. |
String TimeZoneOffset | The number of hours difference (plus or minus) between the account's time zone and Central Standard Time. |
String Phone | The account holder's phone number. |
String Email | The account holder's email address. |
Function: CheckKeywordAvailable
CheckKeywordAvailableResponseType CheckKeywordAvailable(CheckKeywordAvailableRequestType myRequest)
Checks if an SMS keyword is available for use. Sub-keywords can be checked, too (e.g., "church.youth").
CheckKeywordAvailableRequestType
The information needed to check on a Keyword.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String keyword (R) | The Keyword to check. |
CheckKeywordAvailableResponseType
Details about the availability of a keyword.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String keyword | The Keyword that was checked. |
Function: CheckPhoneNumber
CheckPhoneNumberResponseType CheckPhoneNumber(CheckPhoneNumberRequestType myRequest)
Checks if the system can call a phone number. Phone numbers must adhere to the North American phone number standard (valid 3-digit area code followed by a 7-digit local code).
CheckPhoneNumberRequestType
The information needed to check if a phone number is callable.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phonenumber (R) | The phone number to check. |
CheckPhoneNumberResponseType
Details about the availability of a phone number is callable.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String phonenumber | The phone number that was checked. |
Function: CreateBroadcast
Deprecated — use ExtCreateBroadcast instead.
CreateBroadcastResponseType CreateBroadcast(CreateBroadcastRequestType myRequest)
CreateBroadcast is a self-contained way to launch a voice-only announcement or survey broadcast. The function accepts a set of phone numbers to call, the type of call (survey or announcement), and the date/time to make the calls. The return object includes a toll-free number to call and a message recording code to record a message if a message was not provided. Confirmation regarding the phone numbers supplied is also returned.
CreateBroadcastRequestType
A bevy of required and optional information that defines a broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumberSource (R) | Click the attribute's name for details. |
String broadcastName (R) | A custom name for the broadcast. |
String broadcastType (R) | A numeric string controlling the type of broadcast. This function is restricted to only two types: 1 = Announcement and 2 = Survey. |
String callerID | The caller ID number shown to call recipients. If not specified, this defaults to the number stored with the account. |
String checkCallingWindow | A numeric code controlling calling window checks. Options are: 0 = ignore the calling window and 1 = enforce the calling window. |
String commaDelimitedPhoneNumbers | Required when phoneNumberSource = 3. Click on the attribute's name for formatting and options. |
String launchDateTime | The date and time when the broadcast is to start. Defaults to the current date and time. |
String listID | The ID number of a contact list within an account. |
String messageID | Identifies the audio for a live answer. Pass a BroadcastID for this parameter if you would like to use a message from a previous broadcast or an AudioID to use a message from the account's audio library. |
String messageIDVM | Identifies the audio for a voicemail answer. Pass a BroadcastID for this parameter if you would like to use a message from a previous broadcast or an AudioID to use a message from the account's audio library. |
Binary phoneNumberCSV (C) | A CSV (comma separated values) file containing the phone numbers to call during the broadcast. Required if phoneNumberSource = 2. The file should be base-64 encoded binary. |
CreateBroadcastResponseType
The overall results of creating a broadcast using CreateBroadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Integer badRecordCountOnFile | The amount of bad phone numbers submitted. Only important if a file or list of numbers was passed. Has a value of 0 otherwise. |
String broadcastID | The BroadcastID of the voice/audio portion of the broadcast (if any). |
Integer duplicateRecrodCountOnFile | The number of repeated phone numbers submitted. Only meaningful if a file or list of numbers was passed. Has a value of 0 otherwise. Note that this parameter's name contains a typo: "Recrod". In order to provide backward compatibility while correcting the typo, a correctly spelled attribute has also been created (see next entry). Both versions of the attribute will have the same value. |
Integer duplicateRecordCountOnFile | The number of repeated phone numbers submitted. Only populated if a file or list of numbers was passed. Has a value of 0 otherwise. This is properly spelled version of the previous attribute. Both attributes will have the same value. |
FileUploadError[ ] fileUploadErrors | An array of objects. Click on the array's type for details. |
String goodRecordCountOnFile | The number of valid, unique phone numbers submitted. Only meaningful if a file or list of numbers was passed. Has a value of 0 otherwise. |
String messageRecordingID | The number to enter when calling to record audio for a voice broadcast. |
String tollFreeNumber | The toll-free number to call to record the message. |
Integer totalRecordCountOnFile | The number of phone numbers submitted for broadcast if a file or list of phone numbers was passed in. This is the count before accounting for duplicate numbers and bad records. |
FileUploadError
Contains data about an error with an entry in a phone number file. Only populated if a file or list was used in the function call.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String PhoneNumber | |
Long lineNumber | The file line number or list position where the error occurs. |
Function: CreateDetailedBroadcast
CreateDetailedBroadcastResponseType CreateDetailedBroadcast(CreateDetailedBroadcastRequestType myRequest)
CreateDetailedBroadcast sets up a broadcast in which some, or all, of the called numbers receive different messages. The function accepts a set of phone numbers to call, the type of call (Survey or Announcement or Sms (Text)), and the date/time to deliver the messages. Unlike ExtCreateBroadcast the call has to specify the message to be delivered for each phone number, either directly or by the default message. If no message is found, the phone number will be omitted from the broadcast. Even though this function can create Survey broadcasts, there is no option to play one message for a live answer and a different one for voicemail.
This function is in a Beta state and should be used at your own risk.
CreateDetailedBroadcastRequestType
All the required and optional data needed to create a detailed broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastType (R) | A numeric string controlling the type of broadcast: 1 = Announcement and 2 = Survey. |
String broadcastName (R) | A custom name for the broadcast. |
DetailedBroadcastContact[ ] callDetails (R) | This array contains the phone numbers (and associated first and last names) and the message to play for each number called. |
DetailedBroadcastAudio defaultAudio (R) | An object containing instructions about the audio to use in cases where a DetailedBroadcastContact object doesn't specify. |
String launchDateTime | The broadcast's start date and time. Defaults to the current date and time. |
String checkCallingWindow | A numeric code controlling calling window checks. Options are: 0 = ignore the calling window and 1 = enforce the calling window. |
String callerID | The caller ID number shown to call recipients. Defaults to the number saved to the account. |
String throttle | A numeric string that limits the broadcast to making no more than X amount of simultaneous calls. |
String answerHandling | A numeric string instructing the broadcast to treat all answers as a certain type. Options are: 0 = automatically determine (default), 1 = assume all answers are live, 2 = assume all answers are voicemail. |
String notifyEmail | Broadcast results will be emailed to this address. |
SurveyOptions[ ] survey | This array holds information about custom responses to actions that can be taken by survey respondents. |
DetailedBroadcastContact
Specifies the phone number, its associated first and last names, and the audio message to be played when the phone number is called or the text message to be sent. There are a couple of things to note here. First for voice calls, if a TTSText is specified, it will be used as the audio, replacing any audio specified by the messageID. Second, if neither messageID nor TTSText are specified, the message specified by the request type's defaultAudio attribute will be used. For text broadcast, the smsMsg text will be sent.
Attribute | Description |
---|---|
String phoneNumber (R) | |
String TTSText (R) | Text to be converted to speech and used as the audio when phoneNumber is called. TTSText will replace any audio specified by messageID. |
String firstName | |
String lastName | |
String messageID | Identifies the audio for a live answer. |
String smsMsg | Identifies the text message to be sent. |
DetailedBroadcastAudio
An object containing instructions about the audio to use in cases where a DetailedBroadcastContact object doesn't specify.
Attribute | Description |
---|---|
String messageID (C) | Required if TTSText (next row) is not specified |
String TTSText (C) | Text to be converted to speech and used as the audio. Required if a messageID is not specified. |
CreateDetailedBroadcastResponseType
The results of creating a broadcast using CreateDetailedBroadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String broadcastID | The BroadcastID of the broadcast, if created at all. |
BroadcastDetailError[ ] callDetailErrors | An array of objects. Click on the array's type for details. |
BroadcastDetailError
Error details on each phone number passed into the function.
Attribute | Description |
---|---|
Integer errorCode | A numeric status code. |
String errorMessage | A description of the error. |
String phoneNumber |
Function: CreateNewList
CreateNewListResponseType CreateNewList(CreateNewListRequestType myRequest)
Creates a new named contact list in the account.
CreateNewListRequestType
The information needed to create a new contact list group.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listName (R) | The name of the list to be created. |
String IsAutoReplyOn | 0 = No (default), 1=Yes. If set to Yes, SMS users will receive a custom auto-reply upon opt-in to the list (at a cost of 1/2 credit per reply). |
String AutoReplyMessage | An auto-reply message sent to SMS users when they opt-in to this list's Keyword. |
CreateNewListResponseType
Details about adding a new contacts list group for a user.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String listName | The name of the list created. |
String listID | The list's position number within the contact groups. |
Function: CreatePersonID
CreatePersonIDResponseType CreatePersonID(CreatePersonIDRequestType myRequest)
Use this function to create new contacts and add them to an account's Everyone contact list. This function is the same as calling the AddNumbersToList function with its listID parameter set to 0 (zero). Note that there is no checking for duplicate names or phone numbers when new entries are created; only PersonID is used for contact identity.
CreatePersonIDRequestType
The information needed to add one or more entries to a user's contacts.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
CreatePersonIDDetailData[ ] personsToAdd (R) | An array of objects. Click on the array's type for details. |
CreatePersonIDDetailData
A data structure representing a contact list entry.
Attribute | Description |
---|---|
String PrimaryPhone (R) | |
String FirstName | |
String LastName | |
String Notes | |
String SecondaryPhone | |
String TertiaryPhone |
CreatePersonIDResponseType
Details about adding new contacts to an account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
ResultRecordData[ ] InsertResults | An array of objects. Click on the array's type for details. |
ResultRecordData
A data structure representing the results of attempting to create a contact list entry.
Attribute | Description |
---|---|
Integer EntryNumber | The zero-based number of the entry in the array in which it was submitted. |
String PersonID | The PersonID assigned by the system. |
String errorMessage | A description of the error. |
String FirstName | |
String LastName | |
String Notes | |
String PrimaryPhone | |
String SecondaryPhone | |
String TertiaryPhone |
Function: CreateRecordingID
CreateRecordingIDResponseType CreateRecordingID(CreateRecordingIDRequestType myRequest)
The function returns a toll-free phone number and message recording ID for you to use later to record a message. After recording, the message will receive an AudioID and reside in the account's Audio Library.
CreateRecordingIDRequestType
The information needed to create a new recording ID.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String AudioDescription (R) | A brief 60-character description of the recording. |
String userComment | A free-form string that can be used for user comments or an audio transcript. |
CreateRecordingIDResponseType
Details about creating an audio recording ID.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String audioID | The AudioID that will be assigned when the audio is recorded. |
String MsgRecID | The code to enter when calling to record the audio. |
String RecordingNumber | The toll-free phone number to call for recording audio. |
Function: CreateTTS
CreateTTSResponseType CreateTTS(CreateTTSRequestType myRequest)
Creates a new audio file using text-to-speech (TTS). The function returns the audio for review and can optionally save the audio in the user's audio library.
CreateTTSRequestType
The information needed to create audio using text-to-speech.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String TTSText (R) | The text of the message to be converted to speech. |
String AudioDescription (R) | A brief 60-character description of the recording. |
String IsFavorite | 0 = No (default), 1 = Yes. Mark the message as a favorite for searching purposes. |
String IsSalesIntro | 0 = No (default), 1 = Yes. Is this an introduction for a sales message? |
String RequestedAudioFormat | 0 = WAV (default), 1 = MP3 |
String SaveInLibrary | 0 = No (default), 1 = Yes. Save the message to the audio library as speech? |
CreateTTSResponseType
Details about creating audio using text-to-speech.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Binary TTSAudio | The message as speech in the audio format specified (WAV or MP3). The audio is delivered as array of Base-64 encoded bytes. Save the audio to file or pass to a browser to play it. |
String AudioID | The AudioID given to the converted message when stored in the audio library. |
String length | The duration of the audio in seconds. |
Function: DeleteAudioLib
DeleteAudioLibResponseType DeleteAudioLib(DeleteAudioLibRequestType myRequest)
Deletes an Audio Library entry as long as it is not referenced by a pending broadcast and the user has appropriate permissions.
DeleteAudioLibRequestType
A data structure containing the information needed to delete a recording from the Audio Library.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String audioID (R) | The AudioID to delete. |
DeleteAudioLibResponseType
Details about the attempt to delete a recording from the Audio Library.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String audioID | The ID of the Audio Library item that was to be deleted. |
Function: DeleteList
DeleteListResponseType DeleteList(DeleteListRequestType myRequest)
Deletes an a contact list group from an account.
DeleteListRequestType
A data structure holding the information about the contact list group to delete.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID (R) | The ID number of a contact list within an account. |
DeleteListResponseType
Details about the attempt to delete a contact group list.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String listID | The ID number of a contact list within an account. |
Function: DeleteNumberFromBroadcast
DeleteNumberFromBroadcastResponseType DeleteNumberFromBroadcast(DeleteNumberFromBroadcastRequestType myRequest)
Deletes a single phone number from a broadcast. If the broadcast is already broadcasting, a number can be deleted only if it hasn't been called yet. To delete multiple numbers at once consider using the DeleteNumbersFromBroadcast function.
DeleteNumberFromBroadcastRequestType
A data structure containing the information that will enable a phone number to be deleted from a broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastID (R) | The broadcast's ID number. |
String phoneNumber (R) |
DeleteNumberFromBroadcastResponseType
Information about the attempt to delete a phone number from a broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String broadcastID | The broadcast's ID number. |
String phoneNumber |
Function: DeleteNumbersFromBroadcast
DeleteNumbersFromBroadcastResponseType DeleteNumbersFromBroadcast(DeleteNumbersFromBroadcastRequestType myRequest)
Deletes multiple phone numbers from a broadcast. If the broadcast is already broadcasting, a number can be deleted only if it hasn't been called yet. To delete a single number consider using the DeleteNumberFromBroadcast function.
DeleteNumbersFromBroadcastRequestType
Contains all the information needed to delete multiple phone numbers from an existing broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String broadcastID (R) | The broadcast's ID number. |
TheNumbers[ ] phoneNumbers (R) | An array of objects. Click on the array's type for details. |
TheNumbers
Despite the name, this type contains a string representing a single phone number.
Attribute | Description |
---|---|
String phoneNumber (R) |
DeleteNumbersFromBroadcastResponseType
Contains details about the success or failure of the function itself and each attempted deletion of a phone number from the broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
DeleteResultsArray[ ] DeleteResults | An array of objects. Click on the array's type for details. |
DeleteResultsArray
Despite the name, objects of this type contain the results of deleting a single phone number from the broadcast.
Attribute | Description |
---|---|
Integer errorCode | A numeric status code. |
String errorMessage | A description of the error. |
String phoneNumber |
Function: DeletePerson
DeletePersonResponseType DeletePerson(DeletePersonRequestType myRequest)
Deletes a single contact entry from all contact list groups in which it is a member, including the Everyone list.
DeletePersonRequestType
A data structure with all the information needed to delete a contact from a contact list.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String personID (R) | A unique identifier number for a contact (a person) within an account. |
DeletePersonResponseType
Contains details about the attempt to delete a contact from an account's contact lists.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String personID | A unique identifier number for a contact (a person) within an account. |
Function: DeletePersonFromList
DeletePersonFromListResponseType DeletePersonFromList(DeletePersonFromListRequestType myRequest)
Deletes a single contact entry (a person) from a specific contact group list. Unless the Everyone list is specified (ListID = 0), the entry will remain in the Everyone contacts list. If Everyone is targeted, then the contact will be removed from Everyone and all other contact groups.
DeletePersonFromListRequestType
Specifies the account, contact group list, and contact to be deleted.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID (R) | The ID number of a contact list within an account. |
String personID (R) | A unique identifier number for a contact (a person) within an account. |
DeletePersonFromListResponseType
Contains details about the attempt to delete a contact from a contact group.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String listID | The ID number of a contact list within an account. |
String personID | A unique identifier number for a contact (a person) within an account. |
Function: DeleteSchedule
DeleteScheduleResponseType DeleteSchedule(DeleteScheduleRequestType myRequest)
Deletes a recurring broadcast.
DeleteScheduleRequestType
Contains the information needed to delete a recurring broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String jobName (R) | A unique identifier number for a recurring broadcast schedule. |
DeleteScheduleResponseType
Details about the attempt to delete a recurring broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String jobName | A unique identifier number for a recurring broadcast schedule. |
Function: ExtCreateBroadcast
ExtCreateBroadcastResponseType ExtCreateBroadcast(ExtCreateBroadcastRequestType myRequest)
ExtCreateBroadcast is a self-contained, do-it-all function for launching any any kind of broadcast: voice, survey, or SMS/text. The function accepts a list of phone numbers to call and the date/time to make the calls. The broadcast message can be reused from the audio libary, uploaded as an audio file, or converted from text using text-to-speech. If a message is omitted by the function, the return object will include the toll-free number to call and a recording ID for recording the broadcast's message.
Code Examples
- Access Visual Basic - ExtCreateBroadcast
- C++ - ExtCreateBroadcast
- Java - ExtCreateBroadcast
- Perl - ExtCreateBroadcast (Text)
- Perl - ExtCreateBroadcast (Voice)
- PHP - ExtCreateBroadcast
- PowerShell - ExtCreateBroadcast
- Python - ExtCreateBroadcast
- Visual Basic - ExtCreateBroadcast
ExtCreateBroadcastRequestType
A bevy of required and optional information that define a broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumberSource (R) | Click the attribute's name for details. |
String broadcastName (R) | A custom name for the broadcast. |
String broadcastType (R) | A numeric string controlling the type of broadcast. |
String TTSText | The text to be spoken on a live answer. Overrides messageID. |
String TTSTextVM | The text to be spoken when voicemail is detected. Overrides messageID. |
String answerHandling | A numeric string instructing the broadcast to treat all answers as a certain type. Options are: 0 = automatically determine (default), 1 = assume all answers are live, 2 = assume all answers are voicemail. |
String callerID | The caller ID number shown to call recipients. If not specified, the account's default is used. |
String checkCallingWindow | A numeric code controlling calling window checks. Options are: 0 = ignore the calling window; 1 = the broadcast start date must be inside the calling window; and, 2 = the broadcast start date can be outside the calling window but won't start until the next calling window opens. |
String commaDelimitedPhoneNumbers | Required when phoneNumberSource = 3. Click the link for formatting and options. |
String launchDateTime | The date and time when the broadcast is to start. Defaults to the current date and time. |
String listID | The ID number of a contact list within an account. |
String messageID | Identifies the audio for a live answer. Pass a BroadcastID for this parameter if you would like to use a message from a previous broadcast or an AudioID to use a message from the account's audio library. |
String messageIDVM | Identifies the audio for a voicemail answer. Pass a BroadcastID for this parameter if you would like to use a message from a previous broadcast or an AudioID to use a message from the account's audio library. |
String notifyEmail | Broadcast results will be emailed to this address. |
Binary phoneNumberCSV (C) | A CSV (comma separated values) file containing the phone numbers to call during the broadcast. Required if phoneNumberSource = 2. The file should be base-64 encoded binary. |
String smsMsg | The text for an SMS text message. Required when broadcastType = 3. |
SurveyOptions[ ] survey | This array holds information about custom responses to actions that can be taken by survey respondents. |
String throttle | Provide a number here to limit the broadcast to making no more than X simultaneous calls. |
String BroadcastTimeZone | The timezone to use for making calls. Possible values are those in the Code column of the TimeZoneOffset common type table (e.g., ET, MT, PT). Defaults to the account's time zone. |
ExtCreateBroadcastResponseType
The overall results of creating a broadcast using ExtCreateBroadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String MaxCallUnitsUsed | In the case of a broadcast where a message still needs to be recorded, this field contains the maximum amount of call units (credits) the broadcast might use. If the message is already determined (TTS or audio file), then this is the actual number of credits the broadcast will use. Both cases assume that all calls are delivered. |
String MaxMessageLength | The duration, in seconds, of the longest message in the broadcast. |
String SMSbroadcastID | The broadcast ID of the text portion of the broadcast (if any). |
Integer badRecordCountOnFile | The amount of bad phone numbers submitted. Only meaningful if a file or list of numbers was passed. |
String broadcastID | The broadcast ID of the voice/audio portion of the broadcast (if any). |
Integer duplicateRecrodCountOnFile | The number of repeated phone numbers submitted. Only meaningful if a file or list of numbers was passed. Note that this parameter's name contains a typo: "Recrod". In order to provide backward compatibility while correcting the typo, a correctly spelled attribute has also been created (see next entry). Both versions of the attribute will have the same value. |
Integer duplicateRecordCountOnFile | The number of repeated phone numbers submitted. Only meaningful if a file or list of numbers was passed. This is properly spelled version of the previous attribute. Both attributes will have the same value. |
ExtFileUploadError[ ] fileUploadErrors | An array of objects. Click on the array's type for details. |
Integer goodRecordCountOnFile | The number of valid, unique phone numbers submitted. Only meaningful if a file or list of numbers was passed. |
String messageRecordingID | The number to enter when calling to record audio for a voice broadcast. |
Integer smsRecordCountOnFile | For a combination text and voice broadcast, this is the count of SMS-capable phone numbers. |
String tollFreeNumber | The toll free number to call to record the message. |
Integer totalRecordCountOnFile | Total record count if a file or list of phone numbers was passed in. This is the count before accounting for duplicate numbers or bad records. |
Integer voiceRecordCountOnFile | A counting of voice phone numbers. Only meaningful if a phone number file or list was passed with the function. |
ExtFileUploadError
Contains data about an error with an entry in a phone number file. Only populated if a file or list was used in the function call.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String PhoneNumber | |
Long Integer lineNumber | The file line number or list position of the error. |
Function: GetAccountKeywords
GetAccountKeywordsResponseType GetAccountKeywords(GetAccountKeywordsRequestType myRequest)
Returns details for all of the SMS Keywords for an account, both Account Keywords and Group Keywords. Details include the Keyword's description. If the Keyword is a Group Keyword, information for its contact list group is provided.
GetAccountKeywordsRequestType
The information needed to look up an account's Keywords.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetAccountKeywordsResponseType
The results of looking up an account's Keywords.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetAccountKeywordsDetailData[ ] GetAccountKeywordsContents | An array of objects. Click on the array's type for details. |
GetAccountKeywordsDetailData
Contains info about a Keyword.
Attribute | Description |
---|---|
String Keyword | |
String IsSubKeyword | Returns a numeric code of two possible values: 0 = Account Keyword, 1 = Group Keyword. |
String KWDescription | Information about the Keyword. The description is used on the Keyword's join page on the web site to tell people who might opt-in to the Keyword something about the keyword. |
String ListID | The contact list group number associated with a Group Keyword. |
String ListName | The name of a contact list within an account. |
Function: GetAccountOptInOptOut
GetAccountOptInOptOutResponseType GetAccountOptInOptOut(GetAccountOptInOptOutRequestType myRequest)
Reports the opt-in and opt-out status of phone numbers associated with an account for which explicit opt-in or opt-out requests have been made (e.g., opted-in to texts or opted-out of voice calls). Results can be filtered by phone number, authorization type (voice or text), authorization status (opted-out or opted-in), dates when the status changed, and the reason for the change.
GetAccountOptInOptOutRequestType
Information needed to return and filter results about phone numbers that have opted-in or opted-out from broadcasts from an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumber | If specified, results will only be given for this number. |
String authorizationType | A numeric string enabling filtering by broadcast type: 1 = voice and 2 = text. Defaults to both kinds. |
String authorizationStatus | A numeric string enabling filtering by opt-in or opt-out status: 0 = opted-out and 1 = opted-in. Defaults to both kinds. |
String changedFrom | Limit results to phone numbers that changed opt-in/out status on this date or more recently. Defaults to no limit. |
String changedTo | Limit results to phone numbers that changed opt-in/out status on this date or earlier. Defaults to no limit. |
String reasonCode | If specified, filters results by the reason for the opt-in/out status for the phone number. Click on the link for a list of codes. |
GetAccountOptInOptOutResponseType
The results of querying the opt-in and opt-out status of phone numbers.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
PhoneAuthorizationData[ ] AuthorizationData | An array of objects. Click on the array's type for details. |
PhoneAuthorizationData
This data type holds information about the opt-in/out status of a phone number.
Attribute | Description |
---|---|
String phoneNumber | |
String authorizationType | The type of broadcast that phoneNumber has opted-in/out of. 1 = voice and 2 = text. |
String authorizationStatus | The phoneNumber's opt-in/out status: 0 = opted-out and 1 = opted-in. |
String reasonCode | The reason for the opt-in/out status for the phone number. Click on the link for a list of codes. |
String notes | Might contain details about the reasonCode or other explanatory text. |
Function: GetAccountOptOuts
GetAccountOptOutsResponseType GetAccountOptOuts(GetAccountOptOutsRequestType myRequest)
Returns a limited set of contact information about all of the opted-out phone numbers within an account.
GetAccountOptOutsRequestType
Contains information allowing for the lookup of an account's opted-out phone numbers. The function allows you to filter opt-outs by the date and time when the phone number was opted-out.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String startDate | The starting date and time to filter by. Defaults to a million or so years ago if not specified. |
String stopDate | The ending date and time to filter by. If omitted, the date defaults to now. |
GetAccountOptOutsResponseType
Contains an account's opt-out information.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
OptOutDetail[ ] OptOuts | An array of objects. Click on the array's type for details. |
OptOutDetail
This type holds the specifics for an opted-out phone number.
Attribute | Description |
---|---|
String PhoneNumber | |
String DateAdded | The date on which the phone number was opted-out. |
String FirstName | |
String LastName |
Function: GetAccountStatusValues
GetAccountStatusValuesResponseType GetAccountStatusValues(GetAccountStatusValuesRequestType myRequest)
This function returns an enumeration of account status values and descriptions. This is meant for Call-Em-All internal use and has little outside relevance, if any.
GetAccountStatusValuesRequestType
The information needed to look up an account's status.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetAccountStatusValuesResponseType
Holds the enumeration of account status codes and their descriptions.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
StatusDetailData[ ] StatusContents | An array of objects. Click on the array's type for details. |
StatusDetailData
A small data structure containing account status code and account description paired values.
Attribute | Description |
---|---|
String AccountStatus | A numeric code for the account's status. |
String Description | A textual explanation of the account status code. |
Function: GetAllBroadcastStatus
GetAllBroadcastStatusResponseType GetAllBroadcastStatus(GetAllBroadcastStatusRequestType myRequest)
Returns the status of all broadcasts of a certain type (voice, SMS, or both) and status (active, completed, or both). The function allows filtering by broadcast start date and end date. Results can be sorted according to broadcast start date or broadcast creation date.
GetAllBroadcastStatusRequestType
Specifies the search parameters for broadcasts within an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String status | A numeric string encoding the status of the broadcast. Possible values are 0 = Active (default), 1 = Completed (within last 90 days), and 2 = Both. |
String broadcastType | A numeric string encoding the type of broadcast. Possible values are 0 = Voice (default), 1 = SMS (within last 90 days), and 2 = Both. |
String sortField | A numeric string encoding how to sort the results. Possible values are 0 = Broadcast Start Date Descending (default) and 1 = Broadcast Creation Date Descending. |
String startDate | Put a value here to filter by broadcast start date and time. |
String stopDate | Put a value here to filter by broadcast end date and time. |
GetAllBroadcastStatusResponseType
Holds the results of retrieving the broadcast status information.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
BroadcastDetailData[ ] BroadcastContents | An array of objects. Click on the array's type for details. |
BroadcastDetailData
A repository of details about a broadcast.
Attribute | Description |
---|---|
String actualCallUnitsUsed | The number of call units (credits) decremented from the account. Only available for completed or cancelled broadcasts. |
String broadcastID | The broadcast's ID number. |
String broadcastName | |
String broadcastStatus | One of 17 codes describing the status of the broadcast. See the Subtype link for details. |
String broadcastType | The type of broadcast. |
String busyNA | The number of calls that couldn't be delivered because either the line was busy or was not answered (NA). |
String callerIDNumber | The caller ID number that was shown to recipients of the broadcast. |
String completedCalls | The number of calls that were successfully delivered either to a live person or to voicemail. |
String createTimeStamp | The date and time when the broadcast was created. |
String invalidNumber | The number of calls that couldn't be delivered because the phone number was invalid (e.g., disconnected or phone company reported an error). |
String isActive | Will be set to 0 (zero) if the broadcast has completed and to 1 (one) otherwise. |
String livePerson | The number of calls that were answered by a live person. |
String maxCallUnitsUsed | The maximum number of call units (credits) that the broadcast will use if it runs to completion. |
String notCompleted | The number of calls that were not completed (weren't live answers or didn't go to voicemail). |
String startDate | The date when the broadcast began. |
String startTime | The time of day when the broadcast began. |
String status | A textual description of the broadcastStatus code. For broadcasts that haven't started executing the status will contain text like "Starts in X days/hrs/mins Y hrs/mins/secs" and "Starts in X secs". |
String totalCalls | The number of unique phone numbers to which calls have been made. |
String voiceMail | The number of calls that were delivered to voicemail. |
Function: GetAudioLib
GetAudioLibResponseType GetAudioLib(GetAudioLibRequestType myRequest)
Returns audio library entries matching a set of search parameters.
GetAudioLibRequestType
Specifies the search parameters for finding audio library entries in an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String favorite | Search for entries marked as a favorite. 0 = False and 1 = True. |
String hasSalesIntro | Filter broadcast messages that have an accompanying sales introduction. 0 = False and 1 = True. |
String isAudioTTS | A numeric string indicating that a library entry was created from text using text-to-speech. 0 = False and 1 = True. |
String isSalesIntro | A numeric string indicating that a library entry is a sales introduction message. 0 = False and 1 = True. |
String messageType | A numeric string indicating the type of message to search for. See the attribute's link for options. |
GetAudioLibResponseType
Holds the results of retrieving audio library entries.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetAudioLibDetailData[ ] GetAudioLibContents | An array of objects. Click on the array's type for details. |
GetAudioLibDetailData
Information about an audio library item.
Attribute | Description |
---|---|
Short Int Active | Will be one of two values: 0 = the audio has been deleted or 1 = the audio is available. |
String SingleBroadcast | The BroadcastID for which the audio was generated, if any. |
String audioDescription | Comments about the audio. |
String audioID | A unique numeric identifier for an audio library entry. |
String audioLength | The duration of the audio in seconds. |
String dateAdded | The date and time of day when the audio was added to the library. |
String dateLastUsed | The date and time of day when the audio was last used in a broadcast. |
String favorite | Indicates that audio is marked as a favorite. 0 = False and 1 = True. |
String hasSalesIntro | Does the audio have an accompanying sales introduction message? 0 = False, 1 = True. |
String isAudioTTS | Was the audio created by using text-to-speech? 0 = False, 1 = True. |
String isSalesIntro | Is the audio a sales introduction message? 0 = False, 1 = True. |
String messageType | Indicates the type of message. |
String userComment | Extra comments about the audio entry. |
Function: GetAudioLink
Deprecated — use RetrieveAudio instead.
GetAudioLinkResponseType GetAudioLink(GetAudioLinkRequestType myRequest)
Retrieves the audio used in a particular broadcast in the AU format.
GetAudioLinkRequestType
The information needed to find and return an audio file used in a broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
Long Integer broadcastID (R) | The broadcast ID of the audio to find. |
GetAudioLinkResponseType
The audio file requested and error information.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Binary BinaryMessage | The audio played when a call in the broadcast was answered by a live person. The audio is in the AU format. |
Binary BinaryVmailMessage | The audio played when a call in the broadcast went to voicemail. The audio is in the AU format. |
Function: GetAudioLinkMP3
Deprecated — use RetrieveAudio instead.
GetAudioLinkMP3ResponseType GetAudioLinkMP3(GetAudioLinkMP3RequestType myRequest)
Retrieves the audio used in a particular broadcast in the MP3 format.
GetAudioLinkMP3RequestType
The information needed to find and return an audio file used in a broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
Long Integer broadcastID (R) | The broadcast ID of the audio to find. |
GetAudioLinkMP3ResponseType
The audio file requested and error information.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Binary BinaryMessage | The audio played when a call in the broadcast was answered by a live person. The audio is in the MP3 format. |
Binary BinaryVmailMessage | The audio played when a call in the broadcast went to voicemail. The audio is in the MP3 format. |
Function: GetAudioLinkWAV
Deprecated — use RetrieveAudio instead.
GetAudioLinkWAVResponseType GetAudioLinkWAV(GetAudioLinkWAVRequestType myRequest)
Retrieves the audio used in a particular broadcast in the WAV format.
GetAudioLinkWAVRequestType
The information needed to find and return an audio file used in a broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
Long Integer broadcastID (R) | The broadcast ID of the audio to find. |
GetAudioLinkWAVResponseType
The audio file requested and error information.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Binary BinaryMessage | The audio played when a call was answered by a live person. The audio is in the WAV format. |
Binary BinaryVmailMessage | The audio played when a call went to voicemail. The audio is in the WAV format. |
Function: GetAvailableCreditCardTypes
GetAvailableCreditCardTypesResponseType GetAvailableCreditCardTypes(GetAvailableCreditCardTypesRequestType myRequest)
Returns an enumeration of accepted credit card types and their descriptions.
GetAvailableCreditCardTypesRequestType
The account information needed to look up credit card information.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetAvailableCreditCardTypesResponseType
Holds the results of retrieving credit cards accepted by Call-Em-All.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
CardDetailData[ ] CardContents | An array of objects. Click on the array's type for details. |
CardDetailData
A little data structure for storing credit card details.
Attribute | Description |
---|---|
String CCType | A numeric encoding of the credit card type. |
String CCDescription | The name of the credit card type. Ex., Visa, MasterCard. |
Function: GetAvailableGroupCodes
GetAvailableGroupCodesResponseType GetAvailableGroupCodes(GetAvailableGroupCodesRequestType myRequest)
Returns an enumeration of customer group codes and descriptions used by Call-Em-All. Group codes are used internally by Call-Em-All to associate accounts with a larger group. For example, the ABC Company has branch offices around the country. If each office has its own Call-Em-All account, then each account would be tagged with the group code "ABC Company".
GetAvailableGroupCodesRequestType
The account information needed to retrieve group codes.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetAvailableGroupCodesResponseType
Holds the results of retrieving group codes.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GroupDetailData[ ] GroupContents | An array of objects. Click on the array's type for details. |
GroupDetailData
A little data structure containing group code information.
Attribute | Description |
---|---|
String GroupCode | A numeric string encoding the group. |
String GroupDescription | The name of the group. |
Function: GetAvailableLists
GetAvailableListsResponseType GetAvailableLists(GetAvailableListsRequestType myRequest)
Returns the contact list groups for an account.
GetAvailableListsRequestType
The information needed to retrieve the contact list groups for an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetAvailableListsResponseType
The results of grabbing the contact lists for an account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
ListDetail[ ] lists | An array of objects. Click on the array's type for details. |
ListDetail
Contains details about a contact group list.
Attribute | Description |
---|---|
String AutoReplyMessage | The SMS message sent to a person when they opt-in to receive text messages from this group. Only applies when SMS auto-replies are enabled. |
String IsAutoReplyOn | Indicates whether SMS auto-replies are enabled. 0 = False and 1 = True. |
String ListID | The list's position among all the contact lists in the account. |
String ListName | The name of a contact list within an account. |
Integer PhoneNumberCount | The number of phone numbers in the list. |
String SMSName | The list's SMS text messaging keyword. |
Function: GetBroadcastResult
GetBroadcastResultResponseType GetBroadcastResult(GetBroadcastResultRequestType myRequest)
Retrieves the results of a broadcast. Results may be returned for in-progress broadcasts or completed broadcasts for up to 90 days from the date of completion. We recommend and request that our clients store this information locally for future access, and to eliminate repetitive demands for large volumes of information. The function returns either summary information or detailed (call-by-call) results. Also, results can be filtered by call result (live answer, no answer, etc.) and survey result (e.g., all calls where the recipient responded "*2").
Code Examples
GetBroadcastResultRequestType
All the information needed to look up the results of a broadcast within an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
Long Integer broadcastID (R) | The broadcast's ID number. |
String callResultFilter | A numeric value indicating the type of call results to return. Only used when getBroadcastDetails = 1. If this was a voice broadcast, consult CallResultValues for a list of values. If this was a text broadcast, see SMSResult Values for the values. |
String getBroadcastDetails (R) | A numeric string controlling whether or not the function returns details. 0 = Do not return details and 1 = Return details. |
String getBroadcastSummary | A numeric string controlling whether or not the function returns a summary. 0 = Do not return a summary and 1 = Return a summary. |
String surveyResultFilter | Specify a digit between 0 and 9 to return results where the respondent pressed the digit on their phone when responding to a Survey. Use the star character, *, as a wildcard to match any response. Only used when getBroadcastDetails = 1. |
GetBroadcastResultResponseType
The overall results of a broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String ActualCallUnitsUsed | The number of call units (credits) decremented from the account. Only available for completed or cancelled broadcasts. |
String MaxCallUnitsUsed | The maximum number of call units (credits) that the broadcast will use if it runs to completion. |
String TTSText | For a voice broadcast created using text-to-speech (TTS) this field will contain the text. |
String audioMessage | The AudioID of the audio played on a live answer, if applicable. |
String audioVMMessage | The AudioID of the audio played when a call goes to voicemail, if applicable. |
CallDetail[ ] broadcastDetails | An array of objects. Click on the array's type for details. |
String broadcastName | |
Short Integer broadcastStatus | A numeric code relating the broadcast's status. See the Broadcast Status entry for a list of codes available at the time of writing. A current set of codes is can be had by calling the function GetBroadcastStatusValues. |
String broadcastStatusName | A description of the broadcast's status. See the Broadcast Status entry for a list of possible values available at the time of writing. A current set of codes is can be had by calling the function GetBroadcastStatusValues. |
Integer busyNoAnswerResults | The current number of calls that are either busy or weren't answered by a live person or a voicemail service. |
String callUnitsUsed | This call units used for this broadcast. The number is only available once the broadcast has completed. |
Integer completedCalls | The current number of completed calls for the broadcast. |
String invalidNumberResults | The current number of calls that ended in an "invalid number" status. |
String liveAnswerResults | The current number of calls that were answered by a real person. |
Integer messageLength | The duration in seconds of the audio message. |
Integer voiceMailResults | The current number of calls that were delivered to voicemail or an answering machine. |
Long Integer broadcastID | The broadcast's ID number. |
String SMSMsg | The text of the SMS message. |
CallDetail
Contains the details about a call placed to or a text message delivered to a phone number during a broadcast. Records of this data type are only returned when the function requests details (getBroadcastDetails = 1).
Attribute | Description |
---|---|
Short Integer callResult | A code indicating the result of calling this record's phone number. If this was a voice broadcast see the Call Result Values entry for the codes. If this was a text broadcast see the SMS Result Values entry for the codes. |
String callResultName | A textual description of the result of calling this record's phone number. If this was a voice broadcast see the Voice Call Result Values entry for a list of values. If this was a text broadcast see the SMS Result Values entry for a list of values. |
String firstName | The first name of the person associated with the phone number. May be blank. |
String lastCallTime | The date and time a call was last attempted to the phone number. |
String lastName | The last name of the person associated with the phone number. May be blank. |
String numberOfAttempts | The number of times a call was attempted to this phone number. |
String phoneNumber | |
String surveyResult | If this was a Survey, this contains the the digit the callee responded with. |
Function: GetBroadcastStatusValues
GetBroadcastStatusValuesResponseType GetBroadcastStatusValues(GetBroadcastStatusValuesRequestType myRequest)
Returns an enumeration of broadcast status codes and descriptions used by Call-Em-All. For example, the code "0" means the broadcast is awaiting a message and the code "3" means the broadcast is in execution. This information returned by the function is also listed under the Broadcast Status common type.
GetBroadcastStatusValuesRequestType
The account information needed to retrieve broadcast status codes.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetBroadcastStatusValuesResponseType
Holds the results of retrieving broadcast status codes.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
BroadcastStatusValuesDetailData[ ] StatusContents | An array of objects. Click on the array's type for details. |
BroadcastStatusValuesDetailData
A little data structure containing broadcast status code/description pairs.
Attribute | Description |
---|---|
String BroadcastStatus | A numeric string encoding the broadcast status. |
String Description | An explanation of the broadcast status. |
Function: GetCallBalance
GetCallBalanceResponseType GetCallBalance(GetCallBalanceRequestType myRequest)
This function returns a history of call credit balance changes for an account. The results can be restricted to a range of dates.
GetCallBalanceRequestType
The information needed to fetch an account balance history.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String startDate | Retrieved call balance information will have occurred at this date and time or more recently. Leave blank for no time limit. |
String stopDate | Retrieved call balance information will have occurred no later than this date and time. Leave blank for no date limit. |
GetCallBalanceResponseType
Holds the results of retrieving an account's call balance history.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetCallBalanceDetailData[ ] GetCallBalanceContents | An array of objects. Click on the array's type for details. |
GetCallBalanceDetailData
Details about a call balance change.
Attribute | Description |
---|---|
String ChargeHistoryID | A unique code identifying the charge history entry. |
String CreditTimestamp | The time when the entry was created. |
String CreditType | A numeric code representing the reason for the credit balance change. For Call-Em-All internal use only. |
String FirstName | |
String LastName | |
String Notes | Any notes attached to the transaction |
String NumberCallsCredited | The number of credits added (positive) or deducted (negative) from the account. |
Function: GetCallResultValues
GetCallResultValuesResponseType GetCallResultValues(GetCallResultValuesRequestType myRequest)
Returns an enumeration of call result codes (values) and descriptions used by Call-Em-All. For example, code "1" means the call was delivered to a live person and code "4" means there was no answer. The information returned by this function is listed under the Call Result Values common type.
GetCallResultValuesRequestType
Account information is needed to authorize the fetching of call result values.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetCallResultValuesResponseType
Holds the results of retrieving call result values.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetCallResultValuesDetailData[ ] GetCallResults | An array of objects. Click on the array's type for details. |
GetCallResultValuesDetailData
A little data structure consisting of call result status code/description pairs.
Attribute | Description |
---|---|
String CallResult | A numeric string encoding the call result. |
String Description | An explanation of the call result. |
Function: GetChargeHistory
GetChargeHistoryResponseType GetChargeHistory(GetChargeHistoryRequestType myRequest)
Delivers a history of credit card charges for an account. Results can be limited by a range of dates.
GetChargeHistoryRequestType
Account information needed to authorize and search for credit card charge history information.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String startDate | Retrieved information will have occurred on this date or more recently. |
String stopDate | Retrieved call balance information will have occurred no later than this date and time. |
GetChargeHistoryResponseType
Holds the results of retrieving charge histories.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetChargeHistoryDetailData[ ] GetChargeHistoryContents | An array of objects. Click on the array's type for details. |
GetChargeHistoryDetailData
Contains full details about a credit card charge transaction.
Attribute | Description |
---|---|
String CCDisplay | The credit card type. E.g., Visa or Mastercard. |
String CCType | The numeric code used by Call-Em-All to represent credit card types. |
String ChargeTimestamp | The date and time when the charge was made. |
String ConfirmationNumber | The transaction confirmation number returned by the credit card processor. |
String Expiration | The credit card's expiration date. |
String FirstName | The first name on the credit card. |
String LastName | The last name on the credit card. |
String Notes | |
String PartialCost | The pre-tax amount of a purchase/charge. |
String PartialCredit | The pre-tax amount of a refund/credit. |
String ReferenceCode | The charge's unique transaction reference code. |
String SalesTaxCharged | The sales tax assessed on the transaction. |
String SubscriptionLevel | If the charge is for an account on a monthly subscription, this entry contains the subscription level. |
String TotalAmountCharged | The total amount charged or refunded. |
String TransactionType | A numeric code used internally by Call-Em-All to track the type and or reason for the charge. |
Function: GetListContents
GetListContentsResponseType GetListContents(GetListContentsRequestType myRequest)
Returns the contents of a specific contact group list. The function returns results in chunks called "pages", each page containing some number of entries. By default the page number is 1 and has a size of 100 (returns the first 100 entries). Use GetAvailableLists to retrieve listIDs, list names, and the number of entries in the list.
Code Examples
GetListContentsRequestType
Specifies the information needed to retrieve the contents of one of an account's contact group lists.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID | The identifier number of the list to retrieve. Defaults to 0 which is the Everyone list (all contacts stored by the account). |
String pageSize | The number of entries to include on a page of results. Works in conjunction with whatPage. The default value is 100. |
String whatPage | The page number. Works in conjunction with pageSize. Defaults to page 1 (one). |
GetListContentsResponseType
Holds the results of retrieving the entries in a contact list.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String ListID | The ID number of a contact list within an account. |
ListDetailData[ ] ListContents | An array of objects. Click on the array's type for details. |
ListDetailData
Contains the full suite of information for a contact list entry.
Attribute | Description |
---|---|
String PersonID | |
String FirstName | |
String LastName | |
String Notes | |
String PrimaryPhone | |
String SecondaryPhone | |
String TertiaryPhone |
Function: GetListIDByName
GetListIDByNameResponseType GetListIDByName(GetListIDByNameRequestType myRequest)
Returns the identifer number of the contact group list with the specified name.
GetListIDByNameRequestType
Holds the information needed to look up a list identifier number within an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listName (R) | The name of a contact list within an account. |
GetListIDByNameResponseType
Holds the results of retrieving a contact group list identifier.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String listID | The ID number of a contact list within an account. |
String listName | The name of a contact list within an account. |
Function: GetListsByPersonID
GetListsByPersonIDResponseType GetListsByPersonID(GetListsByPersonIDRequestType myRequest)
Given a PersonID, returns the information about the contact group lists that contain that PersonID.
GetListsByPersonIDRequestType
Specifies the information needed to find the contact lists containing a certain PersonID
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String personID (R) | A unique identifier number for a contact (a person) within an account. |
GetListsByPersonIDResponseType
Holds the results of retrieving contact list groups containing a given PersonID.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String personID | A unique identifier number for a contact (a person) within an account. |
GetListsByPersonIDListDetail[ ] lists | An array of objects. Click on the array's type for details. |
GetListsByPersonIDListDetail
Contains information about a contact list group.
Attribute | Description |
---|---|
String AutoReplyMessage | The SMS message sent to a person when they opt-in to receive text messages from this group. Only applies when SMS auto-replies are enabled. |
String IsAutoReplyOn | Indicates whether SMS auto-replies are enabled. 0 = False and 1 = True. |
String ListID | The list's position among all the contact list groups in an account. |
String ListName | The name of a contact list within an account. |
Integer PhoneNumberCount | The number of phone numbers contained in the list. |
String SMSName | The list's SMS text messaging keyword. |
Function: GetListsByPhone
GetListsByPhoneResponseType GetListsByPhone(GetListsByPhoneRequestType myRequest)
Given a phone number, returns the contact group list numbers and list names containing the phone number.
GetListsByPhoneRequestType
Specifies the information needed to find the contact lists containing a certain phone number.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumber (R) |
GetListsByPhoneResponseType
Holds the results of retrieving contact list groups containing a given phone number.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String phoneNumber | |
GetListsByPhoneDetailData[ ] ListOfLists | An array of objects. Click on the array's type for details. |
GetListsByPhoneDetailData
Contains the list number and name for a contact list group.
Attribute | Description |
---|---|
String listID | The list's position among all the contact list groups in an account. |
String listName | The name of a contact list within an account. |
Function: GetOptOutList
GetOptOutListResponseType GetOptOutList(GetOptOutListRequestType myRequest)
For a given account, returns information about the phone numbers that have opted-out. Results can be filtered based on the date that a phone number was placed on the account's opt-out list.
GetOptOutListRequestType
Specifies the information needed to fetch the opted-out phone numbers within an account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String startDate | Fetch the phone numbers that were opted-out on this date or more recently. Leave blank for no date limit. |
String stopDate | Pull the phone numbers that were opted-out on this date or before. Leave blank for no date limit. |
GetOptOutListResponseType
Holds the results of the opt-out phone number search.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetOptOutListDetailData[ ] GetOptOutListContents | An array of objects. Click on the array's type for details. |
GetOptOutListDetailData
Gives specifics on an opted-out phone number.
Attribute | Description |
---|---|
String dateadded | |
String firstname | |
String lastname | |
String phonenumber |
Function: GetPersonIDDetails
GetPersonIDDetailsResponseType GetPersonIDDetails(GetPersonIDDetailsRequestType myRequest)
Fetches the contact data for a specific PersonID.
GetPersonIDDetailsRequestType
Specifies the information needed to fetch the contact information for a specific PersonID.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String personID (R) | A unique identifier number for a contact (a person) within an account. |
GetPersonIDDetailsResponseType
Holds the results of searching for the contact info of a particular PersonID.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String personID | A unique identifier number for a contact (a person) within an account. |
GetPersonIDDetailsListDetailData[ ] ListContents | An array of objects. Click on the array's type for details. |
GetPersonIDDetailsListDetailData
The contents of a contact list entry.
Attribute | Description |
---|---|
String PersonID | |
String FirstName | |
String LastName | |
String Notes | |
String PrimaryPhone | |
String SecondaryPhone | |
String TertiaryPhone |
Function: GetPersonIDsByPhone
GetPersonIDsByPhoneResponseType GetPersonIDsByPhone(GetPersonIDsByPhoneRequestType myRequest)
Fetches the data for all contact list entries where a given phone number appears.
GetPersonIDsByPhoneRequestType
Specifies the information needed to fetch the contact list entries containing a certain phone number.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumber (R) |
GetPersonIDsByPhoneResponseType
Holds the results of searching for the contact list entries containing a certain phone number.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String phoneNumber | |
GetPersonIDsByPhoneListDetailData[ ] ListContents | An array of objects. Click on the array's type for details. |
GetPersonIDsByPhoneListDetailData
The contents of a contact list entry.
Attribute | Description |
---|---|
String PersonID | |
String FirstName | |
String LastName | |
String Notes | |
String PrimaryPhone | |
String SecondaryPhone | |
String TertiaryPhone |
Function: GetPhoneNumberHistory
GetPhoneNumberHistoryResponseType GetPhoneNumberHistory(GetPhoneNumberHistoryRequestType myRequest)
Delivers the call history for a particular phone number. Among other things, this function is particularly useful for determining when a phone number was called, seeing which broadcasts it was a part of, and examining what happened when the number was called (no answer, live answer, busy, etc.). Results can be filtered by a date range.
GetPhoneNumberHistoryRequestType
Specifies the information needed to fetch the call history of a certain phone number.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumber (R) | |
String startDate | Retrieve call records made to the phone number on this date or more recently. Leave blank for no date limit. |
String stopDate | Retrieve call records made to the phone number on this date or before. Leave blank for no date limit. |
GetPhoneNumberHistoryResponseType
Holds the results of searching for the call history of a certain phone number.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String phoneNumber | |
GetPhoneNumberHistoryDetailData[ ] ListContents | An array of objects. Click on the array's type for details. |
GetPhoneNumberHistoryDetailData
Holds the results of a calling a certain phone number as part of a broadcast.
Attribute | Description |
---|---|
String PrimaryPhone | |
String CallResultDesc | An explanation of the result of calling this number. E.g., no answer, live answer, voicemail. |
String CallBroadcastID | The ID number of the broadcast that called this number. |
String BroadcastName | |
String AudioMessage | The ID number of the audio file used for the broadcast. |
String NumberOfAttemtps | The number of times the phone number was called during the broadcast. |
String LastCallDate | The date and time the number was last called as part of the broadcast. |
String BroadcastType | Will be one of the values (not codes) listed at the attribute's link. |
String SurveyResult | If the broadcast was a survey, this entry will hold the value of the recipient's response: a number between 0 and 9. |
Function: GetSchedules
GetSchedulesResponseType GetSchedules(GetSchedulesRequestType myRequest)
Produces details about all of an account's recurring broadcast schedules.
GetSchedulesRequestType
Account login information is needed to retrieve schedules.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetSchedulesResponseType
The immediate results of the function call along with an array containing information about each schedule.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetSchedulesDetailData[ ] ScheduleContents | An array of objects. Click on the array's type for details. |
GetSchedulesDetailData
Describes a broadcast schedule.
Attribute | Description |
---|---|
String jobName | A unique identifier number for a recurring broadcast schedule. |
String occurs | A text description of the schedule. |
String beginDate | When the schedule starts. |
String endDate | The ending date of the schedule. |
String durationMinutes | The number of minutes the broadcast will execute each time it is active. |
String intervalMinutes | The number of minutes between active periods. Think of this as the sleep time. |
String mostRecentRunTime | The date and time when the schedule last ran (or "Never"). |
String nextRunTime | The date and time when the schedule will next run (or "Never"). |
String status | Active or Disabled. |
String scheduleName | |
String callerID | The caller ID number displayed to the broadcast's recipients. |
String audioID | A unique numeric identifier for an audio library entry. |
String listID | The ID number of a contact list which is the source of phone numbers used by the broadcast. |
String listName | The name of a contact list within an account. |
String notificationFlag | This is the email address to which broadcast notifications will be sent. |
String SMSMessageText | For SMS broadcasts, this holds the text of the message. |
String broadcastType | A numeric code indicating the type of broadcast. Click on the type's link for values and descriptions. |
Function: GetSMSInbox
GetSMSInboxResponseType GetSMSInbox(GetSMSInboxRequestType myRequest)
Retrieves the contents of an account's SMS message inbox. Results can be filtered by dates, phone numbers, status and message number.
GetSMSInboxRequestType
Account information and filter specifications for use in retrieving SMS text messages and their statuses.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String messageCounter | The ID number of a text message reply. Inbox entries with this ID number and higher will be included in the results. Defaults to 0 which will return all inbox entries. |
String status | Only return messages with a certain status. Possible values are: * = all (default), 0 = unread, 1 = read, and 2 = deleted. |
String startDate | Retrieve messages created on this date or more recently. Leave blank for no date limit. |
String stopDate | Retrieve messages created on this date or before. Leave blank for no date limit. |
String phoneNumber | Fetch messages from this phone number only. |
GetSMSInboxResponseType
The overall function status and an array of inbox messages and message data.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetSMSInboxDetailData[ ] GetSMSInboxContents | An array of objects. Click on the array's type for details. |
GetSMSInboxDetailData
Details about an SMS Inbox message.
Attribute | Description |
---|---|
String body | The content of the message. |
String broadcastID | The broadcast's ID number. |
String firstName | |
String inboxID | The ID number of a text message reply. All replies go the account's SMS Inbox (aka "Inbox"). |
String lastName | |
String lastUpdated | The date and time when the message's status was last changed. |
String msgType | A numeric string indicating the SMS message's type. |
String phoneNumber | The phone number from whence the message was sent. |
String received | The date and time when the message was received. |
String status | A numeric value indicating the status of the message. |
String subject | The subject line of the message. When messages are created via the web site, the broadcast's name becomes the subject. For text replies and text broadcasts launched from a phone, the subject line is automatically generated. |
Function: GetSMSInboxStatus
GetSMSInboxStatusResponseType GetSMSInboxStatus(GetSMSInboxStatusRequestType myRequest)
Returns the different status values that an SMSInbox message can have. E.g., 0 = Not Read, 1 = Read, 2 = Deleted. The SMSInboxMessageStatus entry also lists the values.
GetSMSInboxStatusRequestType
Account login information is needed to make the API call.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetSMSInboxStatusResponseType
The immediate results of the function along with an array containing the SMS message status codes and descriptions.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetSMSInboxStatusDetailData[ ] getSMSInboxStatus | An array of objects. Click on the array's type for details. |
GetSMSInboxStatusDetailData
A data structure consisting of status code/description pairs.
Attribute | Description |
---|---|
String status | A numeric code. |
String Description | A brief description of the status code. |
Function: GetSMSMessageTypes
GetSMSMessageTypesResponseType GetSMSMessageTypes(GetSMSMessageTypesRequestType myRequest)
Enumerates the different types of SMS messages. The SMSMessageType entry also lists the message types.
GetSMSMessageTypesRequestType
Account login information is needed to make the API call.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetSMSMessageTypesResponseType
The immediate results of the function along with an array containing the SMS message types and descriptions.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetSMSMessageTypesDetailData[ ] GetSMSMessageTypes | An array of objects. Click on the array's type for details. |
GetSMSMessageTypesDetailData
A data structure consisting of status code/description pairs.
Attribute | Description |
---|---|
String MessageType | An integer representing the message's type. See the entry linked in the Subtype column for a listing. |
String Description | A brief description of the message type. |
Function: GetSMSOptIns
GetSMSOptInsResponseType GetSMSOptIns(GetSMSOptInsRequestType myRequest)
Returns all phone numbers that have opted-in for SMS text messaging. The function can return all opted-in numbers for an account or only those for a particular contact list group (listID). Results can be filtered by the dates that the numbers opted-in.
GetSMSOptInsRequestType
The account login information and optional parameters for the function call.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID | The ID number of a contact list within an account. |
String startDate | Retrieve phone numbers that opted-in on this date or more recently. Leave blank for no date limit. |
String stopDate | Retrieve phone numbers that opted-in on this date or before. Leave blank for no date limit. |
GetSMSOptInsResponseType
The SMS opt-in information requested plus function status info.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetSMSOptInsDetailData[ ] GetSMSOptInsContents | An array of objects. Click on the array's type for details. |
GetSMSOptInsDetailData
Details about an SMS opt-in.
Attribute | Description |
---|---|
String firstname | |
String lastname | |
String lastUpdated | The date on which the opt-in occurred. |
String listID | The ID number of the contact list to which the phonenumber opted-in. |
String personID | The identifer number of the contact list entry which opted-in. |
String phonenumber |
Function: GetSMSResultValues
GetSMSResultValuesResponseType GetSMSResultValues(GetSMSResultValuesRequestType myRequest)
Returns an enumeration of the possible results of sending an SMS text message. The entry at SMSResultValues also contains this information.
GetSMSResultValuesRequestType
Account login information is needed to make the API call.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
GetSMSResultValuesResponseType
The immediate results of the function along with an array containing the SMS message result codes and descriptions.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
GetSMSResultValuesDetailData[ ] GetSMSResultValues | An array of objects. Click on the array's type for details. |
GetSMSResultValuesDetailData
A data structure holding SMS message result code and description pairs.
Attribute | Description |
---|---|
String Description | A bit of text about the SMS outcome. |
String SMSResult | A numeric encoding of the outcome. |
Function: InsertCustomCall
InsertCustomCallResponseType InsertCustomCall(InsertCustomCallRequestType myRequest)
This function is used to create a broadcast that calls just one phone number with a specific message at a specific time.
InsertCustomCallRequestType
Account information and the specifics about the custom call.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumber (R) | |
String sourceURL (R) | The URL of the caller or program name. |
String TTSText | For a voice broadcast created using text-to-speech (TTS) this field will contain the text. |
String callerID | The caller ID number shown to call recipients. If not specified, the account's default will be used. |
String checkCallingWindow | A numeric code controlling calling window checks. Options are: 0 = ignore the calling window and 1 = enforce the calling window. |
String checkMaxPhoneCount | A numeric code controlling the check on the maximum number of times the phone number can be called across multiple Custom Calls by the same account. Options are: 0 = don't check and 1 = check (default). |
String launchDateTime | The date and time to start calling. Defaults to now. |
String maxPhoneCount | The maximum number of times the phone number can be called across multiple Custom Calls by the same account. Defaults to 5. Only used if checkMaxPhoneCount = 1. Overrides retryAttempts. |
String messageID | The audio to be played. Pass a BroadcastID for this parameter if you would like to use a message from a previous broadcast or an AudioID to use a message from the account's audio library. |
String firstName | |
String lastName | |
String WaitInterval | The number of mintues to wait between call attempts. Defaults to 5. |
String retryAttempts | Within this Custom Call, this is the number of times to retry calling a phone number if the intial attempt wasn't answered by a live person or voicemail. Defaults to 3. |
InsertCustomCallResponseType
Contains the results of creating a custom call broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Function: InsertOptOut
InsertOptOutResponseType InsertOptOut(InsertOptOutRequestType myRequest)
Inserts a phone number into an account's opt-out list. The opted-out number will no longer be able to be called or texted by the account.
InsertOptOutRequestType
Account login information and the phone number to be opted-out.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String phoneNumber (R) | The phone number to put on the opt-out list. |
InsertOptOutResponseType
The results of the attempt to opt-out a phone number.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String phoneNumber | The phone number that was opted-out. |
Function: LinkKeywordToList
LinkKeywordToListResponseType LinkKeywordToList(LinkKeywordToListRequestType myRequest)
Links an SMS Keyword to one of an account's contact group lists. To check Keyword availability use the CheckKeywordAvailable function.
LinkKeywordToListRequestType
Account login information and the listID and Keyword to link together.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String listID (R) | The ID number of a contact list within an account. |
String keyword (R) | The Keyword to link to the list. Availability of the Keyword can be checked by calling CheckKeywordAvailable. |
LinkKeywordToListResponseType
The immediate results of the attempt to link a Keyword with a contact list.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String keyword | The Keyword to link to the list. |
String listID | The ID number of a contact list within an account. |
Function: ProvideAudio
ProvideAudioResponseType ProvideAudio(ProvideAudioRequestType myRequest)
Uploads an audio file to an account's audio library for use in future broadcasts.
Code Examples
ProvideAudioRequestType
Account login information and the audio file and its description.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
Binary BinaryMessage (R) | The audio file in the one of the formats supported by Call-Em-All(WAV or MP3). |
String AudioDescription (S) | A textual description of the audio. It's suggested that you provide a transcript or at least describe the audio's content and purpose. |
String AudioType | A numeric string encoding the type of audio file that is being provided. |
String IsFavorite | A numeric string marking the uploaded file as a favorite. 0 = False (default) and 1 = True. |
String IsSalesIntro | A numeric string marking the uploaded file as a sales introduction message. 0 = False (default) and 1 = True. |
String messageType | A numeric string indicating the type of message. |
String userComment | Optional comments about the audio file. |
ProvideAudioResponseType
The immediate results of the attempt to upload an audio file. If successful, the AudioID number that is returned can be used to reference the audio file in the future.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String AudioID | A unique numeric identifier for an audio library entry. |
String AudioLength | The duration of the audio in seconds. |
String AudioDescription | A textual description of the audio. |
Function: ResetInvites
ResetInvitesResponseType ResetInvites(ResetInvitesRequestType myRequest)
Resets SMS opt-in invites for an account. This function only works in the Staging environment.
ResetInvitesRequestType
Account login information is needed to execute the function.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
ResetInvitesResponseType
The immediate results of the resetting SMS opt-in invites.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Function: RetrieveAudio
RetrieveAudioResponseType RetrieveAudio(RetrieveAudioRequestType myRequest)
Retrieves an audio file from an account's audio library. The function can deliver the audio file in multiple formats.
RetrieveAudioRequestType
Account login information and information about the audio file to retrieve.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String AudioID (R) | A unique numeric identifier for an audio library entry. |
String AudioFormat | A numberic string specifing the audio file's format: 0 = WAV (default), 1 = MP3, or 2 = AU. |
RetrieveAudioResponseType
The immediate results of the attempt to download an audio file. If successful, the response includes the audio file itself.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String AudioID | A unique numeric identifier for an audio library entry. |
Binary BinaryFile | The audio file in raw binary in the format requested (WAV is default). |
Function: RetrieveRecordingIDs
RetrieveRecordingIDsResponseType RetrieveRecordingIDs(RetrieveRecordingIDsRequestType myRequest)
Retrieves information about voice messages for which a recording ID has been issued but no recording has been made.
RetrieveRecordingIDsRequestType
Account login information is needed to get the information.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
RetrieveRecordingIDsResponseType
The immediate results of the retrieval of outstanding recording IDs.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
myAudioRecording[ ] ActiveRecordings | An array of objects. Click on the array's type for details. |
myAudioRecording
Contains details about a voice message for which an ID number has been issued, but no recording has been made.
Attribute | Description |
---|---|
String MsgRecID | The number to enter when calling to record audio for a voice broadcast. |
String DateCreated | The date the recording ID was created. |
String audioID | A unique numeric identifier for an audio library entry. |
String RecordingStatus | A numeric code giving the recording status. Should be either 0 meaning "Awaiting Recording" or 3 meaning "Inbound in Progress". |
String PhoneNumber | |
String lastUpdated | The date and time the recording status last changed. |
String AudioDescription | Text-based comments about the recording. It's suggested that the comments be a transcript or overview of the recording's contents. |
String userComment | Extra comments about the recording. |
Function: ScheduleDaily
ScheduleDailyResponseType ScheduleDaily(ScheduleDailyRequestType myRequest)
Schedules a daily broadcast to a particular contact list group. Actually, the broadcast can be set to repeat daily, every other day, every third day, etc.
ScheduleDailyRequestType
All the information needed to schedule a daily recurring broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String BroadcastName (R) | |
String AudioID (C) | The ID number of the message/recording to use. Required if a voice broadcast. |
String SMSText (C) | The message to be sent for text broadcasts. Required if a text broadcast. |
String ListID (R) | The contact group list to which messages should be sent. |
String StartDate (R) | The date the broadcast should start. |
String StopDate (R) | The date the broadcast should stop. |
String StartTime (R) | The time of day to start making calls. Use the format HH:MM and a 24 hour clock. The calling time is based on the account's time zone setting. |
String ReOccursXDays (R) | Sets calls to be made every X days. The default is 1, which means calls will be made daily. If set to 2, calls will be made every other day and so forth. Any positive integer is an acceptable value. |
String CallerID | The caller ID number shown to call recipients. If not specified, the account's default will be used. |
String AdvancedFlag | A binary numeric value where 0 = don't use advanced features (default) and 1 = use advanced features. Advanced features include the RepeatEvery and RepeatUntil attributes. |
String RepeatEvery | An integer specifying the delay between retrying a call to a phone number. The default schedule is 5-15-15-15. Only used if AdvancedFlag = 1. |
String RepeatUntil | This is an HH:MM formatted string specifying a time interval (e.g., 3:20 would be 200 minutes). Calls will go out from StartTime for a RepeatUntil amount of time. Only used if AdvancedFlag = 1. |
String SendEmailOnCompletion | A binary integer value. 0 = no emails sent (default). 1 = send email each time a calling cycle completes completes. |
String BroadcastType | A numeric value setting the type of broadcast. See the attibute's link for a list of possible values. Defaults to 1 (voice only). |
String commaDelimitedPhoneNumbers | See the attribute's link for formatting and options. |
ScheduleDailyResponseType
Contains the results of creating a daily broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String BroadcastName |
Function: ScheduleWeekly
ScheduleWeeklyResponseType ScheduleWeekly(ScheduleWeeklyRequestType myRequest)
Schedules a semi-weekly broadcast to a particular contact list group.
ScheduleWeeklyRequestType
All the information needed to schedule a semi-weekly recurring broadcast.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String BroadcastName (R) | |
String AudioID (C) | The ID number of the message/recording to use. Required if a voice broadcast. |
String SMSText (C) | The message to be sent for text broadcasts. Required if a text broadcast. |
String ListID (R) | The contact group list to which messages should be sent. |
String StartDate (R) | The date the broadcast should start. |
String StopDate (R) | The date the broadcast should stop. |
String StartTime (R) | The time of day to start making calls. Use the format HH:MM and a 24 hour clock. The calling time is based on the account's time zone setting. |
String ReOccursXWeeks (R) | Sets calls to be made every X weeks. The default is 1, which means calls will be made once a week. If set to 2, calls will be made every other week. Any positive integer is an acceptable value. |
String DaysOfWeek (R) | A formatted string giving instructions on which days of the week calls are to go out. For example, to make calls on Sunday, Monday, and Tuesday use the string "1:1:1:0:0:0:0". To call only on Wednesdays and Saturdays use "0:0:0:1:0:0:1". |
String CallerID | The caller ID number shown to call recipients. If not specified, the account's default will be used. |
String AdvancedFlag | A binary numeric value where 0 = don't use advanced features (default) and 1 = use advanced features. Advanced features include the RepeatEvery and RepeatUntil attributes. |
String RepeatEvery | An integer specifying the delay between retrying a call to a phone number. The default schedule is 5-15-15-15. Only used if AdvancedFlag = 1. |
String RepeatUntil | This is an HH:MM formatted string specifying a time interval (e.g., 3:20 would be 200 minutes). Calls will go out from StartTime for a RepeatUntil amount of time. Only used if AdvancedFlag = 1. |
String SendEmailOnCompletion | A binary integer value. 0 = no emails sent (default). 1 = send email each time a calling cycle completes completes. |
String BroadcastType | A numeric value setting the type of broadcast. See the attribute's link for a list of possible values. Defaults to 1 (voice only). |
String commaDelimitedPhoneNumbers | See the attribute's link for formatting and options. |
ScheduleWeeklyResponseType
Contains the results of creating a semi-weekly broadcast.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String BroadcastName |
Function: SendOptInvitation
SendOptInvitationResponseType SendOptInvitation(SendOptInvitationRequestType myRequest)
Send a text message to an SMS phone number inviting the owner of the number to opt-in one of the account's Keywords.
Code Examples
SendOptInvitationRequestType
Account login information and other information needed for the function's execution.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String invitePhonenumber (R) | The phone number to which the SMS invite should be sent. |
String keyword (R) | The Keyword the invitee is being asked to join. |
String firstName | |
String lastName | |
String message | A description of the group that is 60 characters or less in length. Do not include instructions on how to join as they will be added by the system. |
String YisOK | A numeric code concerning what constitutes an acknowledgement by the invitee: 0 = Require that the invitee reply with the Keyword or 1 = Allow the invitee to opt-in by replying with the letter "Y" if no other opt-ins are pending for the invitee. |
SendOptInvitationResponseType
The immediate results of inviting a phone number to opt-in to a Keyword.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String invitePhonenumber | The phone number to which the SMS invite was sent. |
String keyword (R) | The keyword the invitee was asked to join. |
String message | The system-generated portion of the invite. It was prepended to your message to form the full text message sent to the invitee. |
Integer response | The response from the opt-in sub-system. Quite frankly this won't mean much to an API user. API users should look to the errorCode and errorMessage for insight into the success or failure of sending an opt-in request. |
Function: SubscribeNotification
SubscribeNotificationResponseType SubscribeNotification(SubscribeNotificationRequestType myRequest)
Subscribes to event notifcations. Providing a URL and authentication you can sign up to receive notifications on all or certain events occuring on your account. For example when one of your broadcasts has been completed or a text reply has been received.
SubscribeNotificationRequestType
The information needed to subscribe to an event notification
Attribute | Description |
---|---|
String UserName (R) | The account's Username. |
String Pin (R) | The account's personal identification number (PIN) or password. |
String Url (R) | A valid Url. Well formatted data in JSON format is posted to this Url when an event occurs. |
String AuthenticationUserName | Optional. If the Url provided for event notification expects basic authentication, this is the username for it. |
String AuthenticationPassword | Optional. If the Url provided for event notification expects basic authentication, this is the password for it. |
String EventType | The event type you subscrive to receive notifications about. It is optional. When omitted, notifications about all events will be delivered. |
String Expiration | The date when the event notification expires. It is optional. When omitted, notifications will be delivered until an explicit unsubscribe API call. |
SubscribeNotificationResponseType
Details about adding a new contacts list group for a user.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String SubscriptionID | The unique ID for the subscription. You can use it to unsubscribe from the notification later. |
String Status | The subscription status. Active, Expired, Canceled |
Function: UpdateAccountInfo
UpdateAccountInfoResponseType UpdateAccountInfo(UpdateAccountInfoRequestType myRequest)
Updates account information including such items as name, address, PIN, and time zone.
UpdateAccountInfoRequestType
Account login information and then the data to be updated.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String firstName (R) | |
String lastName (R) | |
String phone (R) | |
String email (R) | |
String address1 | |
String address2 | |
String company | |
String city | |
String state | Please use the two-letter abbreviation for the state or territory. |
String zip | |
String newPin | The account's personal identification number (PIN) or password. |
String TimeZoneOffset | The number of hours difference (plus or minus) between the account's time zone and Central Standard Time. |
String ObservesDST | Does your location observe Daylight Saving Time? Pass a numeric string with one of the following values: 0 = No or 1 = Yes (default). |
UpdateAccountInfoResponseType
The result of updating an account's basic info.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Function: UpdateCreditCard
UpdateCreditCardResponseType UpdateCreditCard(UpdateCreditCardRequestType myRequest)
Updates the credit card information for an account. If the account has outstanding credit card transactions, the new credit card will be charged to get the account back into good standing.
UpdateCreditCardRequestType
Account login information and the data needed to update the account's credit card.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String firstName (R) | The first name on the credit card. |
String lastName (R) | The last name on the credit card. |
String address1 (R) | The first line of the billing address for the credit card. |
String address2 | The second line of the billing address for the credit card. |
String city (R) | The billing address's city. |
String state (R) | The billing address's state or territory. Please use the 2-letter abbreviation. |
String zip (R) | The billing address's ZIP code |
String cardNumber (R) | The credit card number as an unbroken sequence of 16 digits. |
String CVN (R) | The 3-digit CVN code found on most credit cards. |
String cardType (R) | The credit card brand. Call-Em-All accepts all major North American credit card brands (Visa, MC, AMEX, and Discover). If unsure, you can use GetAvailableCreditCardTypes to get the full list. |
String expMonth (R) | The 2-digit expiration month. |
String expYear (R) | The 4-digit expiration year. |
UpdateCreditCardResponseType
The result of updating an account's basic info.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String cardNumber | The credit card number as an unbroken sequence of 16 digits. |
Function: UpdatePersonID
UpdatePersonIDResponseType UpdatePersonID(UpdatePersonIDRequestType myRequest)
Updates a contact list entry referenced by a PersonID. Actually, the function can update multiple entries in a single call. Note that an entry can be a member of multiple contact lists, each of which will reflect the change.
UpdatePersonIDRequestType
Account login information and an array of contact entries to update.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
PersonDetailData[ ] PersonRecords (R) | An array of objects. Click on the array's type for details. |
PersonDetailData
A data structure holding contact list information.
Attribute | Description |
---|---|
String PersonID (R) | A unique identifier number for a contact (a person) within an account. |
String PrimaryPhone (R) | |
String FirstName | |
String LastName | |
String Notes | |
String SecondaryPhone | |
String TertiaryPhone |
UpdatePersonIDResponseType
The immediate result of attempting to update contact list entries plus the details about any and all failed updates.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
failedUpdates[ ] updateFailures | An array of objects. Click on the array's type for details. |
failedUpdates
Details about why the attempt to update the contact information for a specific PersonID failed.
Attribute | Description |
---|---|
String personID | A unique identifier number for a contact (a person) within an account. |
String reason | A short explanation of why the update failed. |
Function: UpdateSMSInboxStatus
UpdateSMSInboxStatusResponseType UpdateSMSInboxStatus(UpdateSMSInboxStatusRequestType myRequest)
Responses to SMS messages sent by an account are stored in the account's SMS Inbox. With this function you can change the status of those responses to "read", "unread" or "deleted". The SMSInboxMessageStatus entry lists the possible values. The values can also be retrieved by calling the GetSMSInboxStatus function.
UpdateSMSInboxStatusRequestType
Account login information and an array of SMS Inbox entries to update.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
UpdateSMSInboxStatusDetailData[ ] inboxIDs (R) | An array of objects. Click on the array's type for details. |
UpdateSMSInboxStatusDetailData
Relates an SMS Inbox message to its new status.
Attribute | Description |
---|---|
String inboxID (R) | The ID number of a text message reply. All replies go the account's SMS Inbox (aka "Inbox"). |
String newStatus | A numeric code indicating the new status of the message. Possible values are 0 = Not Read, 1 = Read (default), or 2 = Deleted. |
UpdateSMSInboxStatusResponseType
The overall result of attempting to update the statuses of the SMS Inbox messages plus the details about any and all failed updates.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
UpdateSMSInboxStatusfailedUpdates[ ] updateFailures | An array of objects. Click on the array's type for details. |
UpdateSMSInboxStatusfailedUpdates
Details about why the attempt to update the status of a specific SMS Inbox message failed.
Attribute | Description |
---|---|
String inboxID | The ID number of a text message reply. All replies go the account's SMS Inbox (aka "Inbox"). |
String reason | A short explanation of why the update failed. |
Function: WB_CreateAccount
Restricted
WB_CreateAccountResponseType WB_CreateAccount(WB_CreateAccountRequestType myRequest)
Creates a new White Box customer account. This function is restricted to Call-Em-All clients who resell the Call-Em-All service. These clients have capabilities not available to other clients, one of which is the ability to create new accounts, so-called "White Box" accounts.
WB_CreateAccountRequestType
Information about the account to be created. Note that in this case the username and PIN are for the account that is setting up the new White Box account. A username and PIN for the new account will be returned by the function.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String FirstName (R) | |
String LastName (R) | |
String PhoneNumber (R) | Unless there is a conflict, the username for the account will be set to the phone number. If there is a conflict a username will be randomly generated. See the attribute link for phone number formatting. |
String EmailAddress (S) | |
String TimeZoneOffset (R) | The number of hours difference (plus or minus) between the account's time zone and Central Standard Time. |
String ObservesDST (R) | Does new account's location observe Daylight Saving Time? Pass a numeric string with one of the following values: 0 = No or 1 = Yes (default). |
String transactionTime | The time when the account was created. |
String SecurityHash (R) | Encrypted contents of previous fields separated by the "|" character (the pipe). Contact Call-Em-All support to have your encryption keys issued. |
WB_CreateAccountResponseType
The overall result of attempting to create a new White Box account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String AssignedUsername | The username for the new account. Set to the phone number of the new account unless there is a conflict, in which case a username is randomly generated. |
String AssignedPin | A randomly created PIN for the new account. |
String SMSJoinKey | An SMS keyword for the new account. By default this is set to the new account's AccountID. |
Function: WB_FundAccount
Restricted
WB_FundAccountResponseType WB_FundAccount(WB_FundAccountRequestType myRequest)
Adds credits to a White Box customer account. This function is restricted to Call-Em-All clients who resell the Call-Em-All service. These clients have capabilities not available to other clients, one of them is the ability to modify accounts that they created for their customers.
WB_FundAccountRequestType
Information about the account to which funds will be added.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String usernameToCredit (R) | The username of the account to be funded. |
String memo (S) | Notes about the funding request. |
Integer numberOfCredits (R) | The number of credits to add or remove (negative number) from the account. |
String base64TransactionReceipt (R) | A base-64 encoded string of a transaction receipt between the reseller and their client to show that the client paid for the credits. |
String transactionTime | The time when the account was created. |
String SecurityHash (R) | Encrypted contents of previous fields separated by the "|" character (the pipe). Contact Call-Em-All support to have your encryption keys issued. |
WB_FundAccountResponseType
The overall result of attempting to add credits to a White Box account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String usernameToCredit | The username of the account to be funded. |
Function: WBCreateAccount
Deprecated — use WB_CreateAccount instead.
Restricted
WBCreateAccountResponseType WBCreateAccount(WBCreateAccountRequestType myRequest)
Creates a new White Box customer account. This function is restricted to Call-Em-All clients who resell the Call-Em-All service. These clients have capabilities not available to other clients, one of which is the ability to create new accounts.
WBCreateAccountRequestType
Information about the account to be created. Note that in this case, the username and PIN are for the client creating the new White Box account. A new username and PIN will be generated for the new account as part of the function call.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String UDID (R) | A unique device ID or customer identifier. |
String FirstName (R) | |
String LastName (R) | |
String PhoneNumber (R) | Click the attribute link column for phone number formatting. Unless there is a conflict, the username for the account will be set to the phone number. If there is a conflict, a username will be randomly generated. |
String TimeZoneOffset (R) | The number of hours difference (plus or minus) between the account's time zone and Central Standard Time. |
String ObservesDST (R) | Does new account's location observe Daylight Saving Time? Pass a numeric string with one of the following values: 0 = No or 1 = Yes (default). |
String EmailAddress (S) | |
String CallerID | |
String City | |
String State | |
String ZipCode |
WBCreateAccountResponseType
The overall result of attempting to create a new White Box account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String SMSJoinKey | An SMS keyword for the new account. By default this is set to the new account's AccountID. |
Function: WBFundAccount
Deprecated — use WB_CreateAccount instead.
Restricted
WBFundAccountResponseType WBFundAccount(WBFundAccountRequestType myRequest)
Allows a reseller of the Call-Em-All service to add funds to one of their White Box accounts.
WBFundAccountRequestType
Login information and the UDID, number of credits to add to the account and a memorandum field. Note that the username and PIN are for the reseller's account (not for the account to which funds are being added).
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String UDID (R) | A unique device ID or customer identifier. |
Integer NumberOfCredits (R) | The number of credits to add or remove (negative number) from the account. |
String Memo | Optional notes about the transaction. |
WBFundAccountResponseType
A status report on adding funds to a White Box customer's account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
Function: WBPreVerifyAccount
Deprecated — use WB_CreateAccount instead.
Restricted
WBPreVerifyAccountResponseType WBPreVerifyAccount(WBPreVerifyAccountRequestType myRequest)
Allows a Call-Em-All reseller to check that a UDID and selected Username do not already exist in preparation for calling WBCreateAccount.
WBPreVerifyAccountRequestType
Login information and the UDID and username to test. Note that the username and PIN are for the reseller's account (not for the account being checked).
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String UDID (R) | A unique device ID or customer identifier. |
String selectedUsername (R) | The Username to check. |
WBPreVerifyAccountResponseType
The overall result of attempting to check whether or not an account exists.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String UDIDExists | Will contain a 0 if the UDID doesn't exist and a 1 otherwise. |
String selectedUsernameExists | Will contgain a 0 if the Username doesn't exist and a 1 otherwise. |
Function: WBUDIDLookup
Deprecated — use WB_CreateAccount instead.
Restricted
WBUDIDLookupResponseType WBUDIDLookup(WBUDIDLookupRequestType myRequest)
Allows a reseller of the Call-Em-All service to retrieve information for one of their customer's account (a "White Box" account). The lookup is done by referencing the account's UDID.
WBUDIDLookupRequestType
Login information of the reseller's account and the UDID of the White Box account.
Attribute | Description |
---|---|
String username (R) | The account's Username. |
String pin (R) | The account's personal identification number (PIN) or password. |
String UDID (R) | A unique device ID or customer identifier. |
WBUDIDLookupResponseType
Function response details and information a White Box customer account.
Attribute | Description |
---|---|
Integer errorCode | The overall result of the function. |
String errorMessage | A description of the error. |
String username | The account's Username. |
String UDID | A unique device ID or customer identifier. |
String firstName | |
String lastName | |
String phoneNumber | |
String TimeZoneOffset | The number of hours difference (plus or minus) between the account's time zone and Central Standard Time. |
String ObservesDST | Does the White Box account's location observe Daylight Saving Time? 0 = No or 1 = Yes. |
String email |
Common Types
The SOAP API functions rely on a number of enumerations (data types) and special data formats. We've collected them here for your convenience. When a function's request or response types or one of the types upon which they depend references a common type, you'll see a link to the common type in the Attribute column.
Common Type: AudioID
An AudioID is both the key field and name of an audio message stored in the Call-Em-All system. AudioID has the format XXNNNN, e.g., AA0341 and 301932.
Audio messages can be generated either as part of creating a broadcast or by uploading files directly to an account's audio library. Generally speaking, audio generated while creating a broadcast (whether it's by calling the toll-free recording line, uploading a file, or using text-to-speech) receives an AudioID that matches the BroadcastID of its associated broadcast. AudioIDs of this kind do not start with letters.
Audio not tied directly to a broadcast have AudioIDs that start with letters. API functions that create audio of this kind include ProvideAudio and CreateTTS.
Audio libary contents can be retrieved with a call to GetAudioLib or RetrieveAudio.
Common Type: AudioType
AudioType is an enumeration of the possible formats of an audio file.
Code | Value | Description |
---|---|---|
0 | WAV | The Windows WAV file is the default type. |
1 | MP3 | The MP3 format. |
2 | AVI | The AVI format. |
3 | Multiple | Can be one of the following formats: WMA, WMV, ASF, MPG, AIF, AU, SND, MID, RMI, OGG, FLAC, CDA, AC3, DTS, MKA, MKV, MPC, M4A, AAC, MPA, MP2, M1A, or M2A. |
Common Type: BroadcastID
A BroadcastID is a numeric string that identifies a particular broadcast. These numbers are automatically generated and are unique. Broadcasts are archived after 90 days. If you need a broadcast restored for reporting purposes, contact us and we can restore the data to your account where it will stay until 2:00am Central time, whereupon it will be archived again.
Common Type: BroadcastStatus
BroadcastStatus is an enumeration of the possible states of a broadcast.
Code | Value | Description |
---|---|---|
0 | Pending Message | The broadcast is waiting on a message to be recorded. |
1 | Message Recorded | The broadcast's audio is ready. The next step: prepare for broadcasting by generating call detail records (next entry). |
2 | Generating Detail Records | Database entries about each call to be made are being prepared. Next step: make calls at the appointed time. |
3 | Broadcasting | The broadcast is making calls. |
4 | Complete | All of the broadcast's calls have been made. |
5 | Cancelled | The broadcast was cancelled. The cancellation could have occurred before or during the broadcast's execution. |
6 | Awaiting Authorization | The broadcast needs special attention and will be reviewed. |
7 | Authorization Declined - Needs Sales Intro | The broadcast couldn't be made because it needs a sales introduction message and the message either did not exist or wasn't complete. |
8 | Authorization Approved | The broadcast had been in state #6, was reviewed, and has been released for execution. |
9 | Processing | A catch-all indicating that broadcast is being prepped prior to execution or being cleaned-up after executing. |
10 | Expired | The broadcast has passed its end of execution date. |
11 | Authorization Declined - Spam | The broadcast was rejected because it was determined to be fradulent, an unsolicited sales message, etc. |
12 | Authorization Declined - Bad Recording Quality | Self-descriptive. |
13 | Message Recorded - Update Window | The audio for the broadcast is ready, but there is a problem with the broadcast's time window. |
14 | Audio Status Check | For Call-Em-All internal use. |
15 | Audio Status Fail | For Call-Em-All internal use. |
16 | Authorization Declined - Missing Component | For Call-Em-All internal use. |
Common Type: BroadcastType
Specifies the type of broadcast in terms of its purpose.
Code | Value | Description |
---|---|---|
0 | Normal | Actually, we've forgotten what this means. Luckily we don't think it's used. |
1 | One Time | A voice broadcast. |
2 | Survey | A survey broadcast. |
3 | SMSAnnounce | A regular SMS/Text broadcast. |
4 | SMSInvite | An SMS/Text broadcast sent for the purpose of asking recipients to join (opt-in to) an account's Keyword. |
Common Type: CallResultValues
This is an enumeration of the results of trying to deliver a voice call to a particular phone number. Note that some results can change each time a call to a number is attempted. For example, a call result can go from 2-Busy Signal to 1-Live Person.
Code | Value | Description |
---|---|---|
0 | No Result Yet | There's nothing to reporst because the number hasn't been called. |
1 | Live Person | The call was answered by a real human being. |
2 | Busy Signal | The phone number was in use. |
3 | Operator Intercept | The call was answered by the phone company. |
4 | Ring No Answer | The call was made but wasn't answered. |
5 | Fax Completed Successfully | The dialed number was answered by a fax machine and has been marked as completed. |
6 | Do Not Call | The number was either on the account's do not call list or was placed on the list during the call. |
7 | Voicemail | The call went to voicemail, answering machine, etc. |
8 | Calling Window Expired | The call couldn't be made because it was outside the broadcast's calling window. |
9 | Canceled | The phone number wasn't called because the broadcast was canceled or the number was removed from the calling list. |
10 | Dial Failed | The call couldn't be made because of an error during dialing. I.e., the phone dialed never rang. |
11 | Message content rejected | |
12 | No audio events |
Common Type: CommaDelimitedPhoneNumbers
This parameter in its base form is just like it sounds: a list of phone numbers each separated by a comma.
In order to make things easier for certain customers, this was extended to handle the submission of extended data that can be useful when viewing a broadcast's call results. By using the pipe character "|" as a separator you can append the following fields to each "phone number": FirstName, LastName, Notes, SecondaryPhoneNumber, TertiaryPhoneNumber. Not every field has to be specified, but they must be specified in order. White space is ignored.
Here are two examples of two entries each.
- A phone number with a first and last name: 5556667777|Dan|Smith, 5558889999|Keith|Stone
- A phone number with a first and last name and a secondary phone number: 5556667777|Dan|Smith| |5556667778, 5558889999|Keith|Stone| |5558889922
In essence, a phone number becomes a contact entry. Note that information passed this way is not added to an account's contacts.
Common Type: CreateBroadcastType
Specifies the type of broadcast to be sent. There are (currently) five kinds.
Code | Value | Description |
---|---|---|
1 | Announcement | This is the basic voice broadcast in which a single audio message is delivered to each phone number in the broadcast. |
2 | Survey | A broadcast in which those called can respond by pressing one of the number key's on their phone. The broadcast has the option of playing one message on a live answer and another when a call goes to voicemail. In the voicemail message you can leave instructions on how to respond to the survey (since the recipient can't respond live). You may, for instance, tell the recipient to call Call-Em-All's message replay number. Additionally, custom audio responses can be played depending on what keys the callee pressed or didn't press (in case of no action). |
3 | SMS/Text Message | A text broadcast delivered only to text-capable devices like cell phones. If a number is not able to receive texts, it will not be included in the broadcast. |
4 | SMS or Voice | A combination broadcast in which text-capable numbers get a text message and all other devices receive a voice/audio message. |
5 | SMS and Voice | Like option #4 except that text-capable devices get both a text and a voice call. |
Common Type: DateTime
Many of the functions require a date and time as input as a string in the following format: MM/DD/YYYY HH:MM:SS AM/PM. The AM/PM option can be omitted if the hours (the HH) use a 24-hour clock. Unless noted otherwise, all times are based on the account's time zone.
Common Type: ErrorCode
The Call-Em-All SOAP API returns error codes and error messages to relay information about the overall outcome of a function. The Error Codes section contains a complete list of error codes and messages.
In addition to an overall error code, some functions return details about what happened during the function. It is possible for the function to report that it executed successfully, but have errors at a smaller scale. For example, the AddNumbersToList function accepts multiple new contacts and inserts them into a contact list group. Besides the overall result, the function returns an array containing error message for all entries that failed.
Common Type: InboxID
Every text message sent or received is placed in the account's Inbox and given a unique identication number called the "InboxID". An Inbox message can be managed through the API by referencing the message's InboxID. To retrieve a listing of the messages in an Inbox use the GetSMSInbox function.
Common Type: JobName
A JobName is a string that describes and identifies a recurring broadcast (also known as a schedule). A JobName must be unique. The JobName is essential for managing schedules. The GetSchedules function returns information about all the schedules under an account.
Common Type: Keyword
A Keyword links a Call-Em-All account and its contact list groups to the SMS text messaging system. Ideally, a Keyword is a memorable word or phrase that reflects something about the account or contact list group with which it's associated. For example, Park Hills Church has an account and sets up the Account Keyword "PHChurch". The church then promotes its Keyword to the congregation, inviting them to sign up to receive texts about important events. To opt-in to messages from the church, members text the Keyword "PHChurch" to Call-Em-All's SMS short code: 292929.
An account can have one Account Keyword. The Account Keyword is linked to the Everyone contact list. Unless a Group Keyword is specified (see next paragraph), a text broadcast will go to all contacts in the account's "Everyone" list that have opted-in. In the church's case, the "PHChurch" keyword potentially covers all of the church's contacts.
Group Keywords reference contact groups in an account. Again with the church example, say the church has two contact list groups already set up and populated with contacts. One is called "Youth" and is for the church's youth organization. A second is for prayer chains and is called "Prayers". Through the web site, the church can associate a Group Keyword with each contact list group. Assume that the church uses the same names for the groups and Group Keywords. To text a group, the church targets the group by concatenating the Account Keyword with the appropriate Group Keyword with a period between Keywords like so:
No two Call-Em-All accounts can have the same Account Keyword. No two Group Keywords can be the same within an account. Keywords are not case sensitive.
For more information on how Call-Em-All does texting see SMS at Call-Em-All.
Common Type: ListID
By default each account has one master list of contact information called "Everyone". The Everyone list contains all of the account's contacts. Users can create their own contact lists called "Groups". A Group can be given a name for easy identification. Each Group is also given an ID number called a ListID. The Everyone list (which is a Group) always has a ListID of 0 (zero). ListIDs can be retrieved by either (1) selecting a Group on the Call-Em-All web site and looking next to the Group's name at the top of the contact list, (2) moving the mouse over a Group name on the web site, or (3) by invoking the GetListIDByName or GetAvailableLists functions.
Common Type: MessageID
Possibly one of the most misunderstood parameters, the MessageID (and its near cousin, MessageIDVM) is the BroadcastID of a broadcast that has audio that you want to re-use. The two parameters exist because customers wanted to be able to deliver different messages depending on how a Survey was delivered: live answer or automated answering device (e.g., voicemail). The BroadcastIDs provided for each parameter can come from different broadcasts.
In actuality all MessageIDs are also BroadcastIDs. This is because audio uploaded or recorded (via the toll-free recording line) for a new broadcast gets the same ID number as its parent broadcast. However, because audio can be reused, not all broadcasts generate new audio files and, hence, not every MessageID will have a corresponding BroadcastID.
The functions ExtCreateBroadcast and InsertCustomCall can also accept an AudioID in their MessageID/IDVM fields.
Common Type: MessageIDVM
A MessageID for Survey broadcasts that are delivered to voicemail (VM) or answering machine.
Common Type: MessageRecordingID
A numeric string of indeterminate length (but is usually 6-8 digits long). The ID is used when calling Call-Em-All's toll-free line to record a message for a broadcast or to add a message to an account's audio library. MessageRecordingIDs are transient and don't need to be saved once they are used.
Common Type: MessageType
MessageType is an enumeration of the possible uses of an audio recording.
Code | Value | Description |
---|---|---|
0 | all | The audio can be used for any purpose. |
1 | announcement | The audio is the message in a regular voice broadcast (also known as an Announcement). |
2 | surveyLive | The audio is meant to be played on a Survey broadcast when a call is answered by a live person. |
3 | surveyVM | The audio is meant to be played on a Survey broadcast when a call goes to voicemail or answering machine. |
4 | salesIntro | The audio is a sales introduction message. Note that the max length of a sales introduction is 15 seconds. |
Common Type: OptInOptOutReasonCode
OptInOptOutReasonCode enumerates the possible reasons why a phone number either opted-in or opted-out of broadcasts. Codes below 100 apply to SMS/text. Codes 100 and up are for voice calls.
Code | Value | Description |
---|---|---|
1 | SMS Opt In | |
2 | Written Permission From User | |
3 | Web Opt In | |
4 | AccountKeywordRename | |
5 | SMS Opt Out | |
6 | CarrierBlacklistMessage | |
7 | Account Opt Out | |
8 | User Opt Out | |
9 | Invite File Upload | |
10 | Invite Widget | |
11 | User Opt In | |
100 | Number was manually added to the do not call list | |
101 | Called party opted to be placed on the do not call list | |
102 | Added to do not call list on the web | |
103 | Added to do not call list via the API | |
104 | unknown | |
105 | Number was opted back in via the web site |
Common Type: PersonID
A PersonID is a unique identifier given to contact list entries. A contact list entry has properties as shown in the ListDetailData type, as one example. Technically speaking, a PersonID is a 64-bit signed integer. However, Call-Em-All only uses positive values. A PersonID is assigned to a contact list entry upon creation. PersonIDs are the sole method of determining contact identity. That is, contacts with identical values (name, phone numbers, etc.) but different PersonIDs will be considered to be different contacts. Thus, care should be taken when inserting new contacts to an account.
Common Type: PhoneNumber
A PhoneNumber is a sequence of ten digits representing a telephone number. The number is digits only; no white space, hyphens, parenthesis or other non-numerice characters are allowed. The number must adhere to the North American Numbering Plan (NANP). NANP uses NPA-NXX-xxxx telephone number format where NPA is a 3-digit area code, NXX is a 3-digit central exchange code, and xxxx is the subscriber number. The NPANXX format disallows some values for certain digits. Call-Em-All screens each number to make sure it adheres to the NANP. Phone numbers are also checked see if they are capable of receiving texts.
Common Type: PhoneNumberSource
For functions that allow you to specify multiple phone numbers or, more generally, a listing of cotact information, you need to specify how the information will be provided. The table below lists the options.
Code | Value | Description |
---|---|---|
1 | Saved List | Specify this to use a contact list already stored within your account. Make sure to specify the ListID elsewhere in the data passed to the function. |
2 | CSV/TXT or Excel spreadsheet | Tells the function you are passing a text file with contact information stored as comma separated values (CSV) or an Excel spreadsheet. The file must be passed to the function as a binary array. Refer to the function for the attribute itself and specific details. |
3 | Comma-delimited String | If you are dynamically building your list, most find it easier to use this option and provide a comma delimited string of numbers. See CommaDelimitedPhoneNumbers for details on advanced formatting. The string must be passed to the function. Refer to the function for the attribute itself and specific details. |
Common Type: PIN
In combination with a Username, the Personal Identification Number (PIN) authenticates a Call-Em-All account. The PIN has undergone some changes from its original format and might be more accurately considered to be a password. In fact, the Call-Em-All website refers to PINs and Passwords. However, to avoid messy renaming and support existing API customers, we've kept the PIN term for the API. Historically, the PIN was a 4-digit to 10-digit numeric string. In November of 2014, the PIN format was expanded to allow alphanumeric characters and symbols. Legacy PINs are still supported and there is no requirement to switch to the new format. A PIN must be 8-25 characters long, must contain at least one digit and at least one letter, and can't have any whitespace characters. Special symbols are allowed. To be exact, a PIN must conform to the following regex: ^(?=.*\d)(?=.*[a-zA-Z])(?!.*\s).{8,25}$/.
Common Type: SMSInboxMessageStatus
SMSInboxMessageStatus enumerates the states that an SMS Inbox message can have.
Code | Value | Description |
---|---|---|
0 | NotRead | |
1 | Read | |
2 | Deleted |
Common Type: SMSMessageType
SMSMessageType enumerates the SMS text message types. Each type aims to describe the context in which the message was sent.
Code | Value | Description |
---|---|---|
0 | SmsOptIn | |
1 | SmsOptOut | |
2 | SystemMsg | |
3 | BcSent | |
4 | BcReply | |
5 | HardReplyBc | |
6 | HardReplyNoBc |
Common Type: SMSMsg
This is the text to be sent during a text broadcast or text broadcast reply. The maximum message length in the United States is 160 characters. In Canada, it is 120 characters. The length is AFTER the message is URL encoded. URL encoded characters can take up to three spaces. For example, "This is a
Common Type: SMSResultValues
SMSResultValues enumerates the delivery statuses of SMS messages.
Code | Value | Description |
---|---|---|
0 | Not sent | |
1 | Sent to carrier | |
2 | Sent to handset | |
3 | Cancelled | |
4 | Expired | |
5 | Not authorized | |
6 | Pending authorization | |
7 | Carrier not available | |
8 | Not mobile device | |
9 | Opted out | |
10 | Error | |
11 | Rejected Billing | |
12 | Rejected Handset | |
13 | Rejected Carrier | |
14 | Rejected Content | |
15 | Buffered | |
16 | ExceededMessageLength |
Common Type: SurveyOptions
SurveyOptions allows you to set up a custom response for each action a Survey recipient may make. Recall that in a Survey, callees signal their resonse by pressing the star (*) key followed by a number. For example, if a Survey asks for the number of people living in a household and the household has four people in it, then the callee would respond by pressing "*4". During a Survey the system can respond in a different way to each possible *X response. It can also react to null responses (user doesn't respond in a timely fashion) and an invalid response (e.g., the user pressed '*5' when '5' is not a valid option in the Survey). SurveyOptions can also be used to specify a mini-menu that repeats options quickly and to disable standard prompts.
Code | Value | Description |
---|---|---|
action | String | See the data type's description for an explanation of the actions. The action value must be one of the following characters: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, N, I, M, C. The numbers are the X value *X response As for the letters, N = no response, I = invalid response, M = mini-menu (repeats options quickly), and C = disables standard prompts. |
AudioID | String | Specifies an audio file in the account's audio library that will be played in response to an action. Required if TTSTextResponse for the action is not provided. |
TTSTextResponse | String | The text of a response that will be converted to audio and then played in response to an action. Set to "BYPASS" if the action type is set to "C". Required if a AudioID for the action is not provided. |
followUp | String | A numeric string that controls what happens at the end of the Survey. Options are 0 = end the call (default) and 1 = re-prompt for a survey response. |
Common Type: TimeZoneOffset
The system supports the following United States and Canadian time zones. The enumeration below lists the supported time zones. The Code column is the string that should be passed for the optional BroadcastTimeZone property of some functions.
Code | Value | Description |
---|---|---|
HT | Hawaii Time | Doesn't observe Daylight Savings |
AKT | Alaska Time | |
PT | Pacific Time | |
AZ | Arizona Time | Doesn't observe Daylight Savings |
MT | Mountain Time | |
CT | Central Time | |
ET | Eastern Time | |
AT | Atlantic Time | |
NT | Newfoundland Time |
Common Type: TTSText
This is the text you wish to have converted to speech and played during a voice broadcast. This field works fine with just text typed in, but you can exert a lot of control over voices, pitch, pronunciation, etc. by using the Speech Synthesis Markup Language. See the section on Text-To-Speech for more information.
Common Type: Username
The Username is a unique identifier used to reference an account and is required on every API function call. Historically, Username was a sequence of five to ten digits. In November of 2014, we began allowing alphanumeric characters and some symbols. Legacy Usernames are still supported and there is no requirement to update to the new format. New or updated Usernames must be 8-50 characters long and can consist of letters, numbers, and the following special characters: . _ ~ ! @ # $ % ^ & * - / + ' and ?. To be exact, Usernames must conform to this regex: ^(?=.{8,50}$)[a-zA-Z0-9._~!@#$%^&*-\/+'?]+$.
Code Examples
Here you'll find a selection of code examples that invoke the SOAP API.
We strive to help our developer partners as much as possible. If you have a request for language examples, would like to share your examples with us, or have any comments or questions regarding the API please contact us at api@text-em-all.com.
Access Visual Basic
Access Visual Basic - ExtCreateBroadcast
This example creates and launches a simple text-to-speech broadcast using the ExtCreateBroadcast function.
** Make sure to add references to “Microsoft HTML Object Library” and “Microsoft XML, v6.0”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 |
|
Access Visual Basic - ProvideAudio
This code uses the ProvideAudio function to upload an audio file to an account's audio library for use in future broadcasts.
** Make sure to add references to “Microsoft HTML Object Library” and “Microsoft XML, v6.0”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 |
|
Bash Shell
Bash - GetListContents
Making use of the GetListContents function, this example shows how to retrieve contact list entries.
** Dependencies: bash, curl, sed, and readline.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 |
|
C++
C++ - ExtCreateBroadcast
This example shows steps to getting a C++ program up and running with the SOAP API and then demonstrates a call to the ExtCreateBroadcast function.
Preparation
A toolkit that allows easy access to SOAP from C++ is gSOAP: http://gsoap2.sourceforge.net
All custom software was installed in /usr/local/src. Thus, the following steps assume that as the starting directory. If you have questions and have read the docs, send email to api@text-em-all.com and we'll try to be of assistance.
Step 1 — Install Pre-requsites (cURL)
Install from an account that has appropriate system privileges.
1 2 3 4 5 6 7 |
|
Step 2 — Install gSOAP
Install from an account that has appropriate system privileges.
1 2 3 4 5 6 |
|
Step 3 — Pulling the Definitions From the Web Service
1 2 3 4 5 |
|
For issues using std::string, uncomment the following line in typemap.dat (around line number 219) to use char* strings when the definition gets created:
1 2 |
|
Step 4 — A Sample Program
All the previous activity created the sources to be included in the application. The rest is just programming to invoke the API functions of your choice. For example, you can now create and launch a text-to-speech broadcast using the API's ExtCreateBroadcast function as the code below illustrates.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
Step 5 — Compiling
1 |
|
Step 6 — Running the Application
1 2 3 4 5 6 7 |
|
Java
Java - ExtCreateBroadcast
This example steps you through adding the Call-Em-All API Web Service to a Java project under Eclipse and then shows an example class that executes the ExtCreateBroadcast function. We assume that you have already created a new, empty Java project in Eclipse called "CallemallDemo". In Steps 1 through 4, we add the web service to the project. Step 5 shows a simple HTML page with a button, that when pressed causes the create broadcast code in Step 6 to execute.
Step 1 — Reference the Web Service
The first step is to add a Java Web Services Client that references the Call-Em-All API to the project. In Eclipse select File / New / Other.... A wizard panel will appear as shown in the image below. Select the Web Service Client as shown in the image, then click the Next button.
In the next step in the wizard, fill out the Service Definition block so that it references the Call-Em-All API endpoint you wish to use. In the image below, the Staging environment's V3_Beta endpoint has been selected. Click Finish to close the wizard and add the web service to the project.
Step 2 — Create a New Class and Execute
Create a new Java class in the project. If you're going to use our example code below, name the class "Demo". Open the new class in the editor and then replace the entire contents of the class with the example code. Run the Demo class to make the API call.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
|
We want to call your attention to a few things in the example code. First of all, ot actually make a broadcast you'll need to provide values for the Username, Pin, CallerID, and CommaDelimitedPhoneNumbers attributes which are currently filled with ellipses. Check the ExtCreateBroadcast function entry for details.
Second, notice that the Demo class imports two unusual items: com.call_em_all.CEAAPI_v3_BetaLocator and com.call_em_all.CEAAPI_v3_BetaSoap. These come from adding the Web Service Client to the project in Step #1. The imported files located in a package that was automatically added to the project. In our example, the package is named "com.call_em_all". If you inspect the package, you'll see that it includes classes for each of the API's functions.
Lastly, the design pattern in the example will serve you well: instantiate an instance of the function you want to call (the request), load the request with data, pass the request to the api object, and obtain a result object in return.
Perl
Perl - ExtCreateBroadcast (Text)
Using the ExtCreateBroadcast function, this example launches a text-only broadcast to a set of comma delimited phone numbers. Recipients must be able to receive texts on their phone.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 |
|
Perl - ExtCreateBroadcast (Voice)
This example creates a voice-only broadcast using the ExtCreateBroadcast function. In this case, the messageID parameter is left blank. Once the broadcast is created, a message will have to be recorded using the toll-free number and message recording ID returned by the function.
** Make sure to add references to “Microsoft HTML Object Library” and “Microsoft XML, v6.0”
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 |
|
Perl - SendOptInvitation
The following example invites a phone number to join the text messaging group identified by the keyword "RAMBLES". The SendOptInvitation function is used for this purpose.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
|
PHP
PHP - CheckAccount
This example uses the CheckAccount function to retrieve basic information and settings of an account including its status, the available call balance, and most of the settings seen on the "My Account" tab when logged in to a Call-Em-All account.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
|
PHP - ExtCreateBroadcast
This example creates and launches a simple text-to-speech broadcast using the ExtCreateBroadcast function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 |
|
PHP - SendOptInvitation
The following example invites a phone number to join the text messaging group identified by the keyword "RAMBLES". The SendOptInvitation function is used for this purpose.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
|
PowerShell
PowerShell - CheckAccount
This example uses the CheckAccount function to retrieve some basic information and settings on an account including its status, the available call balance, and most of the settings seen on the "My Account" tab when logged in to a Call-Em-All account.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 |
|
PowerShell - ExtCreateBroadcast
This example creates and launches a simple text-to-speech broadcast using the ExtCreateBroadcast function.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
|
Python
Python - CheckAccount
This example uses the CheckAccount function to retrieve some basic information and settings on an account including its status, the available call balance, and other settings seen on the "My Account" tab when logged in to a Call-Em-All account.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
Python - CheckAccount (Proxy)
Like the previous example, this one grabs account information using the CheckAccount function, but does so through a proxy.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
Python - ExtCreateBroadcast
Using the ExtCreateBroadcast function, this example creates and launches a broadcast that reuses the audio from a previous broadcast (request.messageID = 128342). It also demonstrates how to access Call-Em-All through a proxy.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
|
Python - GetBroadcastResult
In this example the GetBroadcastResult function is used to retrieve the status and result of an in-progress or completed broadcast. The example fetches detailed call-by-call results of a previously created broadcast (versus summary information).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
|
Python - SendOptInvitation
The following example invites a phone number to join the text messaging group identified by the keyword "RAMBLES". The SendOptInvitation function is used for this purpose.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
|
Visual Basic
Visual Basic - ExtCreateBroadcast
This example steps you through adding the Call-Em-All API Web Service to a Visual Basic project under Visual Studio 2010 and then using it to create a broadcast via the ExtCreateBroadcast function. In Steps 1 through 4, we add the web service to the project. Step 5 shows a simple HTML page with a button, that when pressed causes the create broadcast code in Step 6 to execute.
Step 1 — Reference the Web Service
Step 2 — Browse the Web Service
To bring the API into your project, enter https://api.call-em-all.com/Webservices/CEAAPI_v2.asmx in the URL box in the "Add Web Reference" window as shown below.
Step 3 — Add the found reference
Step 4 — How it looks in your project/solution
Step 5 — Create a simple page with a button on it
Step 6 — Code to Create a Broadcast
The code below uses the API's ExtCreateBroadcast function to generate a broadcast. The broadcast uses audio from a previous broadcast by putting the broadcast's ID in the MessageID variable (IN_MessageID = "442499").
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
|
Function Error Codes
The table below lists all of the error codes that the SOAP API functions can return.
Code | Description |
---|---|
-1 | Unexpected Error Check Exceptions Log |
0 | Operation Successful : |
101 | PhoneNumber does not contain 10 digits |
102 | PhoneNumber is not in the continental US, Puerto Rico, Hawaii, or Canada |
103 | PhoneNumber is on the Opt Out list |
104 | Authentication failed - username or pin is invalid. Please contact support to setup or confirm your Account User ID or PIN. |
105 | Account is inactive. Please contact customer support |
106 | Account does not have enough credits |
107 | Account is not authorized to use the API. Your Account must first be configured to use the API. Contact Support to configure the API for your account. |
108 | You supplied an invalid messageID |
109 | MaxPhoneCount must be >= 1 |
110 | Phone number exceeded call limit |
111 | Current local time of phone number is outside of your calling window |
112 | Unexpected value for checkMaxPhoneCount; Expecting 0 or 1 |
113 | Unexpected value for maxPhoneCount; maxPhoneCount must be >= 1 |
114 | Unexpected value for checkCallingWindow; Expecting 0 or 1 |
115 | Unexpected value for broadcastType; Expecting 1, 2 or 3 |
116 | Unexpected value for phoneNumberSource; Expecting 1, 2 or 3 |
117 | phoneNumberSource=2, but phoneNumberCSV is not supplied |
118 | phoneNumberSource=1, but listID is not supplied |
119 | launchDateTime must be in MM/DD/YYYY HH:MM AM/PM format |
120 | launchDateTime must be in the future |
121 | launchDateTime is outside of your calling window |
122 | Not enough credits to launch this broadcast |
123 | No good records found in phoneNumberCSV |
124 | Unexpected value for getBroadcastSummary; Expecting 0 or 1 |
125 | Unexpected value for getBroadcastDetails; Expecting 0 or 1 |
126 | Unexpected value for surveyResultFilter; Expecting *,0,1,2,3,4,5,6,7,8, or 9 |
127 | Unexpected value for callResultFilter; Expecting 0,1,2,3,4,5,6,7,8, or 9 |
128 | Can not filter results by both surveyResultsFilter and callResultFilter. Only pass in one or the other |
129 | getBroadcastDetails=1, but neither callResultFilter or surveyResultFilter is supplied |
130 | getBroadcastDetails=0, but either callResultFilter or surveyResultFilter is supplied |
131 | BroadcastID was not found |
132 | Access denied - broadcastID does not belong to this account |
133 | CallerID does not contain 10 digits |
134 | Caller ID number can not be a call-em-all number |
135 | BroadcastID is not numeric |
136 | Broadcast is not active |
137 | phoneNumberSource=3, but commaDelimitedPhoneNumbers is not supplied |
138 | No good records found in submitted data |
139 | Access denied, AudioID specified does not belong to this account |
140 | ListID specified was not found |
141 | Empty Binary Message not allowed |
142 | Invalid AudioType specified |
143 | Attempt to delete from an invalid listID |
144 | An invalid AudioID was specified |
145 | There is a billing problem with the account |
146 | Access Denied - PersonID does not belong to this account |
147 | Access Denied - PersonID does not belong to list |
150 | Data validation error: A messageID was supplied for an SMS broadcast |
151 | Data validation error: A messageIDVM was supplied for an SMS broadcast |
152 | Data validation error: A TTS Parameter was specified for an SMS Broadcast |
155 | You specified an invalid listID |
156 | Attempt to delete an invalid listID |
160 | Required parameter 'username' is missing or contains invalid data |
161 | Required parameter 'pin' is missing or contains invalid data |
162 | Required parameter 'broadcastID' is missing or contains invalid data |
163 | Required parameter 'phoneNumber' is missing or contains invalid data |
164 | Required parameter 'messageID' is missing or contains invalid data |
165 | Required parameter 'sourceURL' is missing or contains invalid data |
166 | Required parameter 'phoneNumberSource' is missing or contains invalid data |
167 | Required parameter 'broadcastType' is missing or contains invalid data |
168 | Required parameter 'phoneNumberSource' is missing or contains invalid data |
169 | Required parameter 'broadcastName' is missing or contains invalid data |
170 | Required parameter 'TTSText' is missing or contains invalid data |
171 | Required parameter 'personID' is missing or contains invalid data |
172 | Required parameter 'listID' is missing or contains invalid data |
173 | Required parameter 'lastName' is missing or contains invalid data |
174 | Required parameter 'address1' is missing or contains invalid data |
175 | Required parameter 'city' is missing or contains invalid data |
176 | Required parameter 'state' is missing or contains invalid data |
177 | Required parameter 'zip' is missing or contains invalid data |
178 | Required parameter 'cardNumber' is missing or contains invalid data |
179 | Required parameter 'expYear' is missing or contains invalid data |
180 | Required parameter 'expMonth' is missing or contains invalid data |
181 | Required parameter 'CVN' is missing or contains invalid data |
182 | Required parameter 'phone' is missing or contains invalid data |
183 | Required parameter 'email' is missing or contains invalid data |
184 | Required parameter 'firstName' is missing or contains invalid data |
185 | Required parameter 'cardType' is missing or contains invalid data |
186 | Required parameter 'audioID' is missing or contains invalid data |
187 | Required parameter 'APIKey' is missing or contains invalid data |
188 | Required parameter 'keyword' is missing or contains invalid data |
189 | Unexpected value for broadcast type 0-voice, 1-SMS |
190 | SMSMsg is blank or missing |
191 | Invalid audioformat specified 0=WAV, 1=MP3 |
192 | Survey Options specified for SMS broadcast |
193 | A survey structure was submitted that had errors |
194 | AudioID in survey structure is invalid |
195 | An invalid value was specified for 'Throttle' must be null or a valid positive integer |
196 | Requested keyword is not available |
197 | An invalid value for answerHandling was provided valid values are 0,1,2 |
198 | Cannot check availability of another Accounts sub-keywords |
199 | Unexpected value for IsSalesIntro expected 0 or 1 |
200 | Unexpected value for IsFavorite expected 0 or 1 |
201 | Keywords must be between 3 and 20 digits alpha-numeric and dash only |
202 | Unexpected value for IsAutoreplyOn expected 0 or 1 |
203 | IsAutoreplyOn specified but AutoReplyMessage is blank |
204 | Required parameter 'listName' is missing or contains invalid data |
205 | No listID found with that name |
206 | Supplied Username/Phonenumber is invalid must be numeric with length >= 5 and <= 15 |
207 | TimeZone contains an invalid value |
208 | ObservesDST contains and invalid value, expected either 1-Yes, Observes Daylight saving or 0-No, Does not |
209 | Access Denied, your account is not authorized for this function |
210 | Contact Support, your WB Profile has not been configured |
211 | UDID Length Invalid |
212 | UDID Not found, please verify |
213 | Keyword specified was not found on account |
214 | Invite Failed : |
215 | Cannot link to the everyone list |
216 | Required parameter 'jobName' is missing or contains invalid data |
217 | Error Deleting schedule, verify jobName with GetSchedules |
218 | Required parameter 'newListName' is missing or contains invalid data |
219 | Persons array has to be populated. |
220 | Unexpected error while deleting person from list. |
250 | pageSize contains an invalid value; acceptable values 1 - 100; suggest values 20 - 50 |
251 | whatPage contains an invalid value; acceptable values 1 - N |
252 | pageSize specified, but whatPage is null |
253 | Cannot delete audioID entry referenced by a pending broadcast |
254 | UDID Already exists in the system |
255 | Username/Phonenumber Already exists in the system |
256 | Error must populate numbersToAdd array |
257 | Error deleting phonenumber : |
258 | messageCounter must be numeric and > 0 |
259 | Unexpected value for sortField expected 0 or 1 |
260 | Cannot delete broadcast, still in active status, cancel first |
261 | File specified could not be located: |
262 | Request audio does not belong to requesting account |
263 | Invalid MessageType specified expected 0, 1, 2 or 3 |
264 | Invitation NOT Sent, check response code |
265 | WhiteBox settings are incomplete |
266 | Broadcast does not contain any valid audio |
267 | Required Data Missing or incorrect format : |
268 | Failed to Initialize Scheduler |
269 | Repeat Until time is less than or equal to Start time |
270 | Error Parsing StartTime and or Duration |
271 | Error during CreateTask |
272 | Error creating Trigger |
273 | Error processing days of week |
274 | Invalid characters in text or size exceeded for field : |
275 | StartDate cannot be greater than EndDate |
276 | Status contains invalid data, expection '*', '0', '1' or '2' |
277 | Provided audio or TTSText audio exceeded max length of 255 seconds |
278 | Text in SMSMsg is longer than 160 characters |
279 | StartDate provided was not recognized, use MM/DD/YYYY HH:MM:SS am/pm |
280 | StopDate provided was not recognized, use MM/DD/YYYY HH:MM:SS am/pm |
281 | Decryption failed contact support |
282 | Security Violation detected |
283 | You must provide a ListID or commaDelimitedPhoneNumbers |
284 | You cannot provide both a ListID and commaDelimitedNumbers |
285 | Selective recipients have not accepted an SMS invitation |
287 | All call detail records provided are invalid. |
288 | No call detail records provided. |
289 | Broadcast type is not supported. |
290 | No audio provided. |
291 | Invalid authorization type. |
292 | Invalid authorization status. |
293 | Function is only available for master users. |
294 | Invalid reason code. |
295 | Cannot create a broadcast two years ahead in the future. |
296 | This broadcast will raise your unique phone number count for this month over your subscription level. Please either increase your subscription level or remove numbers from this broadcast. |
297 | Invalid value whether to delete groups. |
298 | Invalid value whether to move contacts to trash. |
299 | Url cannot be empty. |
300 | Invalid expiration date format. |
301 | Toll free number was not provided for text broadcast. |
302 | Opt back in consent for phone number was not marked with yes. |
303 | Abide by Terms Of Use for phone number was not marked with yes. |
304 | Phone number has not been previously opted out. |
305 | User is not fully onboarded. Please log in to your account and complete activation. |
306 | Text in SMSMsg is longer than allowed |
307 | Invalid notification event type |
308 | Invalid notification subscription ID |
309 | Text number has been blocked by the aggregator. |
310 | Text in SMSMsg contains a blocked URL. |
311 | User is disabled. If this is incorrect, please contact customer support |
604 | Username already exists |
605 | PinCode is not valid |
700 | Credit Failure Contact support for information |
900 | Credit Card Processing Failed: |
901 | Insufficient Credits: |
902 | PhoneNumber Rejected: |
903 | DB Exception: |
904 | Could not convert Audio, please email it to support so that we can analyze it. |
998 | TTSUpload Record was missing PhoneNumnber |
999 | TTSUpload Record has invalid or empty template string specified |