It is my understanding that the AddAndResubscribe method is effectively a Subscriber.Add method when the email address parameter is a new email address. Thus, if I want to update the e-mail address of an existing subscriber, after calling the AddAndResubscribe method with the new email address, I need to take care to delete the old e-mail address. Is that correct? Thanks for any input.
Yes, you are right - it isn't possible currently through the API to change an email on an existing record, you need to add a new record and remove the old.
Is this still the preferred way to update a subscriber's e-mail address or is there a new API call we're not finding anywhere :)
We use the email address as the identifier for a subscriber in our API, which is the reason we don't allow you to change it via the API. This was done to eliminate the need for another ID for a subscriber when using the API.
So yes, you'll need to subscribe the new address and remove the old one.
So what happens if a subscriber changes their e-mail back to the original e-mail address down the road. Is the original address not allowed to be re-subscribed? We were having problems getting this working because the original e-mail would have been added to the suppression list.
If you are re-subscribing them via the API, you can specify that they be re-subscribed even if they are inactive (on the suppression list) as per the API documentation, using the Resubscribe input value.
But… for the record… we formally request that we can just change a user's e-mail address via the API without having to manage an inline unsubscribe and resubscribe.
We do this on MailChimp and it is very handy.