Voice Broadcast API
NotifyMultiplePhoneBasicWithCPMandReferenceID
This method calls multiple phone numbers and reads aloud the contents of TextToSay
. Use the CallsPerMinute
parameter to set the number of calls per minute (CPM). Use the ReferenceID
parameter to set a custom ID for the calls. Additional options are available with the NotifyMultiplePhoneAdvanced
method.
Syntax
NotifyMultiplePhoneBasicWithCPM(PhoneNumbersToDial, TextToSay, CallerID, CallerIDName, VoiceID, CallsPerMinute, ReferenceID, LicenseKey)
Request Parameters
Parameter Name | Description | Data Type | Required | Sample Value |
---|---|---|---|---|
PhoneNumbersToDial | One or more phone numbers to call. Separate each number with a semicolon. | String | True | 7575559999; 9135550102; 9135550104 |
TextToSay | The text-to-speech text or combination of text-to-speech and script to be read to the receiving party. | String | True | Hello, this is a sample call from Phone Notify. |
CallerID | The number to display on the receiving party’s Caller ID. | String | False (may be an empty string) | 7575550000 |
CallerIDname | The name to display on the receiving party’s Caller ID. (Most carriers ignore this and use their own directory assistance to display name information.) | String | False (may be an empty string) | Esendex Services |
VoiceID | The text-to-speech voice ID. | String | True | 2 |
CallsPerMinute | The number of calls to send per minute. | Integer | True | 50 |
ReferenceID | An ID to help you identify the calls. | String | True | batch1 |
LicenseKey | Your license key. | String | True | 00000000-0000-0000-0000-000000000000 |
Response
Returns: Array of NotifyReturn
objects
Code Samples
You can use any programming language you want with our API, as long as it can make a REST or SOAP call. Here are examples for some of the most common platforms.
- C#
- Java
- Python
- GET Request
- POST Request
- SOAP 1.1 Request
- SOAP 1.1 Response
- SOAP 1.2 Request
- SOAP 1.2 Response
- XML Response
C#
/* https://ws.esendex.us/notifyws/phonenotify.asmx?wsdl was added as a Service Reference and given the name WSDL */
using WSDL;
var client = new PhoneNotifySoapClient(PhoneNotifySoapClient.EndpointConfiguration.PhoneNotifySoap);
var textToSay = "Hello, this is a test call.";
var callerId = "7575550000";
var callerIdName = "Esendex Services";
var voiceId = "1";
var callsPerMinute = 45;
var referenceId = "batch1";
var calls = await client.NotifyMultiplePhoneBasicWithCPMandReferenceIDAsync(
YOUR_TO_NUMBERS, textToSay, callerId, callerIdName, voiceId, callsPerMinute, referenceId, YOUR_LICENSE_KEY);
Console.WriteLine($"{calls.Length} calls were created.");
foreach (var call in calls)
{
Console.WriteLine(Environment.NewLine +
"QueueID: " + call.QueueID + Environment.NewLine +
"Response Code: " + call.ResponseCode + Environment.NewLine +
"Response Text: " + call.ResponseText
);
}
Java
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Properties;
import javax.xml.transform.OutputKeys;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
import javax.xml.transform.stream.StreamSource;
public final class NotifyMultiplePhoneBasicWithCPMandReferenceID {
public static void main(String[] args) {
try {
URL url = new URL("https://ws.esendex.us/NotifyWS/PhoneNotify.asmx/NotifyMultiplePhoneBasicWithCPMandReferenceID?"
+ "PhoneNumbersToDial=17575449510;17575449510"
+ "&TextToSay=Hello+this+is+a+JAVA+test."
+ "&CallerID=18009843710" + "&CallerIDname=Testing"
+ "&VoiceID=1" + "&ReferenceID=11111" + "&CallsPerMinute=1"
+ "&LicenseKey=00000000-0000-0000-0000-000000000000");
try {
InputStream in = url.openStream();
StreamSource source = new StreamSource(in);
printResult(source);
} catch (java.io.IOException e) {
e.printStackTrace();
}
} catch (MalformedURLException e) {
e.printStackTrace();
}
}
private static void printResult(Source source) {
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
StreamResult sr = new StreamResult(bos);
Transformer trans = TransformerFactory.newInstance().newTransformer();
Properties oprops = new Properties();
oprops.put(OutputKeys.OMIT_XML_DECLARATION, "yes");
trans.setOutputProperties(oprops);
trans.transform(source, sr);
System.out.println("**** Response ******");
System.out.println(bos.toString());
bos.close();
System.out.println();
} catch (Exception e) {
}
}
}
Python
import zeep
client = zeep.Client(wsdl="https://ws.esendex.us/notifyws/phonenotify.asmx?wsdl")
phone_numbers_to_dial = "17575559999; 17575559999; 17575559999"
text_to_say = "Hello, this call was sent with Python."
caller_id = "7575550000"
caller_id_name = "Esendex Services"
voice_id = 1
calls_per_minute = 45
reference_id = "batch1"
license_key = "00000000-0000-0000-0000-000000000000"
result = client.service.NotifyMultiplePhoneBasicWithCPMandReferenceID(
phone_numbers_to_dial,
text_to_say,
caller_id,
caller_id_name,
voice_id,
calls_per_minute,
reference_id,
license_key,
)
print(result)
GET Request
GET /NotifyWS/PhoneNotify.asmx/NotifyMultiplePhoneBasicWithCPMandReferenceID?PhoneNumbersToDial=string&TextToSay=string&CallerID=string&CallerIDname=string&VoiceID=string&CallsPerMinute=string&ReferenceID=string&LicenseKey=string HTTP/1.1
Host: ws.esendex.us
POST Request
POST /NotifyWS/PhoneNotify.asmx/NotifyMultiplePhoneBasicWithCPMandReferenceID HTTP/1.1
Host: ws.esendex.us
Content-Type: application/x-www-form-urlencoded
Content-Length: length
PhoneNumbersToDial=string&TextToSay=string&CallerID=string&CallerIDname=string&VoiceID=string&CallsPerMinute=string&ReferenceID=string&LicenseKey=string
SOAP 1.1 Request
POST /NotifyWS/PhoneNotify.asmx HTTP/1.1
Host: ws.esendex.us
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "https://ws.esendex.us/NotifyWS/NotifyMultiplePhoneBasicWithCPMandReferenceID"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<NotifyMultiplePhoneBasicWithCPMandReferenceID xmlns="https://ws.esendex.us/NotifyWS/">
<PhoneNumbersToDial>string</PhoneNumbersToDial>
<TextToSay>string</TextToSay>
<CallerID>string</CallerID>
<CallerIDname>string</CallerIDname>
<VoiceID>string</VoiceID>
<CallsPerMinute>int</CallsPerMinute>
<ReferenceID>string</ReferenceID>
<LicenseKey>string</LicenseKey>
</NotifyMultiplePhoneBasicWithCPMandReferenceID>
</soap:Body>
</soap:Envelope>
SOAP 1.1 Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<NotifyMultiplePhoneBasicWithCPMandReferenceIDResponse xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyMultiplePhoneBasicWithCPMandReferenceIDResult>
<NotifyReturn>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<CallAnswered>boolean</CallAnswered>
<QueueID>long</QueueID>
<TryCount>int</TryCount>
<Demo>boolean</Demo>
<DigitsPressed>string</DigitsPressed>
<MachineDetection>string</MachineDetection>
<Duration>int</Duration>
<StartTime>dateTime</StartTime>
<EndTime>dateTime</EndTime>
<MinuteRate>decimal</MinuteRate>
<Country>string</Country>
<CallComplete>boolean</CallComplete>
<TextToSay>string</TextToSay>
<VariableArray>
<Variable xsi:nil="true" />
<Variable xsi:nil="true" />
</VariableArray>
</NotifyReturn>
<NotifyReturn>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<CallAnswered>boolean</CallAnswered>
<QueueID>long</QueueID>
<TryCount>int</TryCount>
<Demo>boolean</Demo>
<DigitsPressed>string</DigitsPressed>
<MachineDetection>string</MachineDetection>
<Duration>int</Duration>
<StartTime>dateTime</StartTime>
<EndTime>dateTime</EndTime>
<MinuteRate>decimal</MinuteRate>
<Country>string</Country>
<CallComplete>boolean</CallComplete>
<TextToSay>string</TextToSay>
<VariableArray>
<Variable xsi:nil="true" />
<Variable xsi:nil="true" />
</VariableArray>
</NotifyReturn>
</NotifyMultiplePhoneBasicWithCPMandReferenceIDResult>
</NotifyMultiplePhoneBasicWithCPMandReferenceIDResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2 Request
POST /NotifyWS/PhoneNotify.asmx HTTP/1.1
Host: ws.esendex.us
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<NotifyMultiplePhoneBasicWithCPMandReferenceID xmlns="https://ws.esendex.us/NotifyWS/">
<PhoneNumbersToDial>string</PhoneNumbersToDial>
<TextToSay>string</TextToSay>
<CallerID>string</CallerID>
<CallerIDname>string</CallerIDname>
<VoiceID>string</VoiceID>
<CallsPerMinute>int</CallsPerMinute>
<ReferenceID>string</ReferenceID>
<LicenseKey>string</LicenseKey>
</NotifyMultiplePhoneBasicWithCPMandReferenceID>
</soap12:Body>
</soap12:Envelope>
SOAP 1.2 Response
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<NotifyMultiplePhoneBasicWithCPMandReferenceIDResponse xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyMultiplePhoneBasicWithCPMandReferenceIDResult>
<NotifyReturn>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<CallAnswered>boolean</CallAnswered>
<QueueID>long</QueueID>
<TryCount>int</TryCount>
<Demo>boolean</Demo>
<DigitsPressed>string</DigitsPressed>
<MachineDetection>string</MachineDetection>
<Duration>int</Duration>
<StartTime>dateTime</StartTime>
<EndTime>dateTime</EndTime>
<MinuteRate>decimal</MinuteRate>
<Country>string</Country>
<CallComplete>boolean</CallComplete>
<TextToSay>string</TextToSay>
<VariableArray>
<Variable xsi:nil="true" />
<Variable xsi:nil="true" />
</VariableArray>
</NotifyReturn>
<NotifyReturn>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<CallAnswered>boolean</CallAnswered>
<QueueID>long</QueueID>
<TryCount>int</TryCount>
<Demo>boolean</Demo>
<DigitsPressed>string</DigitsPressed>
<MachineDetection>string</MachineDetection>
<Duration>int</Duration>
<StartTime>dateTime</StartTime>
<EndTime>dateTime</EndTime>
<MinuteRate>decimal</MinuteRate>
<Country>string</Country>
<CallComplete>boolean</CallComplete>
<TextToSay>string</TextToSay>
<VariableArray>
<Variable xsi:nil="true" />
<Variable xsi:nil="true" />
</VariableArray>
</NotifyReturn>
</NotifyMultiplePhoneBasicWithCPMandReferenceIDResult>
</NotifyMultiplePhoneBasicWithCPMandReferenceIDResponse>
</soap12:Body>
</soap12:Envelope>
XML Response
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<ArrayOfNotifyReturn xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyReturn>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<CallAnswered>boolean</CallAnswered>
<QueueID>long</QueueID>
<TryCount>int</TryCount>
<Demo>boolean</Demo>
<DigitsPressed>string</DigitsPressed>
<MachineDetection>string</MachineDetection>
<Duration>int</Duration>
<StartTime>dateTime</StartTime>
<EndTime>dateTime</EndTime>
<MinuteRate>decimal</MinuteRate>
<Country>string</Country>
<CallComplete>boolean</CallComplete>
<TextToSay>string</TextToSay>
<VariableArray>
<Variable>
<VariableName>string</VariableName>
<VariableValue>string</VariableValue>
</Variable>
<Variable>
<VariableName>string</VariableName>
<VariableValue>string</VariableValue>
</Variable>
</VariableArray>
</NotifyReturn>
<NotifyReturn>
<ResponseCode>int</ResponseCode>
<ResponseText>string</ResponseText>
<CallAnswered>boolean</CallAnswered>
<QueueID>long</QueueID>
<TryCount>int</TryCount>
<Demo>boolean</Demo>
<DigitsPressed>string</DigitsPressed>
<MachineDetection>string</MachineDetection>
<Duration>int</Duration>
<StartTime>dateTime</StartTime>
<EndTime>dateTime</EndTime>
<MinuteRate>decimal</MinuteRate>
<Country>string</Country>
<CallComplete>boolean</CallComplete>
<TextToSay>string</TextToSay>
<VariableArray>
<Variable>
<VariableName>string</VariableName>
<VariableValue>string</VariableValue>
</Variable>
<Variable>
<VariableName>string</VariableName>
<VariableValue>string</VariableValue>
</Variable>
</VariableArray>
</NotifyReturn>
</ArrayOfNotifyReturn>
Let’s start sending, together.