Traditionally, when using the API to send a personalized email campaign, you would have to first create a Group with AddGroup, then add or import members to the Group with AddGroupMember or ImportGroupMembersFromData, and then send to the Group with SendMassEmail. You can still do this if you prefer, but now there's an easier way as well. The following methods are affected:
Sends a mass e-mail with a plain text and/or HTML e-mail. Returns a string.
New method. Sends a previously saved mass e-mail to a new set of recipients. Returns a string.
Sends a mass e-mail, given a raw message including MIME parts and a MIME boundary. Returns a string.
To pass in personalization data, use the ToOther input parameter to pass in the actual set of data. The set of data can be in comma-separated form or in any other row and column delimited format that you choose. You may use whatever row and comma delimiter you like for the data in ToOther. The ToOther parameter should only contain the data, and not the field names for the data.
Use the Options input parameter to specify the field names and the row and column delimiters for the data in ToOther. The Options parameter is a comma-delimited list of attribute/value pairs. The attributes relevant to this feature are:
ToOtherRowDelimiter
ToOtherColDelimiter
ToOtherFieldNames
You can use these character codes for their corresponding delimiters:
"c" represents a comma
"s" represents a space
"n" represents a newline, or a hard break
"t" represents a tab
The ToOtherFieldNames attribute must be a pipe (|) delimited list of field names corresponding to the data in ToOther.
Let's do an example!
I want to send a personalized email campaign to 3 people, and I want to use First Name and Last Name as additional personalization data.
ToOther=
John,Smith,john@smith.com|David,Gary,david@gary.com|Sheila,
Panther,sheila@panther.com
Options=
ToOtherRowDelimiter=|,ToOtherColDelimiter=c,
ToOtherFieldNames=FirstName|LastName|EmailAddress
Subject=
Hello %%FirstName%%
MessagePlain=
Hello %%FirstName%% %%LastName%% -- your email address is %%EmailAddress%%