This is similar to a previous thread (that started mid-2010, but had some more responses in just the last few days), but unlike the most recent poster, I'm concerned I may be landing below the bulk limit more frequently, even though my processing is purely batch, and was wondering just what, if anything, may be considered mis-use.
I've just completed integrating a custom system we use with our franchisees, strictly for the purposes of a daily batch operation to synchrnonize a handful of lists for each franchisee with the contents of our CRM. There's no user interaction, or real-time component. As I wasn't going to be able to know in advance how many addresses would be involved in each batch run, I went with the bulk API. However, while the initial sync for a given franchisee is easily in the bulk range, its certainly possible (and maybe likely, I'll have to see) that changes in any given day will be below 25 addresses.
Is this once-a-day operation a problem, even if the addresses involved in the bulk operations are low? It would seem to be unfortunate if my integration code had to have two distinct code paths for exactly the same operation depending on how many addresses were involved on a given morning, but I certainly don't want to risk having my API key disabled.
Any guidance on just what is considered excessive on either side of that collections/bulk boundary would be helpful.
We use the 25 contact minimum as a marker for what we would like to see in our bulk operations, but if you are under this number it is not immediately going to result in disabling your API key. Our goal is to make sure that developers aren't using bulk activities for single contact signup form on their website, not to create awkward flows in developers applications.
If you are only doing 1 bulk activity per day per franchise, and it is not always over 25 contacts, I think that you are fine. Again, we're looking to avoid people doing multiple single-contact additions through the bulk API, but your scenario sounds like a perfectly acceptable use of our bulk API. In the event that we did feel that the bulk activities you were posting were to small/frequent, we would very likely contact you prior to disabling your key.
I hope this helps to clear things up. Please let me know if you have any questions.
Thanks, yes, thats helpful. Particularly knowing I'll get a head's up if it does ever become considered a problem.
Definitely no single contact signup form here - the only time small numbers of contacts are involved is if that's the only ones that happen to have changed in the most recent synchronization period (day) within our own system.
At the risk of continuing to worry unnecessarily, one clarification though, since you mention a single bulk activity. There's one syncronization per day, but it may not just be 1 bulk activity. There could be anywhere from 0 to 2*lists (I currently will sync 2 lists per franchisee) activities. Each list I synchronize may need one or both of REMOVE_CONTACTS_FROM_LIST and ADD_CONTACTS activities in order to synchronize. Essentially I retrieve the current lists, the do-not-mail list (to pre-filter on my side to reduce errors in the activity), then identify deltas to my own system contents and issue one or both of the remove/add activities as needed to match.
Ironically, I initially planned on just sending the full list each time (much like a manual import from the UI) which would always be well within the bulk limits, but during testing noticed that would always modify the last updated timestamp on the individual contacts, so I pre-process things to identify the true deltas to better reflect accurate update timestamps on the Constant Contact side. That process is what is likely to pull me below the 25 address threshold though.