I’m building a program for a client that will run every day that will sync contacts with my client’s external systems. I’m looking for a way to get a list of contacts that have been created or modified in ActiveCampaign (including modifications to custom fields) within the last day so that I can update the data on the other systems. There are about 20,000 contacts and over 60 custom fields.
Is there a way to get all contacts in a list where the created or modified date is greater than another date? The documentation for API 3 doesn’t say much about filtering. it doesn’t look like I can use greater than operators. Am I wrong?
I don’t see where the dates are described in the documentation. I assume cdate and udate are the created and updated dates? What are adate and edate for?
I’d rather not get all 20 thousand contacts and filter myself. I thought that maybe I could order by the dates in descending order and hopefully all the modifications would be in the first page, but when I try “api/3/contacts?orders[udate]=DESC”, it does not appear to have any affect. The contacts don’t appear to be ordered at all. Am I doing something wrong?
Right now it’s looking like I’ll need to get all the contacts. That’ll be 2000 requests with a max page size of 100. Then get all the custom field values for each one to check the dates. So another 20,000 requests. That’s going to take a lot of time and a lot of wasted bandwidth. Surely there’s a better way?