Voice Broadcast API

Voice API
Quick Start Guides
Methods
Types
FAQ

getVoices

This method retrieves all the voices available for calls. You can use the VoiceID to change the voice used when reading a message.

Syntax

getVoices()

Request Parameters

This method has no request parameters.

Response

Returns: Array of Voice 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 voices = await client.getVoicesAsync();

Console.WriteLine(voices.Length + " voices are available.");

foreach (var voice in voices)
{
    Console.WriteLine($"{voice.VoiceID} - {voice.VoiceSummary}");
}

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 getVoices {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://ws.esendex.us/NotifyWS/PhoneNotify.asmx/getVoices");
            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")

result = client.service.getVoices()

print(result)

GET Request

GET /NotifyWS/PhoneNotify.asmx/getVoices? HTTP/1.1
Host: ws.esendex.us

POST Request

POST /NotifyWS/PhoneNotify.asmx/getVoices HTTP/1.1
Host: ws.esendex.us
Content-Type: application/x-www-form-urlencoded
Content-Length: length

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

<?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>
    <getVoices xmlns="https://ws.esendex.us/NotifyWS/" />
  </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>
    <getVoicesResponse xmlns="https://ws.esendex.us/NotifyWS/">
      <getVoicesResult>
        <Voice>
          <VoiceID>int</VoiceID>
          <VoiceName>string</VoiceName>
          <VoiceGender>string</VoiceGender>
          <VoiceAge>int</VoiceAge>
          <VoiceLanguage>string</VoiceLanguage>
          <VoiceSummary>string</VoiceSummary>
        </Voice>
        <Voice>
          <VoiceID>int</VoiceID>
          <VoiceName>string</VoiceName>
          <VoiceGender>string</VoiceGender>
          <VoiceAge>int</VoiceAge>
          <VoiceLanguage>string</VoiceLanguage>
          <VoiceSummary>string</VoiceSummary>
        </Voice>
      </getVoicesResult>
    </getVoicesResponse>
  </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>
    <getVoices xmlns="https://ws.esendex.us/NotifyWS/" />
  </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>
    <getVoicesResponse xmlns="https://ws.esendex.us/NotifyWS/">
      <getVoicesResult>
        <Voice>
          <VoiceID>int</VoiceID>
          <VoiceName>string</VoiceName>
          <VoiceGender>string</VoiceGender>
          <VoiceAge>int</VoiceAge>
          <VoiceLanguage>string</VoiceLanguage>
          <VoiceSummary>string</VoiceSummary>
        </Voice>
        <Voice>
          <VoiceID>int</VoiceID>
          <VoiceName>string</VoiceName>
          <VoiceGender>string</VoiceGender>
          <VoiceAge>int</VoiceAge>
          <VoiceLanguage>string</VoiceLanguage>
          <VoiceSummary>string</VoiceSummary>
        </Voice>
      </getVoicesResult>
    </getVoicesResponse>
  </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"?>
<ArrayOfVoice xmlns="https://ws.esendex.us/NotifyWS/">
  <Voice>
    <VoiceID>int</VoiceID>
    <VoiceName>string</VoiceName>
    <VoiceGender>string</VoiceGender>
    <VoiceAge>int</VoiceAge>
    <VoiceLanguage>string</VoiceLanguage>
    <VoiceSummary>string</VoiceSummary>
  </Voice>
  <Voice>
    <VoiceID>int</VoiceID>
    <VoiceName>string</VoiceName>
    <VoiceGender>string</VoiceGender>
    <VoiceAge>int</VoiceAge>
    <VoiceLanguage>string</VoiceLanguage>
    <VoiceSummary>string</VoiceSummary>
  </Voice>
</ArrayOfVoice>

Let’s start sending, together.