I need to delete a Subscriber from a Suppression List using the API.
I have followed this documented example to delete a Subscriber from a Suppression List, but it does not work (and there's nothing more frustrating than following Salesforce documentation only to discover it is wrong).
Here are two methods that delete a Subscriber from a Standard List (both using the Delete
SOAP action).
Option 1
<soap:Body>
<DeleteRequest xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Objects xsi:type="Subscriber">
<SubscriberKey>S1234</SubscriberKey>
<EmailAddress>sam@sample.com</EmailAddress>
<Lists>
<ID>123</ID>
<Action>delete</Action>
</Lists>
</Objects>
</DeleteRequest>
</soap:Body>
Option 2
<soap:Body>
<DeleteRequest xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Options>
<SaveOptions>
<SaveOption>
<PropertyName>*</PropertyName>
<SaveAction>Delete</SaveAction>
</SaveOption>
</SaveOptions>
</Options>
<Objects xsi:type="Subscriber">
<ObjectID xsi:nil="true">
</ObjectID>
<SubscriberKey>S1234</SubscriberKey>
<EmailAddress>sam@sample.com</EmailAddress>
<Lists>
<ID>123</ID>
<ObjectID xsi:nil="true">
</ObjectID>
</Lists>
</Objects>
</DeleteRequest>
</soap:Body>
Both of these work, and return the response:
<DeleteResponse xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Results>
<StatusCode>OK</StatusCode>
<StatusMessage>Subscriber deleted</StatusMessage>
<OrdinalID>0</OrdinalID>
</Results>
<RequestID>40a0244a-2698-4e8f-97f5-432a913d169f</RequestID>
<OverallStatus>OK</OverallStatus>
</DeleteResponse>
That's fine. However if I try to use either of these methods to delete a subscriber from a suppression list (e.g. change the List Id to match the suppression list), then I get the same Subscriber deleted
response, but they are not removed from the list.
I can add Subscribers to a Suppression List using the SOAP API, but I can't delete them.
I know there are other options to suppressing subscribers from receiving an email, but I really need to use Suppression Lists for a number of different reasons.
Does anyone know if this is possible using the API?