Describe a Subscriber

Why Describe a Subscriber 

The Subscriber object is the only object that returns both Properties and ExtendedProperties. Properties include the base Subscriber properties, and ExtendedProperties include subscriber attribute metadata. This call is ideally suited for building a profile center.

How To Describe a Subscriber 

Use the information below to create your own API to describe a subscriber.

Sample .NET Code 

1// Instantiate a Request Object for Subscriber
2ObjectDefinitionRequest request = new ObjectDefinitionRequest();
3request.ObjectType = "Subscriber";
4// Execute the Request
5ObjectDefinition[] results = integrationFramework.Describe(new ObjectDefinitionRequest[] { request }, out requestID);
6// Output the Results
7Console.WriteLine("_________Properties______________");
8Console.WriteLine(results[0].Name);
9for (int i = 0; i < results[0].Properties.Length; i++)
10{
11       Console.WriteLine("Name:\t" + results[0].Properties[i].Name);
12       Console.WriteLine("PropertyType:\t" + results[0].Properties[i].PropertyType);
13       Console.WriteLine("isRetrievable:\t" + results[0].Properties[i].IsRetrievable);
14}
15Console.WriteLine("_________ExtendedProperties______________");
16if (results[0].ExtendedProperties != null)
17{
18       for (int i = 0; i < results[0].ExtendedProperties.Length; i++)
19       {
20              Console.WriteLine("Name:\t" + results[0].ExtendedProperties[i].Name);
21              Console.WriteLine("PropertyType:\t" + results[0].ExtendedProperties[i].PropertyType);
22              Console.WriteLine("isRequired:\t" + results[0].ExtendedProperties[i].IsRequired);
23              Console.WriteLine("isViewable:\t" + results[0].ExtendedProperties[i].IsViewable);
24              Console.WriteLine("isRetrievable:\t" + results[0].Properties[i].IsRetrievable);
25       }
26}

Output 

1_________Properties______________
2Name:           ID
3PropertyType:   string
4isRetrievable:  True
5Name:           CreatedDate
6PropertyType:   string
7isRetrievable:  True
8Name:           Client.ID
9PropertyType:   string
10isRetrievable:  True
11Name:           EmailAddress
12PropertyType:   string
13isRetrievable:  True
14Name:           SubscriberKey
15PropertyType:   string
16isRetrievable:  True
17Name:           UnsubscribedDate
18PropertyType:   string
19isRetrievable:  True
20Name:           Status
21PropertyType:   string
22isRetrievable:  True
23Name:           EmailTypePreference
24PropertyType:   string
25isRetrievable:  True
26Name:           Attributes
27PropertyType:   string
28isRetrievable:  False
29Name:           PartnerType
30PropertyType:   string
31isRetrievable:  False
32Name:           Lists
33PropertyType:   string
34isRetrievable:  False
35Name:           GlobalUnsubscribeCategory
36PropertyType:   string
37isRetrievable:  False
38Name:           SubscriberTypeDefinition
39PropertyType:   string
40isRetrievable:  False
41Name:           Client
42PropertyType:   string
43isRetrievable:  False
44Name:           PartnerProperties
45PropertyType:   string
46isRetrievable:  False
47Name:           ModifiedDate
48PropertyType:   string
49isRetrievable:  False
50Name:           ObjectID
51PropertyType:   string
52isRetrievable:  False
53Name:           CustomerKey
54PropertyType:   string
55isRetrievable:  False
56Name:           Owner
57PropertyType:   string
58isRetrievable:  False
59_________ExtendedProperties______________
60Name:           CarId
61PropertyType:   double
62isRequired:     False
63isViewable:     True
64isRetrievable:  True
65Name:           Birthday
66PropertyType:   datetime
67isRequired:     False
68isViewable:     True
69isRetrievable:  True
70Name:           CollegeName
71PropertyType:   string
72isRequired:     False
73isViewable:     True
74isRetrievable:  True
75Name:           Hair Color
76PropertyType:   string
77isRequired:     False
78isViewable:     True
79isRetrievable:  True
80Name:           ZIP Code
81PropertyType:   string
82isRequired:     False
83isViewable:     True

Sample SOAP Envelope 

1<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
2   <soapenv:Header>
3      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
4         <wsse:UsernameToken wsu:Id="UsernameToken-31606811" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
5            <wsse:Username>XXXXX</wsse:Username>
6            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXX</wsse:Password>
7         </wsse:UsernameToken>
8      </wsse:Security>
9   </soapenv:Header>
10   <soapenv:Body>
11      <DefinitionRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
12         <DescribeRequests>
13            <ClientIDs>
14               <ID>12345</ID>
15            </ClientIDs>
16            <ObjectDefinitionRequest>
17               <ObjectType>Subscriber</ObjectType>
18            </ObjectDefinitionRequest>
19         </DescribeRequests>
20      </DefinitionRequestMsg>
21   </soapenv:Body>
22</soapenv:Envelope>

See Also