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#
- 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 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.usPOST 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>