This is a two part question.
I'm working on a recurring-payment-based website, and if a customer's
payment fails, we would like to remove them from the list until they
update their payment information. However, it seems that once
listBatchUnsubscribe or listUnsubscribe is called, we cannot add that
person to the list again, since they are marked as having opted out.
While looking for a solution to the problem, I ran into a second
problem. I simulated a failed payment, and the e-mail address was
removed from the list by calling listBatchUnsubscribe with
deleteMember = true.
POST data: id=XXX&emails[0]=mondaycustomer
%
40DOMAIN.COM&delete_member=1&send_goodbye=&send_notify=&apikey=XXX
Then I submitted another payment, and the system called
listBatchSubscribe
POST data: id=XXX&batch[0][EMAIL]=mondaycustomer%
40DOMAIN.COM&batch[0]
[FNAME]=Monday&batch[0][LNAME]
=Customer&double_optin=1&update_existing=&replace_interests=1&apikey=XXX
The returned string was 'a:3:{s:13:"success_count";i:1;s:
11:"error_count";i:0;s:6:"errors";a:0:{}}'
That customer didn't appear in the list.
So I create another customer, and once again listBatchSubscribe is
called.
POST data: id=XXX&batch[0][EMAIL]=tuesdaycustomer%
40DOMAIN.COM&batch[0]
[FNAME]=Tuesday&batch[0][LNAME]
=Customer&double_optin=1&update_existing=&replace_interests=1&apikey=XXX
The returned string was 'a:3:{s:13:"success_count";i:1;s:
11:"error_count";i:0;s:6:"errors";a:0:{}}'
When I log into mailchimp, neither customer appears in the list, and
searching for them returns nothing.
So, what's going on? They're not in the system as far as the GUI is
concerned, and calling listMembers() on the API doesn't show them in
the list, either.