Subscriber.Add
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.
Samples
The following samples include specific examples of this method in action:
- .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.Add 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.Add" <?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.Add xmlns="http://app.campaignmonitor.com/api/"> <ApiKey>string</ApiKey> <ListID>int</ListID> <Email>string</Email> <Name>string</Name> </Subscriber.Add> </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.AddResponse xmlns="http://app.campaignmonitor.com/api/"> <Subscribers.AddResult> <Code>int</Code> <Message>string</Message> </Subscribers.AddResult> </Subscribers.AddResponse> </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.Add?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.Add 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>