So far working with the API has been great as all I've had to do was add an email address upon user registration (if checked) and let Campaign Monitor handle the rest.
As I moved into more complex areas, beyond simply adding emails, I discovered that the APi is just to capable of what I need to do... at least in a resource friendly way, on both your side and my side.
I have a member database of 15k+ members. I need to be able to manage a subscription list of these members and send emails based on how many days they have left on their membership, whether that be a positive or negative value (positive meaning they are current, negative meaning they expired).
Short of sending 15k requests each week, there doesn't seem to be an easy way to sync this information. Since there is no date field for custom fields, I have to use a number to store how many days they have left or have been expired for so I can reliably create a segment.
So if the custom fields had a date field, I could simply run the 15k requests one time and update them with the members renewal date. Then on a individual basis update them as they renew, or add new ones as they register. Then create a segment based on date (preferably one that auto-adjusts so I can say "members who are about to expire in 30 days")... But there is no such option.
I could update the days, but this would require a ton of HTTP requests. If I had to update each record, I'd much rather be able to chain them. Like have some sort of function where I provide a comma delimited list of email addresses and update one field on all of them to a certain value. There is no need for me to add email addresses as they get added as people register.
I need a better solution. Sending 15k requests each week is a bit cumbersome. Ideas?
A solution I came up with is storing a custom value called "Membership" in for format of "YYYYMMDD" which should allow us to do a segment to capture subscribers within a certain range. Problem is we'd have to edit the segment each time... Wish there was a way to manage segments with the API :)