Details on this post:
Once a subscriber is onto one list at Constant Contact, the same subscriber can NOT join any additional lists.
This occurs via the 3rd party plugins of Thrive Themes as well as Ninja Forms.
That is a fatal flaw that puts our entire system of contact management with customers at jeopardy.
Here is how you can test it (with Thrive Themes):
Go to this page: https://help.swimisca.org/get-news-emails/
Then sign up for one list. Fine. Works.
Then sign up for another list -- and you get an error message.
See attached screen shot below with the little pink area showing the error.
How can you fix this? Please advise.
Thank you for reaching out to Constant Contact API Developer Support. My team is here to assist outside software developers with questions about building into Constant Contact's API.
It looks like the 3rd party integration associated with the form on your website is adding new contacts successfully, but is returning a 409 response error in our logs and is not updating existing contacts who fill out the form, which means that the developers who built that integration did not account for updating existing contacts, only adding new ones. Typically a 409 error response occurs when making a POST call to the /contacts endpoint for an existing contact, which can only add new contacts whose email addresses have not previously been added to the account.
Once a contact (email address) has been added into the system, even if it is deleted, the contact entry and details still remain on the back end of the system for reporting and compliance purposes. When using the API, there are a couple of different endpoint options to bypass the 409 response but they must be programmed into the integration/form/plugin by the 3rd party that developed it.
Typically this error occurs when making a POST call to the /contacts endpoint, which can only add new contacts whose email addresses have not previously been added to the account.
API Response Codes
Using the example V3* API flow below, the developer of the integration should have their program check to see if an email address exists in the account, and then either create the contact or update the contact. (*Our legacy V2 uses the same flow and call types, but uses a different system.)
Step 1: Check to see if the contact exists in the account using the email address.
GET Contacts Collection
Step 2: If the contact comes back as non-existent, use POST to create the contact:
POST (create) a Contact
Step 3: If the contact comes back as already existing in the account, use PUT to update the contact.
PUT (update) a Contact
To resolve this issue, you can either contact the developer of the 3rd party form/plugin/integration you are using to see if they are able to update their application's code, you could switch to a different integration that better meets your needs, or you (and/or your developers) can build/develop your own integration to your organization's specifications.
Please have a look and let us know if you have any other questions!