Create a free account

API Documentation

Campaign Monitor

Subscriber.AddAndResubscribe

Adds a subscriber (email address, name) to an existing subscriber list. If the subscriber already exists, the name value is updated with whatever is passed in.

If the list has been set as double opt-in, they will be sent the verification email, otherwise they will be sent the confirmation email you have set up for the list being subscribed to.

Please note: If the subscriber is in an inactive state or has previously been unsubscribed, they will be re-added to the active list. Therefore, this method should be used with caution and only where suitable.

Samples

The following samples include specific examples of this method in action. For the samples that have a simple subscribe example, changing the operation name from Subscriber.Add to Subscriber.AddAndResubscribe will get you calling this method instead.

  • .NET - 51kb (see subscribe.aspx)
  • PHP - 13kb (see subscribe.php)
  • Classic ASP - 3kb (see subscribe.asp)
  • Flash - 978kb (see CM_Flash_Api_Example.fla)
  • Perl - 1kb (see subscribe.txt)
  • Cold Fusion - 2kb (see subscribe.cfm)

Parameters and required information

Here's a list of all the parameters you'll need to pass to the Subscriber.AddAndResubscribe method. All of the parameters are required unless otherwise noted.

ApiKey
Your API application key. See here for more details.
ListID
The list you want to add the subscriber to. See here for more details.
Email
The email address of the new subscriber.
Name
The name of the new subscriber. If the name is unknown, an empty string can be passed in.

Return Codes

Success

0: Success
The subscription was successful.

Error

1: Invalid email address
The email value passed in was a valid email address.
100: Invalid API Key
The API key passed was not valid or has expired.
101: Invalid ListID
The ListID value passed in was not valid.

SOAP 1.1

The following is a sample SOAP request and response. The placeholders shown need to be replaced with actual values.

POST /api/api.asmx HTTP/1.1
Host: app.campaignmonitor.com
Content-Type: text/xml; charset=utf-8
Content-Length: length

SOAPAction: "http://app.campaignmonitor.com/api/Subscriber.AddAndResubscribe"

<?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>
   <Subscriber.AddAndResubscribe xmlns="http://app.campaignmonitor.com/api/">
     <ApiKey>string</ApiKey>
     <ListID>int</ListID>

     <Email>string</Email>
     <Name>string</Name>
   </Subscriber.AddAndResubscribe>
 </soap:Body>
</soap:Envelope>


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>

   <Subscribers.AddAndResubscribeResponse xmlns="http://app.campaignmonitor.com/api/">
     <Subscribers.AddAndResubscribeResult>
       <Code>int</Code>
       <Message>string</Message>
     </Subscribers.AddAndResubscribeResult>

   </Subscribers.AddAndResubscribeResponse>
 </soap:Body>
</soap:Envelope>

HTTP GET

The following is a sample HTTP GET request and response. The placeholders shown need to be replaced with actual values.

GET /api/api.asmx/Subscriber.AddAndResubscribe?ApiKey=string&ListID=string&Email=string&Name=string HTTP/1.1
Host: app.campaignmonitor.com

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<Result xmlns="http://app.campaignmonitor.com/api/">
 <Code>int</Code>

 <Message>string</Message>
</Result>

HTTP POST

The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.

POST /api/api.asmx/Subscriber.AddAndResubscribe HTTP/1.1
Host: app.campaignmonitor.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

ApiKey=string&ListID=string&Email=string&Name=string

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<Result xmlns="http://app.campaignmonitor.com/api/">
 <Code>int</Code>

 <Message>string</Message>
</Result>