Voice Broadcast API

Voice API
Quick Start Guides
Methods
Types
FAQ

CancelNotifyByReferenceID

This method cancels any calls that have a given reference ID. This method will not cancel completed calls or calls in progress. You will receive credit for any successfully cancelled calls. (Reference IDs can be assigned when scheduling calls with the NotifyPhoneAdvancedNotifyMultiplePhoneAdvanced, or NotifyMultiplePhoneBasicWithCPMandReferenceID methods.)

Syntax

CancelNotifyByReferenceID(ReferenceID, LicenseKey)

Request Parameters

Parameter NameDescriptionData TypeRequiredSample Value
ReferenceIDThe reference ID of one or more calls.StringTruenotify1
LicenseKeyYour license key.StringTrue00000000-0000-0000-0000-000000000000

Response

Returns: Integer

Description: Total number of calls that were cancelled.

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);

// Let's queue a notification and give it a reference ID.
var referenceId = "notify1";
await client.NotifyPhoneAdvancedAsync(new AdvancedNotifyRequest
{
    PhoneNumberToDial = YOUR_TO_NUMBER,
    ReferenceID = referenceId,
    TextToSay = "Hello, this is a test call.",
    UTCScheduledDateTime = DateTime.UtcNow.AddDays(1),
    LicenseKey = YOUR_LICENSE_KEY
});

// We can cancel the notification at any time before it's sent. Let's cancel it now.
var cancelled = await client.CancelNotifyByReferenceIDAsync(referenceId, YOUR_LICENSE_KEY);

Console.WriteLine("Notification was cancelled: " + cancelled);

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 CancelNotifyByReferenceID {
    public static void main(String[] args) {
        try {
            URL url = new URL("https://ws.esendex.us/NotifyWS/PhoneNotify.asmx/CancelNotifyByReferenceID?"
                            + "ReferenceID=000" + "&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.INDENT, "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

from datetime import datetime, timedelta
import zeep

client = zeep.Client(wsdl="https://ws.esendex.us/notifyws/phonenotify.asmx?wsdl")
license_key = "00000000-0000-0000-0000-000000000000"
reference_id = "notify1"

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

# Let's queue a notification and give it a reference ID.
request = {
    "PhoneNumberToDial": "17575559999",
    "VoiceID": 1,
    "CallerIDNumber": "7575550000",
    "CallerIDName": "Esendex Services",
    "TextToSay": "Hello, this call was sent with Python.",
    "LicenseKey": license_key,
    "TryCount": 2,
    "NextTryInSeconds": 180,
    "UTCScheduledDateTime": utc_scheduled_date_time,
    "TTSrate": 10,
    "TTSvolume": 100,
    "MaxCallLength": 0,
    "ReferenceID": reference_id,
}

result = client.service.NotifyPhoneAdvanced(request)

# We can cancel the notification at any time before it's sent. Let's cancel it now.
result = client.service.CancelNotifyByReferenceID(reference_id, license_key)

print(result)

GET Request

GET /NotifyWS/PhoneNotify.asmx/CancelNotifyByReferenceID?ReferenceID=string&LicenseKey=string HTTP/1.1
Host: ws.esendex.us

POST Request

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

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

<?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>
    <CancelNotifyByReferenceID xmlns="https://ws.esendex.us/NotifyWS/">
      <ReferenceID>string</ReferenceID>
      <LicenseKey>string</LicenseKey>
    </CancelNotifyByReferenceID>
  </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>
    <CancelNotifyByReferenceIDResponse xmlns="https://ws.esendex.us/NotifyWS/">
      <CancelNotifyByReferenceIDResult>int</CancelNotifyByReferenceIDResult>
    </CancelNotifyByReferenceIDResponse>
  </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>
    <CancelNotifyByReferenceID xmlns="https://ws.esendex.us/NotifyWS/">
      <ReferenceID>string</ReferenceID>
      <LicenseKey>string</LicenseKey>
    </CancelNotifyByReferenceID>
  </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>
    <CancelNotifyByReferenceIDResponse xmlns="https://ws.esendex.us/NotifyWS/">
      <CancelNotifyByReferenceIDResult>int</CancelNotifyByReferenceIDResult>
    </CancelNotifyByReferenceIDResponse>
  </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"?>
<int xmlns="https://ws.esendex.us/NotifyWS/">int</int>

Let’s start sending, together.