Voice Broadcast API

Voice API
Quick Start Guides
Methods
Types
FAQ

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 NameDescriptionData TypeRequiredSample Value
PhoneNumbersToDialOne or more phone numbers to call. Separate each number with a semicolon.StringTrue7575559999; 9135550102; 9135550104
TextToSayThe text-to-speech text or combination of text-to-speech and script to be read to the receiving party.StringTrueHello, this is a sample call from Phone Notify.
CallerIDThe number to display on the receiving party’s Caller ID.StringFalse (may be an empty string)7575550000
CallerIDnameThe name to display on the receiving party’s Caller ID. (Most carriers ignore this and use their own directory assistance to display name information.)StringFalse (may be an empty string)Esendex Services
VoiceIDThe text-to-speech voice ID.StringTrue2
CallsPerMinuteThe number of calls to send per minute.IntegerTrue50
ReferenceIDAn ID to help you identify the calls.StringTruebatch1
LicenseKeyYour license key.StringTrue00000000-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#

/* 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.