I would like to take a look at your XML. Could you remove your username and email address from the xml and post it here, or email it to firstname.lastname@example.org? Just to be clear, you are doing a GET for the contact, then doing a PUT to update the contact, right?
Could you also include the URI that you are PUTting to, with just the username removed? Above, the issue was that there was a mismatch in the contact's ID, which is referenced in the XML and URI.
API Support Specialist
... View more
Thanks for the clarification on what you're doing and the positive feedback on our support team. They work very hard to try to help our developer communty, I'll make sure to pass the feedback on to support management.
A Contact in our product today is unique based on email address, so once you've created a Contact that has email@example.com once, you can never create them again (unless you changed their email address to something else). Our API actually retuns a 409 Conflict HTTP error code if you try to create a Contact that already exists, it sounds like the code you're using likely is hiding HTTP error responses from your application. This could mean you are using our PHP library, which has a bug our support team is currently working to resolve that causes error exceptions to not be thrown back up the stack.
In order to update list memberships for an existing Contact, you would need to do an update request (PUT on the Contact record if you're using our raw API and not a wrapper library). This is a complete update, not an append, so if your goal is to append the Contact lists instead of orverwrite, you will need to do a GET on the Contact first to get their existing list memberships.
All of these points are things we're looking to improve in our next version of our API. We certainly understand that it ends up becoming excessively complicated to do a simple task (update list memberships) due to our REST architecture. Definitely know that this is on the top of our team's priority list to solve in version 2. We have some possible solutons but nothing available for beta testing yet.
... View more