The Subscriber Core library object manages entries in the All Subscribers list. Use it to create, look up, update, or unsubscribe subscribers, and to retrieve their attributes and list memberships.

Methods

Method Returns Description
Subscriber.Init(key) SubscriberInstance Initialize a Subscriber instance by key
Subscriber.Add(properties) string Create a new subscriber
Subscriber.Retrieve(filter) object[] Retrieve subscribers matching a filter
Subscriber.Upsert(properties) string Create or update a subscriber
Subscriber.Statistics(subscriberKey) object Retrieve statistics for a subscriber
<SubscriberInstance>.Update(properties) string Update the initialized subscriber
<SubscriberInstance>.Remove() string Delete the initialized subscriber
<SubscriberInstance>.Unsubscribe() string Set the subscriber status to Unsubscribed
<SubscriberInstance>.Attributes.Retrieve() object[] Retrieve attributes for the subscriber
<SubscriberInstance>.Lists.Retrieve() object[] Retrieve list memberships for the subscriber

Subscriber.Init

Initializes a Subscriber instance bound to the specified subscriber key. Required before invoking any instance method on the returned object.

Syntax

Subscriber.Init(key)

Parameters

Name Type Required Description
key string Yes Subscriber key

Return value

SubscriberInstance

Examples

Platform.Load("core", "1");
var sub = Subscriber.Init("mySubscriber");

Subscriber.Add

Creates a new subscriber from the supplied properties.

Syntax

Subscriber.Add(properties)

Parameters

Name Type Required Description
properties object Yes EmailAddress, SubscriberKey, EmailTypePreference, Attributes, Lists, …

Return value

"OK" on success.

Examples

Platform.Load("core", "1.1.5");
var newSubscriber = {
    EmailAddress: "test.008@example.com",
    SubscriberKey: "20100730001",
    EmailTypePreference: "Text",
    Attributes: { "First Name": "test.008", "Last Name": "test.008" },
    Lists: { Status: "Active", ID: 12345, Action: "Create" }
};
var status = Subscriber.Add(newSubscriber);

Subscriber.Retrieve

Returns an array of subscribers matching the specified filter.

Syntax

Subscriber.Retrieve(filter)

Parameters

Name Type Required Description
filter object Yes PascalCase WSProxy-style filter object: {Property, SimpleOperator, Value}

Return value

object[]

Examples

Platform.Load("core", "1.1.5");
var results = Subscriber.Retrieve({ Property: "SubscriberKey", SimpleOperator: "equals", Value: "MySubscriberKey" });

Subscriber.Upsert

Creates a new subscriber, or updates an existing one matched by EmailAddress / SubscriberKey.

Syntax

Subscriber.Upsert(properties)

Parameters

Name Type Required Description
properties object Yes EmailAddress, SubscriberKey, Attributes, …

Return value

"OK" on success.

Examples

Platform.Load("core", "1");
var sub = {
    EmailAddress: "test@example.com",
    SubscriberKey: "test@example.com",
    Attributes: [ { Name: "FirstName", Value: "Jane" } ]
};
var result = Subscriber.Upsert(sub);
Write(Stringify(result));

Subscriber.Statistics

Retrieves statistical data for the specified subscriber (sends, opens, clicks, bounces, unsubscribes).

Syntax

Subscriber.Statistics(subscriberKey)

Parameters

Name Type Required Description
subscriberKey string Yes The subscriber key identifying the subscriber

Return value

object — a single object with subscriber statistics (not an array).

Examples

Platform.Load("core", "1");
var stats = Subscriber.Statistics("test@example.com");
Write(Stringify(stats));

<SubscriberInstance>.Update

Updates the previously initialized subscriber with the supplied attributes.

Syntax

<SubscriberInstance>.Update(properties)

Parameters

Name Type Required Description
properties object Yes Subscriber properties to change

Return value

"OK" on success.

Examples

Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var status = subObj.Update({ EmailTypePreference: "HTML", Attributes: { "First Name": "Test", "Last Name": "User" } });

<SubscriberInstance>.Remove

Deletes the previously initialized subscriber.

Syntax

<SubscriberInstance>.Remove()

Return value

"OK" on success.

Examples

Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var status = subObj.Remove();

<SubscriberInstance>.Unsubscribe

Sets the previously initialized subscriber’s status to "Unsubscribed".

Syntax

<SubscriberInstance>.Unsubscribe()

Return value

"OK" on success.

Examples

Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var status = subObj.Unsubscribe();

<SubscriberInstance>.Attributes.Retrieve

Returns an array of attributes associated with the previously initialized subscriber.

Syntax

<SubscriberInstance>.Attributes.Retrieve()

Return value

object[]

Examples

Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var attributes = subObj.Attributes.Retrieve();

<SubscriberInstance>.Lists.Retrieve

Returns the lists the previously initialized subscriber is a member of.

Syntax

<SubscriberInstance>.Lists.Retrieve()

Return value

object[]

Examples

Platform.Load("core", "1.1.5");
var subObj = Subscriber.Init("SubKey");
var listArray = subObj.Lists.Retrieve();

Notes

For more advanced subscriber management (batch operations, SOAP object access), use WSProxy with the Subscriber SOAP object. See WSProxy.

See Also