episerver campaign soap api · 2018. 1. 2. · soap 1.1 compatibility the current version of the...
TRANSCRIPT
Episerver CampaignSOAP API
© Episerver 2018
Episerver Campaign SOAP API
Version 6.70
© Episerver 2018
Table of Contents | 3
Table of contents
Table of contents 3
SOAP API 16
What can I do with the SOAP API? 16
Modifications since the previous version 16
New methods 16
Introduction to the SOAP API 17
Information regarding general use 17
SOAP 1.1 compatibility 18
Type conversion and formatting rules 18
Batch call limits 18
Basic usage 18
Validity of a session 19
Web service endpoints 19
Coupon system web services 19
Error messages 19
Usage example 19
Native APIs 20
Java 20
PHP 21
.NET 22
Webservice overview 23
AttachmentWebservice 24
create 25
getAllIds 26
getColumnNames 27
getContent 28
getCount 29
getDataSet 30
getDataSetFlat 31
getFilename 32
getMimeType 33
getName 34
getSize 35
setContent 36
setFilename 37
setMimeType 38
setName 39
BlacklistWebservice 40
add 42
addAll 43
areBlacklisted 44
contains 45
containsAll 46
getAllAdvanced 47
getAllAdvancedFlat 48
getAllEntries 49
getColumnNames 50
getCount 51
getCreated 52
getDataSet 53
getDataSetFlat 54
getFirstMatchingEntry 55
getReason 56
isBlacklisted 57
© Episerver 2018
4 | Table of Contents
© Episerver 2018
Table of Contents | 5
remove 58
removeAll 59
ClosedLoopWebservice 60
getClicks 62
getCurrentTime 63
getCurrentTime 64
getLinks 65
getMailingIdByWaveId 66
getMailings 67
getMailingUnsubscribes 68
getOpens 69
getOutBounces 70
getRecipients 71
getResponses 72
getUnsubscribes 73
importFinishedAndScheduleMailing 74
importRecipients 75
prepareNewWave 76
CouponCodeWebservice 77
add 78
addAll 79
getAllAssigned 80
getAllUnAssigned 81
getAssignedMailing 82
getAssignedRecipientId 83
getByMailingAndRecipientId 84
getCreated 85
getModified 86
isAssigned 87
isUsed 88
markAsUsed 89
remove 90
removeAll 91
CouponBlockWebservice 92
create 93
getAllIds 94
getAssignedCodeCount 95
getAssignedMailings 96
getCodeCount 97
getCreated 98
getModified 99
getName 100
getUnAssignedCodeCount 101
remove 102
FolderWebservice 103
Folder type 103
assignFolder 104
createFolder 105
getAssignedFolder 106
getChildren 107
getFolderName 108
getParent 109
getRootFolders 110
moveFolder 111
removeFolder 112
renameFolder 113
© Episerver 2018
6 | Table of Contents
© Episerver 2018
Table of Contents | 7
MailIdWebservice 114
Using Mail-IDs 114
getMailingId 115
getMandatorId 116
getRecipientId 117
getRecipientListId 118
MailingReportingWebservice 119
getClickCount 120
getClickCountByUrl 121
getFailedRecipientCount 122
getLinkNames 123
getLinkUrls 124
getOpenCount 125
getOverallRecipientCount 126
getResponseCount 127
getSentRecipientCount 128
getUnsubscribeCount 129
MailingWebservice 130
Deprecated methods 133
Mailing type 133
MIME Types 133
cancel 135
copy 136
create 137
decodeTrackingLinks 138
encodeTrackingLinks 139
getAttachmentIds 140
getCharset 141
getColumnNames 142
getContent 143
getCount 144
getCreatedDate 145
getDataSet 146
getDataSetFlat 147
getDescription 148
getFailedRecipientCount 149
getFromEmailPrefix 150
getFromName 151
getHeader 152
getIds 153
getIdsInStatus 154
getMaxMailsPerHour 155
getMaxRecipients 156
getMimeType 157
getName 158
getOverallRecipientCount 159
getPredictedRecipientCount 160
getProperty 161
getRecipientFilterId 162
getRecipientFilterIds 163
getRecipientListIds 164
getScheduleDate 165
getSendingFinishedDate 166
getSendingStartedDate 167
getSendingStatus 168
getSentRecipientCount 169
© Episerver 2018
8 | Table of Contents
© Episerver 2018
Table of Contents | 9
getStatus 170
isClickTrackingEnabled 171
isDefaultRecipientFilterEnabled 172
isMaxRecipientsPercentage 173
isMaxRecipientsRandomOrder 174
isOpenTrackingEnabled 175
pause 176
remove 177
restart 178
resume 179
sendMail 180
sendMails 181
sendTestMail 182
sendTestMail2 183
sendTestMails 185
sendTestMailToAll 186
setAttachmentIds 187
setCharset 188
setClickTrackingEnabled 189
setContent 190
setDefaultRecipientFilterEnabled 191
setDescription 192
setFrom 193
setHeader 194
setMaxMailsPerHour 195
setMaxRecipients 196
setMaxRecipientsPercentage 197
setMimeType 198
setName 199
setOpenTrackingEnabled 200
setProperty 201
setRecipientFilterId 202
setRecipientFilterIds 203
setRecipientListIds 204
setReplyToAddress 205
setReplyToName 206
setSubject 207
start 208
validateContent 209
OptinProcessWebservice 210
createConfirmedOptinProcess 211
createDoubleOptinProcess 212
createSingleOptinProcess 213
getConfirmationMailingId 214
getConfirmationUrl 215
getDescription 216
getIds 217
getName 218
getType 219
setConfirmationMailingId 220
setConfirmationUrl 221
setDescription 222
setName 223
RecipientFilterWebservice 224
Temporary target groups 225
Conditions 225
© Episerver 2018
10 | Table of Contents
© Episerver 2018
Table of Contents | 11
Available operators 225
Attribute values 226
addAndCondition 227
addOrCondition 228
beginConditionModification 229
cancelConditionModification 230
clearConditions 231
commitConditionModification 232
create 233
createTemporary 234
getColumnNames 235
getCount 236
getDataSet 237
getDataSetFlat 238
getDescription 239
getIds 240
getName 241
isInUse 242
isTemporary 243
setDescription 244
setName 245
RecipientListWebservice 246
copy 247
getAllIds 248
getAttributeNames 249
getColumnNames 250
getCount 251
getDataSet 252
getDataSetFlat 253
getDescription 254
getName 255
isTestRecipientList 256
setDescription 257
setName 258
setTestRecipientList 259
RecipientWebservice 260
Deprecated methods 261
Attribute values 261
add 262
add2 263
addAll 265
addAll2 266
addAll2Flat 267
addAll3 268
addAll3Flat 270
changeRecipientId 272
changeRecipientId2 273
clear 274
contains 275
containsMultiple 276
containsValid 277
containsValidMultiple 278
createTrackingOptOut 279
deleteTrackingOptOut 280
getAll 281
getAllAdvanced 282
© Episerver 2018
12 | Table of Contents
© Episerver 2018
Table of Contents | 13
getAllAdvancedFlat 283
getAllFlat 284
getAttributes 285
getCount 286
getDistinctValues 287
getDistinctValuesCount 288
getDistinctValuesCountFlat 289
remove 290
removeAll 291
removeBlacklisted 292
removeBounced 293
removeNotOptined 294
removeUnsubscribed 295
setAttributes 296
setAttributesByFilter 297
setAttributesInBatch 298
setAttributesInBatchFlat 299
ResponseWebservice 300
Deprecated methods 300
Response categories 300
getAllRecipientResponseCounts 301
getAllRecipientResponseCounts2 302
getBounceCounter 303
getBounceCounterThreshold 304
getMailingResponseCount 305
getRecipientResponseCount 306
getRecipientResponseCount2 307
isBounceCounterThresholdExeeded 308
resetBounceCounter 309
SessionWebservice 310
Locale-based information 310
Media type 310
getLocale 311
getMediaType 312
login 313
logout 314
setLocale 315
setMediaType 316
Soap11Webservice 317
getVersion 318
SplitMailingWebservice 319
Mailing type 319
MIME type 319
Selection criteria 319
addSplit 321
getSplitChildIds 322
getSplitMasterId 323
removeSplit 324
setFinalSplitSelectionCriterion 325
setMasterStartDelay 326
UnsubscribeWebservice 327
Unsubscribe list 327
Internal processing of unsubscribes 327
add 328
addAll 329
addByMailId 330
© Episerver 2018
14 | Table of Contents
© Episerver 2018
Table of Contents | 15
contains 331
containsAll 332
containsAllByRecipientList 333
containsByRecipientList 334
getCount 335
remove 336
removeAll 337
removeAllByRecipientList 338
removeByRecipientList 339
© Episerver 2018
SOAP API | 16
SOAP APIEpiserver Campaign provides the SOAP API, which can be used to execute virtually any function from a remote system. The SOAP API is compatible with the most common platforms (Java, PHP, .NET) and thus can be used with any kind of data processing system.
Download here the Java client API, the PHP client API and the WSDLs for the SOAP API.
The WSDLs for the coupon code system can be found under the following links:
Coupon Code (download xml in a zip file).
Coupon Block (download xml in a zip file).
What can I do with the SOAP API?You can execute virtually any function of Episerver Campaign from a remote system without using the web browser and logging into your client manually. The interface is bi-directional, which means that you can send and receive data from/to Episerver Campaign. The following processes can be executed with the SOAP API:
Create recipient lists and add new recipients
Edit recipient lists and recipients
Update and synchronize blacklists
Create temporary and permanent target groups
Create mailings, add content and dispatch mailings
Bounce management
Modifications since the previous version
New methods
The method getOutBounces has been added. See the Episerver Campaign SOAP API document.
© Episerver 2018
17 | Introduction to the SOAP API
Introduction to the SOAP API
Section Description
Information regarding general use Information regarding general use
SOAP 1.1 compatibility SOAP 1.1 compatibility
Basic usage Basic usage
Native APIs Native APIs
Webservice overview Webservice overview
Information regarding general useDue to security reasons, SOAP API users will only be given access to the services and operations needed for your purposes. Tell us which services and operations you want to use.
For every SOAP API user we set up an IP address or IP address range from which the interface can be accessed. This setting reduces the risk of unauthorized access using the SOAP API. Tell us the IP address or IP address range you want to allow.
You can as well restrict the access to the API server by using a firewall. If you wish to do so, we recommend to use DNS-based filter rules or the subnet 193.169.180.0/23.
Before starting the implementation of the SOAP API on your system, read the following carefully: The correct functionality of the SOAP API can only be guaranteed if the automatically sent exceptions and return values are continuously analysed by your IT department and necessary adjustments resulting from these are carried out on your system and/or website.
Give us a contact person we can inform about extensions, updates and troubleshooting. The following data are required:
First name
Last name
Email address
Telephone number
© Episerver 2018
Introduction to the SOAP API | 18
SOAP 1.1 compatibilityThe current version of the SOAP API has been developed to provide great compatibility with various SOAP-implementations. For this reason it uses only simple element types to make sure that the web service can be used with as many SOAP implementations as possible. Additionally, this version of the SOAP API is compatible with .NET. Methods that return or use multidimensional arrays can be replaced by replacement methods to achieve the same result. These replacement methods are used as a workaround solution for .NET users. Methods using multidimensional arrays are more intuitive to handle.
Type conversion and formatting rules
In some cases values are mapped as strings. The following rules apply:
int/long: decimal representation of the number without any decoration. Example:
10000
or
5
float/double: use the point ('.') as decimal sign. Example:
12345.67
date/datetime: formatted according to ISO8601: YYYY-MM-DD'T'HH:MM:SS+hh:mm Example:
2001-08-21T18:52:05+02:00
(+02:00 stands for CE(S)T)
Batch call limits
Some functions take arrays as arguments and thus bulk process multiple elements (example:
Recipient.addAll3()
). The number of elements allowed per call is restricted to 1000.
Basic usageBasically you need three things to be able to use the web services:
A functional SOAP 1.1 client environment.
A valid Episerver Campaign account that has the permission to access the web service (provided by Episerver).
The client ID (provided by Episerver).
© Episerver 2018
19 | Introduction to the SOAP API
Validity of a session
A session is always valid for 20 minutes, i.e. after this time the so-called sessionId becomes invalid and you must request a new one. To do so, use the login method.
Web service endpoints
Currently all web services are deployed RPC-encoded only. Each web service is deployed under an URL of the form. We recommend, to always use an encrypted SSL connection using the HTTPS protocol:
http://api.broadmail.de/soap11/Rpc[WebserviceName]
https://api.broadmail.de/soap11/Rpc[WebserviceName]
The term [WebserviceName] has to be replaced by the name of the actual web service without the term webservice. For example, the SessionWebservice is deployed under the URL http://api.broadmail.de/soap11/RpcSession.
Coupon system web services
The WSDLs for the CouponBlock and CouponCode web service of the coupon system can be found under the following links:
https://api.broadmail.de/soap11/addons/CouponCode?wsdl
https://api.broadmail.de/soap11/addons/CouponBlock?wsdl
These web services are not part of the standard distribution of our SOAP API. They must be activated separately. To do this, you need the Episerver Campaign add-on coupon system. See the EpiserverCampaign user guide for information about the coupon system. Contact customer support if you want to use this function.
Error messages
Throughout the whole API errors are reported as exceptions (SOAP faults). So you should implement some kind of error handling on the client side.
Usage example
Here is a short example (written in pseudo Java syntax) that illustrates the process flow of a web service session:
// Login to the client 1234
// The session ID obtained by this call is needed to call any other webservice's
method.
// A session is valid for 20 minutes. String sessionID = SessionWebservice.login
(1234, "myusername", "mypassword");
// Call some methods. In this example we retrieve the ids of all regular mailings
© Episerver 2018
Introduction to the SOAP API | 20
available. long[] mailingIds = MailingWebservice.getIds(sessionId, "regular");
// Now do something with the mailingIds ...
// Finally logout SessionWebservice.logout (sessionId);
Native APIsTo make the handling of Episerver Campaign web services even easier, Episerver provides native APIs that encapsulate all of the web service functionality. Contact customer support for further details.
Java
The native Java API is based on Axis (tested with version 1.2) and is accessed via a factory class.
The following libraries must be embedded:
optivo-broadmail-api*.jar (this library can be found in this ZIP file)
axis*
axis-jaxrpc*
org.apache.commons
commons-discovery*
commons-logging*
javax.mail*
wsdl4j*
Example
import broadmail.api.soapll.*;
import broadmail.api.soapll.factory.*;
try {
// Obtain a factory
WebserviceFactory factory = WebserviceFactory.newInstance();
// From that factory all webservice interfaces are available
// As an example we will perform a login and a blacklist check
SessionWebservice sessionWebservice = factory.newSessionWebservice();
String session = sessionWebservice.login(1234, "user", "pass");
BlacklistWebservice blacklistWebservice = factory.newBlacklistWebservice();
boolean isBlacklisted = blacklistWebservice.isBlacklisted(session, "test@-
optivo.de");
sessionWebservice.logout(session);
} catch (WebserviceException exception) {
//An error occured
exception.print.StackTrace();
}
© Episerver 2018
21 | Introduction to the SOAP API
PHP
The webservice-API can be queried directly and easily using the native PHP SOAP interface (from PHP 5.0.1 and newer). Whenever the API expects binary data (java.langByte[]), these must be submitted as a string. The string must represent the binary data. To read the binary data of a file, you may use the operation file_get_contents(). The following example shows the login and adding of an email address to a recipient list:
You can find the below mentioned mandatorId (i.e. the client ID) by performing the following the steps:
1. Open the start menu and in the Administration menu, click API overview. The API Overview window opens.
2. Switch to the SOAP API tab. Beneath the Client ID heading, you can find the client ID of the client you are currently working in.
Sample Script for the native SOAP interface (from PHP 5.0.1):
$client = new SoapClient('http://api.broadmail.de/soap11/RpcSession?wsdl');
$webservice = new SoapClient('http://ap-
i.broadmail.de/soap11/RpcRecipient?wsdl');
$session = $client->login($mandatorId, $username, $password);
$operation = $webservice->add2($session, $recipientListId, $optinProcessId, $re-
cipientId, $emailAddress, $attributeNames, $attributeValues);
$session = $client->logout($session);
echo '<pre>';
var_dump($operation);
echo '</pre>';
?>
Libraries for older PHP versions: If you are using an older PHP version (prior version 5.0.1), we provide a library and samples in the archive file of this documentation to embed in your PHP. For PHP version 5.0.1 and newer this library is deprecated, since it comes with a native SOAP client.
The following example shows the login and query of the blacklist status of an email address:
Sample script for NuSOAP Interface for older PHP Versions:
© Episerver 2018
Introduction to the SOAP API | 22
// Include the library
require_once('broadmail_rpc.php');
// Create a new factory and login.
// 1234 is the mandatorId, "user" and "pass" are credentials
$factory = new BroadmailRpcFactory(1234, 'user', 'pass');
// This is how error handling works. You should check the result of the getError()
method
// after each(!) call to a webservice method
if ($factory->getError()) {
die('Error during login. Details: '.$factory->getError());
}
// Now create a BlacklistWebservice instance ans a call method.
$blacklistWs = $factory->newBlacklistWebservice();
$isBlacklisted = $blacklistWs->isBlacklisted('[email protected]');
if ($blacklistWs->getError()) {
die ('Error while checking blacklist status. Details: '.$factory->getError())
}
// Don't forget to log out.
$factory->logout();
// Print out the result.
if ($isBlacklisted) {
echo 'The emailadress "[email protected]" is blacklisted!');
}
.NET
If you want to use the SOAP-API with a .NET framework, all methods that require to submit a multidimensional array or return such arrays must be replaced by replacement methods. The reason for this is that .NET does not support processing of multidimensional arrays.
Example:
To query several recipients in the RecipientWebservice, the default method getAll would return a multidimensional array with the following pattern:
[
[email1, firstName1, lastName1]
[email2, firstName2, lastName2]
[email3, firstName3, lastName3]
]
© Episerver 2018
23 | Introduction to the SOAP API
This array cannot be processed by the .NET framework. Use the replacement method getAllFlat instead. The returned array in this method has been flattened to the following pattern:
[email1, firstName1, lastName1, email2, firstName2, lastName2, email3, firstName3,
lastName3]
To process this array, the fields must be indexed to allocate the respective fields to one recipient.
Webservice overviewAttachmentWebservice. Query, create or update attachments.
BlacklistWebservice. Query, update or remove blacklist entries as well as determine whether a given email address is blacklisted.
ClosedLoopWebservice. Manage closed loop processes
MailIdWebservice. This web service provides access to detailed information about a Mail-ID.
MailingReportingWebservice. Query statistics for a mailing.
MailingWebservice. Query, create, update, remove or start mailings as well as send emails on demand.
OptinProcessWebservice. This web service provides methods to access the opt in processes.
RecipientFilterWebservice. Query, create or update recipient filters.
RecipientListWebservice. Query or update recipient lists.
RecipientWebservice. Query, add, update and remove recipients.
ResponseWebservice. Query email responses on a mailing or recipient basis, reset the bounce counter.
SessionWebservice. Session handling (login, logout etc.) for all web services.
Soap11Webservice. Basic interface for all web services.
UnsubscribeWebservice. Query, update or delete unsubscribes.
© Episerver 2018
AttachmentWebservice | 24
AttachmentWebserviceWith this web service you can query, create or update attachments.
Method Description
create Creates an attachment.
getAllIds Queries the IDs of all available attachments.
getColumnNames Queries the column names of each attachment.
getContent Queries the content of an attachment.
getCount Counts all available attachments.
getDataSet Queries the data of each attachment.
getDataSetFlat Queries the values of each attachment.
getFilename Queries the file name of an attachment.
getMimeType Queries the MIME type of an attachment.
getName Queries the name of an attachment.
getSize Queries the size of an attachment.
setContent Defines the content of an attachment.
setFilename Defines the file name of an attachment.
setMimeType Defines the MIME type of an attachment.
setName Defines the name of an attachment.
© Episerver 2018
25 | AttachmentWebservice
createCreates an attachment.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
Name String Internal name of the attachment to be added.
mimeType String Corresponding MIME type of the file. Example: image/gif or text/comma-separated-values.
filename String File name to be used for the attachment.
content byte[ ] Content of the attachment (in binary form).
Return values. ID of the created attachment.
Code Structure
long create(String sessionId, String name, String mimeType, String filename, byte[]
content)
© Episerver 2018
AttachmentWebservice | 26
getAllIdsQueries the IDs of all available attachments.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. IDs of all available attachments.
Code Structure:
long[] getAllIds(string sessionId)
© Episerver 2018
27 | AttachmentWebservice
getColumnNamesQueries the column names of each attachment.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Column names of the attachments. The columns and the column order are subject to change.
Code Structure
String[] getColumnNames(String sessionId)
© Episerver 2018
AttachmentWebservice | 28
getContentQueries the content of an attachment.
Type. byte[ ]
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
Return values. Content of the attachment.
Code Structure
byte[] getContent(String sessionId, long attachmentId)
© Episerver 2018
29 | AttachmentWebservice
getCountCounts all available attachments.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
Return values. Number of all available attachments.
Code Structure
int getCount(String sessionId)
© Episerver 2018
AttachmentWebservice | 30
getDataSetQueries the data of each attachment. This method can be replaced by the .NET replacement methods getColumnNames and getDataSetFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. A data set where the first row contains the column names and the following the values for each attachment. The columns and the column order of the data set are subject to change.
Code Structure
String[][] getDataSet(String sessionId)
© Episerver 2018
31 | AttachmentWebservice
getDataSetFlatQueries the values of each attachment.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Values of the attachments. To assign the returned values to different attachments, you can use the method getColumnNames. With this method you can determine the number of values of an attachment.
Code Structure
String[] getDataSetFlat(String sessionId)
© Episerver 2018
AttachmentWebservice | 32
getFilenameQueries the file name of an attachment.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
Return values. File name of the attachment.
Code Structure
String getFilename(String sessionId, long attachmentId)
© Episerver 2018
33 | AttachmentWebservice
getMimeTypeQueries the MIME type of an attachment.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
Return values. MIME type of the attachment.
Code Structure
String getMimeType(String sessionId, long attachmentId)
© Episerver 2018
AttachmentWebservice | 34
getNameQueries the name of an attachment.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
Return values. Name of the attachment.
Code Structure
String getName(string sessionId, long attachmentId)
© Episerver 2018
35 | AttachmentWebservice
getSizeQueries the size of an attachment.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
Return values. Size of the attachment.
Code Structure
long getSize(String sessionId, long attachmentId)
© Episerver 2018
AttachmentWebservice | 36
setContentDefines the content of an attachment.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
content byte[ ] Content of the attachment (in binary form).
Return values. -
Code structure
void setContent(String sessionId, long attachmentId, byte[] content)
© Episerver 2018
37 | AttachmentWebservice
setFilenameDefines the file name of an attachment.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
filename String File name to be used for the attachment.
Return values. -
Code structure
void setFilename(String sessionId, long attachmentId, String filename)
© Episerver 2018
AttachmentWebservice | 38
setMimeTypeDefines the MIME type of an attachment.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
mimeType String Corresponding MIME type of the file. Example: image/gif or text/comma-separated-values.
Return values. -
Code structure
void setMimeType(String sessionId, long attachmentId, String mimeType)
© Episerver 2018
39 | AttachmentWebservice
setNameDefines the name of an attachment.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
attachmentId long ID of the attachment
Name String Internal name of the attachment
Return values. -
Code structure
void setName(String sessionId, long attachmentId, String name)
© Episerver 2018
BlacklistWebservice | 40
BlacklistWebserviceWith this web service you can query, update or remove blacklist entries as well as determine whether a given email address is blacklisted.
Method Description
add Adds an entry to the blacklist.
addAll Adds multiple entries to the blacklist.
areBlacklisted Queries whether mutiple email addresses are blacklisted.
contains Queries whether an entry is contained in the blacklist.
containsAll Queries whether multiple entries are contained in the blacklist.
getAllAdvanced Queries all blacklist entries.
getAllAdvancedFlat Queries all blacklist entries.
getAllEntries Queries all blacklist entries.
getColumnNames Queries the column names of each blacklist entry.
getCount Counts all available blacklist entries.
getCreated Queries the creation date of a blacklist entry.
getDataSet Queries the data of each blacklist entry.
getDataSetFlat Queries the values of each blacklist entry.
getFirstMatchingEntry Queries the first blacklist entry that matches an email address.
getReason Queries the reason for a blacklist entry.
isBlacklisted Queries whether an email address is blacklisted.
remove Deletes an entry from the blacklist.
removeAll Deletes multiple entries from the blacklist.
Entries vs. email addresses
Note that there is a difference between a blacklist entry and a blacklisted email address. Since blacklisting can be done using wildcards (see next section) a blacklist entry may blacklist several email
© Episerver 2018
41 | BlacklistWebservice
addresses. To query the first matching blacklist entry for an email address use the getFirstMatchingEntry method.
A single email address may be blacklisted by several blacklist entries. So if you like to make sure that an email address is not blacklisted any more the methods getFirstMatchingEntry and remove have to be invoked until getFirstMatchingEntry returns NULL.
Wildcards
An entry can contain the following wildcards:
An * (asterisk) represents one or more characters.
A ? represents a single character.
Examples
*@example.com: all email addresses of the domain example.com.
[email protected]: [email protected] or [email protected] etc.
© Episerver 2018
BlacklistWebservice | 42
addAdds an entry to the blacklist.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
entry String Entry (for example, an email address) to be blacklisted (can contain wildcards like ? or *).
reason String Reason for this blacklist entry (optional).
Return values. -
Code structure
void add(String sessionId, String entry, String reason)
© Episerver 2018
43 | BlacklistWebservice
addAllAdds multiple entries to the blacklist. See also: add.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
entry String[ ]
Entries (for example, email addresses) to be blacklisted (can contain wildcards like ? or *).
reason String[ ]
Reasons for each blacklist entry (optional).
Return values. -
Code structure
void addAll(String sessionId, String[] entries, String[] reasons)
© Episerver 2018
BlacklistWebservice | 44
areBlacklistedQueries whether mutiple email addresses are blacklisted. This method considers both exact matches (e.g. [email protected]), as well as wildcards (e.g. *@example.com). See also: isBlacklisted.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
emailAddresses String[ ] Email addresses to be queried
Return values. For each entry:
true: Email address is contained in the blacklist.
false: Email address is not contained in the blacklist.
Code Structure
boolean[] areBlacklisted(String sessionId, String[] emailAddresses)
© Episerver 2018
45 | BlacklistWebservice
containsQueries whether an entry is contained in the blacklist. This method queries only exact matches. If, for example, *@example.com is contained in the blacklist and you query [email protected] using this method, false is returned. If you query @example.com, true is returned. To a query both exact matches as well as wildcards, use the method isBlacklisted.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
entry String Entry to be queried
Return values
true: Entry is contained in the blacklist.
false: Entry is not contained in the blacklist.
Code Structure
boolean contains(String sessionId, String entry)
© Episerver 2018
BlacklistWebservice | 46
containsAllQueries whether multiple entries are contained in the blacklist. See also: contains. This method queries only exact matches. If, for example, *@example.com is contained in the blacklist and you query [email protected] using this method, false is returned. If you query @example.com, true is returned. To a query both exact matches as well as wildcards, use the method areBlacklisted.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
entries String[ ] Entries to be queried
Return values. For each entry:
true: Entry is contained in the blacklist.
false: Entry is not contained in the blacklist.
Code Structure
boolean[] containsAll(String sessionId, String[] entries)
© Episerver 2018
47 | BlacklistWebservice
getAllAdvancedQueries all blacklist entries. The selection can be limited. Furthermore the result can be sorted and paged. This method can be replaced by the .NET replacement method getAllAdvancedFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
pageStart int Number of the first blacklist entry to be returned.
pageSize int Total number of blacklist entries to be returned.
Return values. All blacklist entries.
Code Structure
String[][] getAllAdvanced(String sessionId, int pageStart, int pageSize)
© Episerver 2018
BlacklistWebservice | 48
getAllAdvancedFlatQueries all blacklist entries. The selection can be limited. Furthermore the result can be sorted and paged.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
pageStart int Number of the first blacklist entry to be returned.
pageSize int Total number of blacklist entries to be returned.
Return values. All blacklist entries.
Code Structure
String[] getAllAdvancedFlat(String sessionId, int pageStart, int pageSize)
© Episerver 2018
49 | BlacklistWebservice
getAllEntriesQueries all blacklist entries.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. All blacklist entries.
Code Structure
String[] getAllEntries(String sessionId)
© Episerver 2018
BlacklistWebservice | 50
getColumnNamesQueries the column names of each blacklist entry.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Column names of the blacklist entries. The columns and the column order are subject to change.
Code Structure
String[] getColumnNames(String sessionId)
© Episerver 2018
51 | BlacklistWebservice
getCountCounts all available blacklist entries.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
Return values. Number of all available blacklist entries.
Code Structure
int getCount(String sessionId)
© Episerver 2018
BlacklistWebservice | 52
getCreatedQueries the creation date of a blacklist entry.
Type. Date
Parameters
Name Type Value
sessionId String ID of the session
entry String Entry (for example, an email address) whose creation date is to be queried (can contain wildcards like ? or *).
Return values. Creation date of a blacklist entry.
Code Structure
Date getCreated(String sessionId, String entry)
© Episerver 2018
53 | BlacklistWebservice
getDataSetQueries the data of each blacklist entry. This method can be replaced by the .NET replacement methods getColumnNames and getDataSetFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. A data set where the first row contains the column names and the following the values for each blacklist entry. The columns and the column order of the data set are subject to change.
Code Structure
String[][] getDataSet(String sessionId)
© Episerver 2018
BlacklistWebservice | 54
getDataSetFlatQueries the values of each blacklist entry.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Values of the blacklist entries. To assign the returned values to different blacklist entries, you can use the method getColumnNames. With this method you can determine the number of values of a blacklist entry.
Code Structure
String[] getDataSetFlat(String sessionId)
© Episerver 2018
55 | BlacklistWebservice
getFirstMatchingEntryQueries the first blacklist entry that matches an email address.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
emailAddress String Email addresses to be queried
Return values. First blacklist entry that matches the email address.
Code Structure
String getFirstMatchingEntry(String sessionId, String emailAddress)
© Episerver 2018
BlacklistWebservice | 56
getReasonQueries the reason for a blacklist entry.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
entry String Entry (for example, an email address) whose reason is to be queried (can contain wildcards like ? or *).
Return values. Reason for a blacklist entry.
Code Structure
String getReason(String sessionId, String entry)
© Episerver 2018
57 | BlacklistWebservice
isBlacklistedQueries whether an email address is blacklisted. This method considers both exact matches (e.g. [email protected]), as well as wildcards (e.g. *@example.com).
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
emailAddress String Email address to be queried
Return values
true: Email address is contained in the blacklist.
false: Email address is not contained in the blacklist.
Code Structure
boolean isBlacklisted(String sessionId, String emailAddress)
© Episerver 2018
BlacklistWebservice | 58
removeDeletes an entry from the blacklist.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
entry String Entry (for example, an email address) to be deleted (can contain wildcards like ? or *).
Return values. -
Code structure
void remove(String sessionId, String entry)
© Episerver 2018
59 | BlacklistWebservice
removeAllDeletes multiple entries from the blacklist. See also: remove.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
entries String[ ]
Entries (for example, email addresses) to be deleted (can contain wildcards like ? or *).
Return values. -
Code structure
void removeAll(String sessionId, String[] entries)
© Episerver 2018
ClosedLoopWebservice | 60
ClosedLoopWebserviceThis web service provides methods for the closed loop process. To use this web service you must have the Closed Loop Interface and should be familiar with the closed loop process. See the Episerver Campaign user guide for information about the Closed Loop interface.
The closed loop web service is not compatible with .NET.
Method Description
getClicks Queries recipients that clicked a link in a mailing and the time they clicked the link.
getCurrentTime Queries the current server time.
getLinks Queries the tracking links of sent mailings.
getMailingIdByWaveId Queries the ID of the sent mailing by means of the waveId.
getMailings Queries sent mailings and the appropriate start and end time.
getMailingUnsubscribes Queries recipients that unsubscribed and the time they unsubscribed with a reference to a mailing.
getOpens Queries recipients that opened a mailing and the time they opened the mailing.
getOutbounces Queries recipients that exceeded the bounce limit (i.e. created too many hard or soft bounces).
getRecipients Queries recipients and the mailings they received.
getResponses Queries recipients that replied to a mailing.
getUnsubscribes Queries recipients that unsubscribed and the time they unsubscribed without any reference to a mailing.
importFinishedAndScheduleMailing Schedules the dispatch of the mailing for imported recipients.
importRecipients Imports recipients for a closed loop dispatch.
prepareNewWave Starts the closed loop process for a mailing.
© Episerver 2018
61 | ClosedLoopWebservice
© Episerver 2018
ClosedLoopWebservice | 62
getClicksQueries recipients that clicked a link in a mailing and the time they clicked the link. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried.
until long The time (in milliseconds) until which the data is queried.
startRow int The index number (starting with 0) of the first row to be selected.
numberOfRows int The maximum number of rows to be returned.
Return values. Recipients that clicked a link in a mailing and the time they clicked the link.
Code Structure
String[][] getClicks(String sessionId, long since, long until, int startRow, int num-
berOfRows)
© Episerver 2018
63 | ClosedLoopWebservice
getCurrentTimeQueries the current Episerver Campaign server time. This is useful for synchronizing the export of statistical response data.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
Return values. The current Episerver Campaign server time in milliseconds.
Code Structure
long getCurrentTime(String sessionId)
© Episerver 2018
ClosedLoopWebservice | 64
getCurrentTimeQueries the current Episerver Campaign server time. This is useful for synchronizing the export of statistical response data.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
Return values. The current Episerver Campaign server time in milliseconds.
Code Structure
long getCurrentTime(String sessionId)
© Episerver 2018
65 | ClosedLoopWebservice
getLinksQueries the tracking links of sent mailings. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. Tracking links of sent mailings.
Code Structure
String[][] getLinks(String sessionId, long since, long until, int startRow, int num-
berOfRows)
© Episerver 2018
ClosedLoopWebservice | 66
getMailingIdByWaveIdQueries the ID of the sent mailing by means of the waveId. The waveId uniquely identifies the mailing sent with this closed loop process.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
waveId long ID returned by prepareNewWave
Return values. ID of the sent mailing. Returns 0 if no mailing has yet been sent for the specified waveId.
Code Structure
long getMailingIdByWaveId(String sessionId, long waveId)
© Episerver 2018
67 | ClosedLoopWebservice
getMailingsQueries sent mailings and the appropriate start and end time. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. Sent mailings and the appropriate start and end time.
Code Structure
String[][] getMailings(String sessionId, long since, long until, int startRow, int
numberOfRows)
© Episerver 2018
ClosedLoopWebservice | 68
getMailingUnsubscribesQueries recipients that unsubscribed and the time they unsubscribed with a reference to a mailing. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. Recipients that unsubscribed, the corresponding mailing ID and the time they unsubscribed.
Code Structure
String[][] getMailingUnsubscribes(String sessionId, long since, long until, int
startRow, int numberOfRows)
© Episerver 2018
69 | ClosedLoopWebservice
getOpensQueries recipients that opened a mailing and the time they opened the mailing. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. Recipients that opened a mailing and the time they opened the mailing.
Code Structure
String[][] getOpens(String sessionId, long since, long until, int startRow, int num-
berOfRows)
© Episerver 2018
ClosedLoopWebservice | 70
getOutBouncesQueries recipients that exceeded the bounce limit (i.e. created too many hard or soft bounces). To synchronize properly, use the method getCurrentTime.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. IDs of recipients that exceeded the bounce limit
Code Structure
String[][] getOutBounces(String sessionId, long since, long until, int startRow, int
numberOfRows)
© Episerver 2018
71 | ClosedLoopWebservice
getRecipientsQueries recipients and the mailings they received. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. Recipients and the mailings they received.
Code Structure
String[][] getRecipients(String sessionId, long since, long until, int startRow, int
numberOfRows)
© Episerver 2018
ClosedLoopWebservice | 72
getResponsesQuery of all responses/returned emails: soft bounces, hard bounces, autoresponder and direct replies.
To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. All recipients who have generated responses/returned emails, including the corresponding category (also refer to section Returned emails in chapter Closed Loop Interface).
Code Structure
String[][] getResponses(String sessionId, long since, long until, int startRow, int
numberOfRows)
© Episerver 2018
73 | ClosedLoopWebservice
getUnsubscribesQueries recipients that unsubscribed and the time they unsubscribed without any reference to a mailing. To synchronize properly, use the method getCurrentTime.
Remarks
1. Old data may not be available any more. By default, mailings older than 14 days or data that is derived from mailings older than 14 days are not contained in the export of statistical data.
2. The maximum number of data sets that can be retrieved per call is 1000.
Type. String[ ][ ]
Parameters
Name Type Value
sessionId String ID of the session
since long The time (in milliseconds) from which the data is queried
until long The time (in milliseconds) until which the data is queried
startRow int The index number (starting with 0) of the first row to be selected
numberOfRows int The maximum number of rows to be returned
Return values. Recipients that unsubscribed and the time they unsubscribed
Code Structure
String[][] getUnsubscribes(String sessionId, long since, long until, int startRow,
int numberOfRows)
© Episerver 2018
ClosedLoopWebservice | 74
importFinishedAndScheduleMailingSchedules the dispatch of the mailing for imported recipients. After calling this method, no more recipients can be imported for this closed loop process. The scheduled mailing is sent to all recipients that have been imported before (see importRecipients). This process may take a while to finish.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
waveId long ID returned by prepareNewWave
Return values. –
Code Structure
void importFinishedAndScheduleMailing(String sessionId, long waveId)
© Episerver 2018
75 | ClosedLoopWebservice
importRecipientsImports recipients for the mailing (identified by the waveId) for which the closed loop process has been started (see prepareNewWave).
This method can be called with a batch of a maximum of 1000 recipients.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
waveId long ID returned by prepareNewWave
recipientFieldNames String[&bnsp;]
The names of the recipient list fields of the recipient list.
recipientFieldValues String[ ][ ] The values of the above mentioned recipient list fields, i.e. the actual recipient data.
Return values. –
Code Structure
void importRecipients(String sessionId, long waveId, String[] recipientFieldNames,
String[][] recipientFieldValues)
© Episerver 2018
ClosedLoopWebservice | 76
prepareNewWaveStarts the closed loop process for a mailing.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
templateMailingId long Mailing ID. This ID can be found in the mailing overview or can be retrieved by calling the getIds or getIdsInStatus methods. This ID is also returned when creating a new mailing (see create).
Return values. waveId – This ID identifies the closed loop process and is used by other methods of this web service.
Code structure:
long prepareNewWave(String sessionId, long templateMailingId)
© Episerver 2018
77 | CouponCodeWebservice
CouponCodeWebserviceWith the web service CouponCodeWebservice you can create, query and delete.
The WSDLs for the coupon code system can be found under the following links:
https://api.broadmail.de/soap11/addons/CouponCode?wsdl
https://api.broadmail.de/soap11/addons/CouponBlock?wsdl
The following methods are available in this web service:
Method Description
add adds a single coupon code to a static block
addAll adds multiple coupon codes to a block
getAllAssigned queries coupon codes assigned to a mailing
getAllUnAssigned queries all available coupon codes of a block
getAssignedMailing queries the mailing ID a code has been assigned to
getAssignedRecipientId get the recipient ID a code has been assigned to
getByMailingAndRecipientId queries a coupon code by mailing and recipient ids
getCreated queries the creation date of a coupon code
getModified queries the modification date of a coupon code
isAssigned queries whether a coupon code has been assigned to a recipient
isUsed queries whether a recipient has redeemed a coupon code
markAsUsed invalidates a coupon code
remove deletes a single coupon code
removeAll deletes multiple coupon codes
To use this web service, you must have the Episerver Campaign add-on coupon system installed. See the Episerver Campaign user guide for information about the coupon system.
© Episerver 2018
CouponCodeWebservice | 78
addThis method adds a coupon code to a coupon block. This method is only valid for static coupon blocks. Existing codes will not be deleted.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String The coupon code you want to add (e.g. 4LFSRKT-4LFSV67-SRTHMR)
Return values
true: coupon code was successfully added
false: coupon code could not be added
Code Structure
boolean add(String sessionId, long blockId, String code)
© Episerver 2018
79 | CouponCodeWebservice
addAllThis method adds multiple coupon codes to a coupon block. With each call of this method, you can add up to 1000 codes. This method is only valid for static coupon blocks. The contained coupon codes are not deleted.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
codes String[ ] The coupon codes you want to add
Return values. For each submitted code:
true: coupon code was successfully added
false: coupon code could not be added
Code Structure
boolean[] addAll(String sessionId, long blockId, String[] codes)
© Episerver 2018
CouponCodeWebservice | 80
getAllAssignedThis method queries all coupon codes of a coupon block that have been used for a mailing. A maximum of 1,000 entries can be returned per query.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
mailingId long ID of the mailing
startEntry integer (optional) Number of the entry to start with
numberOfEntries integer (optional) Maximum number of entries to return
Return values. All coupon codes used in the queried mailing.
Code Structure
String[] getAllAssigned(String sessionId, long blockId, long mailingId, int
startEntry, int numberOfEntries)
© Episerver 2018
81 | CouponCodeWebservice
getAllUnAssignedThis method queries all available coupon codes of a coupon block. A maximum of 1,000 entries can be returned per query.
Type. string[ ]
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
startEntry integer (optional) Number of the entry to start with
numberOfEntries integer (optional) Maximum number of entries to return
Return values. All available (unassigned) coupon codes in this block
Code Structure
String[] getAllUnAssigned(String sessionId, long blockId, int startEntry, int num-
berOfEntries)
© Episerver 2018
CouponCodeWebservice | 82
getAssignedMailingThis method queries the mailing ID of a used coupon code.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be queried
Return values. The ID of the mailing the code has been assigned to.
Code Structure
long getAssignedMailing(String sessionId, long blockId, String code)
© Episerver 2018
83 | CouponCodeWebservice
getAssignedRecipientIdThis method queries the recipient ID a coupon code is assigned to. Use this method to check whether a coupon code was used by the original recipient (e.g. for non-transferable coupons).
Type. String
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be queried
Return values. Recipient ID of the assigned code (in most cases this is the email address of the recipient)
Code Structure
String getAssignedRecipientId(String sessionId, long blockId, String code)
© Episerver 2018
CouponCodeWebservice | 84
getByMailingAndRecipientIdThis method queries the coupon code of a coupon block on the basis of the mailing ID and recipient ID.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
mailingId String[ ] ID of the mailing
recipientId String[ ] ID of the recipient
Return values. Normally, a coupon code from this block will be returned. If the queried mailing is of the type special, one recipient may have received several codes, though. If the returned array is empty, no coupon code has been assigned to the recipient in the queried mailing.
Code Structure
String[] getByMailingAndRecipientId(String sessionId, long blockId, long mailingId,
String recipientId)
© Episerver 2018
85 | CouponCodeWebservice
getCreatedThis method queries the creation date of a coupon code.
Type. Date
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be queried
Return values. The creation date of the coupon code.
Code Structure
Date getCreated(String sessionId, long blockId, String code)
© Episerver 2018
CouponCodeWebservice | 86
getModifiedThis method queries the date on which the coupon code was last modified.
Type. Date
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be queried
Return values. The last modification date of the coupon code
Code Structure
Date getModified(String sessionId, long blockId, String code)
© Episerver 2018
87 | CouponCodeWebservice
isAssignedThis method queries whether a coupon code has been assigned to a recipient (i.e. is used in a mailing).
Type. boolean
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be queried
Return values
true: coupon code has been assigned to a mailing
false: coupon code has not been assigned to a mailing
Code Structure
boolean isAssigned(String sessionId, long blockId, String code)
© Episerver 2018
CouponCodeWebservice | 88
isUsedThis method queries whether a recipient has used (redeemed) a coupon code.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String The coupon code to be queried
Return values
true: coupon code has been converted
false: coupon code has not been converted
Code Structure
boolean isUsed(String sessionId, long blockId, String code)
© Episerver 2018
89 | CouponCodeWebservice
markAsUsedThis method invalidates a coupon code. Use this method after the recipient has converted the coupon code after a purchase.
Type. void
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be invalidated
Return values. -
Code structure
void markAsUsed(String sessionId, long blockId, String code)
© Episerver 2018
CouponCodeWebservice | 90
removeThis method deletes a single coupon code.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
code String Coupon code to be deleted
Return values
true: (coupon code has been successfully deleted)
false: (coupon code could not be deleted)
Code Structure
boolean remove(String sessionId, long blockId, String code)
© Episerver 2018
91 | CouponCodeWebservice
removeAllThis method deletes multiple coupon codes. A maximum of 1,000 codes can be deleted at one time.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
codes String[ ] Coupon codes to be deleted
Return values. For each submitted code:
true: coupon code has been successfully deleted
false: coupon code could not be deleted
Code Structure
boolean[] removeAll(String sessionId, long blockId, String[] codes)
© Episerver 2018
CouponBlockWebservice | 92
CouponBlockWebserviceWith the web service CouponBlockWebservice you can create coupon blocks, query names and assignments and delete blocks.
The WSDLs for the coupon code system can be found under the following links:
https://api.broadmail.de/soap11/addons/CouponCode?wsdl
https://api.broadmail.de/soap11/addons/CouponBlock?wsdl
The following methods are available in this web service:
Method Description
create create a new coupon block
getAllIds queries IDs of exitsting coupon blocks
getAssignedCodeCount get the number of assigned coupon codes in a block
getAssignedMailings get the IDs of the mailings in which a coupon block was used
getCodeCount get the number of coupon codes of a block
getCreated queries the creation date of a coupon block
getModified queries the modification date of a coupon block
getName get the name of a coupon block
getUnAssignedCodeCount get the number of available codes in a block
remove deletes a coupon block
To use this web service, you must have the Episerver Campaign add-on coupon system installed. See the Episerver Campaign user guide for information about the coupon system.
© Episerver 2018
93 | CouponBlockWebservice
createThis method creates a new coupon block.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
couponSource String Type of the coupon block:
static. Contains static coupon codes. These must be added manually (see add or addAll).generated. Coupon codes are automatically generated when sending the mailing and are unique.ean13barcode. Bar code blocks convert a 13-digit code number into a machine-readable bar code and insert it as a graphic into a mailing.
Name String Name of the coupon block
Return values. The ID of the newly created coupon block
Code Structure
long create(String sessionId, String couponSource, String name)
© Episerver 2018
CouponBlockWebservice | 94
getAllIdsThis method queries the IDs of all existing coupon blocks.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the current session
couponSource String Type of the coupon block:
static. Contains static coupon codes. These must be created manually. See add or addAll.generated. Coupon codes are automatically generated when sending the mailing and are unique.
Return values. The IDs of all existing coupon blocks
Code Structure
long[] getAllIds(String sessionId, String couponSource)
© Episerver 2018
95 | CouponBlockWebservice
getAssignedCodeCountThis method counts the coupon codes of a coupon block that are assigned to an email in any sent mailing.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The number of assigned codes in this block
Code Structure
long getAssignedCodeCount(String sessionId, long blockId)
© Episerver 2018
CouponBlockWebservice | 96
getAssignedMailingsThis method queries the IDs of the mailings in which a coupon block was used.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The IDs of all mailings, in which this block has been used
Code Structure
long[] getAssignedMailings(String sessionId, long blockId)
© Episerver 2018
97 | CouponBlockWebservice
getCodeCountThis method counts the coupon codes contained in a coupon block.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The number of coupon codes in this block
Code Structure
long getCodeCount(String sessionId, long blockId)
© Episerver 2018
CouponBlockWebservice | 98
getCreatedThis method queries the date on which a coupon block was created.
Type. Date
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The creation date of the coupon block
Code Structure
Date getCreated(String sessionId, long blockId)
© Episerver 2018
99 | CouponBlockWebservice
getModifiedThis method queries the date on which a coupon block was last modified.
Type. Date
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The last modification date of the coupon block
Code Structure
Date getModified(String sessionId, long blockId)
© Episerver 2018
CouponBlockWebservice | 100
getNameThis method queries the name of a coupon block.
Type. String
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The name of the coupon block
Code Structure
String getName(String sessionId, long blockId)
© Episerver 2018
101 | CouponBlockWebservice
getUnAssignedCodeCountThis method counts the coupon codes of a coupon block that are still available.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values. The number of available (unassigned) coupon codes in this block
Code Structure
long getUnAssignedCodeCount(String sessionId, long blockId)
© Episerver 2018
CouponBlockWebservice | 102
removeThis method deletes a coupon block. Assigned coupon codes contained therein are not deleted.
Type. Boolean
Parameters
Name Type Value
sessionId String ID of the current session
blockId long ID of the coupon block
Return values
true: Coupon block has been deleted successfully.
false: Coupon block has not been deleted.
Code Structure
boolean remove(String sessionId, long blockId)
© Episerver 2018
103 | FolderWebservice
FolderWebserviceWith this web service you can retrieve information about folders, create folders, move or delete folders. Folders are used in several functions in Episerver Campaign, e.g. to store mailings or target groups in them.
Method Description
assignFolder Assigns a mailing or a target group to a folder.
createFolder Creates a new folder.
getAssignedFolder Queries the ID of a folder to which a mailing or target group has been assigned.
getChildren Queries the IDs of all child folders of a folder.
getFolderName Queries the name of a folder on the basis of its ID.
getParent Queries the ID of a parent folder.
getRootFolders Queries the IDs of the root folders of a specific folder type.
moveFolder Moves an existing folder into another existing folder.
removeFolder Deletes an existing folder.
renameFolder Renames an existing folder.
Folder typeThe parameter folderType is used to indicate, whether a folder contains mailings or target groups, thus, the respective value of this parameter can be mailing or filter.
© Episerver 2018
FolderWebservice | 104
assignFolderAssigns a mailing or a target group to a folder. Assigning a folder is the same as moving a mailing or target group into a folder.
Type. void
Parameters
Name Type Values
sessionId String ID of the current session
mailingOrFilterId long ID of the mailing or target group to be assigned to the folder referenced by the parameter folderId.
folderId long ID of the folder to which the mailing or target group is to be assigned.
folderType String Folder type. The type must correspond to the item being assigned.
Return values. -
Code structure
void assignFolder(String sessionId, long mailingOrFilterId, long folderId, String
folderType)
© Episerver 2018
105 | FolderWebservice
createFolderCreates a new folder.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
folderName String Name of the new folder
parentFolderId long ID of the parent folder or 0 if you want to create a new root directory
folderType String Type of the new folder
Return values. ID of the new folder.
Code Structure
long createFolder(String sessionId, String folderName, long parentFolderId, String
folderType)
© Episerver 2018
FolderWebservice | 106
getAssignedFolderQueries the ID of a folder to which a mailing or target group has been assigned.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
mailingOrFilterId long ID of the mailing or target group
Return values. ID of the assigned folder.
Code Structure
long getAssignedFolder(String sessionId, long mailingOrFilterId)
© Episerver 2018
107 | FolderWebservice
getChildrenQueries the IDs of all child folders of a folder.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the current session
folderId String ID of the queried folder
Return values. IDs of all child folders.
Code Structure
long[] getChildren(String sessionId, long folderId)
© Episerver 2018
FolderWebservice | 108
getFolderNameQueries the name of a folder on the basis of its ID.
Type. String
Parameters
Name Type Wert
sessionId String ID of the current session
folderId String ID of the queried folder
Return values. Name of the folder
Code Structure
String getFolderName(String sessionId, long folderId)
© Episerver 2018
109 | FolderWebservice
getParentQueries the ID of a parent folder.
Type. long
Parameters
Name Type Value
sessionId String ID of the current session
folderId String ID of the queried folder
Return values. ID of the parent folder. If the queried folder does not have a parent folder, -1 is returned.
Code Structure
long getParent(String sessionId, long folderId)
© Episerver 2018
FolderWebservice | 110
getRootFoldersQueries the IDs of the root folders of a specific folder type.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the current session
folderType String Type of the folder
Return values. IDs of the root folders.
Code Structure
long[] getRootFolders(String sessionId, String folderType)
© Episerver 2018
111 | FolderWebservice
moveFolderMoves an existing folder into another existing folder.
Type. void
Parameters
Name Type Value
sessionId String ID of the current session
folderId long ID of the folder to be moved
newParentFolderId long Id of the new root folder
Return values. -
Code structure
void moveFolder(String sessionId, long folderId, long newParentFolderId)
© Episerver 2018
FolderWebservice | 112
removeFolderDeletes an existing folder. The folder to be deleted must be empty.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the current session
folderId long ID of the folder to be deleted
Return values
true: The folder was successfully deleted.
false: The folder could not be deleted (e.g. because it is not empty).
Code Structure
boolean removeFolder(String sessionId, long folderId)
© Episerver 2018
113 | FolderWebservice
renameFolderRenames an existing folder.
Type. void
Parameters
Name Type Value
sessionId String ID of the current session
folderId long ID of the folder to be renamed
foldername String New name of the folder
Return values. -
Code structure
void renameFolder(String sessionId, long folderId, String folderName)
© Episerver 2018
MailIdWebservice | 114
MailIdWebserviceThis web service provides access to detailed information about a mail-ID. A mail-ID identifies a single email that has been sent to a single recipient. It is the aggregation of these three IDs: mailing-ID, recipient list-ID and recipient-ID. The mail-ID can be appended to a tracked link.
Method Description
getMailingId Queries the mailing-ID.
getMandatorId Queries the client's ID.
getRecipientId Queries the ID of a recipient that received an email.
getRecipientListId Queries the ID of the recipient list a recipient belongs to.
Using Mail-IDsTo include the mail-ID into a tracking link you just have to use the special field function {bmMailId}.
Example:
http://www.example.com/mypage.php?myId={bmMailId}So within "mypage.php" the para-
meter "myId" contains the mail-ID.
© Episerver 2018
115 | MailIdWebservice
getMailingIdQueries the mailing-ID (parameter mailingId).
Prerequisite: The mailing must have been sent. Only then a mail-ID is created.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
mailId String Mail-ID
Return values. Mailing-ID of the mailing.
Code Structure
long getMailingId(String sessionId, String mailId)
© Episerver 2018
MailIdWebservice | 116
getMandatorIdQueries the client's ID. Throws an exception if the current logged in user has no permission for the client the mail-ID belongs to.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
mailId String Mail-ID
Return values. ID of the client.
Code Structure
long getMandatorId(String sessionId, String mailId)
© Episerver 2018
117 | MailIdWebservice
getRecipientIdQueries the ID of a recipient that received an email.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailId String Mail-ID
Return values. ID of the recipient.
Code Structure
String getRecipientId(String sessionId, String mailId)
© Episerver 2018
MailIdWebservice | 118
getRecipientListIdQueries the ID of the recipient list a recipient belongs to.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
mailId String Mail-ID
Return values. ID of the recipient list.
Code Structure
long getRecipientListId(String sessionId, String mailId)
© Episerver 2018
119 | MailingReportingWebservice
MailingReportingWebserviceWith this web service you can query statistical values for a mailing.
Method Description
getClickCount Counts the clicks of a mailing.
getClickCountByUrl Counts the clicks for each of the given URLs.
getFailedRecipientCount Counts the recipients that have been skipped during dispatch.
getLinkNames Queries the names of all tracking links that are used in a mailing.
getLinkUrls Queries the URLs of all tracking links that are used in a mailing.
getOpenCount Counts the opens of a mailing.
getOverallRecipientCount Counts the recipients to whom a mailing was sent or tried to send.
getResponseCount Counts the responses generated for a mailing.
getSentRecipientCount Counts the recipients to whom a mailing was successfully sent.
getUnsubscribeCount Counts the unsubscribes for a mailing.
© Episerver 2018
MailingReportingWebservice | 120
getClickCountCounts the clicks of a mailing.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
unique boolean true: Double countings of recipients that clicked a link in the mailing several times are removed.false: The overall number of clicks is returned.
Return values. Number of clicks of the mailing.
Code Structure
int getClickCount(String sessionId, long mailingId, boolean unique)
© Episerver 2018
121 | MailingReportingWebservice
getClickCountByUrlCounts the clicks for each of the given URLs.
Type. int[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
URLs String[ ] Link URLs of the mailing to be analysed.
unique boolean true: Double countings of recipients that clicked a link in the mailing several times are removed.false: The overall number of clicks for a link is returned.
Return values. Number of clicks for each URL.
Code Structure
int[] getClickCountByUrl(String sessionId, long mailingId, String[] URLs, boolean
unique)
© Episerver 2018
MailingReportingWebservice | 122
getFailedRecipientCountCounts the recipients that have been skipped during dispatch.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of skipped recipients during dispatch. This is the previously calculated number of recipients less the number of actual recipients. A significant number of skipped recipients indicates a serious configuration problem of the mailing. Returns 0 if a mailing has not been started yet.
Code Structure
int getFailedRecipientCount(String sessionId, long mailiingId)
© Episerver 2018
123 | MailingReportingWebservice
getLinkNamesQueries the names of all tracking links that are used in a mailing.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Names of all tracking links that are used in the mailing.
Code Structure
String[] getLinkNames(String sessionId, long mailingId)
© Episerver 2018
MailingReportingWebservice | 124
getLinkUrlsQueries the URLs of all tracking links that are used in a mailing.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. URLs of all tracking links that are used in the mailing.
Code Structure
String[] getLinkUrls(String sessionId, long mailingId)
© Episerver 2018
125 | MailingReportingWebservice
getOpenCountCounts the opens of a mailing.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
unique boolean true: Double countings of recipients that opened the mailing several times are removed.false: The overall number of opens is returned.
Return values. Number of opens of the mailing.
Code Structure
int getOpenCount(String sessionId, long mailingId, boolean unique)
© Episerver 2018
MailingReportingWebservice | 126
getOverallRecipientCountCounts the recipients to whom a mailing was sent or tried to send. Consists of getSentRecipientCount and getFailedRecipientCount. See also: getOverallRecipientCount.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of recipients to whom the mailing was sent or tried to send. Returns 0 if a mailing has not been started yet.
Code structure:
int getOverallRecipientCount(String sessionId, long mailingId)
© Episerver 2018
127 | MailingReportingWebservice
getResponseCountCounts the responses generated for a mailing.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
category String Type of the response. The following values can be set:
hardbouncesoftbounceautoresponderunknown
Return values. Number of responses generated for the mailing.
Code Structure
int getResponseCount(String sessionId, long mailingId, String category)
© Episerver 2018
MailingReportingWebservice | 128
getSentRecipientCountCounts the recipients to whom a mailing was successfully sent.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of recipients to whom the mailing was successfully sent. Returns 0 if a mailing has not been started yet.
Code Structure
int getSentRecipientCount(String sessionId, long mailingId)
© Episerver 2018
129 | MailingReportingWebservice
getUnsubscribeCountCounts the unsubscribes for a mailing.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of unsubscribes for the mailing.
Code Structure
int getUnsubscribeCount(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 130
MailingWebserviceWith this web service you can query, create, update, remove or start mailings as well as send emails on demand.
Method Description
cancel Cancels a running mailing.
copy Creates a copy of an existing mailing.
create Creates a mailing.
decodeTrackingLinks Converts all links found in the given content back to normal links.
encodeTrackingLinks Converts all links found in the given content to tracking links.
getAttachmentIds Queries the IDs of one or more attachments of a mailing.
getCharset Queries the character set for the content (subject + body) of a mailing.
getColumnNames Queries the column names of each mailing.
getContent Queries the content of a mailing of a specific MIME type.
getCount Counts mailings of a specific type.
getCreatedDate Queries the creation date of a mailing.
getDataSet Queries the data of each mailing.
getDataSetFlat Queries the values of each mailing.
getDescription Queries the description of a mailing.
getFailedRecipientCount Counts the recipients that have been skipped during dispatch.
getFromEmailPrefix Queries the email prefix of the sender of a mailing.
getFromName Queries the name (not the email address) of the sender of a mailing.
getHeader Queries the header value of a mailing.
getIds Queries the IDs of all mailings of a specific type.
© Episerver 2018
131 | MailingWebservice
Method Description
getIdsInStatus Queries the IDs of all mailings of a specific type and status.
getMaxMailsPerHour Queries the maximum sending rate (emails per hour) of a mailing.
getMaxRecipients Queries the value of the option maximum number of recipients.
getMimeType Queries the MIME type of a mailing.
getName Queries the name of a mailing.
getOverallRecipientCount Counts the recipients to whom a mailing was sent or tried to send.
getPredictedRecipientCount Counts the recipients that will receive a mailing once it is started.
getProperty Queries the value of a specific mailing property.
getRecipientFilterIds Queries the target group IDs of a mailing.
getRecipientListIds Queries the IDs of the recipient lists of a mailing.
getScheduleDate Queries the sending date of a mailing.
getSendingFinishedDate Queries the date at which the sending of a mailing finished.
getSendingStartedDate Queries the date at which a mailing was started.
getSendingStatus Queries the sending status of a mailing to a specific recipient.
getSentRecipientCount Counts the recipients to whom a mailing was successfully sent.
getStatus Queries the status of a mailing.
isClickTrackingEnabled Queries whether click tracking is activated for a mailing.
isDefaultRecipientFilterEnabled Queries whether the default target group is used for a mailing.
isMaxRecipientsPercentage Queries whether the maximum number of recipients is given as a percentaged value.
isMaxRecipientsRandomOrder Queries whether the recipients should be selected on a random basis.
isOpenTrackingEnabled Queries whether open tracking is activated for a mailing.
pause Pauses a mailing that is in the status SENDING.
© Episerver 2018
MailingWebservice | 132
Method Description
remove Deletes a mailing.
restart Resends a mailing.
resume Resumes a paused mailing.
sendMail Sends a mailing to a recipient.
sendMails Sends a mailing to multiple recipients.
sendTestMail Sends a test email to a recipient.
sendTestMail2 Sends a test email to a recipient.
sendTestMails Sends test emails to multiple recipients.
sendTestMailToAll Sends test emails to all recipients of a specific recipient list.
setAttachmentIds Defines the IDs for one or more attachments of a mailing.
setCharset Defines the character set for the content (subject + body) of a mailing.
setClickTrackingEnabled Activates or deactivates click tracking for a mailing of a specific MIME type (click tracking is set separately for the two MIME types).
setContent Defines the content for a mailing of a specific MIME type.
setDefaultRecipientFilterEnabled Activates or deactivates the default target group.
setDescription Defines the description of a mailing.
setFrom Defines the sender identification of a mailing.
setHeader Defines a RFC822-compliant header value.
setMaxMailsPerHour Defines the maximum sending rate (emails per hour) for a mailing.
setMaxRecipients Activates or deactivates the options maximum number of recipients and random order and sets absolute values for them.
setMaxRecipientsPercentage Activates or deactivates the options maximum number of recipients and random order and sets absolute percentaged values for them (a float from 0 to 1).
© Episerver 2018
133 | MailingWebservice
Method Description
setMimeType Defines the MIME type of a mailing.
setName Defines the name of a mailing.
setOpenTrackingEnabled Activates or deactivates open tracking for a mailing.
setProperty Defines the value of a specific mailing property.
setRecipientFilterIds Defines target group IDs for a mailing.
setRecipientListIds Defines the IDs of the recipient lists to be used for a mailing.
setReplyToAddress Defines the the reply to address for a mailing.
setReplyToName Defines the displayed name for the reply address (reply to).
setSubject Defines the subject of a mailing.
start Starts a mailing.
validateContent Validates the content of a mailing.
Deprecated methodsMethod Description
getRecipientFilterId Deprecated. Use getRecipientFilterIds.
setRecipientFilterId Deprecated. Use setRecipientFilterIds.
Mailing typeThe following mailing types are supported:
regular. This is a regular mailing.
event. This mailing type is used for trigger emails. After the mailing has been started you can send mails to any recipient.
confirmation. Used for opt-in processes only, see OptinProcessWebservice.
template. Can only be copied. Cannot be started and no emails can be sent.
campaign. All mailings of a campaign (not the campaign itself).
MIME TypesThe following MIME types are supported:
© Episerver 2018
MailingWebservice | 134
text/plain. Text emails
text/html. HTML emails
multipart/alternative. Text and HTML emails
text/optivofax. Fax messages
text/optivosms. SMS messages
© Episerver 2018
135 | MailingWebservice
cancelCancels a running mailing (status: SENDING or PAUSED). The mailing must be of the type regular. All other mailings (Event, Confirmation, Template) cannot be cancelled.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. -
Code structure
void cancel(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 136
copyCreates a copy of an existing mailing.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. ID of the created mailing.
Code Structure
long copy(String sessionId, long mailingId)
© Episerver 2018
137 | MailingWebservice
createCreates a mailing. You must invoke the methods setContent and setSubject etc. afterwards to create a valid and meaningful mailing. The following default values are assumed:
Content: empty (text and HTML)
Subject: empty
Open Tracking: disabled
Click Tracking: disabled
Attachments: none
Type. long
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing (regular, event, confirmation)
Name String Name of the mailing
mimeType String MIME type of the mailing (text/plain, text/html, multipart/alternative)
recipientListIds long[ ]
IDs of the recipient lists used for the mailing
senderEmailPrefix String The value is prefixed to the sending domain configured for this client. Examples: info, newsletter or john.
senderName String Name of the sender. Examples: My Company, John Doe, Newsletter.
charset String Character set to be used for all contents (subject + body) in ISO names. If set to null, the client's default (usually ISO-8859-1) is used.
Return values. ID of the created mailing.
Code Structure
long create(String sessionId, String mailingType, String name, String mimeType, long
[] recipientListIds, String senderEmailPrefix, String senderName, String charset)
© Episerver 2018
MailingWebservice | 138
decodeTrackingLinksConverts all links found in the given content back to normal links. The mailing is not altered in any way. See also: encodeTrackingLinks.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
content String The content of the mailing (HTML or text).
mimeType String MIME type of the mailing (text/plain or text/html). The content will be treated as this MIME type.
Return values. Content with all tracking links replaced by their corresponding normal links.
Code Structure
String decodeTrackingLinks(String sessionId, long mailingId, String content, String
mimeType)
© Episerver 2018
139 | MailingWebservice
encodeTrackingLinksConverts all links found in the given content to tracking links. The mailing is not altered in any way. See also: decodeTrackingLinks.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
content String The content of the mailing (HTML or text).
mimeType String MIME type of the mailing (text/plain or text/html). The content will be treated as this MIME type.
Return values. Content with all links replaced by their corresponding tracking links.
Code Structure
String encodeTrackingLinks(String sessionId, long mailingId, String content, String
mimeType)
© Episerver 2018
MailingWebservice | 140
getAttachmentIdsQueries the IDs of one or more attachments of a mailing.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. IDs of the attachments.
Code Structure
long[] getAttachmentIds(String sessionId, long mailingId)
© Episerver 2018
141 | MailingWebservice
getCharsetQueries the character set for the content (subject + body) of a mailing.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Character set for the content (subject + body) of the mailing.
Code Structure
String getCharset(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 142
getColumnNamesQueries the column names of each mailing.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing (regular, event, confirmation)
Return values. Column names of the mailings. The columns and the column order are subject to change.
Code Structure
String[] getColumnNames(String sessionId, String MailingType)
© Episerver 2018
143 | MailingWebservice
getContentQueries the content of a mailing of a specific MIME type.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type (text/plain or text/html) of the mailing
Return values. Content of the mailing.
Code Structure
String getContent(String sessionId, long mailingId, String mimeType)
© Episerver 2018
MailingWebservice | 144
getCountCounts mailings of a specific type.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing
Return values. Number of all mailings of the given type.
Code Structure
int getCount(String sessionId, String mailingType)
© Episerver 2018
145 | MailingWebservice
getCreatedDateQueries the creation date of a mailing.
Type. Date
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Creation date of the mailing.
Code Structure
Date getCreatedDate(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 146
getDataSetQueries the data of each mailing. This method can be replaced by the .NET replacement methods getColumnNames and getDataSetFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing (regular, event, confirmation)
Return values. A data set where the first row contains the column names and the following the values for each mailing. The columns and the column order of the data set are subject to change.
Code Structure
String[][] getDataSet(String sessionId, String MailingType)
© Episerver 2018
147 | MailingWebservice
getDataSetFlatQueries the values of each mailing.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing (regular, event, confirmation)
Return values. Values of the mailings. To assign the returned values to different mailings, you can use the method getColumnNames. With this method you can determine the number of values of a mailing.
Code Structure
String[] getDataSetFlat(String sessionId, String MailingType)
© Episerver 2018
MailingWebservice | 148
getDescriptionQueries the description of a mailing.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Description of the mailing.
Code Structure
String getDescription(String sessionId, long mailingId)
© Episerver 2018
149 | MailingWebservice
getFailedRecipientCountCounts the recipients that have been skipped during dispatch.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of skipped recipients during dispatch. This is the previously calculated number of recipients less the number of actual recipients. A significant number of skipped recipients indicates a serious configuration problem of the mailing. Returns 0 if a mailing has not been started yet.
Code Structure
int getFailedRecipientCount(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 150
getFromEmailPrefixQueries the email prefix of the sender of a mailing. This is the part before the @ sign.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Email prefix of the sender of the mailing.
Code Structure
String getFromEmailPrefix(string sessionId, long mailingId)
© Episerver 2018
151 | MailingWebservice
getFromNameQueries the name (not the email address) of the sender of a mailing.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Name of the sender of the mailing.
Code Structure
String getFromName(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 152
getHeaderType. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Name String Field name. Must be compliant with RFC822 (only 7bit US-ASCII characters are allowed).
Return values. All values of the header.
Code Structure
String[] getHeader(String sessionId, long mailingId, String name)
© Episerver 2018
153 | MailingWebservice
getIdsQueries the IDs of all mailings of a specific type.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing
Return values. IDs of all mailings of the given type.
Code Structure
long[] getIds(String sessionId, String mailingType)
© Episerver 2018
MailingWebservice | 154
getIdsInStatusQueries the IDs of all mailings of a specific type and status.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingType String Type of the mailing
mailingStatus String Status of the mailing (NEW, SENDING, DONE and CANCELED)Status of the campaign (ACTIVATION_REQUIRED)
Return values. IDs of all mailings of the given type and status.
Code Structure
long[] getIdsInStatus(String sessionId, String mailingType, String mailingStatus)
© Episerver 2018
155 | MailingWebservice
getMaxMailsPerHourQueries the maximum sending rate (emails per hour) of a mailing.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Maximum sending rate (emails per hour) of the mailing.
Code Structure
int getMaxMailsPerHour(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 156
getMaxRecipientsQueries the value of the option maximum number of recipients.
Type. float
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of recipients or the percentage of recipients that will receive the mailing after it has been started. The percentage is returned as a float from 0 to 1 (1 meaning 100%, see also: isMaxRecipientsPercentage). The return value -1 means All. See also: setMaxRecipients.
Code Structure
float getMaxRecipients(String sessionId, long mailingId)
© Episerver 2018
157 | MailingWebservice
getMimeTypeQueries the MIME type of a mailing.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. MIME type of the mailing.
Code Structure
String getMimeType(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 158
getNameQueries the name of a mailing.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Name of the mailing.
Code Structure
String getName(String sessionId, long mailingId)
© Episerver 2018
159 | MailingWebservice
getOverallRecipientCountCounts the recipients to whom a mailing was sent or tried to send.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of recipients to whom a mailing was sent or tried to send. Returns 0 if a mailing has not been started yet.
Code Structure
int getOverallRecipientCount(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 160
getPredictedRecipientCountCounts the recipients that will receive a mailing once it is started. The mailing must be of type regular.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of recipients that will receive the mailing once it is started.
Code Structure
int getPredictedRecipientCount(String sessionId, long mailingId)
© Episerver 2018
161 | MailingWebservice
getPropertyQueries the value of a specific mailing property.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Name String Name of the mailing property
Return values. Value of the mailing property. If the property is not set, NULL is returned. See also setProperty.
Code Structure
String getProperty(String sessionId, long mailingId, String name)
© Episerver 2018
MailingWebservice | 162
getRecipientFilterIdThis method is deprecated. Use getRecipientFilterIds instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
163 | MailingWebservice
getRecipientFilterIdsQueries the target group IDs of a mailing. See also: RecipientFilterWebservice.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. target group IDs of the mailing. Returns an empty array if no target group is available.
Code Structure
long[] getRecipientFilterIds(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 164
getRecipientListIdsQueries the IDs of the recipient lists of a mailing.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. IDs of the assigned recipient lists of the mailing.
Code Structure
long[] getRecipientListIds(string sessionId, long mailingId)
© Episerver 2018
165 | MailingWebservice
getScheduleDateQueries the sending date of a mailing.
Type. Date
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Sending date of the mailing.
Code Structure
Date getScheduleDate(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 166
getSendingFinishedDateQueries the date at which the sending of a mailing finished. If the sending is not finished yet, an exception is thrown.
Type. Date
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Time at which the mailing was started.
Code Structure
Date getSendingFinishedDate(String sessionId, long mailingId)
© Episerver 2018
167 | MailingWebservice
getSendingStartedDateQueries the date at which a mailing was started. If the mailing has not been started yet, an exception is thrown.
Type. Date
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Time at which the mailing was started.
Code Structure
Date getSendingStartedDate(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 168
getSendingStatusQueries the sending status of a mailing to a specific recipient.
The actual email is sent asynchronously. Therefore, this method is not appropriate to query the status of recently sent out mailings.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values. Returns an array of "SENT,date" or "ERROR,date" where "date" is formatted according to ISO 8601. See also: Type conversion and formatting rules.
Code Structure
String[] getSendingStatus(String sessionId, long mailingId, long recipientListId,
String recipientId)
© Episerver 2018
169 | MailingWebservice
getSentRecipientCountCounts the recipients to whom a mailing was successfully sent.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Number of recipients to whom a mailing was successfully sent. Returns 0 if a mailing has not been started yet.
Code Structure
int getSentRecipientCount(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 170
getStatusQueries the status of a mailing.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. Status of a mailing:
NEW
SENDING
DONE
CANCELLED
Code Structure
String getStatus(String sessionId, long mailingId)
© Episerver 2018
171 | MailingWebservice
isClickTrackingEnabledQueries whether click tracking is activated for a mailing. The method must be invoked separately for each MIME type.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type (text/plain or text/html) of the mailing.
Return values
true: Click tracking is activated.
false: Click tracking is deactivated.
Code Structure
boolean isClickTrackingEnabled(String sessionId, long mailingId, String mimeType)
© Episerver 2018
MailingWebservice | 172
isDefaultRecipientFilterEnabledQueries whether the default target group is used for a mailing.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values
true: Default target group is used for the mailing.
false: Default target group is not used for the mailing.
Code Structure
boolean isDefaultRecipientFilterEnabled(String sessionId, long mailingId)
© Episerver 2018
173 | MailingWebservice
isMaxRecipientsPercentageQueries whether the maximum number of recipients is given as a percentaged value. This method depends on the methods setMaxRecipientsPercentage and setMaxRecipients.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values
true: The option maximum number of recipients has been set as a percentaged value.
false: The option maximum number of recipients has not been set as a percentaged value.
Code Structure
boolean isMaxRecipientsPercentage(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 174
isMaxRecipientsRandomOrderQueries whether the recipients should be selected on a random basis. This method depends on the setMaxRecipients method. See also: getMaxRecipients, setMaxRecipients, setMaxRecipientsPercentage.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values
true: Recipients are selected on a random basis. The return value is true if:
the option maximum number of recipients is activated and a corresponding value is set and
the option random order is activated.
false: Recipients are not selected on a random basis.
Code Structure
boolean isMaxRecipientsRandomOrder(String sessionId, long mailingId)
© Episerver 2018
175 | MailingWebservice
isOpenTrackingEnabledQueries whether open tracking is activated for a mailing.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values
true: Open tracking is activated.
false: Open tracking is deactivated.
Code Structure
boolean isOpenTrackingEnabled(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 176
pausePauses a mailing that is in the status SENDING. The status can be queried with the getStatus method. The mailing must be of the type regular. All other mailings (Event, Confirmation, Template) cannot be paused.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. -
Code structure:
void pause(String sessionId, long mailingId)
© Episerver 2018
177 | MailingWebservice
removeDeletes a mailing. Only mailings that are in the status NEW (not started) can be deleted.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. -
Code structure
void remove(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 178
restartResends a mailing (status: NEW, SENDING or DONE). If the mailing has not been started then it will be started. The mailing must be of the type regular or event.
It is better to copy a mailing and start the new one. This method is designed for working with event-based mailings. Cancelled mailings cannot be restarted.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. -
Code structure
void restart(String sessionId, long mailingId)
© Episerver 2018
179 | MailingWebservice
resumeResumes a paused mailing. The mailing must be of the type regular. All other mailings (Event, Confirmation, Template) cannot be resumed.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Return values. -
Code structure
void resume(String sessionId, long mailingId)
© Episerver 2018
MailingWebservice | 180
sendMailSends a mailing to a recipient. This method is only applicable to mailings of the type event.
If a target group is defined for the mailing, the mailing will be sent only if the recipient meets the target group criteria. The actual email will be sent asynchronously. That means that you should not delete the recipients immediately after invoking this method.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListId long ID of the recipient list. This recipient list must be assigned to the given mailing. See also getRecipientListIds.
recipientId String ID of the recipient
Return values
0. if the mail has been spooled.
1. if the recipient is blacklisted.
2. if the recipient is unsubscribed.
3. if the recipient was not found.
4. if the recipient list is invalid.
5. if the recipient is blocked by the mailing's target group.
6. if the recipient has caused too many bounces.
Code Structure
int sendMail(String sessionId, long mailingId, long recipientListId, String recip-
ientId)
© Episerver 2018
181 | MailingWebservice
sendMailsSends a mailing to multiple recipients. This method is only applicable to mailings of the type event.
If a target group is defined for the mailing, the mailing will be sent only if the recipient meets the target group criteria. The actual email will be sent asynchronously. That means that you should not delete the recipients immediately after invoking this method.
Type. int[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListId long ID of the recipient list. This recipient list must be assigned to the given mailing. See also: getRecipientListIds.
recipientIds String[ ]
IDs of the recipients
Return values. For each recipient:
0. if the mail has been spooled.
1. if the recipient is blacklisted.
2. if the recipient is unsubscribed.
3. if the recipient was not found.
4. if the recipient list is invalid (the recipient list is not assigned to the given mailing).
5. if the recipient is blocked by the mailing's target group.
6. if the recipient has caused too many bounces.
Code Structure
int[] sendMails(String sessionId, long mailingId, long recipientListId, String[]
recipientIds)
© Episerver 2018
MailingWebservice | 182
sendTestMailSends a test email to a recipient. All mailing types and mailings in any status can be sent with this method.
The actual email will be sent asynchronously. That means that you should not delete the recipient immediately after calling this method.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListId long ID of the recipient list. Must be a test recipient list and needs not to be configured for the given mailing.
recipientId String ID of the recipient. Must match the target group and not be unsubscribed or blacklisted.
Return values
0. if the mail has been spooled.
1. if the recipient is blacklisted.
2. if the recipient is unsubscribed.
3. if the recipient was not found.
4. if the recipient list is invalid.
5. if the recipient is blocked by the mailing's target group.
6. if the recipient has caused too many bounces.
Code Structure
int sendTestMail(String sessionId, long mailingId, long recipientListId, String
recipientId)
© Episerver 2018
183 | MailingWebservice
sendTestMail2Sends a test email to a recipient. All mailing types and mailings in any status can be sent with this method.
The actual email will be sent asynchronously. That means that you should not delete the recipient immediately after calling this method.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type of the test email. Following values can be used:
Empty string (the MIME type of the mailing is used)text/plain (the mailing must use either the same MIME type or the MIME type multipart/alternative)text/html (the mailing must use either the same MIME type or the MIME type multipart/alternative)The same MIME type as the mailing
recipientListId long ID of the recipient list. Must be a test recipient list and needs not to be configured for the given mailing.
recipientId String ID of the recipient. Must match the target group and not be unsubscribed or blacklisted.
Return values
0. if the mail has been spooled.
1. if the recipient is blacklisted.
2. if the recipient is unsubscribed.
3. if the recipient was not found.
4. if the recipient list is invalid.
5. if the recipient is blocked by the mailing's target group.
6. if the recipient has caused too many bounces.
Code Structure
© Episerver 2018
MailingWebservice | 184
int sendTestMail2(String sessoinId, long mailingId, String mimeType, long recip-
ientListId, String recipientId)
© Episerver 2018
185 | MailingWebservice
sendTestMailsSends test emails to multiple recipients. All mailing types and mailings in any status can be sent with this method.
The actual email will be sent asynchronously. That means that you should not delete any recipient immediately after calling this method.
Type. int[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListId long ID of the recipient list. Must be a test recipient list and needs not to be configured for the given mailing.
recipientIds String[ ]
IDs of the recipients. Must match the target group and not be unsubscribed or blacklisted.
Return values. For each recipient:
0. if the mail has been spooled.
1. if the recipient is blacklisted.
2. if the recipient is unsubscribed.
3. if the recipient was not found.
4. if the recipient list is invalid.
5. if the recipient is blocked by the mailing's target group.
6. if the recipient has caused too many bounces.
Code Structure
int[] sendTestmails(String sessionId, long mailingId, long recipientListId, String[]
recipientIds)
© Episerver 2018
MailingWebservice | 186
sendTestMailToAllSends test emails to all recipients of a specific recipient list. All mailing types and mailings in any status can be sent with this method.
The test email is send to at most 1000 recipients to prevent major mistakes.The actual emails will be sent asynchronously. That means that you should not delete any recipient immediately after calling this method.
Type. int[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListId long ID of the recipient list. Must be a test recipient list and needs not to be configured for the given mailing.
Return values. For each recipient:
0. if the mail has been spooled.
1. if the recipient is blacklisted.
2. if the recipient is unsubscribed.
3. if the recipient was not found.
4. if the recipient list is invalid.
5. if the recipient is blocked by the mailing's target group.
6. if the recipient has caused too many bounces.
Code Structure
int[] sendTestMailToAll(String sessionId, long mailingId, long recipientListId)
© Episerver 2018
187 | MailingWebservice
setAttachmentIdsDefines the IDs for one or more attachments of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
attachmentIds long[ ] IDs of the attachments
Return values. -
Code structure
void setAttachmentIds(String sessionId, long mailingId, long[] attachmentIds)
© Episerver 2018
MailingWebservice | 188
setCharsetDefines the character set for the content (subject + body) of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
charset String Character set to be used for all contents (subject + body) in ISO names. If set to null, the client default (usually ISO-8859-1) is used.
Return values. -
Code structure
void setCharset(String sessionId, long mailingId, String charset)
© Episerver 2018
189 | MailingWebservice
setClickTrackingEnabledActivates or deactivates click tracking for a mailing of a specific MIME type (click tracking is set separately for the two MIME types). Open tracking only affects content of the MIME type text/html.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type (text/plain or text/html) of the mailing.
enabled boolean true: Activates click tracking for the mailing.false: Deactivates click tracking for the mailing.
Return values. -
Code structure
void setClickTrackingEnabled(String sessionId, long mailingId, String mimeType,
boolean enabled)
© Episerver 2018
MailingWebservice | 190
setContentDefines the content for a mailing of a specific MIME type. See also validateContent.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type (text/plain or text/html) of the mailing
content String The content of the mailing (HTML or text)
Return values. -
Code structure
void setContent(String sessionId, long mailingId, String mimeType, String content)
© Episerver 2018
191 | MailingWebservice
setDefaultRecipientFilterEnabledActivates or deactivates the default target group. The default target group can be configured for a client and is used for every mailing unless it is disabled.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
enabled boolean true: Activates the default target group.false: Deactivates the default target group.
Return values. -
Code structure
void setDefaultRecipientFilterEnabled(String sessionId, long mailingId, boolean
enabled)
© Episerver 2018
MailingWebservice | 192
setDescriptionDefines the description of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Description String Description of the mailing
Return values. -
Code structure
void setDescription(String sessionId, long mailingId, String description)
© Episerver 2018
193 | MailingWebservice
setFromDefines the sender identification of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
senderEmailPrefix String The value is prefixed to the sending domain configured for this client. Examples: info, newsletter or john.
senderName String Name of the sender. Examples: My Company, John Doe, Newsletter.
Return values. -
Code structure
void setFrom(String sessionId, long mailingId, String senderEmailPrefix, String
senderName)
© Episerver 2018
MailingWebservice | 194
setHeaderDefines a RFC822-compliant header value.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Name String Field name. Must be compliant with RFC822 (only 7bit US-ASCII characters are allowed).
Value String Value of the header field. Must be compliant with RFC822 (only 7bit US-ASCII characters are allowed).
Return values. -
Code structure
void setHeader(String sessionId, long mailingId, String name, String value)
© Episerver 2018
195 | MailingWebservice
setMaxMailsPerHourDefines the maximum sending rate (emails per hour) for a mailing. The mailing must be of the type regular.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
maxMailsPerHour int Maximum sending rate (emails per hour) for the mailing—must be greater than 1000. The value -1 means "no throttling".
Return values. -
Code structure
void setMaxMailsPerHour(String sessionId, long mailingId, int maxMailsPerHour)
© Episerver 2018
MailingWebservice | 196
setMaxRecipientsActivates or deactivates the options maximum number of recipients and random order and sets absolute values for them. See also: setMaxRecipientsPercentage. The mailing must be of the type regular.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
maxRecipients int Maximum number of recipients. The value -1 means "All" (no maximum number of recipients set).
randomOrder boolean true: Recipients are selected on a random basis.false: Recipients are selected by their ID starting with the lowest.
Return values. -
Code structure
void setMaxRecipients(String sessionId, long mailingId, int maxRecipients, boolean
randomOrder)
© Episerver 2018
197 | MailingWebservice
setMaxRecipientsPercentageActivates or deactivates the options maximum number of recipients and random order and sets absolute percentaged values for them (a float from 0 to 1). The actual number of recipients is calculated when the mailing is started. The mailing must be of the type regular. See also: setMaxRecipients and getMaxRecipients.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
maxRecipients Float Maximum number of recipients. Float between 0 and 1.
randomOrder boolean true: Recipients are selected on a random basis.false: Recipients are selected by their ID starting with the lowest.
Return values. -
Code structure
void setMaxRecipientsPercentage(String sessionId, long mailingId, float maxRe-
cipientsPercentage, boolean randomOrder)
© Episerver 2018
MailingWebservice | 198
setMimeTypeDefines the MIME type of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type of the mailing (text/plain, text/html, multipart/alternative)
Return values. -
Code structure
void setMimeType(String sessionId, long mailingId, String mimeType)
© Episerver 2018
199 | MailingWebservice
setNameDefines the name of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Name String Name of the mailing
Return values. -
Code structure
void setName(string sessionId, long mailingId, String name)
© Episerver 2018
MailingWebservice | 200
setOpenTrackingEnabledActivates or deactivates open tracking for a mailing. Open tracking only affects content of the MIME type text/html.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
enabled boolean true: Activates open tracking for the mailing.false: Deactivates open tracking for the mailing.
Return values. -
Code structure
void setOpenTrackingEnabled(String sessionId, long mailingId, boolean enabled)
© Episerver 2018
201 | MailingWebservice
setPropertyDefines the value of a specific mailing property.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
Name String Name of the mailing property
Value String Value that has to be set (as is, i.e. no tracking link conversion etc. is done).
Return values. -
Code structure
void setProperty(String sessionId, long mailingId, String name, String value)
© Episerver 2018
MailingWebservice | 202
setRecipientFilterIdThis method is deprecated. Use the setRecipientFilterIds method instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
203 | MailingWebservice
setRecipientFilterIdsDefines target group IDs for a mailing. See also: RecipientFilterWebservice.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientFilterIds long[ ] IDs of the target groups. Set the value to 0 to disable the target groups.
You cannot use temporary target groups for a mailing.
Return values. -
Code structure
void setRecipientFilterIds(String sessionId, long mailingId, long[] recip-
ientFilterIds)
© Episerver 2018
MailingWebservice | 204
setRecipientListIdsDefines the IDs of the recipient lists to be used for a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
recipientListIds long[ ] IDs of the recipient lists
Return values. -
Code structure
void setRecipientListIds(String sessionId, long mailingId, long[] recipientListIds)
© Episerver 2018
205 | MailingWebservice
setReplyToAddressThis method is deprecated. If you still use this method, contact customer support to get further information.
© Episerver 2018
MailingWebservice | 206
setReplyToNameDefines the displayed name for the reply address (reply to).
The displayed name is not identical with the email address for replies. The reply-to addresses are configured in your client and can be set with the method setReplyToAddress.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailings
replyToName String Displayed name for the reply address (reply to).
Return values. -
Code structure
void MailingWebservice.setReplyToName(String sessionId, long mailingId, String
replyToName)
© Episerver 2018
207 | MailingWebservice
setSubjectDefines the subject of a mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
subject String Subject of the mailing
Return values. -
Code structure
void setSubject(String sessionId, long mailingId, String subject)
© Episerver 2018
MailingWebservice | 208
startStarts a mailing. Differences between the mailing types:
regular: The mailing will be sent to all defined recipients and then stopped, the mailing status changes to DONE.
event: The mailing will not be sent to all defined recipients but the mailing status switches to SENDING. From now on emails can be sent via sendMail or sendMails.
The mailing must not be of the type Template.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
scheduleDate Date (Optional) If set, the mailing will be sent on the given date.
Return values. -
Code structure
void start(String sessionId, long mailingId, Date scheduleDate)
© Episerver 2018
209 | MailingWebservice
validateContentValidates the content of a mailing. The content will be checked for syntax errors, missing field functions etc.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the mailing
mimeType String MIME type (text/plain or text/html) of the mailing
content String The content of the mailing (HTML or text)
Return values. OK if the syntax is correct; WARNING: or ERROR: with a detailed error message.
Code Structure
String validateContent(String sessionId, long mailingId, String mimeType, String con-
tent)
© Episerver 2018
OptinProcessWebservice | 210
OptinProcessWebserviceThis web service provides methods to access the opt-in processes. Some of the methods are only applicable to opt-in processes of a certain type.
Method Description
createConfirmedOptinProcess Creates a confirmed opt-in process.
createDoubleOptinProcess Creates a double opt-in process.
createSingleOptinProcess Creates a single opt-in process.
getConfirmationMailingId Queries the ID of the mailing that sends the confirmation email.
getConfirmationUrl Queries the confirmation URL of an opt-in process.
getDescription Queries the description of an opt-in process.
getIds Queries the IDs of all available opt-in processes.
getName Queries the name of an opt-in process.
getType Queries the type of an opt-in process.
setConfirmationMailingId Defines the ID of the mailing that sends the confirmation email.
setConfirmationUrl Defines the confirmation URL of an opt-in process.
setDescription Defines the description of an opt-in process.
setName Defines the name of an opt-in process.
© Episerver 2018
211 | OptinProcessWebservice
createConfirmedOptinProcessCreates a confirmed opt-in process. The mailing must be of the type confirmation.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
Name String Internal name of the opt-in process
Description String Internal description of the opt-in process
mailingId long ID of the mailing that is used for the opt-in process
Return values. ID of the opt-in process.
Code Structure
long createConfirmedOptinProcess(String sessionId, String name, String description,
long mailingId)
© Episerver 2018
OptinProcessWebservice | 212
createDoubleOptinProcessCreates a double opt-in process. The mailing must be of the type confirmation.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
Name String Internal name of the opt-in process
Description String Internal description of the opt-in process
mailingId long ID of the mailing that is used for the opt-in process
confirmationUrl String URL of confirmation page to which the recipient is directed to complete the registration process.
Return values. ID of the opt-in process.
Code Structure
long createDoubleOptinProcess(String sessionId, String name, String description,
long mailingId, String confirmationUrl)
© Episerver 2018
213 | OptinProcessWebservice
createSingleOptinProcessCreates a single opt-in process.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
Name String Internal name of the opt-in process
Description String Internal description of the opt-in process
Return values. ID of the opt-in process.
Code Structure
long createSingleOptinProcess(String sessionId, String name, String description)
© Episerver 2018
OptinProcessWebservice | 214
getConfirmationMailingIdQueries the ID of the mailing that sends the confirmation email. This method is only applicable to opt-in processes of the type double or confirmed.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Return values. ID of the mailing that sends the confirmation email.
Code Structure
long getConfirmationMailingId(String sessionId, long optinProcessId)
© Episerver 2018
215 | OptinProcessWebservice
getConfirmationUrlQueries the confirmation URL of an opt-in process. This method is only applicable to opt-in processes of the type double.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Return values. Confirmation URL of the opt-in process.
Code Structure
String getConfirmationUrl(String sessionId, long optinProcessId)
© Episerver 2018
OptinProcessWebservice | 216
getDescriptionQueries the description of an opt-in process.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Return values. Description of the opt-in process.
Code Structure
String getDescription(String sessionId, long optinProcessId)
© Episerver 2018
217 | OptinProcessWebservice
getIdsQueries the IDs of all available opt-in processes.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. IDs of all available opt-in processes.
Code Structure
long[] getIds(String sessionId)
© Episerver 2018
OptinProcessWebservice | 218
getNameQueries the name of an opt-in process.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Return values. Name of the opt-in process.
Code Structure
String getName(String sessionId, long optinProcessId)
© Episerver 2018
219 | OptinProcessWebservice
getTypeQueries the type of an opt-in process.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Return values. Type of the opt-in process:
single: Registration is confirmed and finished on a page of your website. Recipient is activated without further notification.
confirmed: Confirmation email with the recipient information will be sent to the email address of the recipient and the recipient is added to the recipient list.
double: A confirmation email with a confirmation link is sent to the recipient. Clicking this link finishes the opt-in process and activates the recipient.
Code Structure
String getType(String sessionId, long optinProcessId)
© Episerver 2018
OptinProcessWebservice | 220
setConfirmationMailingIdDefines the ID of the mailing that sends the confirmation email. This method is only applicable to opt-in processes of the type double. The mailing must be of the type confirmation.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
mailingId long ID of the mailing that sends the confirmation email.
Return values. -
Code structure
void setConfirmationMailingId(String sessionId, long optinProcessId, long mailingId)
© Episerver 2018
221 | OptinProcessWebservice
setConfirmationUrlDefines the confirmation URL of an opt-in process. This method is only applicable to opt-in processes of the type double.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
URL String URL of confirmation page to which the recipient is directed to complete the registration process
Return values. -
Code structure
void setConfirmationUrl(String sessionId, long optinProcessId, String URL)
© Episerver 2018
OptinProcessWebservice | 222
setDescriptionDefines the description of an opt-in process.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Description String Description of the opt-in process
Return values. -
Code structure
void setDescription(String sessionId, long optinProcessId, String description)
© Episerver 2018
223 | OptinProcessWebservice
setNameDefines the name of an opt-in process.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
optinProcessId long ID of the opt-in process
Name String Name of the opt-in process
Return values. -
Code structure
void setName(String sessionId, long optinProcessId, String name)
© Episerver 2018
RecipientFilterWebservice | 224
RecipientFilterWebserviceWith this web service you can query, create or update target groups.
Method Description
addAndCondition Adds a target group condition using the AND operator.
addOrCondition Adds a target group condition using the OR operator.
beginConditionModification Begins a transaction for modifications of a target group.
cancelConditionModification Ends a transaction for modifications of a target group without updating the target group.
clearConditions Clears the conditions of a target group.
commitConditionModification Ends a transaction for modifications of a target group and update the target group.
create Creates a persistent target group, that is valid after the end of the session.
createTemporary Creates a temporary target group, that becomes invalid after the end of the session.
getColumnNames Queries the column names of each target group.
getCount Counts all available target groups.
getDataSet Queries the data of each target group.
getDataSetFlat Queries the values of each target group.
getDescription Queries the internal description of a target group.
getIds Queries the IDs of all available target groups.
getName Queries the internal name of a target group.
isInUse Queries whether a target group is used anywhere.
isTemporary Queries whether a target group is temporary.
setDescription Defines the internal description of a target group.
setName Defines the internal name of a target group.
© Episerver 2018
225 | RecipientFilterWebservice
Temporary target groupsThis web service allows you to create temporary target groups that are only valid during the current session. These target groups can be used in "ad hoc" queries. You should use temporary target groups where possible since relying on persistent target groups may cause problems with concurrent modifications (by users of Episerver Campaign).
ConditionsA target groups consists of multiple conditions tied together by the AND or OR operator. Each condition consists of the following parameters:
Negate condition (y/n): A boolean that defines whether the condition will be wrapped in a NOT condition.
Attribute: The name of the recipient attribute the condition is based on.
Operator: The name of the operation (like ">" or "equals").
Attribute value: One or more parameters to the operation.
These conditions are to be read in the logic: negate condition (y/n) [attribute name-operator-attribute value], e.g.:
[residence-is(equals)-Berlin]
Available operatorsRead the notation of the available operations as follows:
operator(param1, param2)
whereas param1 and param2 are the attribute values you provide to the methods "addAndCondition" and "addOrCondition".
The following operators are available:
contains(value): applicable only to attributes of the type String. This filter is case insensitive.
startsWith(value): applicable only to attributes of the type String. This filter is case insensitive.
endsWith(value): applicable only to attributes of the type String. This filter is case insensitive.
isEmpty(): applicable to all attributes.
isNotEmpty(): applicable to all attributes.
==(value): Aapplicable to all attributes. This filter is case insensitive.
>=(value): applicable only to attributes of type Number, boolean and Date.
>(value): applicable only to attributes of type Number, boolean and Date.
<=(value): applicable only to attributes of type Number, boolean and Date.
<(value): applicable only to attributes of type Number, boolean and Date.
© Episerver 2018
RecipientFilterWebservice | 226
receivedMailing(mailingId): Checks whether a recipient has received the mailing with the given ID. Provide 0 as mailingId to test whether the recipient received any mailing. attributeName is not used.
openedMailing(mailingId): Checks whether a recipient has opened the mailing with the given ID. Provide 0 as mailingId to test whether the recipient opened any mailing. attributeName is not used.
Attribute valuesIf not otherwise stated, attribute values and attributes must be of the same type. All attribute values for an operation must be given as strings. See Type conversion and formatting rules for detailed information on how to convert values.
Example: Creates a target group that selects all Gmail recipients
####################
// SessionWebservice
$sessionWebservice = new SoapClient("http://ap-
i.broadmail.de/soap11/RpcSession?wsdl");
// Login
$stringSessionId =
$sessionWebservice->login($longMandatorId, $stringUsername, $stringPassword);
// RecipientFilterWebservice
$recipientFilterWebservice = new SoapClient("http://ap-
i.broadmail.de/soap11/RpcRecipientFilter?wsdl");
// Create a new filter with the initial condition
"email contains '@gmail.com'"
$longRecipientFilterId = $recipientFilterWebservice->create($stringSessionId, "Fil-
ter name", false, "Email", "contains", array("@gmail.com"));
// Add the or condition
$stringModificationId = $recipientFilterWebservice->beginConditionModification
($stringSessionId, $longRecipientFilterId); $recipientFilterWebservice->ad-
dOrCondition($stringSessionId, $stringModificationId, false, "Email", "contains",
array("@outlook.com")); $recipientFilterWebservice->commitConditionModification
($stringSessionId, $stringModificationId);
// Logout
$sessionWebservice->logout($stringSessionId);
####################
© Episerver 2018
227 | RecipientFilterWebservice
addAndConditionAdds a target group condition using the AND operator.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
modificationId String Identifier created by beginConditionModification.
negateCondition boolean See Type conversion and formatting rules.
attributeName String See Type conversion and formatting rules.
operation String See Available operators.
operationParameters String[ ] See Attribute values.
Return values. -
Code structure
void addAndCondition(String sessionId, String modificationId, boolean neg-
ateCondition, String attributeName, String operation, String[] operationParameters)
© Episerver 2018
RecipientFilterWebservice | 228
addOrConditionAdds a target group condition using the OR operator.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
modificationId String Identifier created by beginConditionModification.
negateCondition boolean See Type conversion and formatting rules.
attributeName String See Type conversion and formatting rules.
operation String See Available operators.
operationParameters String[ ] See Attribute values.
Return values. -
Code structure
void addOrCondition(String sessionId, String modificationId, boolean neg-
ateCondition, String attributeName, String operation, String[] operationParameters)
© Episerver 2018
229 | RecipientFilterWebservice
beginConditionModificationBegins a transaction for modifications of a target group.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Return values. modificationId that is used by all condition altering methods.
Code Structure
String beginConditionModification(String sessionId, long filterId)
© Episerver 2018
RecipientFilterWebservice | 230
cancelConditionModificationEnds a transaction for modifications of a target group without updating the target group.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
modificationId String Identifier created by beginConditionModification.
Return values. -
Code structure
void cancelConditionModification(String sessionId, String modificationId)
© Episerver 2018
231 | RecipientFilterWebservice
clearConditionsClears the conditions of a target group. Afterwards the target group is not valid anymore until you set a new condition with addAndCondition or addOrCondition.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
modificationId String Identifier created by beginConditionModification.
Return values. -
Code structure
void clearConditions(String sessionId, String modificationId)
© Episerver 2018
RecipientFilterWebservice | 232
commitConditionModificationEnds a transaction for modifications of a target group and update the target group. If the target group is empty an exception will be thrown.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
modificationId String Identifier created by beginConditionModification.
Return values. -
Code structure
void commitConditionModification(String sessionId, String modificationId)
© Episerver 2018
233 | RecipientFilterWebservice
createCreates a persistent target group, that is valid after the end of the session.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
filterName String Internal name of the target group
negateCondition boolean See Type conversion and formatting rules.
attributeName String See Type conversion and formatting rules.
operation String See Available operators.
operationParameters String[ ] See Attribute values.
Return values. ID of the target group.
Code Structure
long create(String sessionId, String filterName, boolean negateCondition, String
attributeName, String operation, String[] operationParameters)
© Episerver 2018
RecipientFilterWebservice | 234
createTemporaryCreates a temporary target group, that becomes invalid after the end of the session.
Temporary target groups cannot be used for mailings. Use them to filter the results of a query.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
negateCondition boolean See Type conversion and formatting rules.
attributeName String See Type conversion and formatting rules.
operation String See Available operators.
operationParameters String[ ] See Attribute values.
Return values. ID of the target group.
Code Structure
long createTemporary(String sessionId, boolean negateCondition, String attrib-
uteName, String operation, String[] operationParameters)
© Episerver 2018
235 | RecipientFilterWebservice
getColumnNamesQueries the column names of each target group.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Column names of the target groups. The columns and the column order are subject to change.
Code Structure
String[] getColumnNames(String sessionId)
© Episerver 2018
RecipientFilterWebservice | 236
getCountCounts all available target groups. The target group must not be a temporary target group.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
Return values. Number of all available target groups.
Code Structure
int getCount(String sessionId)
© Episerver 2018
237 | RecipientFilterWebservice
getDataSetQueries the data of each target group. This method can be replaced by the .NET replacement methods getColumnNames and getDataSetFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. A data set where the first row contains the column names and the following the values for each target group. The columns and the column order of the data set are subject to change.
Code Structure
String[][] getDataSet(String sessionId)
© Episerver 2018
RecipientFilterWebservice | 238
getDataSetFlatQueries the values of each target group.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Values of the target groups. To assign the returned values to different target groups, you can use the method getColumnNames. With this method you can determine the number of values of a target group.
Code Structure
String[] getDataSetFlat(String sessionId)
© Episerver 2018
239 | RecipientFilterWebservice
getDescriptionQueries the internal description of a target group. The target group must not be a temporary target group.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Return values. Internal description of the filter.
Code Structure
String getDescription(String sessionId, long filterId)
© Episerver 2018
RecipientFilterWebservice | 240
getIdsQueries the IDs of all available target groups. The target group must not be a temporary target group.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. IDs of all available target groups.
Code Structure
long[] getIds(String sessionId)
© Episerver 2018
241 | RecipientFilterWebservice
getNameQueries the internal name of a target group. The target group must not be a temporary target group.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Return values. Internal name of the filter.
Code Structure
String getName(String sessionId, long filterId)
© Episerver 2018
RecipientFilterWebservice | 242
isInUseQueries whether a target group is used anywhere. The target group must not be a temporary target group.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Return values
true: Target group is used.
false: Target group is not used.
Code Structure
boolean isInUse(String sessionId, long filterId)
© Episerver 2018
243 | RecipientFilterWebservice
isTemporaryQueries whether a target group is temporary.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Return values
true: Target group is temporary.
false: Target group is not temporary.
Code Structure
boolean isTemporary(String sessionId, long filterId)
© Episerver 2018
RecipientFilterWebservice | 244
setDescriptionDefines the internal description of a target group. The target group must not be a temporary target group.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Description String Internal description of the target group
Return values. -
Code structure
void setDescription(String sessionId, long filterId, String description)
© Episerver 2018
245 | RecipientFilterWebservice
setNameDefines the internal name of a target group. The target group must not be a temporary target group.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
filterId long ID the target group
Name String Internal name of the target group
Return values. -
Code structure
void setName(String sessionId, long filterId, String name)
© Episerver 2018
RecipientListWebservice | 246
RecipientListWebserviceWith this web service you can query or update recipient lists.
Method Description
copy Creates a copy of an existing recipient list.
getAllIds Queries the IDs of all available recipient lists.
getAttributeNames Queries the names of all attributes a recipient in a recipient list might have.
getColumnNames Queries the column names of each recipient list.
getCount Count all available recipient lists.
getDataSet Queries the data of each recipient list.
getDataSetFlat Queries the values of each recipient list.
getDescription Queries the internal description of a recipient list.
getName Queries the internal name of a recipient list.
isTestRecipientList Queries whether a recipient list is a test recipient list.
setDescription Defines the internal description of a recipient list.
setName Defines the internal name of a recipient list.
setTestRecipientList Marks a recipient list as a test recipient list or vice versa.
© Episerver 2018
247 | RecipientListWebservice
copyCreates a copy of an existing recipient list.
Only the definition of the given recipient list is copyied NOT the actual recipients. The created list is empty.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list that shall be copied
Return values. ID of the new recipient list.
Code Structure
long copy(String sessionId, long recipientListId)
© Episerver 2018
RecipientListWebservice | 248
getAllIdsQueries the IDs of all available recipient lists.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. IDs of all available recipient lists.
Code Structure
long[] getAllIds(String sessionId)
© Episerver 2018
249 | RecipientListWebservice
getAttributeNamesQueries the names of all attributes a recipient in a recipient list might have. The names of the attributes are returned according to the given locale.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
locale String Must be any locale like de or en etc.
Return values. Names of all attributes a recipient may have in the recipient list. If a language is not supported the default values will be returned.
Code Structure
String[] getAttributeNames(String sessionId, long recipientListId, String locale)
© Episerver 2018
RecipientListWebservice | 250
getColumnNamesQueries the column names of each recipient list.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Column names of the recipient lists. The columns and the column order are subject to change.
Code Structure
String[] getColumnNames(String sessionId)
© Episerver 2018
251 | RecipientListWebservice
getCountCount all available recipient lists.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
includeTestLists boolean true: Test recipient lists are also counted.false: Test recipient lists are not counted.
Return values. Number of all available recipient lists.
Code Structure
int getCount(String sessionId, boolean includeTestLists)
© Episerver 2018
RecipientListWebservice | 252
getDataSetQueries the data of each recipient list. This method can be replaced by the .NET replacement methods getColumnNames and getDataSetFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. A data set where the first row contains the column names and the following the values for each recipient list. The columns and the column order of the data set are subject to change.
Code Structure
String[][] getDataSet(String sessionId)
© Episerver 2018
253 | RecipientListWebservice
getDataSetFlatQueries the values of each recipient list.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
Return values. Values of the recipient lists. To assign the returned values to different recipient lists, you can use the method getColumnNames. With this method you can determine the number of values of a recipient list.
Code Structure
String[] getDataSetFlat(String sessionId)
© Episerver 2018
RecipientListWebservice | 254
getDescriptionQueries the internal description of a recipient list.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values. Internal description of the recipient list.
Code Structure
String getDescription(String sessionId, long recipientListId)
© Episerver 2018
255 | RecipientListWebservice
getNameQueries the internal name of a recipient list.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values. Internal name of the recipient list.
Code Structure
String getName(String sessionId, long recipientListId)
© Episerver 2018
RecipientListWebservice | 256
isTestRecipientListQueries whether a recipient list is a test recipient list.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values
true: Recipient list is a test recipient list.
false: Recipient list is not a test recipient list.
Code Structure
boolean isTestRecipientList(String sessionId, long recipientListId)
© Episerver 2018
257 | RecipientListWebservice
setDescriptionDefines the internal description of a recipient list.
Type. void
Parameters
Name Type Value
sessionId
String
ID of the session
recipientListId
long
ID of the recipient list
Description
String
Internal description of the recipient list
Return values. -
Code structure
void setDescription(String sessionId, long recipientListId, String description)
Error occurred while rendering report: null
© Episerver 2018
RecipientListWebservice | 258
setNameDefines the internal name of a recipient list.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Name String Internal name of the recipient list
Return values. -
Code structure
Void setName(String sessionId, long recipientListId, String name)
© Episerver 2018
259 | RecipientListWebservice
setTestRecipientListMarks a recipient list as a test recipient list or vice versa.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
testList boolean true: Recipient list is marked as test recipient list.false: Recipient list is not marked as test recipient list.
Return values. -
Code structure
void setTestRecipientList(String sessionId, long recipientListId, boolean testList)
© Episerver 2018
RecipientWebservice | 260
RecipientWebserviceWith this web service you can query, add, update and remove recipients.
Method Description
add2 Adds a recipient to a recipient list.
addAll3 Adds multiple recipients to a recipient list.
addAll3Flat Adds multiple recipients to an existing recipient list.
changeRecipientId2 Changes the ID of a recipient.
clear Deletes all recipients from a recipient list.
contains Queries whether a recipient already exists in a recipient list.
containsMultiple Queries whether a recipient already exists in multiple recipient lists.
containsValid Queries whether a recipient is valid and can receive emails.
containsValidMultiple Queries whether a recipient is valid and can receive mailings from multiple recipient lists
createTrackingOptOut Deactivates the usage of action-based data (opens and clicks) for a recipient.
deleteTrackingOptOut Reactivates the usage of action-based data (opens and clicks) for a recipient.
getAll Queries all recipients that are contained in a specific recipient list.
getAllAdvanced Queries all recipients that are contained in a specific recipient list.
getAllAdvancedFlat Queries all recipients that are contained in a specific recipient list.
getAllFlat Queries all recipients that are contained in a specific recipient list.
getAttributes Queries the attributes defined by the parameter attributeNames.
getCount Counts all recipients.
getDistinctValues Queries all distinct values of an attribute.
getDistinctValuesCount Queries all distinct values of an attribute and counts the recipients for each value.
© Episerver 2018
261 | RecipientWebservice
Method Description
getDistinctValuesCountFlat Queries all distinct values of an attribute and counts the recipients for each value.
remove Deletes a recipient from a recipient list.
removeAll Deletes multiple recipients from a recipient list.
removeBlacklisted Deletes all blacklisted recipients from a recipient list.
removeBounced Deletes all recipients who created bounces.
removeNotOptined Deletes a recipient from a recipient list only if the opt-in process is not finished yet.
removeUnsubscribed Deletes all unsubscribed recipients from a recipient list.
setAttributes Defines new values for specific attributes of a recipient.
setAttributesByFilter Defines new values for specific attributes of all recipients contained in a specific recipient list.
setAttributesInBatch Defines new values for specific attributes of multiple recipients.
setAttributesInBatchFlat Defines new values for specific attributes of multiple recipients.
Deprecated methodsMethod Description
add Deprecated. Use add2 instead.
addAll Deprecated. Use addAll3 instead.
addAll2 Deprecated! Use addAll3 instead.
addAll2Flat Deprecated! Use addAll3Flat instead.
changeRecipientId Deprecated. Use changeRecipientId2.
Attribute valuesAttribute values have to be provided in a serialised form. See Type conversion and formatting rules.
Recipients that shall be added to a recipient list through a double opt-in process are not added until they have completed it.
© Episerver 2018
RecipientWebservice | 262
addThis method is deprecated. Use add2 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
263 | RecipientWebservice
add2Adds a recipient to a recipient list. Be aware of the different behavior of this method according to the recipient status:
If there is already a recipient with the same ID that has not completed the opt-in process, the recipient will be removed and re-added.
If the recipient that is added with this method has been marked as unsubscribed and if no opt-in process ID is submitted, this recipient will be activated immediately and receive mailings from your client. No further opt-in process is triggered.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
optinProcessId long ID of the opt-in process. The recipient will be processed with the given opt-in process identified by this ID. If no opt-in process shall be used and the recipient be activated immediately, set the value to 0.
When using a double opt-in recipient list: If the recipient is unsubscribed and this ID is not being transmitted, 0 (Recipient has been added.) is returned.
When using a non-double opt-in recipient list: If the recipient is unsubscribed, regardless of whether the ID is transmitted or not, 2 (Recipient is unsubscribed.) is returned.
recipientId String ID of the recipient
emailAddress String Email address of the recipient
attributeNames String[ ]
Defines a map of attributes in association with attributeValues.
attributeValues String[ ]
Defines a map of attributes in association with attributeNames.
Return values
© Episerver 2018
RecipientWebservice | 264
0: Recipient has been added.
1: Recipient validation failed, e.g. due to invalid email address syntax.
2: Recipient is unsubscribed.
3: Recipient is blacklisted.
4: Recipient is bounce overflowed (i.e. produced too many bounces in the past).
5: Recipient is already in the list.
6: Recipient has been filtered.
7: A general error occurred.
Code Structure
int add2(String sessionId, long recipientListId, long optinProcessId, String recip-
ientId, String emailAddress, String[] attributeNames, String[] attributeValues)
© Episerver 2018
265 | RecipientWebservice
addAllThis method is deprecated. Use addAll3 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
RecipientWebservice | 266
addAll2This method is deprecated. Use addAll3 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
267 | RecipientWebservice
addAll2FlatThis method is deprecated. Use addAll3 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
RecipientWebservice | 268
addAll3Adds multiple recipients to an existing recipient list. Be aware of the different behavior of this method according to the target recipient list:
If a recipient is unsubscribed and the target recipient list an opt-in list, the recipient will be re-activated with this method and the unsubscribe status will be reset.
If a recipient is unsubscribed and the target recipient list a regular list, the unsubscribe status will not be changed and the recipient will not receive any further emails.
This method can be replaced by the .NET replacement method addAll3Flat.
Type. int[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
optinProcessId long ID of the opt-in process. The recipient will be processed with the given opt-in process identified by this ID. If no opt-in process shall be used and the recipient be activated immediately, set the value to 0.
recipientIds String[ ]
IDs of the recipients
emailAddresses String[ ]
Email addresses of the recipients
attributeNames String[ ]
Defines a map of attributes in association with attributeValues.
attributeValues String[ ] [ ]
Defines a map of attributes in association with attributeNames.
Example structure for attributeNames and attributeValues
$attributeNames = array('Salutation','Firstname','Lastname');
$arrayRecipient1 = array("Mr","John","Doe");
$arrayRecipient2 = array("Mrs","Jane","Doe");
$arrayRecipient3 = array("Mr","Peter","Jackson");
$attributeValues = array($arrayRecipient1 ,$arrayRecipient2 ,$arrayRecipient3 );
Return values. For each recipient:
© Episerver 2018
269 | RecipientWebservice
0: Recipient has been inserted
1: Recipient validation failed, e.g. due to invalid email address syntax
2: Recipient is unsubscribed (applies only if the target recipient list is a regular list and no opt-in list)
3: Recipient is blacklisted
4: Recipient is bounce overflowed (i.e. produced too many bounces in the past)
5: Recipient is already in the list
6: Recipient has been filtered
7: A general error occurred
Code Structure
Int[] addAll3(String sessionId, long recipientListId, long optinProcessId, String[]
recipientIds, String[] emailAddresses, String[] attributeNames, String[][] attrib-
uteValues)
© Episerver 2018
RecipientWebservice | 270
addAll3FlatAdds multiple recipients to an existing recipient list. Be aware of the different behavior of this method according to the target recipient list:
If a recipient is unsubscribed and the target recipient list an opt-in list, the recipient will be re-activated with this method and the unsubscribe status will be reset.
If a recipient is unsubscribed and the target recipient list a regular list, the unsubscribe status will not be changed and the recipient will not receive any further emails.
This is a .NET replacement method. For other applications use the method addAll3.
Type: int[ ]
Parameter
Name Type Description
sessionId String ID of the session
recipientListId long ID of the recipient list
optinProcessId long ID of the opt-in process. The recipient will be processed with the given opt-in process identified by this ID. If no opt-in process shall be used and the recipient be activated immediately, set the value to 0.
recipientIds String[ ]
IDs of the recipients
emailAddresses String[ ]
Email addresses of the recipients
attributeNames String[ ]
Defines a map of recipient attributes in association with flatAttributeValues according to the following pattern: 'firstname'==>'John','lastname'==>'Doe'
flatAttributeValues String[ ]
Defines a map of recipient attributes in association with attributeNames according to the following pattern: 'firstname'==>'John','lastname'==>'Doe'
Return values. For each recipient:
0: Recipient has been inserted.
1: Recipient validation failed, e.g. due to invalid email address syntax.
2: Recipient is unsubscribed.
3: Recipient is blacklisted.
© Episerver 2018
271 | RecipientWebservice
4: Recipient is bounce overflowed (i.e. produced too many bounces in the past).
5: Recipient is already in the list.
6: Recipient has been filtered.
7: A general error occurred.
Code Structure
int[] addAll3Flat(String sessionId, long recipientListId, long optinProcessId,
String[] recipientIds, String[] emailAddresses, String[] attributeNames, String[]
flatAttributeValues)
© Episerver 2018
RecipientWebservice | 272
changeRecipientIdThis method is deprecated. Use changeRecipientId2 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
273 | RecipientWebservice
changeRecipientId2Changes the ID of a recipient. This method is especially useful when email addresses are the primary key of your recipient list. When you change a recipient's ID all historical information will be preserved and assigned to the new ID.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientId String Old ID of the recipient
newRecipientId String New ID of the recipient
Return values. -
Code structure
void changeRecipientId2(String sessionId, String recipientId, String newRecipientId)
© Episerver 2018
RecipientWebservice | 274
clearDeletes all recipients from a recipient list.
The recipients cannot be restored.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values. -
Code structure
void clear(String sessionId, long recipientListId)
© Episerver 2018
275 | RecipientWebservice
containsQueries whether a recipient already exists in a recipient list.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values
true: The recipient already exists.
false: The recipient does not exist or an entry exists but the opt-in process has not been finished yet (i.e. the double opt-in link has not been clicked).
Code Structure
boolean contains(String sessionId, long recipientListId, String recipientId)
© Episerver 2018
RecipientWebservice | 276
containsMultipleQueries whether a recipient already exists in multiple recipient lists.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListIds long[ ] IDs of the recipient lists
recipientId String ID of the recipient
Return values. For each recipient list:
true: The recipient already exists.
false: The recipient does not exist or an entry exists but the opt-in process has not been finished yet (i.e. the double opt-in link has not been clicked).
Code Structure
boolean[] containsMultiple(String sessionId, long[] recipientListIds, String recip-
ientId)
© Episerver 2018
277 | RecipientWebservice
containsValidQueries whether a recipient can receive mailings (is "valid") by checking the following conditions:
already exists in a recipient list
is not blacklisted in a recipient list
is not unsubscribed in a recipient list
is not bounced-out in a recipient list
has finished an opt-in process (if any opt-in process exists) in a recipient list
By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values
true: Recipient matches all conditions and receives mailings.
false: Recipient does not match at least one condition and does not receive any mailing.
Code Structure
boolean containsValid(String sessionId, long recipientListId, String recipientId)
© Episerver 2018
RecipientWebservice | 278
containsValidMultipleQueries whether a recipient can receive mailings (i. e. are "valid") from multiple recipient lists by checking the following conditions:
already exists in all queried recipient lists.
is not blacklisted in multiple recipient lists.
is not unsubscribed in multiple recipient lists.
is not bounced-out in multiple recipient lists.
has finished an opt-in process (if any opt-in process exists) in multiple recipient lists.
By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListIds long[ ] IDs of the recipient lists
recipientId String ID of the recipient
Return values. For each recipient list:
true: Recipient matches all conditions and receives mailings.
false: Recipient does not match at least one condition and does not receive any mailings.
Code Structure
boolean[] containsValidMultiple(String sessionId, long[] recipientListIds, String
recipientId)
© Episerver 2018
279 | RecipientWebservice
createTrackingOptOutDeactivates the usage of action-based data (opens and clicks) for a recipient.
Notes
Opens and clicks are still saved anonymously and included in global reports. The open and clicks in a mailing of such a recipient would therefore be counted. However, the recipient is not taken into account if you create a target group containing all recipients of this mailing who opened or clicked it.
All personal action-based data are anonymised from the time of activation. Action-based in the recipient history is not retrospectively anonymised.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientId String ID of the recipient for which the usage of action-based data shall be deactivated
Return values. -
Code Structure
void createTrackingOptOut(String sessionId, String recipientId)
© Episerver 2018
RecipientWebservice | 280
deleteTrackingOptOutReactivates the usage of action-based data (opens and clicks) for a recipient.
Opens and clicks in the recipient history from the time of activation to the reactivation will not be restored and allocated to the recipient.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientId String ID of the recipient for which the usage of action-based data shall be activated
Return values. -
Code structure
void deleteTrackingOptOut(String sessionId, String recipientId)
© Episerver 2018
281 | RecipientWebservice
getAllQueries all recipients that are contained in a specific recipient list. This method can be replaced by the .NET replacement method getAllFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
attributeNames String[ ] Names of the fields, whose recipient data shall be queried
Return values. All recipients that are contained in the recipient list.
Code Structure
String[][] getAll(String sessionId, long recipientListId, String[] attributeNames)
© Episerver 2018
RecipientWebservice | 282
getAllAdvancedQueries all recipients that are contained in a specific recipient list. The selection can be limited to a specified target group. This method can be replaced by the .NET replacement method getAllAdvancedFlat.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
attributeNames String[ ] Names of the fields, whose recipient data shall be queried
recipientFilterId long (optional) ID of the target group. If the value is greater than 0, only recipients that match the target group with this ID are returned. If you do not want to use a target group, set the value to 0.
orderByAttribute String The name of the attribute (e.g. firstname) that is used for sorting.
If you set the value to NULL, sorting is disabled.
ascendingSortOrder boolean true: Recipient list is sorted ascending.false: Recipient list is sorted descending.
This parameter is ineffective if you set the value of the previous parameter orderByAttribute to NULL.
pageStart int The number of the first recipient to be returned.
pageSize int The total number of recipients to be returned.
Return values. All recipients that are contained in the recipient list. Returns an array of strings containing an array of strings with the attribute names for each recipient according to the given attribute names.
Code Structure
String[][] getAllAdvanced(String sessionId, long recipientListId, String[] attrib-
uteNames, long recipientFilterId, String orderByAttribute, boolean ascend-
ingSortOrder, int pageStart, int pageSize)
© Episerver 2018
283 | RecipientWebservice
getAllAdvancedFlatQueries all recipients that are contained in a specific recipient list. The selection can be limited to a specified target group.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
attributeNames String[ ] Names of the fields, whose recipient data shall be queried
recipientFilterId long (optional) ID of the target group. If the value is greater than 0, only recipients that match the target group with this ID are returned. If you do not want to use a target group, set the value to 0.
orderByAttribute String The name of the attribute (e.g. firstname) that is used for sorting. If you set the value to NULL, sorting is disabled.
ascendingSortOrder boolean true: Recipient list is sorted ascending.false: Recipient list is sorted descending.
If you set the parameter orderByAttribute to NULL, this parameter has no meaning.
pageStart int The number of the first recipient to be returned.
pageSize int The total number of recipients to be returned.
Return values. All recipients that are contained in the recipient list. Returns an array of strings containing an array of strings with the attribute names for each recipient according to the given attribute names. Furthermore the result can be sorted and paged.
Code Structure
String[] getAllAdvancedFlat(String sessionId, long recipientListId, String[] attrib-
uteNames, long recipientFilterId, String orderByAttribute, boolean ascend-
ingSortOrder, int pageStart, int pageSize)
© Episerver 2018
RecipientWebservice | 284
getAllFlatQueries all recipients that are contained in a specific recipient list.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
attributeNames String[ ] Names of the fields, whose recipient data shall be queried
Return values. All recipients that are contained in the recipient list. Every value of the returned array is assigned to a value of the committed array parameter attributeNames for a recipient.
Code Structure
String[] getAllFlat(String sessionId, long recipientListId, String[] attributeNames)
© Episerver 2018
285 | RecipientWebservice
getAttributesQueries the attributes defined by the parameter attributeNames.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
attributeNames String[ ] Field names (e.g. firstname, lastname etc.)
Return values. Attribute values according to the given attribute names. Each entry is formatted according to the Type Conversion and Formatting Rules.
Code Structure
String[] getAttributes(String sessionId, long recipientListId, String recipientId,
String[] attributeNames)
© Episerver 2018
RecipientWebservice | 286
getCountCounts all recipients. Optionally, a target group can be used.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientFilterId long ID of the target group
If the value is 0, all recipients of the recipient list are counted.If the value is a target group ID, only recipients that match the target group with this ID are counted.
If a default target group is used in the client, this is not considered when counting the recipient of this recipient list. The counting may therefore differ from the actual dispatch result.
Return values. Number of all recipients.
Code Structure
int getCount(String sessionId, long recipientListId, long recipientFilterId)
© Episerver 2018
287 | RecipientWebservice
getDistinctValuesQueries all distinct values of an attribute.
Using this method with the wrong argument (no threshold for instance) can lead to huge amount of data returned.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientFilterId long ID of the target group
attributeName String Field name of the field (e.g. firstname, lastname etc.) that is to be queried for distinct values.
threshold int Number of characters that are examined. Example: With a threshold of 4 the values Test-A and Test-B will be summed up to Test.
Return values. Distinct values of the attribute.
Code Structure
String[] getDistinctValues(String sessionId, long recipientListId, long recip-
ientFilterId, String attributeName, int threshold)
© Episerver 2018
RecipientWebservice | 288
getDistinctValuesCountQueries all distinct values of an attribute and counts the recipients for each value. This method can be replaced by the .NET replacement method getDistinctValuesCountFlat.
Using this method with the wrong argument (e.g., no threshold) can lead to huge amount of data returned.
Type. String[ ] [ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientFilterId long (optional) ID of the target group. If the value is greater than 0, only recipients that match the target group with this ID are returned.
attributeName String Field name of the field (e.g. firstname, lastname etc.) that is to be queried for distinct values.
threshold int Number of characters that are examined. Example: With a threshold of 4 the values Test-A and Test-B will be summed up to Test.
Return values. Multidimensional arrays. Odd indices contain the value and even indices contain the corresponding count. Example: result[0][0]=="Value 1", result[0][1]=="234", result[1][0]=="Value 2", result[1][1]=="678".
Code Structure
String[][] getDistinctValuesCount(String sessionId, long recipientListId, long recip-
ientFilterId, String attributeName, int threshold)
© Episerver 2018
289 | RecipientWebservice
getDistinctValuesCountFlatQueries all distinct values of an attribute and counts the recipients for each value.
Using this method with the wrong argument (e.g., no threshold) can lead to huge amount of data returned.
Type. String[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientFilterId long (optional) ID of the target group. If the value is greater than 0, only recipients that match the target group with this ID are returned.
attributeName String Field name of the field (e.g. firstname, lastname etc.) that is to be queried for distinct values.
threshold int Number of characters that are examined. Example: With a threshold of 4 the values Test-A and Test-B will be summed up to Test.
Return values. The first index is the value, the second one the count. Example: result[0]=="Value 1", result[1]=="123", result[2]=="Value 2", result[3]=="678".
Code Structure
String[] getDistinctValuesCountFlat(String sessionId, long recipientListId, long
recipientFilterId, String attributeName, int threshold)
© Episerver 2018
RecipientWebservice | 290
removeDeletes a recipient from a recipient list.
Do not use this method with recipients who unsubscribe a newsletter. Instead, use the add and addAll methods of the UnsubscribeWebservice.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values. -
Code structure
void remove(String sessionId, long recipientListId, String recipientId)
© Episerver 2018
291 | RecipientWebservice
removeAllDeletes multiple recipients from a recipient list.
Do not use this method with recipients who unsubscribe a newsletter. Instead, use the add method.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientIds String[ ] IDs of the recipients
Return values
true: Recipient has been deleted successfully.
false: Recipient does not exist.
Code Structure
boolean[] removeAll(String sessionId, long recipientListId, String[] recipientIds)
© Episerver 2018
RecipientWebservice | 292
removeBlacklistedDeletes all blacklisted recipients from a recipient list. By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. int
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values. Number of recipients that have been deleted.
Code structure:
int removeBlacklisted(String sessionId, long recipientListId)
© Episerver 2018
293 | RecipientWebservice
removeBouncedDeletes all recipients who created bounces. By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. int
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values. Number of recipients that have been deleted.
Code structure:
int removeBounced(String sessionId, long recipientListId)
© Episerver 2018
RecipientWebservice | 294
removeNotOptinedDeletes a recipient from a recipient list only if the opt-in process is not finished yet.
Example: A recipient has been created using a double opt-in process but has never clicked the confirmation link. Then this recipient can be deleted with this method.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values
true: Recipient has been deleted successfully.
false: Recipient does not exist or has finished the opt-in process.
Code Structure
boolean removeNotOptined(String sessionId, long recipientListId, String recipientId)
© Episerver 2018
295 | RecipientWebservice
removeUnsubscribedDeletes all unsubscribed recipients from a recipient list. By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. int
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
Return values. Number of recipients that have been deleted.
Code structure:
int removeUnsubscribed(String sessionId, long recipientListId)
© Episerver 2018
RecipientWebservice | 296
setAttributesDefines new values for specific attributes of a recipient.
Transactional recipient lists (recipient lists that can only be used for API calls) cannot be updated using this method.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
attributeNames String[ ]
Field names of the fields (e.g. firstname, lastname etc.) that are to be updated.
attributeValues String[ ]
New values for the attributes/fields defined with attributeNames. Each entry must be formatted according to the formatting rules.
Return values. -
Code structure
void setAttributes(String sessionId, long recipientListId, String recipientId,
String[] attributeNames, String[] attributeValues)
© Episerver 2018
297 | RecipientWebservice
setAttributesByFilterDefines new values for specific attributes of all recipients contained in a specific recipient list.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientFilterId long ID of the recipient
attributeNames String[ ]
Field names of the fields (e.g. firstname, lastname etc.) that are to be updated.
attributeValues String[ ]
New values for the attributes/fields defined with attributeNames. Each entry must be formatted according to the formatting rules.
mode String For fields of the type String this parameter can be set to:
set (overwrite)prependappendFor all other types the value is set by default.
Return values. -
Code structure
void setAttributesByFilter(String sessionId, long recipientListId, long recip-
ientFilterId, String[] attributeNames, String[] attributeValues, String mode)
© Episerver 2018
RecipientWebservice | 298
setAttributesInBatchDefines new values for specific attributes of multiple recipients. This method can be replaced by the .NET replacement method setAttributesInBatchFlat.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientIds String[ ]
IDs of the recipients
attributeNames String[ ][ ]
Field names of the fields (e.g. firstname, lastname etc.) that are to be updated.
attributeValues String[ ][ ]
New values for the attributes/fields defined with attributeNames. Each entry must be formatted according to the formatting rules.
Return values. -
Code structure
void setAttributesInBatch(String sessionId, long recipientListId, String[] recip-
ientIds, String[][] attributeNames, String[][] attributeValues)
© Episerver 2018
299 | RecipientWebservice
setAttributesInBatchFlatDefines new values for specific attributes of multiple recipients.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientIds String[ ]
IDs of the recipients
attributeNames String[ ]
Field names of the fields (e.g. firstname, lastname etc.) that are to be updated.
flatAttributeValues String[ ]
New values for the attributes/fields defined with attributeNames. Each entry must be formatted according to the formatting rules.
Return values. -
Code structure
void setAttributesInBatchFlat(String sessionId, long recipientListId, String[] recip-
ientIds, String[] attributeNames, String[] flatAttributeValues)
© Episerver 2018
ResponseWebservice | 300
ResponseWebserviceWith this web service you can query email responses on a mailing or recipient basis or reset the bounce counter.
Method Description
getAllRecipientResponseCounts2 Counts the responses of a specific type for multiple recipients.
getBounceCounter Counts the hard or soft bounces for a recipient.
getBounceCounterThreshold Queries the maximum number of responses a recipient can produce before the recipient will not receive any further mailings.
getMailingResponseCount Counts the responses of a specific type for a mailing.
getRecipientResponseCount2 Counts the responses of a specific type for a recipient.
isBounceCounterThresholdExeeded Queries whether a recipient has exceeded either the hard or the soft bounce threshold.
resetBounceCounter Resets the thresholds for hard and soft bounces to 0.
Deprecated methodsMethod Description
getAllRecipientResponseCounts Deprecated. Use getAllRecipientsResponseCounts2.
getRecipientResponseCount Deprecated. Use getRecipientResponseCount2 instead.
Response categoriesUse one of the following values whenever a category is required:
hardbounce
softbounce
autoresponder
unknown
In addition to these response types, you can use any recipient-defined response type too.
© Episerver 2018
301 | ResponseWebservice
getAllRecipientResponseCountsThis method is deprecated. Use getAllRecipientResponseCounts2 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
ResponseWebservice | 302
getAllRecipientResponseCounts2Counts the responses of a specific type for multiple recipients.
Type. int[ ]
Parameters
Name Type Value
sessionId String ID of the session
category String See Response categories.
recipientIds String[ ] IDs of the recipients
mailingId long ID of the mailing
Return values. For each recipient: Number of responses of the given type for the recipient.
Code Structure
int[] getAllRecipientResponseCounts2(String sessionId, String category, String[]
recipientIds, long mailingId)
© Episerver 2018
303 | ResponseWebservice
getBounceCounterCounts the hard or soft bounces for a recipient. See also: resetBounceCounter and getBounceCounterThreshold.
This number is different from the one returned by getRecipientResponseCount as this is the counter used to determine whether a recipient will receive further mailings or not. This bounce counter may be reset to re-enable a recipient once the a bounce threshold (usually three hard bounces and five soft bounces) has been exceeded. By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).|
Type. int
Parameters
Name Type Value
sessionId String ID of the session
recipientId String ID of the recipient
category String Only hardbounce or softbounce.
Return values. Number of hard or soft bounces for the recipient.
Code Structure
int getBounceCounter(String sessionId, String recipientId, String category)
© Episerver 2018
ResponseWebservice | 304
getBounceCounterThresholdQueries the maximum number of responses a recipient can produce before the recipient will not receive any further mailings. See also: resetBounceCounter.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
category String Only hardbounce or softbounce.
Return values. Maximum number of responses a recipient can produce before the recipient will not receive any further mailings.
Code Structure
int getBounceCounterThreshold(String sessionId, String category)
© Episerver 2018
305 | ResponseWebservice
getMailingResponseCountCounts the responses of a specific type for a mailing.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
category String See Response categories.
mailingId long ID of the mailing
Return values. Number of responses of the given type for a mailing.
Code Structure
int getMailingResponseCount(String sessionId, String category, long mailingId)
© Episerver 2018
ResponseWebservice | 306
getRecipientResponseCountThis method is deprecated. Use getRecipientResponseCount2 instead. If you still use this method, contact customer support to get further information.
© Episerver 2018
307 | ResponseWebservice
getRecipientResponseCount2Counts the responses of a specific type for a recipient.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
category String See Response categories.
recipientId String ID of the recipient
mailingId long ID of the mailing. Optional. If committed, only responses from this mailing will be counted.
Return values. Number of responses of the given type for the recipient.
Code Structure
int getRecipientResponseCount2(String sessionId, String category, String recipientId
long mailingId)
© Episerver 2018
ResponseWebservice | 308
isBounceCounterThresholdExeededQueries whether a recipient has exceeded either the hard or the soft bounce threshold. See also: getBounceCounterThreshold.
By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
category String Only hardbounce or softbounce.
Return values
true: Recipient has exceeded the hard or the soft bounce threshold.
false: Recipient has not exceeded the hard or the soft bounce threshold.
Code Structure
boolean isBounceCounterThresholdExeeded(String sessionId, String recipientId)
© Episerver 2018
309 | ResponseWebservice
resetBounceCounterResets the thresholds for hard and soft bounces to 0. After invoking this method, the recipient will receive mailings again. See also: resetBounceCounter and getBounceCounterThreshold.
By default the media type EMAIL is used. Use the setMediaType method to select another media type (like SMS or FAX).
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientId String ID of the recipient
Return values. -
Code structure
void resetBounceCounter(String sessionId, String recipientId)
© Episerver 2018
SessionWebservice | 310
SessionWebserviceWith this web service you control the session handling (login, logout etc.) for all web services.
Method Description
getLocale Queries the locale of a session.
getMediaType Queries the media type of a session.
login Starts the login for a session in the localisation version de.
logout Ends a session.
setLocale Defines the locale for a session.
setMediaType Defines the media type for a session.
Locale-based informationSome methods (mostly reporting functions) require parameters for localization. The localization version for the current session can be set active by using the setLocale method. The default value is de for German.
Media typeSome API methods work differently on different media types (such as EMAIL, FAX or SMS). Use the setMediaType method to switch between different media types. Default is EMAIL.
© Episerver 2018
311 | SessionWebservice
getLocaleQueries the locale of a session.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
Return values. Valid ISO language code (ISO-639). See: http://www.loc.gov/standards/iso639-2/php/code_list.php.
Code Structure
String getLocale(String sessionId)
© Episerver 2018
SessionWebservice | 312
getMediaTypeQueries the media type of a session.
Type. String
Parameters
Name Type Value
sessionId String ID of the session
Return values. Media type of the session: EMAIL, FAX or SMS
Code Structure
String getMediaType(String sessionId)
© Episerver 2018
313 | SessionWebservice
loginStarts the login for a session in the localization version de.
Validity of a Session
The sessionId—and therefore the session—becomes invalid after 20 minutes and you must use the login method to obtain a new sessionId.
Type. String
Parameters
Name Type Value
mandatorId long ID of the client you want login to
username String Name of the user—must have the INTERFACE_WEBSERVICE permission.
password String Password of the user
Return values. A sessionId that is required by all web service methods.
Code Structure
String login(long mandatorId, String username, String password)
© Episerver 2018
SessionWebservice | 314
logoutEnds a session.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
Return values. -
Code structure
void logout(String sessionId)
© Episerver 2018
315 | SessionWebservice
setLocaleDefines the locale for a session.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
locale String A valid ISO language code (ISO-639). See: http://www.loc.gov/standards/iso639-2/php/code_list.php.
Return values. -
Code structure
void setLocale(String sessionId, String locale)
© Episerver 2018
SessionWebservice | 316
setMediaTypeDefines the media type for a session. Some methods use the media type defined here.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mediaType String EMAIL, FAX or SMS
Return values. -
Code structure
void setMediaType(String sessionId, String mediaType)
© Episerver 2018
317 | Soap11Webservice
Soap11WebserviceThis web service is the basic interface for all web services. Methods defined within this web service are available through every web service. This web service cannot be accessed directly.
Method Description
getVersion Queries the version of the API.
© Episerver 2018
Soap11Webservice | 318
getVersionQueries the version of the API.
Type. String
Parameters
Name Type Value
– – –
Return values. Version of the API.
Code Structure
String getVersion()
© Episerver 2018
319 | SplitMailingWebservice
SplitMailingWebserviceThis web service enables you to query, create, edit and delete split mailings. To create mailings that will be used as splits, use the methods of the web service MailingWebservice.
Method Description
addSplit Converts an existing mailing into a split mailing and assigns this mailing to a master mailing.
getSplitChildIds Queries the IDs of all split mailings which are assigned to a specific master mailing.
getSplitMasterId Queries the ID of the master mailing, which is associated with a specific split mailing.
removeSplit Converts a split mailing into a regular mailing.
setFinalSplitSelectionCriterion Defines the selection criterion for sending a split mailing as master mailing.
setMasterStartDelay Defines the sending delay for the start of a master mailing after all split mailings have been sent.
Mailing typeThe following mailing types are supported:
split. A regular split mailing.
MIME typeThe following MIME types are supported:
text/plain. Text emails.
text/html. HTML emails.
multipart/alternative. Text and HTML emails.
Selection criteriaThe following selection criteria are supported:
OPEN_RATE. Open rate.
BOUNCE_RATE. Bounce rate.
© Episerver 2018
SplitMailingWebservice | 320
CLICK_RATE. Click rate.
EFFECTIVE_CLICK_RATE. Effective click rate.
UNSUBSCRIBE_RATE. Unsubscribe rate.
© Episerver 2018
321 | SplitMailingWebservice
addSplitConverts an existing mailing into a split mailing and assigns this mailing to a master mailing. The mailing to be converted must be of the type regular.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
masterId long ID of the master mailing the split mailing is assigned to
childId long ID of the mailing that is assigned to the master mailing
Return values. -
Code structure
void addSplit(String sessionId, long masterId, long childId)
© Episerver 2018
SplitMailingWebservice | 322
getSplitChildIdsQueries the IDs of all split mailings which are assigned to a specific master mailing.
Type. long[ ]
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the master mailing
Return values. IDs of all split mailings that are assigned to the master mailing. If no split mailings are found, NULL is returned.
Code Structure
long[] getSplitChildIds(String sessionId, long mailingId)
© Episerver 2018
323 | SplitMailingWebservice
getSplitMasterIdQueries the ID of the master mailing, which is associated with a specific split mailing.
Type. long
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the split mailing
Return values. ID of the master mailing that is associated with the split mailing. If no master mailing is found (i.e. the specified mailing is no split mailing), 0 is returned.
Code Structure
long getSplitMasterId(String sessionId, long mailingId)
© Episerver 2018
SplitMailingWebservice | 324
removeSplitConverts a split mailing into a regular mailing, i.e. the split is deleted but the mailing itself remains. If no split mailings are assigned to the master mailing anymore after performing this method, the master mailing is converted into a regular mailing, too.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the split mailing
Return values. -
Code structure
void removeSplit(String sessionId, long mailingId)
© Episerver 2018
325 | SplitMailingWebservice
setFinalSplitSelectionCriterionDefines the selection criterion for sending a split mailing as master mailing.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the master mailing
criterion String Selection criterion:
OPEN_RATECLICK_RATEEFFECTIVE_CLICK_RATEUNSUBSCRIBE_RATEBOUNCE_RATEPOSTCLICK_VALUE
Return values. -
Code structure
void setFinalSplitSelectionCriterion(String sessionId, long mailingId, String cri-
terion)
© Episerver 2018
SplitMailingWebservice | 326
setMasterStartDelayDefines the sending delay for the start of a master mailing after all split mailings have been sent. To deactivate this function, set the values of the parameters days, hours and minutes to 0.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailingId long ID of the master mailing
days int Days by which the sending is delayed
hours int Hours by which the sending is delayed
minutes int Minutes by which the sending is delayed
Return values. -
Code structure
void setMasterStartDelay(String sessionId, long mailingId, int days, int hours, int
minutes)
© Episerver 2018
327 | UnsubscribeWebservice
UnsubscribeWebserviceWith this web service you can query, update or delete unsubscribes.
Method Description
add Adds a recipient to a unsubscribe list.
addAll Adds multiple recipients to a unsubscribe list.
addByMailId Unsubscribes a recipient that belongs to a specific mail-ID.
contains Queries the unsubscribe status of a recipient.
containsAll Queries the unsubscribe status of multiple recipients.
containsAllByRecipientList Queries whether multiple recipients are contained in a recipient list-based unsubscribe list.
containsByRecipientList Queries whether a recipient is contained in a recipient list-based unsubscribe list.
getCount Count the recipients that are currently unsubscribed.
remove Removes a recipient from the internal unsubscribe list.
removeAll Removes multiple recipients from the internal unsubscribe list.
removeAllByRecipientList Removes multiple recipients from a recipient list-based unsubscribe list.
removeByRecipientList Removes a recipient from a recipient list-based unsubscribe list.
Unsubscribe listEach client uses one unsubscribe list. If there is an unsubscribe for any recipient list the recipient is added to this list and will not receive any further mailings send by this client.
Internal processing of unsubscribesInternally an unsubscribe event does not simply remove a recipient from the corresponding recipient list. Each unsubscribe is stored internally and must be removed explicitly. This is done if the recipient resubscribes via a web form or by invoking the remove method.
© Episerver 2018
UnsubscribeWebservice | 328
addAdds a recipient to a unsubscribe list. The recipient is unsubscribed from all recipient lists (but is not informed). The unsubscribe status is valid until the method remove is invoked or the recipient resubscribes using a "normal" opt-in process.
Use this method to mark a recipient as unsubscribed. Recipients that have been added to the unsubscribe list using this method are still visible in the recipient list, but will be skipped when the mailing is sent. To undo this step and re-subscribe a recipient, use the remove method. Be aware that re-adding a recipient using the add2 method will also remove the recipient from the unsubscribe list if he/she had previously been marked as unsubscribed and if no opt-in process ID is submitted.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long Optional. The recipient list the recipient is assigned to. If a client-wide unsubscribe list is configured, this parameter is meaningless. If recipient list-based unsubscribe lists are configured, the parameter selects the recipient list, from which the recipient is unsubscribed. Set the value to 0 to force a client-wide unsubscribe even if the client is configured to use recipient list-based unsubscribes.
recipientId String ID of the recipient
Return values. -
Code structure
void add(String sessionId, long recipientListId, String recipientId)
© Episerver 2018
329 | UnsubscribeWebservice
addAllAdds multiple recipients to a unsubscribe list. The recipients are unsubscribed from all recipient lists (but are not informed). The unsubscribe status is valid until the method remove is invoked or the recipient resubscribes using a "normal" opt-in process.
Use this method to mark multiple recipients as unsubscribed. Recipients that have been added to the unsubscribe list using this method are still visible in the recipient list, but will be skipped on mailing dispatch. To undo this step and re-subscribe a recipient, use the method remove method. Be aware that re-adding a recipient using the method add2 will also remove him from the unsubscribe list if he had previously been marked as unsubscribed and if no opt-in process ID is submitted.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long (optional) The recipient list the recipients are assigned to. If a client-wide unsubscribe list is configured, this parameter is meaningless. If recipient list-based unsubscribe lists are configured, the parameter selects the recipient list, from which the recipients are unsubscribed. Set the value to 0 to force a client-wide unsubscribe even if the client is configured to use recipient list-based unsubscribes.
recipientIds String[ ]
IDs of the recipients
Return values. -
Code structure
void addAll(String sessionId, long recipientListId, String[] recipientIds)
© Episerver 2018
UnsubscribeWebservice | 330
addByMailIdUnsubscribes a recipient that belongs to a specific mail-ID. The recipient is not removed from the recipient list (but will not receive any further mailings) until the remove method is invoked or the recipient resubscribes using a normal opt-in process. In addition to the method add, the mailing the recipient received before she/he unsubscribed will be preserved. See also: MailIdWebservice.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
mailId String ID of the email
Return values. -
Code structure
void addByMailId(String sessionId, String mailId)
© Episerver 2018
331 | UnsubscribeWebservice
containsQueries the unsubscribe status of a recipient.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
recipientId String ID of the recipient
Return values
true: Recipient is found on at least one unsubscribe list.
false: Recipient is found on no unsubscribe list.
Usually only one client-wide unsubscribe list exists.
Code Structure
boolean contains(String sessionId, String recipientId)
© Episerver 2018
UnsubscribeWebservice | 332
containsAllQueries the unsubscribe status of multiple recipients.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientIds String[ ] IDs of the recipients
Return values. For each recipient:
true: Recipient is found on at least one unsubscribe list.
false: Recipient is found on no unsubscribe list.
Code Structure
boolean[] containsAll(String sessionId, String[] recipientIds)
© Episerver 2018
333 | UnsubscribeWebservice
containsAllByRecipientListQueries whether multiple recipients are contained in a recipient list-based unsubscribe list. Prerequisite: Recipient list-based unsubscribe lists have been created.
If only one client-wide unsubscribe list exists, this method does exactly the same as contains.
Type. boolean[ ]
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientIds String[ ] IDs of the recipients
Return values. For each recipient:
true: Recipient is found on at least one recipient list-based unsubscribe list.
false: Recipient is found on no recipient list-based unsubscribe list.
Code Structure
boolean[] containsAllByRecipientList(String sessionId, long recipientListId, String
[] recipientIds)
© Episerver 2018
UnsubscribeWebservice | 334
containsByRecipientListQueries whether a recipient is contained in a recipient list-based unsubscribe list. Prerequisite: Recipient list-based unsubscribe lists have been created.
If only one client-wide unsubscribe list exists, this method does exactly the same as contains.
Type. boolean
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values
true: Recipient is found on at least one recipient list-based unsubscribe list.
false: Recipient is found on no recipient list-based unsubscribe list.
Code Structure
boolean containsByRecipientList(String sessionId, long recipientListId, String recip-
ientId)
© Episerver 2018
335 | UnsubscribeWebservice
getCountCount the recipients that are currently unsubscribed.
Type. int
Parameters
Name Type Value
sessionId String ID of the session
Return values. Number of recipients that are currently unsubscribed.
Code Structure
int getCount(String sessionId)
© Episerver 2018
UnsubscribeWebservice | 336
removeRemoves a recipient from the internal unsubscribe list. If the recipient is contained in one of the recipient lists he/she will receive mailings again.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientId String ID of the recipient
Return values. -
Code structure
void remove(String sessionId, String recipientId)
© Episerver 2018
337 | UnsubscribeWebservice
removeAllRemoves multiple recipients from the internal unsubscribe list. If a recipient is contained in one of the recipient lists he/she will receive mailings again.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientIds String[ ] IDs of the recipients
Return values. -
Code structure
void removeAll(String sessionId, String[] recipientIds)
© Episerver 2018
UnsubscribeWebservice | 338
removeAllByRecipientListRemoves multiple recipients from a recipient list-based unsubscribe list. If the client is configured for a client-wide unsubscribe list, this method does exactly the same as the method removeAll.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientIds String[ ] IDs of the recipients
Return values. -
Code structure
void removeAllByRecipientList(String sessionId, long RecipientListId, String[] recip-
ientIds)
© Episerver 2018
339 | UnsubscribeWebservice
removeByRecipientListRemoves a recipient from a recipient list-based unsubscribe list. If the client is configured for a client-wide unsubscribe list, this method does exactly the same as the method remove.
Type. void
Parameters
Name Type Value
sessionId String ID of the session
recipientListId long ID of the recipient list
recipientId String ID of the recipient
Return values. -
Code structure
void removeByRecipientList(String sessionId, long recipientListId, String recip-
ientId)