Voice Broadcast API
NotifyMultiplePhoneBasic
This method calls multiple phone numbers and reads aloud the contents of TextToSay. Additional options are available with the NotifyMultiplePhoneAdvanced method.
Syntax
NotifyMultiplePhoneBasic(PhoneNumbersToDial, TextToSay, CallerID, CallerIDName, VoiceID, 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 |
| 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 calls = await client.NotifyMultiplePhoneBasicAsync(
YOUR_TO_NUMBERS, textToSay, callerId, callerIdName, voiceId, 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 NotifyMultiplePhoneBasic {
public static void main(String[] args) {
try {
URL url = new URL("https://ws.esendex.us/NotifyWS/PhoneNotify.asmx/NotifyMultiplePhoneBasic?"
+ "PhoneNumbersToDial=17575449510;17575449510"
+ "&TextToSay=Hello+this+is+a+JAVA+test." + "&CallerID=18009843710"
+ "&CallerIDname=Testing" + "&VoiceID=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
license_key = "00000000-0000-0000-0000-000000000000"
result = client.service.NotifyMultiplePhoneBasic(
phone_numbers_to_dial, text_to_say, caller_id, caller_id_name, voice_id, license_key
)
print(result)
GET Request
GET /NotifyWS/PhoneNotify.asmx/NotifyMultiplePhoneBasic?PhoneNumbersToDial=string&TextToSay=string&CallerID=string&CallerIDname=string&VoiceID=string&LicenseKey=string HTTP/1.1
Host: ws.esendex.us
POST Request
POST /NotifyWS/PhoneNotify.asmx/NotifyMultiplePhoneBasic 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&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/NotifyMultiplePhoneBasic"
<?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>
<NotifyMultiplePhoneBasic xmlns="https://ws.esendex.us/NotifyWS/">
<PhoneNumbersToDial>string</PhoneNumbersToDial>
<TextToSay>string</TextToSay>
<CallerID>string</CallerID>
<CallerIDname>string</CallerIDname>
<VoiceID>string</VoiceID>
<LicenseKey>string</LicenseKey>
</NotifyMultiplePhoneBasic>
</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>
<NotifyMultiplePhoneBasicResponse xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyMultiplePhoneBasicResult>
<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>
</NotifyMultiplePhoneBasicResult>
</NotifyMultiplePhoneBasicResponse>
</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>
<NotifyMultiplePhoneBasic xmlns="https://ws.esendex.us/NotifyWS/">
<PhoneNumbersToDial>string</PhoneNumbersToDial>
<TextToSay>string</TextToSay>
<CallerID>string</CallerID>
<CallerIDname>string</CallerIDname>
<VoiceID>string</VoiceID>
<LicenseKey>string</LicenseKey>
</NotifyMultiplePhoneBasic>
</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>
<NotifyMultiplePhoneBasicResponse xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyMultiplePhoneBasicResult>
<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>
</NotifyMultiplePhoneBasicResult>
</NotifyMultiplePhoneBasicResponse>
</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.