Create a free account

API Documentation

Campaign Monitor

Subscriber.AddWithCustomFields

Adds a subscriber to a subscriber list, including adding custom field data for the subscriber. Please note: Since this method uses an array for the custom fields it can only be accessed via SOAP, and not HTTP-GET/POST.

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 subscribewithcustom.aspx)
  • PHP - 13kb (see subscribewithcustom.php)
  • Classic ASP - 3kb (see subscribewithcustom.asp)
  • Flash - 978kb (see customfieldsexample.fla)
  • Perl - 1kb (see subscribewithcustom.txt)
  • Cold Fusion - 2kb (see subscribewithcustom.cfm)

Parameters and required information

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

ApiKey
Your Campaign Monitor API 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.
CustomFields
An array of custom fields for the subscriber. The custom fields are defined by key/value pairs. See here for more details.

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.AddWithCustomFields"

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

      <Email>string</Email>
      <Name>string</Name>
      <CustomFields>
        <SubscriberCustomField>
          <Key>string</Key>

          <Value>string</Value>
        </SubscriberCustomField>
        <SubscriberCustomField>
          <Key>string</Key>
          <Value>string</Value>

        </SubscriberCustomField>
      </CustomFields>
    </Subscriber.AddWithCustomFields>
  </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.AddWithCustomFieldsResponse xmlns="http://app.campaignmonitor.com/api/">

      <Subscribers.AddWithCustomFieldsResult>
        <Code>int</Code>
        <Message>string</Message>
      </Subscribers.AddWithCustomFieldsResult>
    </Subscribers.AddWithCustomFieldsResponse>

  </soap:Body>
</soap:Envelope>