I have a mailing list of about 8,000 addresses with 7 merge fields.
All the data originates in my customer database.
To keep the list up to date via the API, my code does the following
via a daily cron script:
- Get all the email addresses on the list via listMembers()
- Add each new member via listSubscribe()
- Delete each new member via listUnsubscribe()
- Otherwise, check the merge fields via listMemberInfo() and update
changes via listUpdateMember()
All told, this generates about 10,000 API calls, which seems pretty
silly.
Is there - or is there planned - a way to do a bulk update to reduce
the number of round trips? I'd love to just send an XML blob of
everyone in my database with all their merge fields and have Mailchimp
figure out the adds, deletes and updates. Failing that, if I could
send a single command to download the current list of subscribers with
their merge fields all in one go, another one to subscribe all my new
members, another one to delete my old ones, and a final one to update
the merge fields for my changed ones, I'd be happy.
Pete.
If you have all the proper data on your side, I'd also suggest you
maintain some sort of "dirty" or "last_updated" flag on your side to
further limit the number of records you need to maintain on a daily
basis.
For removing members, use listBatchUnsubscribe()
http://www.mailchimp.com/api/1.2/listbatchunsubscribe.func.php
Finally, you may also want to consider using Webhooks to get data back
that changes via our hosted forms:
http://www.mailchimp.com/api/webhooks/
jesse