We manage lists for our customers locally, and sync the lists with CM via the API at campaign send time. When subscribers are removed from a local list, I would like to remove them from the CM version of that list. The only way I see to do that is via a call to Subscriber.Unsubscribe. My concern with that is the suppression list. The docs for Subscriber.Unsubscribe (http://www.campaignmonitor.com/api/method/subscriber-unsubscribe/) state:
"If the list is set to add unsubscribing subscribers to the suppression list, then the subscriber’s email address will also be added to the suppression list."
But I can not find any API control over this setting for a list, and I don't want these users to go on the suppression list normally. However, I do want subscribers that unsubscribe from the default unsubscribe page to be added to the suppression list. If I can control the suppression setting from the API, I'll turn that off for the list while I'm syncing with the local list, then turn it back on. Is this possible?
My alternative would be to destroy the CM list if subscribers have been deleted from the local list since the last sync, and recreate the list. It would mean a higher load on the API.
You are correct that there is no way to control this setting via the API.
Have you looked at the Subscriber.AddAndResubscribe method? If you are re-subscribing the users to the same list they will be moved back to the Active state and receive emails regardless of whether or not they are on the suppression list or not.
How does that deal with subscribers that have unsubscribed themselves? I don't want our customers to be able to re-add the sub if he has removed his address.
You are right, they would be resubscribed, so you have to use that method carefully. Sounds like it wouldn't be the right answer in this case.