The BulkUpload message supports a list of interests that can be attached with an incoming subscriber. These interests can vary from record to record in the API message.
This feature requires that Interests be delimited with a comma. This is the only valid character for Interests. Because you must use a comma to delimit interests, you must use a different character to delimit other fields. This is critical because the API will parse any comma-delimited information in the XML document as Interests. The comma delimiter must identified in the XML itself (see example below).
Interests are included on a per-subscriber basis. However, if you upload an Interest name that does not exist in Higher Logic Thrive Marketing Professional (Thrive Marketing Professional), the upload will ignore it and continue. Every Interest that you attach in a comma-delimited string must exist in Thrive Marketing Professional.
Here are the summary rules for BulkUpload XML:
- Commas are the Interest delimiters used.
- Other characters, such as a tilde ( ~ ), must be used for other delimiters.
- There can only be one FieldDefinition called “Interest.”
- Interests must exist in Thrive Marketing Professional or they will be ignored.
NOTE: Commas can be used as the standard delimiter only if interests are not incorporated within the XML.
Below is a sample XML message. The interests are provided in the comma-delimited string:
<ActionRequest xmlns="http://partner.informz.net/aapi/2009/08/"> <Password>apasswordgoeshere</Password> <Brand id="9999">Brand Name</Brand> <User>testuser</User> <Actions> <BulkUpload> <UploadDetails> <InterestDetails> <InterestAction>AddOrUpdateSubscribers</InterestAction> </InterestDetails> <StatusEmailRecipients> <Email>firstname.lastname@example.org</Email> </StatusEmailRecipients> <ColumnDelimiter>~</ColumnDelimiter> <HasFieldsEnclosedInQuotes>0</HasFieldsEnclosedInQuotes> </UploadDetails> <FieldDefinitions> <FieldDefinition> <Name>Email</Name> <DataType>string</DataType> <ColumnIndex>1</ColumnIndex> <FieldType>Email</FieldType> </FieldDefinition> <FieldDefinition> <Name>Interest</Name> <DataType>string</DataType> <ColumnIndex>2</ColumnIndex> <FieldType>Interest</FieldType> </FieldDefinition> </FieldDefinitions> <Data> <![CDATA[email@example.com~Test Interest,Opt-Ins firstname.lastname@example.org~Test Interest,My New Interest]]> </Data> </BulkUpload> </Actions> </ActionRequest>