Add new subscriber using API POST

Hi,
I use a online form builder service with connectors.  I want to add new subscribers first name,last name and email address to my contact list. I designed a registration form with the following fields.  First name, Last name, email address and verify email address.  I will be sending login details to my new members to the email address on the form. I need the first name to be listed on my contact list because the welcome letter reads: Hi [firstname].  I know this can be done.

I'm using this url for web service to add new subscriber using connectors:

https://api.createsend.com/api/v3/subscribers/{list ID}.xml

This is the requested information with custom fields added to campaign monitor:

<Subscriber>
  <EmailAddress>{EMAILADDRESS}</EmailAddress>
  <Name>{FIELD} {LASTNAME}</Name>
  <CustomFields>
    <CustomField>
      <Key>Firstname</Key>
      <Value>{FIELD}</Value>
    </CustomField>
    <CustomField>
      <Key>Lastname</Key>
      <Value>{LASTNAME}</Value>
</Subscriber>
    </CustomField>
  </CustomFields>

The response is error code 1 invalid email address.  The format I'm using is trying to GET info instead of POSTING info to my contact list.

What should be the request format for Posting a new subscriber?  You have information to add new subscriber using the url in your API Documentation.  I have the correct url according to your API instructions.  You do not have the request format like the above, to post a new subscribers to the contact list using xml.  I use a website builder and I don't have access to the server.  This is why I need to use a connector. 

My online form builder service has POST as a selection and it is selected.  My information above is not correct.  I did include my list api key.  Everyone who fills out the registration form at my website is a new member, and will get a welcome letter using the auto responder which has been setup in campaign monitor.  Then I send them a verification link from my membership software and their login details after they verify their account.

I just need my connector to POST the information to my contact list.

tobyb tobyb, 4 years ago

Hi starfire,

I'm not sure if this is just an error in the post, but the XML you've included is malformed. Your </Subscriber> tag is in the wrong place i.e

</Subscriber>
    </CustomField>
  </CustomFields>

should be

    </CustomField>
  </CustomFields>
</Subscriber>

If that doesn't fix the issues your having there are a couple of options here.

It might be simplest to use a subscribe form generated from your account. This should allow you to pretty much just drop in the generated html and let it go to work. You can even make it submit with ajax if needs be.

Secondly as you're doing the subscribers may be added via the API. I'm not sure what 'connector' you're using, could you give us a bit more information about that? In the documentation for adding a subscriber you can view the request body in XML by clicking the 'XML' button next to 'Expected Request Body:'. As you mention this request will have to be made with POST.

If you're still having trouble, get in touch with support at campaignmonitor.com, including your API Key and we can have a look at the requests your making.

Join 200,000 companies around the world that use Campaign Monitor to run email marketing campaigns that deliver results for their business.

Get started for free
1-888-533-8098