Last active
January 22, 2023 01:03
-
-
Save jdeblank/985d45db07c28679d84a612334ed9e7f to your computer and use it in GitHub Desktop.
Use SSJS and WSProxy to add/update a subscriber status in Publication List within Salesforce Marketing Cloud
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<script runat="server"> | |
Platform.Load("core","1.1.1"); | |
var subkey = "abc123"; | |
var email = "[email protected]" | |
var prox = new Script.Util.WSProxy(); | |
// Set specific BU context if required | |
// prox.setClientId({ "ID": 7279411 }); | |
var sub = { | |
SubscriberKey: subkey, | |
EmailAddress: email, | |
Lists: [{ | |
ID: '12345', | |
Status: 'Active' | |
}] | |
}; | |
var options = { | |
SaveOptions: [{ | |
PropertyName: "*", | |
SaveAction: "UpdateAdd" | |
}] | |
}; | |
var resp = prox.createItem("Subscriber", sub, options); | |
Write("Response: " + Stringify(resp)); | |
</script> |
Thanks @Dvanderlaan , I appreciate the kind feedback. It looks like you were able to answer your own question 😄
I have moved most of these gists and have some more examples here: https://github.com/jdeblank/sfmc_dev/tree/master/wsproxy
Can this code be used in add/update/unsubscribe subscriber to multiple publication lists at once?
Hey Everone, How do I achieve same task using the DE. So I have DE where I have emailaddress and subscriberkey field. So I want the script read every record from DE and then certainly add to particular list? Is that possible?
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Awesome clean code. This works perfectly with a publication list update when the Allsubscriber list status is already Active. To resubscribe a customer that has an Unsubscribed on the All Subscriberlist you could add the the Active Status to the sub:
var sub = { SubscriberKey: subkey, EmailAddress: email, Status: 'Active', Lists: [{ ID: '12345', Status: 'Active' }] };