Subscriber.AddWithCustomFields

Adds a subscriber to a subscriber list, including adding custom field data for the subscriber. If the subscriber (email address) already exists, then the custom fields are 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:

  1. Since this method uses an array for the custom fields it can only be accessed via SOAP, and not HTTP-GET/POST.
  2. If the subscriber is in an inactive state or has previously been unsubscribed, they will not be re-added to the active list. Therefore, this method should be used with caution and only where suitable.

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

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 invalid.

100: Invalid API Key
The API key pass was not valid or has expired.

101: Invalid ListID
The ListID value passed in was not valid.

204: In SuppressionList
Address exists in suppression list. Subscriber is not added.

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: api.createsend.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://api.createsend.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://api.createsend.com/api/">
      <ApiKey>string</ApiKey>
      <ListID>string</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://api.createsend.com/api/">

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

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