bus_facade_campaign_email


**Description :** Used in the management of emails within the platform.
**Default Methods** Please ensure you're familiar with... - [**Introduction to Beans**](/documentation/soap/gettingstarted/beans) - [**Requests and Responses**](/documentation/soap/gettingstarted/requests) - [**Anatomy of a session**](/documentation/soap/gettingstarted/session)
**Unique Methods** To call these methods use the following example structure...
paintRequest:
contextId   string  :   C-KFDsCMMHXpDUi0ltN0p3FvF
className   string  :   bus_facade_campaign_email
processName string  :   methodName  i.e. generateSpamReport
entityData  array   :   i.e. array('beanId'  => "ID of the bean (updated/loaded) in the bean store")
processData array   :   i.e. array(null)
Name Parameters Description
checkInboxPreviewAvailiability void Returns resultData array of the availiability of the advanced message checker, each element is an associative array (map) made up of 6 elements : appLongName (i.e. Outlook 2000), appCode, resultType, avgTime, status (i.e. NORMAL / DELAYED), percentage
createCopy Entity Data : messageId Creates a copy of the email entity bean given by the messageId in the bean store, returning a representation of the entity bean as an array, returned is the beanId that is used as a reference for subsequent update and store requests, writing the copy back to the platform and removing it from the bean store. Default message name is COPY_originalName
generateFormatCheck beanId
generateSpamReport Entity Data : beanId Returns an associative array (map) of spamData in the resultData, each element is an associative array(map) made up of three element keys: score (how serious the issue is), ruleName, and description and the corresponding value for each of these.
getAttachment Entity Data : beanId Returns an associative array (map) of elements that make up the attachment, the three elements are fileName, fileCharset, and fileData. fileData is a base 64 encoded string representation of the file. This can be decoded and reformed programatically.
getImage Entity Data : beanId Returns an associative array (map) of elements that make up the attachment, the three elements are fileName, fileCharset, and fileData. fileData is a base 64 encoded string representation of the file. This can be decoded and reformed programatically.
loadDynamicRegions Entity Data : beanId Checks to see if the dynamic regions have already been loaded for this email bean. If they have then they will be in the datastore and can be accessed via the dynamicRegionBeanId variables. If they haven't, then we need to load them from the database and place them in the bean store.
loadForPreview
loadInboxPreviewResultsForView Entity Data : beanId
loadWebPageContent Entity Data: beanId Process Data: 'WebPageUri' => *URL of web page content* Load the contents of a remote web page into the HMTL part of the email in the bean store, replacing any existing content. This is written back to the platform without the need for a store
removeAttachment Entity Data : beanId Removes the attachment from an email entity bean referenced via the beanId
removeImage Entity Data : beanId Removes the attached image from an email entity bean referenced via the beanId
requestInboxPreview Entity Data : beanId
send Entity Data: beanId Process Data : testAddressTo => string Seneds a test email to the test address provided in the process data. This is an instant send designed to test layout (Use one 2 one to fully test a live version message)
updateTestConfiguration Entity Data : beanId => ... useTestValues => boolean testDataContentType => html/plain/both (Where first_name is the name of the custom field within the email) testDataField-first_name => string testDataFiled-first_name_fieldDefMergeInd => char *(Y|N)* (use the default value set above if value not present for personalisation) Call this process to change the test configuration data for the current email (beanId).

Example Process - Creating an Email

[**WSDL**](http://paint.pure360.com/paint.pure360.com/ctrlPaint.wsdl) *Our WSDL defines our web service and where to locate our web service. In understanding these examples please familiarise yourself with the handleRequest (paintRequest / paintResponse)*
**Step 1 :** Begin by creating an empty email entity in the bean store and obtain a reference to this... * Use the contextId to reference the current session in progress (generated during a login request - [bus_facade_context](/documentation/soap/gettingstarted/references/context) * To access the email entities use the campaign email entry point / gateway. * Perform a create process without any entity fields to generate the new email entity bean. **Example Request / Response:**
paintRequest:
contextId   string  :   C-KFDsCMMHXpDUi0ltN0p3FvF
className   string  :   bus_facade_campaign_email
processName string  :   create
entityData  array   :	 null
processData array   :	 null
paintResponse:
Result   array :   
         'result'     => "success"
		 'resultData' => array : 
						 'bus_entity_campaign_email'  => array :
                                                         ... => ...
														 ...  variables  ...
                                                         ... => ...
														 'beanId' => ID for new empty email bean in bean store

**Step 2 :** Next, choose the writable attributes, both required and optional and update the new entity bean in the bean store... * Use the contextId to reference the current session in progress (generated during a login request - [bus_facade_context](/documentation/soap/gettingstarted/references/context) * To access the email entities use the campaign email entry point/gateway * Perform an update process with the writeable parameters that make up the email creation process, the bean id of the new bean entity in the bean store returned from the create request, plus any optional parameters. **Example Request / Response**
paintRequest:
contextId   string  :   C-KFDsCMMHXpDUi0ltN0p3FvF
className   string  :   bus_facade_campaign_email
processName string  :   update
entityData  array   : 
            'messageName_base64' => "QXVndXN0IERlYWxzIQ=="
			'beanId'      => ID of the empty bean returned during the create
            ... => ...
			...  Required & optional variables  ...
            ... => ...
processData array  :   null
paintResponse:
Result   array :
      	 'result'     => "success"
		 'resultData' => array : 
          				 'bus_entity_campaign_email_key' => ""
            			 'messageId' => ""
            			 'beanName'  => "bus_entity_campaign_email"

**Step 3 :** Finally complete a store request with the bean id of the new entity in the bean store to write this back to the platform and remove the bean from the bean store... * Use the contextId to reference the current session in progress (generated during a login request) - *link here* * To access the email entities use the campaign email entry point/gateway * Perform a store process with the entity data parameter as the bean id of the new entity that has been created and updated. **Example Request / Response**
paintRequest:
contextId   string  :   C-KFDsCMMHXpDUi0ltN0p3FvF
className   string  :   bus_facade_campaign_email
processName string  :   store
entityData  array   :   'beanId'  => ID of the newly created, updated entity bean in the bean store
processData array   :   null
paintResponse:
Result   array :
         'result' => "success"

bus_entity_campaign_email

Writeable Variables : STORE / UPDATE (Required)

Name Example Description
bodyHtml_base64
"PGgxPkhlYWRlcjwvaDE+DQo8YnIgLz4NCkVtYWlsIHRvIHt+Zmlyc3RfbmFtZX59"
The recommended method to send string data, base 64 encoded. Use this variable as the content to place in the HTML part of the message template
bodyPlain_base64
"LS0tLUhlYWRlci0tLS0tDQpFbWFpbCB0byB7fmZpcnN0X25hbWV+fQ=="
The recommended method to send string data, base 64 encoded. Use this variable as the content to place in the PLAIN TEXT part of the message template
bodyHtml
<h1>Header</h1><br />
Email to {~first_name~}<hr />
If you are unable to base 64 encode strings, then use this variable as the content to place in the HTML part of the message template
bodyPlain
"Header
---------
Email to {~first_name~}"
If you are unable to base 64 encode strings, then use this variable as the content to place in the PLAIN TEXT part of the message template
messageName_base64
"QVBSXzIwMTRfRU1BSUw="
The recommended way to send string data, base 64 encoded. This variable is the string unique name of the message within the system. This is not included in the message sent
messageName
"APR_2014_Email"
If you are unable to base 64 encode string then use this variable as the unique name of the message within the system. This is not included in the message sent
subject_base64
"QXByaWwgRGVhbHM=" 
The recommended way to send string data, base 64 encoded. This can only be used with single subject lines as strings
subject
"April Deals" 
or
array(
  "April Deals", 
  "Monthly Deals", 
  "Great Savings!"
)
If you are unable to base 64 encode strings, or would like to send multiple subject lines then use this variable. Note that the subject line will be converted into the character set of the message on sending. If providing array this is used in conjunction with the subject line selector (consider setting the slsEnabledInd to "Y" to ensure this is enabled)

Writeable Variables : STORE / UPDATE (Optional)

Name Example Description
allowInvalidCustomFieldsInd
"Y"
Indicator as to whether custom fields are allowed in this email that aren't in a list and therefore not valid in the system.If omitted : will return an error when trying to store the message if the custom field doesn't already exist in the platform
alternativeAnalyticString_base64
"aWQ9ZW1haWw="
The recommended way to send string data, base 64 encoded. This variable indicates the parameters to append to the end of any URLs for custom analytics
alternativeAnalyticString
"id=email"
If you are unable to base 64 encode strings then use this variable to indicate parameters to append to the end of any URLs for custom analytics
linkSuffix_base64
"L3Rlc3Qv"
The recommended way to send string data, base 64 encoded. This variable indicates the suffix to apply to all links within the email
linkSuffix
"/test/"
If you are unable to base 64 encode strings then use this variable to indicate the suffix to apply to all links within the email
attachmentFile
base64_string
This field should contain the attributes of the attachment received from the data in. This is automatically stripped out into the other attachment fields. This is base64 encoded. If omitted : No attachment is added to the email (generally attachments are considered VERY bad in digital marketing and will cause HIGH spam issues)
customFromDesc_base64
"TWFya2V0aW5n"
The recommended way to send string data, base 64 encoded. This variable indicates the text to display in the from description of the email. These must have been already added to the platform for usage. When creating or loading an email entity bean the full list is returned in an element of the bus_entity_campaign_email object. To get a from description added contact either the customer success manager for the account, or the pure360 support teamIf omitted : Default is used
customFromDesc
"Marketing"
If you are unable to base 64 encode strings then use this variable as the text to display in the from description of the email. These must have been already added to the platform for usage. When creating or loading an email entity bean the full list is returned in an element of the bus_entity_campaign_email object. To get a from description added contact either the customer success manager for the account, or the pure360 support teamIf omitted : Default is used
dynamicReplyInd
"N"
Indicates whether dynamic reply has been setup and enabled for this emailIf omitted : Will default to "N"
googleTrackingEnabledInd
"Y"
Indicator whether to enable google tracking for this email, assuming this has been configured
If omitted : Will default to "N"
imageFile
base64_string
This field should contain the attributes of the image received from the data in. This image name and dimentions are derived from the content received. This is base64 encoded. If omitted : No attachment is added to the email (generally attachments are considered VERY bad in digital marketing and will cause HIGH spam issues)
languageCode
"en_GB.ISO8859-15"
Language code for this message, this is used primarily to warn the user if they are scheduling a message in a different character set to this list.If omitted: Profile default language code used for this message.
notifyClickHtmlInd
"Y"
Indicator to determine whether we should automatically process event click triggers for urls contained in the html text message contentevent notificatiions must be enabled on the account for this to take effectFor more information see the [Event notification guide] and contact either the customer success manager for the account or the pure360 support teamIf omitted : Will default to "N"
notifyClickPlainInd
"Y"
Indicator to determine whether we should automatically process event click triggers for urls contained in the text message contentevent notificatiions must be enabled on the account for this to take effectFor more information see the [Event notification guide] and contact either the customer success manager for the account or the pure360 support teamIf omitted : Will default to "N"
notifyOpenInd
"Y"
Indicator to determine whether we should automatically process event open triggers for the message event notificatiions must be enabled on the account for this to take effectFor more information see the [Event notification guide] and contact either the customer success manager for the account or the pure360 support teamIf omitted : Will default to "N"
resendToNonOpensInd
"Y"
Indication as to wheather this email should generate a resend to non openersIf omitted : Will default to "N"
resendToNonOpensSubject_base64
"SnVzdCBhIHJlbWluZGVyIG9mIHRoZSBncmVhdCBkZWFscyB3ZSBoYXZlIGZvciB5b3Uh"
The recommended way to send string data, base 64 encoded. This variable is the alternative subject line for any resend to non opens
resendToNonOpensSubject
"Just a reminder of the great deals we have for you!"
If you are unable to base 64 encode strings use this variable as the alternative subject line for any resend to non opens
sendToFriendHtmlInd
"Y"
Indicator to determine whether the "send to friend" section defined within the template should be included in the html part of the message when sent.If omitted : Will default to "N"
sendToFriendPlainInd
"Y"
Indicator to determine whether the "send to friend" section defined within the template should be included in the text part of the message when sent.If omitted : Will default to "N"
slsEnabledInd
"Y"
Indicator as to whether subject line selector has been enabled for this email.If omitted : Will default to "N"
templateName
"email-msg-default_centered"
The name of the template into which the body content will be placed. The custom templates must have been already added to the platform for usage. When creating or loading an email entity bean the full list is returned in an element of the bus_entity_campaign_email object. The defaults are email-msg-default_centred to have the default unsubscribe bottom and centre, email-msg-default for bottom and left, and email-msg-blank to remove entirely (assuming inclusion of a custom link). To get a new template added contact either the customer success manager for the account, or the pure360 support team for more informationIf omitted : Default is used
testAddressesEmail_base64 The recommended way to send string data, base 64 encoded. This variable is the default test email addresses configured specifically with this message If omitted : Profile default is used
testAddressesEmail If you are unable to base 64 encode strings use this as the default test email addresses configured specifically with this message If omitted : Profile default is used
testAddressesEmailInd
"Y"
Indicates wheather to include the test addresses configured with this message in the test sendsIf omitted : Will default to "N"
testDataContentType
"both" or "html" or "plain"
Test email content type, either both or select a specific option to send with the testsIf omitted : Will default to "both"
trackHtmlInd
"Y"
Indicates whethr to enable tracking of links within the html body, this will feedback these events into the platform reports.If omitted : Will default to "Y"
trackPlainInd
"Y"
Indicates whethr to enable tracking of links within the plain text body, this will feedback these events into the platform reports.If omitted : Will default to "N"

Read-Only Variables : CREATE / LOAD / RELOAD

Name Example Description
amendedBy
"test.sys"
Username of the user that uploaded or amended the email last, only populated in an existing email
amendedDtTm
"24/02/2014 14:07:00"
The date time of the last amendment to this email, only populated in an existing email
listCustomFieldNames
array(
  "FirstName"=>"FirstName",
  "Age"=>"Age"
)
An array of the existing custom field names that have been created
listCustomFromDescs
array(
  "Marketing"=>"Marketing",
  "Updates"=>"Updates"
)
An array of the existing custom from descriptions that have been enabled on the account, please contact the customer success manager or support @pure360 to have these either added, changed or removed
attachmentFilSize
1254
Size of the attachment file attached to the message in bytes, this is derived from the attachmentFile content
attachmentName
"entry_form.pdf"
The name of the attached file with this message. Note that the attachment name is taken from the attachmentFile content received.
emailClientTestResultXml
array(
   "variationId"=>...,
   "variationName"=>"default",
   "data"=>XML String
  )
Email client test result as XML if message has been locked with an advanced inbox and deliverability check
imageFileSize
123456
Size of the image file received in bytes. Note that the image size is taken from the imageFile content received.
listLanguages
array(
 "en_GB.ISO8859-15" => 
 "{!response.db.language.en_gb_iso8859_15!}"
)
Array of valid email languages for this profile.
listTemplates
array(
 "email-msg-default_centered" => 
 "{!response.app.campaign_manager_messages.template_email_1!}"
)
Array of valid email templates for this profile. Please contact the customer success manager or support @pure360 to have these either added, changed or removed
imageHeight
250
Height of the uploaded image that is attached to this email
imageWidth
250
Width of the uploaded image that is attached to this email
imageName
"logo.jpg"
The name of the attached image with this message. Note that the image name is taken from the imageFile content received.
messageId
12454
Unique id of this email message within the platform, derived by the system when writing back the newly created email to the platform
multipleSubjectsInd
"Y"
Indicates whether this email is using multiple subject lines or not
replyEmail
"test@pure360.com"
Email address that is currently in use by this account when recipients reply to this email
replyEmailText
"pure360"
Text description of reply address used when this email is sent.

bus_search_campaign_email

Writeable Variables : SEARCH

Name Example Description
amendedFromDate
"01/01/2013"
Searches for email entities since date last amended
amendedToDate
"01/01/2014"
Searches for email entities up to a date last amended
messageName
"April 2014 Deals"
Searches for email entities based on the message name

Read-Only Variables : SEARCH

Name Example Description
idData
array(
  "messageId" => 123456,
  "messageId" => 234567
)
Array of messageIds returned from a search process