I successfully replicated this problem using the API tester:
I use the "Retrieve a contact with a specified Contact ID" endpoint:
https://api.constantcontact.com/v2/contacts/xxxxx?api_key=yyyyyy
In most cases, I can copy the result body and paste it in (unmodified!) as the request body for the endpoint "Modify a contact with specific Contact ID"
https://api.constantcontact.com/v2/contacts/xxxxx?action_by=ACTION_BY_OWNER&api_key=yyyyyy
In about 90% of test cases, this works successfully. In the remaining 10%, I get:
Response StatusSelect content
409 Conflict
Response HeadersSelect content
Cache-Control: private, no-cache, no-store, max-age=0, must-revalidate, no-cache="Set-Cookie" Content-Type: application/json Date: Thu, 17 Mar 2016 01:09:53 GMT Pragma: no-cache Server: Apache Vary: Accept-Encoding,User-Agent X-Mashery-Responder: prod-j-worker-us-east-1e-114.mashery.com X-Powered-By: Content-Length: 130 Connection: keep-alive
Response BodySelect content
[{
"error_key": "http.status.conflict",
"error_message": "There was a conflict between the supplied data and the existing resource."
}]
Is there a reason why this would be? My actual use case is more complex, but I created this simple test case to eliminate any other variables.
Jon
Solved! Go to Solution.
Hello,
In the case of a conflict when sending unmodified data, the most likely cause is a contact in a Confirmed state. This is because the PUT action always updates a field, even if the input is the same as the previous value, and the email address of a Confirmed contact can only be changed with an action by that contact. If you're working on an implementation that handles groups of contacts, I would definitely advise making use of our bulk APIs, as they do not have this same limitation as a result of being unable to change email addresses.
You can find information about our bulk APIs here: http://developer.constantcontact.com/docs/bulk_activities_api/bulk-activities-import-contacts.html
Sincerely,
Hello,
In the case of a conflict when sending unmodified data, the most likely cause is a contact in a Confirmed state. This is because the PUT action always updates a field, even if the input is the same as the previous value, and the email address of a Confirmed contact can only be changed with an action by that contact. If you're working on an implementation that handles groups of contacts, I would definitely advise making use of our bulk APIs, as they do not have this same limitation as a result of being unable to change email addresses.
You can find information about our bulk APIs here: http://developer.constantcontact.com/docs/bulk_activities_api/bulk-activities-import-contacts.html
Sincerely,
The holidays have come and gone. For many seasonal businesses, this means the rush of shoppers has decreased as well. Instead of turning off the lights and waiting for spring, make your email marketi...
See Article