Voice Broadcast API
NotifyPhoneBasicWithTransfer
This method calls any phone number and read aloud the contents of TextToSay. The recipient will be transferred upon pressing 0. Additional options are available in the NotifyPhoneAdvanced method.
Syntax
NotifyPhoneBasicWithTransfer(PhoneNumberToDial, TransferNumber, TextToSay, CallerID, CallerIDName, VoiceID, LicenseKey)
Request Parameters
| Parameter Name | Description | Data Type | Required | Sample Value |
|---|---|---|---|---|
| PhoneNumberToDial | The phone number to call. It can be in any format, as long as there are 10 digits. To dial an extension, add x followed by the extension. | String | True | 7575559999 |
| TransferNumber | The phone number that the call will be transferred to if the call recipient presses 0. Transfer behavior can be further modified with TextToSay commands. | String | True | 7575558888 |
| 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: NotifyReturn object
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 transferNumber = "18009843710";
var textToSay = "Hello, this is a test call.";
var callerId = "7575550000";
var callerIdName = "Esendex Services";
var voiceId = "1";
var response = await client.NotifyPhoneBasicWithTransferAsync(
YOUR_TO_NUMBER, transferNumber, textToSay, callerId, callerIdName, voiceId, YOUR_LICENSE_KEY);
Console.WriteLine(
"QueueID: " + response.QueueID + Environment.NewLine +
"Response Code: " + response.ResponseCode + Environment.NewLine +
"Response Text: " + response.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 NotifyPhoneBasicWithTransfer {
public static void main(String[] args) {
try {
URL url = new URL("https://ws.esendex.us/NotifyWS/PhoneNotify.asmx/NotifyPhoneBasicWithTransfer?"
+ "PhoneNumberToDial=17575449510" + "&TransferNumber=17575449510"
+ "&TextToSay=JAVA+Test" + "&CallerID=18009843710" + "&CallerIDname=TEST"
+ "&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_number_to_dial = "17575559999"
transfer_number = "18009843710"
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.NotifyPhoneBasicWithTransfer(
phone_number_to_dial,
transfer_number,
text_to_say,
caller_id,
caller_id_name,
voice_id,
license_key,
)
print(result)
GET Request
GET /NotifyWS/PhoneNotify.asmx/NotifyPhoneBasicWithTransfer?PhoneNumberToDial=string&TransferNumber=string&TextToSay=string&CallerID=string&CallerIDname=string&VoiceID=string&LicenseKey=string HTTP/1.1
Host: ws.esendex.us
POST Request
POST /NotifyWS/PhoneNotify.asmx/NotifyPhoneBasicWithTransfer HTTP/1.1
Host: ws.esendex.us
Content-Type: application/x-www-form-urlencoded
Content-Length: length
PhoneNumberToDial=string&TransferNumber=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/NotifyPhoneBasicWithTransfer"
<?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>
<NotifyPhoneBasicWithTransfer xmlns="https://ws.esendex.us/NotifyWS/">
<PhoneNumberToDial>string</PhoneNumberToDial>
<TransferNumber>string</TransferNumber>
<TextToSay>string</TextToSay>
<CallerID>string</CallerID>
<CallerIDname>string</CallerIDname>
<VoiceID>string</VoiceID>
<LicenseKey>string</LicenseKey>
</NotifyPhoneBasicWithTransfer>
</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>
<NotifyPhoneBasicWithTransferResponse xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyPhoneBasicWithTransferResult>
<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>
</NotifyPhoneBasicWithTransferResult>
</NotifyPhoneBasicWithTransferResponse>
</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>
<NotifyPhoneBasicWithTransfer xmlns="https://ws.esendex.us/NotifyWS/">
<PhoneNumberToDial>string</PhoneNumberToDial>
<TransferNumber>string</TransferNumber>
<TextToSay>string</TextToSay>
<CallerID>string</CallerID>
<CallerIDname>string</CallerIDname>
<VoiceID>string</VoiceID>
<LicenseKey>string</LicenseKey>
</NotifyPhoneBasicWithTransfer>
</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>
<NotifyPhoneBasicWithTransferResponse xmlns="https://ws.esendex.us/NotifyWS/">
<NotifyPhoneBasicWithTransferResult>
<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>
</NotifyPhoneBasicWithTransferResult>
</NotifyPhoneBasicWithTransferResponse>
</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"?>
<NotifyReturn xmlns="https://ws.esendex.us/NotifyWS/">
<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>
Let’s start sending, together.