I just got off the phone with support (for an hour) and there's been a HUGE change that was not communicated to developers.
THE APIs NOW ACCEPT DUPLICATE EMAIL ADDRESSES.
When your account moves to the new contact format (I'm not sure what percentage of customers are already converted), the APIs will no longer filter out duplicates. If you make a request to add a contact whose address already exists, it will be added even if the email address is already in your contacts.
This also affects bulk imports via the APIs! Beware!
Needless to say, I'm very upset that this wasn't properly communicated to developers. This will take me weeks to fix in my applications.
I unfortunately still do not have any update on this getting completed. Fixing the data requires support from our Contact Management product team. We have a ticket open with them to look into this and fix it, however we have not been able to get the priority on this specific issue high enough to get it into a release as yet. This has not been forgotten about but we also don't have any immediate updates on this clean up. I will share this again with that team and see what we can do.
Thanks Askrenes and out team was speaking to polling those 18000 and removing duplicate via SyncApps with just keeping the master Contact. CRM to Constant Contact using SyncApps would allow this tactic to work we think as you would end up with a true set of 1 unique email in Constant Contact, removing all the duplicates via the API.
Hope that clarifies a bit,
No updates so far on this one. Our Contact Management team has been looking at this but has been working on some other issues that are higher priotity on their list. Definitely something we need to clean up on our side through database cleanup which is something that is high level of effort for us at scale. Need to make sure we do no harm while making the updates.
Will pass on your update request.
If the duplicates are happening in small enough quantities, there is a simple work-around where you can change the email address for one of the two duplicates to include a few characters of "garbage" such as "zzz_". You can then delete that contact without worry that it may match some future import and be brought back to the account. For large-scale issues there is not currently a better method available.
Thanks Elijah and unfortunately most of our SyncApps subscribers have over 5k-10k contacts so when 1000+ or so have this issue they are kinda stuck on this issue.
Wanted to make sure we gave an update on this. Our Contacts Management team has gone through all of our accounts in production and merged duplicate Contacts into single records. This was only Contacts with identical information, I.E. accidental duplications from multiple imports.
We do support having the same email address on multiple Contacts, so having multiple Contacts with the same email address is considered a valid use case. We believe we accounted for the vast majority of the duplication reported by developers in this thread in our cleanup efforts. If anyone sees something which should have been accounted for but was not, please provide information such as the account name (or email use the account information via email@example.com) so we can check out the specifics of those accounts.
We do have an open issue where duplicate Contacts can be created through parallel requests in the API (two POST requests with the same information occuring virtually at the same time). Long term, we want to put some defensive meassures in place to prevent this. However, this is not a simple problem for us to solve and it is not a short term fix for us. In the short term, we recommend to developers to not attempt to POST the exact same Contact information at the same time.