Voice Broadcast API

Voice API
Quick Start Guides
Methods
Types
FAQ

LM_DialListAdvanced

This method dials all the members of a list and reads aloud the contents of TextToSay.

Syntax

LM_DialListAdvanced(Request)

Request Parameters

Parameter NameDescriptionData TypeRequiredSample Value
CallerIDThe number to display on the receiving party’s Caller ID.StringTrue7575550000
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.)StringFalseEsendex Services
VoiceIDThe text-to-speech voice ID.ByteTrue2
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.
TryCountThe number of times to attempt dialing if the initial call is unanswered or busy. The maximum is 3.ByteTrue2
LicensekeyYour license key.StringTrue00000000-0000-0000-0000-000000000000
ExtensionThe phone number extension.StringFalse333
TransferNumberThe phone number that the call will be transferred to if the call recipient presses 0. Transfer behavior can be further modified with TextToSay commands.StringFalse7575558888
NextTryInSecondsThe number of seconds to wait until the next retry is performed if the original call is unanswered or busy. We recommend waiting at least 60 seconds.IntegerTrue180
TTSRateThe speed that text-to-speech (TTS) will use when speaking the text. The value ranges from 0 to 20 (10 being normal). This can also be controlled within the TextToSay parameter.ByteTrue10
TTSVolumeThe volume that text-to-speech (TTS) will use when speaking the text. The value ranges from 0 to 100 (100 being the default). This can also be controlled within the TextToSay parameter.ByteTrue100
ScheduledUTCDatetimeThe date and time at which to send the call. This is specified as Coordinated Universal Time (UTC).DateTimeTrue2020-11-17T08:25:08.336Z
ListIDThe ID of the list to dial.IntegerTrue1234
DialRecursiveListsWhether to dial child lists.BooleanTrueFalse

Response

Returns: LM_DialReturn 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#

/* 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 request = new LM_Functions
{
    CallerID = "7575550000",
    Licensekey = YOUR_LICENSE_KEY,
    ListID = 1234,
    TextToSay = "Hello, this is a test call.",
    ScheduledUTCDatetime = DateTime.UtcNow
};

var response = await client.LM_DialListAdvancedAsync(request);

Console.WriteLine(
    "Success: " + response.Success + Environment.NewLine +
    "Response Code: " + response.ResponseCode + Environment.NewLine +
    "Batch ID: " + response.BatchID);

Python

from datetime import datetime, timedelta
import zeep

client = zeep.Client(wsdl="https://ws.esendex.us/notifyws/phonenotify.asmx?wsdl")

dt = datetime.utcnow() + timedelta(minutes=1)
scheduled_utc_date_time = f"{dt.isoformat()}Z"

request = {
    "CallerID": "7575550000",
    "VoiceID": 1,
    "TextToSay": "Hello, this is a test call.",
    "TryCount": 2,
    "Licensekey": "00000000-0000-0000-0000-000000000000",
    "NextTryInSeconds": 180,
    "TTSRate": 10,
    "TTSVolume": 100,
    "ScheduledUTCDatetime": scheduled_utc_date_time,
    "ListID": 1234,
    "DialRecursiveLists": False
}

result = client.service.LM_DialListAdvanced(request)

print(result)

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/LM_DialListAdvanced"

<?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>
    <LM_DialListAdvanced xmlns="https://ws.esendex.us/NotifyWS/">
      <lmFunctions>
        <CallerID>string</CallerID>
        <CallerIDName>string</CallerIDName>
        <VoiceID>unsignedByte</VoiceID>
        <TextToSay>string</TextToSay>
        <TryCount>unsignedByte</TryCount>
        <Licensekey>string</Licensekey>
        <Extension>string</Extension>
        <TransferNumber>string</TransferNumber>
        <NextTryInSeconds>short</NextTryInSeconds>
        <TTSRate>unsignedByte</TTSRate>
        <TTSVolume>unsignedByte</TTSVolume>
        <ScheduledUTCDatetime>dateTime</ScheduledUTCDatetime>
        <ListID>int</ListID>
        <DialRecursiveLists>boolean</DialRecursiveLists>
      </lmFunctions>
    </LM_DialListAdvanced>
  </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>
    <LM_DialListAdvancedResponse xmlns="https://ws.esendex.us/NotifyWS/">
      <LM_DialListAdvancedResult>
        <Success>boolean</Success>
        <BatchID>int</BatchID>
        <ResponseCode>int</ResponseCode>
        <ErrorText>string</ErrorText>
      </LM_DialListAdvancedResult>
    </LM_DialListAdvancedResponse>
  </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>
    <LM_DialListAdvanced xmlns="https://ws.esendex.us/NotifyWS/">
      <lmFunctions>
        <CallerID>string</CallerID>
        <CallerIDName>string</CallerIDName>
        <VoiceID>unsignedByte</VoiceID>
        <TextToSay>string</TextToSay>
        <TryCount>unsignedByte</TryCount>
        <Licensekey>string</Licensekey>
        <Extension>string</Extension>
        <TransferNumber>string</TransferNumber>
        <NextTryInSeconds>short</NextTryInSeconds>
        <TTSRate>unsignedByte</TTSRate>
        <TTSVolume>unsignedByte</TTSVolume>
        <ScheduledUTCDatetime>dateTime</ScheduledUTCDatetime>
        <ListID>int</ListID>
        <DialRecursiveLists>boolean</DialRecursiveLists>
      </lmFunctions>
    </LM_DialListAdvanced>
  </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>
    <LM_DialListAdvancedResponse xmlns="https://ws.esendex.us/NotifyWS/">
      <LM_DialListAdvancedResult>
        <Success>boolean</Success>
        <BatchID>int</BatchID>
        <ResponseCode>int</ResponseCode>
        <ErrorText>string</ErrorText>
      </LM_DialListAdvancedResult>
    </LM_DialListAdvancedResponse>
  </soap12:Body>
</soap12:Envelope>

Let’s start sending, together.