Broadcast API

Introduction

Broadcast is the module provided to automate the sending of e-mails.

The outcome is exactly the same as when using Express, but without any user interference.

A SOAP package can be sent to Broadcast to create the mail and the journey map and send out the e-mail.

Mails and mail-journey maps can be created in several ways;

  • Create the articles in a CMS and push them to the Broadcast API (fill a pre-defined template),
  • Create the complete mail in a CMS and push the complete mail to the Broadcast API (no template).

 

Broadcast

Via automation – XML PUSH

When you send mailings via broadcast, a SOAP XML package has to be sent to the broadcast API. Typically, the API can be found at http://Selligent.yourdomainname.com/automation/broadcast.asmx

There are two possibilities when sending an XML to the broadcast API:

  • Creating the XML based on an email template. In that case article containers are used.
  • Transferring a complete HTML containing the content of the email.

Based on a predefined template

An XML packet with references to the existing email-template is sent via SOAP to broadcast API.

An example of the XML that needs to be posted to the API can be generated in the Campaign Editor. Open the template in the Editor, set it editable and from the Actions menu click “Automation XML”.

A pop-up window will open. In here, you enter the default journey map- and mail-name.
Select the folder you want the e-mails and journey maps to be created in.

Select the target-list and, if applicable, the target-segment. You can also define a user-constraint.
Finally, click the Update-button in the bottom-right-corner.

You can now manually complete the XML;

  • The START_DT is the start-date for the journey map. This date is in format “YYYYMMDDhhmmss”.
  • The STATE is set to DESIGN by default.
    In DESIGN, e-mail and journey map will be created, but no e-mails will be sent.
  • Other possible states are:
  • TEST (The e-mails will be sent to test-users only (TESTUSER=1))
  • ACTIVE (The mails will be broadcasted to all users in the target-selection)
  • HOLD (Identical to DESIGN – no mails will be sent)

In the SOAP-header, you need to provide the login and password for the API-user.
This user needs to be created in the Campaign configuration, and can only have access on the 2 API-rights.

The API-user also needs access to the target-folder for the journey maps/e-mails, the e-mail-template, the article-lists, the audience-list and the audience-list-segment.

The complete XML for the mail we’ve created in express earlier would look like:

Copy
<?xml version="1.0"?>
<API>
    <CAMPAIGN NAME="DailY IT News 20090801" STATE="DESIGN" FOLDERID="5" START_DT="20090801090000" MACATEGORY="Science" PRODUCTID="1" CLASHPLANID="0" />
    <EMAILS>
      <EMAIL NAME="DailY IT News 20090801" FOLDERID="5" MAILDOMAINID="1" LIST_UNSUBSCRIBE="TRUE" QUEUEID="1" TEMPLATEID="12" MACATEGORY="Science">
            <TARGET LISTID="13" PRIORITY_FIELD="CREATED_DT" PRIORITY_SORTING="DESC" SEGMENTID="2" SCOPES="" CONSTRAINT="" />
            <PARAMETERS>
              <PARAMETER NAME="EDITION-DATE">August, 2009</PARAMETER>
              <PARAMETER NAME="SUBJECT">Daily IT News - iPhone 3G, Asus Eee PC T91 Tablet PC, ...</PARAMETER>
              <PARAMETER NAME="ARTICLES" LISTID="8">
                  <ARTICLE MATAXONOMY="SIM|SELLIGENT|MARKETING">
                    <TITLE>abc</TITLE>
                    <CONTENT>blablabla</CONTENT>
                    <LINK>http://www.selligent.com</LINK>
                </ARTICLE>
                <ARTICLE>
                      <TITLE><![CDATA[Optus survey finds iPhone 3G getting strong traction in the enterprise]]></TITLE>
                      <DESCRIPTION><![CDATA[<p>Optus has released the IP Index, its annual survey of corporate use of all forms of IP communications. It shows the iPhone, developed primarily as a consumer device, making very strong headway in enterprises against more established technologies.</p>]]></DESCRIPTION>
                      <IMAGE><![CDATA[http://localhost/images/Express/apple-iphone-3g.jpg]]></IMAGE>
                      <CLICK_URL><![CDATA[http://www.itwire.com/content/view/26611/1231/]]></CLICK_URL>
                      <MAIN_ARTICLE>1</MAIN_ARTICLE>
                      <CATEGORY>Hardware</CATEGORY>
                </ARTICLE>
                <ARTICLE>
                      <TITLE><![CDATA[Mac OS X 10.5.8 nearing release]]></TITLE>
                      <DESCRIPTION><![CDATA[<P>According to widespread reports, Apple released Mac OS X 10.5.8 build 9L30 to developers earlier this week, just a few days after build 9L29.</P><P>The only documented change relates to a problem with waking from sleep when an external monitor is connected.</P><P>The fact that there no outstanding issues are listed for build 9L30 has led to speculation that 10.5.8 will be released shortly to the wider Mac community.</P>]]></DESCRIPTION>
                      <IMAGE><![CDATA[http://localhost/images/Express/MAC-OSX-Leopard.jpg]]></IMAGE>
                      <CLICK_URL><![CDATA[http://www.itwire.com/content/view/26595/53/]]></CLICK_URL>
                      <MAIN_ARTICLE>0</MAIN_ARTICLE>
                      <CATEGORY>Software</CATEGORY>
                </ARTICLE>
                <ARTICLE>
                      <TITLE><![CDATA[Asus Eee PC T91 Tablet PC]]></TITLE>
                      <DESCRIPTION><![CDATA[<P>2009 and 2010 looks to be the years that touch screen computing starts becoming as popular as it is on today’s touch screen smartphones, with Asus’ new T91 Eee Tablet PC one of the first to arrive before a touch tsunami arrives thanks to Windows 7 – and that rumoured Apple iTablet/iPad.</P><P>&nbsp;</P><P>The promise of touch screen computing has been with us for years, but arguably never truly captured the greater public’s imagination until the iPhone came along. </P>]]></DESCRIPTION>
                      <IMAGE><![CDATA[http://localhost/images/Express/Asus.jpg]]></IMAGE>
                      <CLICK_URL><![CDATA[http://www.itwire.com/content/view/26608/1231/]]></CLICK_URL>
                      <MAIN_ARTICLE>0</MAIN_ARTICLE>
                      <CATEGORY>Hardware</CATEGORY>
                </ARTICLE>
                <ARTICLE>
                      <TITLE><![CDATA[Logitech widens webcam range]]></TITLE>
                      <DESCRIPTION><![CDATA[<P>Although webcams are becoming increasingly common as standard equipment on notebooks and even some desktop monitors, there's still a market for add-on devices. And Logitech seems determined to fill every niche.</P><P>The new range, which will hit the shops next month, ranges from $A59.95 to $A129.95.</P><P>The specs of the $A59.95 C200 and $A79.95 C250 are pretty similar - a VGA sensor and 1.3 MP snaps. The main difference seems to be that the C250 comes with extra video effects software.</P>]]></DESCRIPTION>
                      <IMAGE><![CDATA[http://localhost/images/Express/logitech.jpg]]></IMAGE>
                      <CLICK_URL><![CDATA[http://www.itwire.com/content/view/26606/1231/]]></CLICK_URL>
                      <MAIN_ARTICLE>0</MAIN_ARTICLE>
                      <CATEGORY>Hardware</CATEGORY>
                </ARTICLE>
              </PARAMETER>
            </PARAMETERS> 
      </EMAIL>
    </EMAILS>
</API>

 

<CAMPAIGN>

  • NAME: The name of the journey map that must be created.
  • STATE: Possible values are Test, Active, Hold, Design.
  • FOLDERID: The ID of the folder in which the journey map is created.
  • START_DT: This is the start date for the journey map.
  • TARGET
    • CONSTRAINT: The constraint defined on the target.
    • LISTID: The ID of the list selected as target for the journey map.
    • SEGMENTID: If selected, the related segment to be used.
    • PRIORITY_FIELD: The field on which the pickup priority for broadcasting is based.
    • PRIORITY_SORTING: The sorting applied to the pickup priority field. Possible values are ASC and DESC.
    • SCOPES:  The profile extensions to include in the target. Multiple scopes are separated by a comma.
  • DESCRIPTION: The description of the journey map as defined in the properties
  • MACATEGORY: The category selected for the journey map, if any.
  • PRODUCTID: The ID of the product defined for the journey map, if any.
  • CLASHPLANID: The ID of the marketing pressure plan to which the journey map is linked.

<EMAILS>

  • EMAIL
    • NAME: The name as defined for the email message properties.
    • FOLDERID: The ID of the folder in which the email is stored
    • TEMPLATEID: The ID of the template message used for the email.
    • MAILDOMAINID: The Brand used for sending out the email message.
    • QUEUEID: The queue to which the email messages are transferred for broadcast.
    • LIST_UNSUBSCRIBE: True or False. This indicates if the list unsubscribe option has been activated for the email message.
    • MACATEGORY: The category attributed to the email message.
  • PARAMETERS
    • PARAMETER
      • NAME: the name of the article container
      • LISTID: The ID of the article list
      • Xxx_FIELDS_xxx: The list of fields
      • CATEGORY: The category assigned to the article
    • PARAMETER
      • NAME: The name of any other parameter that is used in the template.

<MVT> : The MVT element is optional

  • SIGNIFICANCE: This is a number. Possibilities are 1, 5 and 10. It represents the statistical significance that must be obtained
  • HITS: this is a number representing the minimum number of hits to be reached before selecting the winner
  • MOMENT: A Datetime value (format yyyyMMddHHmmss). The date and time on which the selection must be made
  • HOURS: a number value representing the number of hours after sending out by which a decision must be made
Copy
Example:
<MVT HITS="250" SIGNIFICANCE="1|5|10" MOMENT="08/09/2012 09:00:00" HOURS="5" />

 

Complete HTML

In some cases, people do not want to use Express templates and article containers, simply because they already have a CMS system generating HTML. In that case a complete HTML can be sent using automation. The XML packet is sent via SOAP to the broadcast API.

The basic structure of the XML package is quite the same as in the previous example.
The only difference is that you don’t provide PARAMETERS, but a set of basic parameters.

The basic XML looks like this:

Copy
<?xml version="1.0"?>
<API>
    <CAMPAIGN NAME="DailY IT News 20090801" STATE="DESIGN" FOLDERID="5" START_DT="20090801090000" TAG="" DESCRIPTION="My-Description" MACATEGORY="Science" PRODUCTID="1" CLASHPLANID="0" />
    <EMAILS>
          <EMAIL NAME="DailY IT News 20090801" FOLDERID="5" MAILDOMAINID="1" LIST_UNSUBSCRIBE="TRUE" QUEUEID="1" TAG="" MACATEGORY="Science">  
            <TARGET LISTID="13" PRIORITY_FIELD="CREATED_DT" PRIORITY_SORTING="DESC" SEGMENTID="2" CONSTRAINT="" SCOPES="" />
            <CONTENT>
              <HTML><![CDATA[]]></HTML>
              <TEXT><![CDATA[]]></TEXT>
              <DOCTYPE>&lt;!DOCTYPE html&gt;</DOCTYPE>
              <FROM_ADDR><![CDATA[]]></FROM_ADDR>
              <FROM_NAME><![CDATA[]]></FROM_NAME>
              <TO_ADDR><![CDATA[]]></TO_ADDR>
              <TO_NAME><![CDATA[]]></TO_NAME>
              <REPLY_ADDR><![CDATA[]]></REPLY_ADDR>
              <REPLY_NAME><![CDATA[]]></REPLY_NAME>
              <SUBJECT><![CDATA[]]></SUBJECT>
            </CONTENT> 
        </EMAIL>
    </EMAILS>
</API>

 

Below some explanations are provided on all the different parameters available for the XML:

<CAMPAIGN>

  • NAME: The name of the journey map.
  • STATE: Possible values are Test, Active, Hold, Design. By default the value is set to Design.
  • FOLDERID: The ID of the folder in which the journey map is created.
  • START_DT: This is the start date for the journey map.
  • TARGET
    • CONSTRAINT: The constraint defined on the targets.
    • LISTID: The ID of the selected list as target for the journey map.
    • SEGMENTID: If selected, the ID of the related segment to be used.
    • PRIORITY_FIELD: The field on which the pickup priority for broadcasting is based.
    • PRIORITY_SORTING: The sorting applied to the pickup priority field. Possible values are ASC and DESC.
    • SCOPES: The profile extensions to include in the target. Multiple scopes are separated by a semi colon.
  • DESCRIPTION: The description of the journey map as defined in the properties
  • MACATEGORY: The category defined for the journey map, if any.
  • PRODUCTID: The ID of the product defined for the journey map, if any.
  • CLASHPLANID: The ID of the marketing pressure plan to which the journey map is linked.

 

<EMAILS>

  • EMAIL
    • NAME: The name as defined for the email message properties.
    • FOLDERID: The ID of the folder in which the email is stored
    • MAILDOMAINID: The Brand used for sending out the email message.
    • QUEUEID: The queue to which the email messages are transferred for broadcasting.
    • LIST_UNSUBSCRIBE: True or False. This indicates if the list unsubscribe option has been activated for the email message or not.
    • MACATEGORY: The category attributed to the email message.
    • CONTENT
      • HTML: The complete HTML version of the email message
      • TEXT: The complete text version of the email message
      • DOCTYPE: The document type (for example: &lt;!DOCTYPE html&gt; results in <!DOCTYPE html>)
      • FROM_ADDR: The From address used for the email
      • FROM_NAME: The From name used in the email
      • TO_ADDR: The recipients email address. This is always like following: ~Mail~
      • TO_NAME: The recipient’s name. This is always like following: ~Name~
      • REPLY_ADDR: The ‘reply to’ address
      • REPLY_NAME: The ‘reply to’ name
      • SUBJECT: The subject line of the email message

Note1: If you want a hyperlink to be measured as a sensor, give it an attribute called “MASENSOR”. The value of this attribute is the name the sensor will get.

Note2: Another possibility is to use the attribute HYPERLINK_TO_SENSORS and set its value to TRUE when the hyperlink must be converted to a sensor. However this can only be used for PARAMETER and CONTENT elements. Moreover, the name of the sensor is based on the HREF attribute.

Note3: Attributes must be enclosed within single or double quotes.

In case of the HYPERLINKS_TO_SENSORS attribute every A-tag must contain a HREF attribute!
In case of the MASENSOR attribute, the corresponding element must contain a HREF attribute.

An error is generated when it is missing.

Tip: If you want to define a custom name for the sensor, use the MASENSOR attribute.

 

Copy

Example of the conversion to sensor:

<a href="http://www.itwire.com/content/view/26595/53/" MASENSOR="SOFTWARE - Mac OS X 10.5.8 nearing release">
  <img height=16 alt="Read more" hspace=0 src="http://localhost/images/Express/read_more.gif" width=75 border=0>
</a>

The complete XML for our example-mail is:

Copy
<?xml version="1.0"?>
<API>
    <CAMPAIGN NAME="DailY IT News 20090801" STATE="DESIGN" FOLDERID="5" START_DT="20090801090000" MACATEGORY="Science" PRODUCTID="1" CLASHPLANID="0" />
    <EMAILS>
        <EMAIL NAME="DailY IT News 20090801" MAILDOMAINID="1"   LIST_UNSUBSCRIBE="TRUE"  QUEUEID="1" FOLDERID="5" TEMPLATEID="12" MACATEGORY="Science">
            <TARGET LISTID="13" PRIORITY_FIELD="CREATED_DT"  PRIORITY_SORTING="DESC" SEGMENTID="2" CONSTRAINT="" SCOPES="" />
            <CONTENT>
                <HTML>
                    <![CDATA[
                    <HTML>
                    <HEAD>
                        <META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                        <title>Daily IT News - iPhone 3G, Asus Eee PC T91 Tablet PC, ...</title>
                    </HEAD>
                    <BODY background="http://localhost/images/Express/background.gif" style="background-repeat:repeat-x; margin:0; padding:0" marginheight="0" marginwidth="0">
                    <TABLE cellSpacing=0 cellPadding=0 width=644 align=center border=0>
                        <TR>
                            <TD style="FONT-SIZE: 11px; COLOR: #fff; BACKGROUND-REPEAT: no-repeat; FONT-FAMILY: Arial, Helvetica, sans-serif" vAlign=top align=left background=http://localhost/images/Express/header.gif colSpan=2 height=204>
                                <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
                                    <TR>
                                        <TD width=230 rowSpan=3>&nbsp;</TD>
                                        <TD height=25 colSpan=3 align="right" style="FONT-SIZE: 11px; COLOR: #666; text-align:right">Saturday, August 1, 2009</TD>
                                    </TR>
                                    <TR>
                                        <TD width=200 rowSpan=2>&nbsp;</TD>
                                        <TD colSpan=2 height=30>&nbsp;</TD>
                                    </TR>
                                    <TR>
                                        <TD style="PADDING-RIGHT: 30px; text-align:left" colSpan=2>
                                            <UL>
                                                <LI>
                                                    <A style="FONT-SIZE: 11px; COLOR: #000; LINE-HEIGHT: 13px; TEXT-DECORATION: none" href="#6">Optus survey finds iPhone 3G getting strong traction in the enterprise</A>
                                                </LI>
                                                <LI>
                                                    <A style="FONT-SIZE: 11px; COLOR: #000; LINE-HEIGHT: 13px; TEXT-DECORATION: none" href="#7">Mac OS X 10.5.8 nearing release</A>
                                                </LI>
                                                <LI>
                                                    <A style="FONT-SIZE: 11px; COLOR: #000; LINE-HEIGHT: 13px; TEXT-DECORATION: none" href="#8">Asus Eee PC T91 Tablet PC</A>
                                                </LI>
                                                <LI>
                                                    <A style="FONT-SIZE: 11px; COLOR: #000; LINE-HEIGHT: 13px; TEXT-DECORATION: none" href="#9">Logitech widens webcam range</A>
                                                </LI>
                                            </UL>
                                        </TD>
                                    </TR>
                                </TABLE>
                            </TD>
                        </TR>
                        <TR>
                            <TD style="BACKGROUND-POSITION: 50% top; BACKGROUND-REPEAT: no-repeat" background=http://localhost/images/Express/header_mid.gif colSpan=2>
                                <DIV style="PADDING-RIGHT: 20px; PADDING-LEFT: 20px; FONT-SIZE: 12px; COLOR: #fff; FONT-FAMILY: Arial, Helvetica, sans-serif">
                                    <H1>
                                        <A name=6></A>Optus survey finds iPhone 3G getting strong traction in the enterprise
                                    </H1>
                                    <P>
                                        <IMG style="MARGIN-BOTTOM: 5px; MARGIN-RIGHT: 10px" height=82 alt=visual src="http://localhost/images/Express/apple-iphone-3g.jpg" width=87 align=left>Optus has released the IP Index, its annual survey of corporate use of all forms of IP communications. It shows the iPhone, developed primarily as a consumer device, making very strong headway in enterprises against more established technologies.
                                    </P>
                                    <P>&nbsp;</P>
                                    <P>
                                        <A href="http://www.itwire.com/content/view/26611/1231/" MASENSOR="Main article - Optus survey finds iPhone 3G getting strong traction in the enterprise">
                                            <IMG style="WIDTH: 75px; HEIGHT: 16px" height=16 alt="Read more" hspace=0 src="http://localhost/images/Express/read_more.gif" width=75 border=0>
                                        </A>
                                    </P>
                                </DIV>
                            </TD>
                        </TR>
                        <TR>
                            <TD colSpan=2><IMG height=21 alt="" src="http://localhost/images/Express/bottom_header.jpg" width=644></TD>
                        </TR>
                        <TR>
                            <TD class=artikels style="FONT-SIZE: 12px; FONT-FAMILY: Arial, Helvetica, sans-serif" vAlign=top align=left width=444>
                                <BR>
                                <DIV>
                                    <DIV>
                                        <H3>Hardware</H3>
                                        <TABLE CELLPADDING=7 CELLSPACING=1>
                                            <TR>
                                                <TD>
                                                    <H2>
                                                        <A name=8></A>Asus Eee PC T91 Tablet PC
                                                    </H2>
                                                    <IMG style="PADDING-RIGHT: 5px" height=41 alt=Visual src="http://localhost/images/Express/Asus.jpg" width=44 align=left>
                                                    <P>2009 and 2010 looks to be the years that touch screen computing starts becoming as popular as it is on today’s touch screen smartphones, with Asus’ new T91 Eee Tablet PC one of the first to arrive before a touch tsunami arrives thanks to Windows 7 – and that rumoured Apple iTablet/iPad.</P>
                                                    <P>&nbsp;</P>
                                                    <P>The promise of touch screen computing has been with us for years, but arguably never truly captured the greater public’s imagination until the iPhone came along.</P>
                                                    <P>&nbsp;</P>
                                                    <P>
                                                        <A href="http://www.itwire.com/content/view/26608/1231/" MASENSOR="Hardware - Asus Eee PC T91 Tablet PC">
                                                            <IMG height=16 alt="Read more" hspace=0 src="http://localhost/images/Express/read_more.gif" width=75 border=0>
                                                        </A>
                                                    </P>
                                                </TD>
                                                <TD>
                                                    <H2>
                                                        <A name=9></A>Logitech widens webcam range
                                                    </H2>
                                                    <IMG style="PADDING-RIGHT: 5px" height=41 alt=Visual src="http://localhost/images/Express/logitech.jpg" width=44 align=left>
                                                    <P>Although webcams are becoming increasingly common as standard equipment on notebooks and even some desktop monitors, there's still a market for add-on devices. And Logitech seems determined to fill every niche.</P>
                                                    <P>&nbsp;</P>
                                                    <P>The new range, which will hit the shops next month, ranges from $A59.95 to $A129.95.</P>
                                                    <P>&nbsp;</P>
                                                    <P>The specs of the $A59.95 C200 and $A79.95 C250 are pretty similar - a VGA sensor and 1.3 MP snaps. The main difference seems to be that the C250 comes with extra video effects software.</P>
                                                    <P>&nbsp;</P>
                                                    <P>
                                                        <A href="http://www.itwire.com/content/view/26606/1231/" MASENSOR="Hardware - Logitech widens webcam range">
                                                            <IMG height=16 alt="Read more" hspace=0 src="http://localhost/images/Express/read_more.gif" width=75 border=0>
                                                        </A>
                                                    </P>
                                                </TD>
                                            </TR>
                                        </TABLE>
                                    </DIV>
                                    <DIV>
                                        <H3>Software</H3>
                                        <TABLE CELLPADDING=7 CELLSPACING=1>
                                            <TR>
                                                <TD colspan=2>
                                                    <H2>
                                                        <A name=7></A>Mac OS X 10.5.8 nearing release
                                                    </H2>
                                                    <IMG style="PADDING-RIGHT: 5px" height=41 alt=Visual src="http://localhost/images/Express/MAC-OSX-Leopard.jpg" width=44 align=left>
                                                    <P>According to widespread reports, Apple released Mac OS X 10.5.8 build 9L30 to developers earlier this week, just a few days after build 9L29.</P>
                                                    <P>&nbsp;</P>
                                                    <P>The only documented change relates to a problem with waking from sleep when an external monitor is connected.</P>
                                                    <P>&nbsp;</P>
                                                    <P>The fact that there no outstanding issues are listed for build 9L30 has led to speculation that 10.5.8 will be released shortly to the wider Mac community.</P>
                                                    <P>&nbsp;</P>
                                                    <P>
                                                        <A href="http://www.itwire.com/content/view/26595/53/" MASENSOR="SOFTWARE - Mac OS X 10.5.8 nearing release">
                                                            <IMG height=16 alt="Read more" hspace=0 src="http://localhost/images/Express/read_more.gif" width=75 border=0>
                                                        </A>
                                                    </P>
                                                </TD>
                                            </TR>
                                        </TABLE>
                                    </DIV>
                                </DIV>
                            </TD>
                            <TD style="PADDING-RIGHT: 3px; PADDING-LEFT: 11px; PADDING-BOTTOM: 3px; PADDING-TOP: 30px; BACKGROUND-REPEAT: no-repeat" vAlign=top align=left width=200 background=http://localhost/images/Express/sponsors_bg.gif>
                                <A href="#PREVIEW">
                                    <IMG style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" height=60 src="http://localhost/images/Express/men/2.jpg" width=160 vspace=4 border=1>
                                </A>
                                <A href="#PREVIEW">
                                    <IMG style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" height=60 src="http://localhost/images/Express/men/1.jpg" width=160 vspace=4 border=1>
                                </A>
                                <A href="#PREVIEW">
                                    <IMG style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" height=60 src="http://localhost/images/Express/women/4.jpg" width=160 vspace=4 border=1>
                                </A>
                                <A href="#PREVIEW">
                                    <IMG style="BORDER-RIGHT: black 1px solid; BORDER-TOP: black 1px solid; BORDER-LEFT: black 1px solid; BORDER-BOTTOM: black 1px solid" height=60 src="http://localhost/images/Express/women/5.jpg" width=160 vspace=4 border=1>
                                </A>
                            </TD>
                        </TR>
                        <TR>
                            <TD align=center colSpan=2>&nbsp;</TD>
                        </TR>
                        <TR>
                            <TD align=center colSpan=2>
                                <a href="http://www.selligent.com" MASENSOR="Selligent website" MATAXONOMY="SIM|SELLIGENT|MARKETING">Selligent</a>
                            </TD>
                        </TR>
                        <TR>
                            <TD style="FONT-SIZE: 10px; COLOR: #ccc; FONT-FAMILY: Arial, Helvetica, sans-serif" align=center background=http://localhost/images/Express/footer_bg.gif colSpan=2 height=59>&copy; 2009 - All rigts reserved
                                <BR>
                                <U>Privacy</U> | <U>Unsubscribe</U> | <U>Legal Notice</U>
                            </TD>
                        </TR>
                    </TABLE>
                    </BODY>
                       </HTML>]]>
                </HTML>
                <TEXT>
                    <![CDATA[Saturday, August 1, 2009Click here to view this mail in your webbrowser:~PROBE(0)~Optus survey finds iPhone 3G getting strong traction in the enterprise----------------------------------------------Optus has released the IP Index, its annual survey of corporate use of all forms of IP communications. It shows the iPhone, developed primarily as a consumer device, making very strong headway in enterprises against more established technologies.http://www.itwire.com/content/view/26611/1231/Mac OS X 10.5.8 nearing release----------------------------------------------According to widespread reports, Apple released Mac OS X 10.5.8 build 9L30 to developers earlier this week, just a few days after build 9L29. The only documented change relates to a problem with waking from sleep when an external monitor is connected.The fact that there no outstanding issues are listed for build 9L30 has led to speculation that 10.5.8 will be released shortly to the wider Mac community.http://www.itwire.com/content/view/26595/53/Asus Eee PC T91 Tablet PC----------------------------------------------2009 and 2010 looks to be the years that touch screen computing starts becoming as popular as it is on today’s touch screen smartphones, with Asus’ new T91 Eee Tablet PC one of the first to arrive before a touch tsunami arrives thanks to Windows 7 – and that rumoured Apple iTablet/iPad.          The promise of touch screen computing has been with us for years, but arguably never truly captured the greater public’s imagination until the iPhone came along.http://www.itwire.com/content/view/26608/1231/Logitech widens webcam range----------------------------------------------Although webcams are becoming increasingly common as standard equipment on notebooks and even some desktop monitors, there's still a market for add-on devices. And Logitech seems determined to fill every niche.The new range, which will hit the shops next month, ranges from $A59.95 to $A129.95. The specs of the $A59.95 C200 and $A79.95 C250 are pretty similar - a VGA sensor and 1.3 MP snaps.  The main difference seems to be that the C250 comes with extra video effects software.http://www.itwire.com/content/view/26606/1231/]]>
                </TEXT>
                <FROM_ADDR>
                    <![CDATA[demo@emsecure.net]]>
                </FROM_ADDR>
                <FROM_NAME>
                    <![CDATA[SIM Training]]>
                </FROM_NAME>
                <TO_ADDR>
                    <![CDATA[~MAIL~]]>
                </TO_ADDR>
                <TO_NAME>
                    <![CDATA[~NAME~]]>
                </TO_NAME>
                <REPLY_ADDR>
                    <![CDATA[noreply@emsecure.net]]>
                </REPLY_ADDR>
                <REPLY_NAME>
                    <![CDATA[SIM Training]]>
                </REPLY_NAME>
                <SUBJECT>
                    <![CDATA[Daily IT News - Optus survey finds iPhone 3G getting strong traction in the enterprise, Asus Eee PC T91 Tablet PC, ...]]>
                </SUBJECT>
            </CONTENT>
        </EMAIL>
    </EMAILS>
</API>

 

When the XML-package is sent to the broadcast-SOAP, the function “CreateCampaign” is called with following parameters;

  • The incoming Parameter XML (see example above)
  • The outgoing errorString of the call (string – empty if no error)
  • The outgoing campaignId of the call (int – filled in  when successful)

When this function is called, these steps will be taken:

  • Store the incoming XML in a local log-folder
  • Load XML (if you can open the XML in Internet Explorer, the structure will be ok) to check the XML-structure
  • Verify login and password of the XML-user
  • Check if the API-user has got API-rights
  • Find the TEMPLATEID, LISTID, SEGMENTID and FOLDERID in the XML and check if the API-users has got (reading-)rights on these assets
  • Create a new instance of the mail
  • Create a journey map with this mail-instance
  • Compile the journey map
  • Return success.


If one of these steps fails, Broadcast will return an errorString indicating what went wrong.

Possible errors are:

Missing Authentication

No authorization-header was found in the SOAP request.

Make sure both login and password are provided in the SOAP-request.

Unable to authenticate using empty login and/or password

No authorization-header was found in the SOAP request.

Make sure both login and password are provided in the SOAP-request.

Incorrect Login/Pwd combination

The login and/or password provided in the API-node are incorrect.

Check the login and password of the API-user in Campaign.
The  users can be found in the Campaign configuration in the folder Configuration > User/Group Management.

Unable to store file, missing API_XMLSTORAGE

Broadcast API cannot determine where to store the incoming XMLs.

Make sure the API_XMLSTORAGE is defined in automation’s web.config-file on the web-server(s).

web.confi.bmp

Unknown state [xxx]

The state for the journey map provided in the journey map-node is incorrect.

Allowed states are:

  - DESIGN (journey map in design – no mails are sent),
  - TEST (journey map in testing & validation, mails to testusers are sent)
  - ACTIVE (journey map active – mails are sent)
  - HOLD (journey map on hold – no mails are sent)

Unable to parse Xml

The structure of the XML is corrupted.

Try to open the XML in Internet Explorer for details on the error. When Internet Explorer shows the XML correctly, automation will be able to process it.

No user context

The API-user no longer exists.

During the short period of time between the SOAP-call and the creation of the mail or the journey map, the API-login has become invalid (e.g. user was deleted)

Make sure the user still exists in the Campaign configuration User/Group Management.

 

Unable to locate campaign node

The CAMPAIGN-node is not present in the XML.

Make sure the CAMPAIGN-node is the 2nd node in the XML, after the API-node.

 

<?xml version="1.0"?>

<API>

<CAMPAIGN NAME="xxx" STATE="DESIGN" FOLDERID="5" />

User has no rights on journey map

The API-user does not have rights on the mail-template.

Give the group the API-user is in rights on the templates.

Name for the new campaign is missing

No name for the new campaign was provided.

Make sure the CAMPAIGN-node has got the NAME-attribute set.

<?xml version="1.0"?>

<API>

<CAMPAIGN .NAME="xxx". STATE="DESIGN" FOLDERID="5" />

User [xxx] has no rights on API

The user provided in the API-node is a non-API-user.
API-users can only have the rights “Call Messagent Automation API” and “Activate Journey maps” set, but no other rights!

rights.bmp

 

Copy

Example:

// Create the service
AutomationBroadcast.broadcast service = new AutomationBroadcast.broadcast();

// Defining login and password 
// IMPORTANT : This user is created in the SELLIGENT Campaign configuration and has only access to Individual API
AutomationBroadcast.AutomationAuthHeader authenticationHeaderValue = new AutomationBroadcast.AutomationAuthHeader {
    Login = "MyUser",
    Password = "MyPassword"
};
service.AutomationAuthHeaderValue = authenticationHeaderValue;

// Variables
int campaignId;
string errorString;
string xml = File.ReadAllText(@ "xml\testcampaign.xml");

// Function call
int errorCode = service.CreateCampaign(ref xml, out errorString, out campaignId);

//Print output
Console.WriteLine("errorCode: {0} - errorString: {1} - campaignId: {2}", errorCode, errorString, campaignId);

Result: errorCode: 0 - errorString: -campaignId: 135

 

Other functions

SetCampaignState

SetCampaignState: Use this function to change the state of a journey map after it has been created.

  • input: CampaignId (int) and State (string)
  • output: errorString

CampaignId : The ID of the journey map you want to update the state for (is shown below the start-component in the journey map)

Status: The new stats you want to apply to the journey map.

  • Possible states are TEST, ACTIVE and HOLD.
  • State “DESIGN” is not an option here, because this state can only be set when a journey map is created.

errorString: The error-message returned after calling this function. The state-change was successful if this message is empty.

Possible errors are:

User has no rights on campaign

The API-user does not have rights on the mail-template.

Give the group the API-user is in rights on the templates.

Unknown state [xxx]

The state for the journey map provided in the journey map-node is incorrect.

Allowed states are:

  - DESIGN (journey map in design – no mails are sent),
  - TEST (journey map in testing & validation – mails to test-users are sent)
  - ACTIVE (journey map active – mails are sent)
  - HOLD (journey map on hold – no mails are sent)

Unable to locate campaign

The journey map cannot be found.

Make sure the journey map still exists. Refresh the journey map-overview in the Campaignand verify the campaignId used in the function-call;

 

GetCampaignKpi

GetCampaignKpi: Use this function to get Kpis from a journey map. ClickCount, SentCount, TargetCount, ViewCount

  • input: CampaignId (int)    
  • output: errorString and campaignKpi

CampaignId: the id of the journey map

CampaignKpi: the journey maps Kpis

errorStr: error description (only when the process fails

 

Copy

Example:

// Create the service
AutomationBroadcast.broadcast service = new AutomationBroadcast.broadcast();

// Defining login and password 
// IMPORTANT : This user is created in the SELLIGENT Campaign configuration and has only access to Individual API
AutomationBroadcast.AutomationAuthHeader authenticationHeaderValue = new AutomationBroadcast.AutomationAuthHeader
{
  Login = "MyUser",
  Password = "MyPassword"
};
service.AutomationAuthHeaderValue = authenticationHeaderValue;

// Variables
AutomationBroadcast.CampaignKpi campaignKpi;
string errorString;

// Function call
int errorCode = service.GetCampaignKpi(3, out campaignKpi, out errorString);

//Print output
Console.WriteLine("errorCode: {0} - errorString: {1} - campaignKpi: {2}-{3}-{4}-{5}", errorCode, errorString, campaignKpi.ClickCount, campaignKpi.SentCount, campaignKpi.TargetCount, campaignKpi.ViewCount);

Result: errorCode: 0 - errorString:  - campaignKpi: 2-4-4-3