I would like to keep my database in synch with the Contacts in Constant Contact. When I read through the API reference and did some testing, I could not find a way to retrieve the information on customers that have Opted In or Out recently. It appears that I will have to read through the information for every contact every time in order to see what has changed. Is there a way to retreive recent changes in the Contact status? I am looking for:
a) New Contacts
b) Existing contacts whose status has changed
I am working in VBA with MS Access using MSXML and ServerXMLHTTP, if anyone would like to see what I am doing or trade information with me.
You are correct, there is no API method for retrieving only the recent additions and contacts who have changed. We have taken requests for that kind of sorting and filtering and are looking to add that in the future. I will pass your additional feedback to our Product Managers.
One way I might be able to cut down on the number of records I would have to read might be to keep track of the last Contact ID number and look for numbers after that. Would that work? Are the IDs sequential? This would at least get me the new contacts.
Yes, ID numbers are sequential and static. They start at 1 for the original address you created your account with and increment by 1 every new contact addition. This is actually the recommended way for syncing changed contacts as well since any other piece of imformaton can change and you may not be able to associate your contacts back with your list otherwise.
The Contact API is only for small numbers of transactions. However, I cannot export the Contact ID or link with the Activities API. Doesn't this force me to use the Contact API for large numbers of transactions, contrary to the Constant Contact policy?
How do I uniquely identify a contact when I want to create a REMOVE_CONTACTS_FROM_LISTS for more than 25 contacts?
I need to update my database with the Contact URIs for the Constant Contact database but I can't figure out how to get them without using the Contact API.
I think the confusion on this is what the Bulk Activity expects. For REMOVE_CONTACTS_FROM_LISTS, all you need to send to it is email addresses. It is smart enough to check all the active contacts on that list by email address and remove them if they are on the list. No Contact ID is needed.
As for the syncing issue of large volumes of contacts based on the API, this is an area of weakness in our API that we are looking into. I am sending your feedback to our Product Management team to let them know we have more interest in better syncing.
There is no rule saying you can not sync your entire database using the Contact Collection. Our recommendation is to not use that for bulk activities due to the time it takes to process the requests will create a very slow user experience. If this is something you are doing out of sync with users using the database, it is certainly a solution you can use. I have used it for pulling status (Confirmed or Unconfirmed) for lists up 30k in size. The time to do a list that large and sync the info was only about 4-5 minutes.
Thanks Dave. The way the documentation was worded, I was worried that Constant Contact would disable my account if I tried it. This processing will be done at night (11 PM - 4 AM Eastern Time) in unattended mode rather than with users waiting.