Published — v. 20
WS_MailUpSend.CreateNewsletter
Allows the creation of an email message within the desired list.
Method parameters
- string CreateNewsletter(string accessKey, int listID, string subject, string type, string content, Option[] options)
- accessKey: access key obtained using the LoginFromId method
- listID: ID of the list within which the newsletter has to be created. Lists and corresponding IDs can be obtained calling the GetLists Method
- subject: subject of the email message
- type: type of message text (HTML, URL, FILE, TEXT)
- content: message text source, depending on the type:
- type = HTML, content is the HTML code of the message
- type = TEXT, content is the PLAIN-TEXT of the message (this value is deprecated and it is handled exactly as "HTML")
- type = URL, content is the url from which to draw the HTML code of the message
- type = FILE, content is a byte array from which to draw the HTML code of the message
- options: an array of key/value pairs for options setting
- note: a string containing notes about the message
- dyn_fld: boolean value to enable/disable the use of dynamic fields in the message (dyn_fld=true, dyn_fld=false)
- emb_img: boolean value to enable/disable the use of embedded images in the message (emb_img=true, emd_img=false)
- link_track: boolean value to enable/disable the use of link tracking in the message (link_trcak=true, link_track=false). If link_track=true and no other option is specified all the protocols are activated.
- track_http: boolean value to enable/disable the use of http protocol tracking in the message (track_http=true, track_http=false)
- track_https: boolean value to enable/disable the use of HTTPS protocol tracking in the message (track_https=true, track_https=false)
- track_mailto: boolean value to enable/disable the use of MAILTO protocol tracking in the message (track_mailto=true, track_mailto=false)
- track_ftp: boolean value to enable/disable the use of FTP protocol tracking in the message (track_ftp=true, track_ftp=false)
- track_news: boolean value to enable/disable the use of NEWS protocol tracking in the message (track_news=true, track_news=false)
- link_params: a string allowing to specify additional parameters for tracked links
- body_code: a string containing a personalized code for the <body> tag
- header: a string containing a personalized code for the <header> tag
- conf_msg: boolean value to mark the message used as a subscription confirmation
- attach<nn>_data = base64 file encoding
- attach<nn>_name = filename
- template = ID of the template to be used for newsletter creation. In case the "template" parameter is specified, "body_code" and "content" parameters will be ignored.
If error code=0, the message will contain the ID of the newsletter which has been created
SOAP Examples
SOAP Request
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://services.mailupnet.it/WS"> <soap:Header/> <soap:Body> <ws:CreateNewsletter> <ws:accessKey>HzAgwRRJaAKBtkgNWpkAuURfV4SxMm6T3HJegRuSkUivKJElNNcmSQe8nqGyoM9S8EyQZb6ZE2shjHWIN4f5xYBJx9uda/Mo</ws:accessKey> <ws:listID>1</ws:listID> <!-- use campoNN (where NN goes from 1 to 39) and set dyn_fld=true to insert dynamic fields in the subject --> <ws:subject>This is a new html newsletter for [campo1]</ws:subject> <ws:type>HTML</ws:type> <!-- use campoNN (where NN goes from 1 to 39) and set dyn_fld=true to insert dynamic fields inside message body --> <ws:content>hello [campo1] [campo2]</br ></br > lorem ipsum dolor sit amet, consectetur adipiscing elit. </ws:content> <ws:options> <ws:Option><ws:Key>dyn_fld</ws:Key><ws:Value>true</ws:Value></ws:Option> <ws:Option><ws:Key>note</ws:Key><ws:Value>testing html message</ws:Value></ws:Option> <!--you can add one or more attachments: do not specify "CDATA" for encoded data--> <ws:Option><ws:Key>attach01_data</ws:Key><ws:Value>llPxu+vqfw/+R/As7 ... kVRRmrwTMgAAAABJRU5ErkJggg==</ws:Value></ws:Option> <ws:Option><ws:Key>attach01_name</ws:Key><ws:Value>myfile.png</ws:Value></ws:Option> </ws:options> </ws:CreateNewsletter> </soap:Body> </soap:Envelope>
SOAP Response
<CreateNewsletterResult> <errorCode>0</errorCode> <errorDescription></errorDescription> <listID>1</listID> <newsletterID>3</newsletterID> </CreateNewsletterResult>
Code Examples
Ruby
# Refer to https://mailup.atlassian.net/wiki/display/mailupapi/MailUp+RubyGem for gem information. require 'mailup' m = MailUp::Send.new('username', 'password') m.get_create_newsletter(:listId => 1, :subject => "Sample Subject", :type => 'HTML', :content => "HTML Content...", "Options" => {...}) # => <CreateNewsletterResult><errorCode>0</errorCode><errorDescription></errorDescription><listID>1</listID><newsletterID>3</newsletterID></CreateNewsletterResult>"
PHP
class MailUpWsSend { protected $WSDLUrl = "https://wsvc.ss.mailup.it/MailupSend.asmx?WSDL"; private $soapClient; private $xmlResponse; protected $domResult; function __construct() { $this->soapClient = new SoapClient($this->WSDLUrl, array("trace" => 1, "exceptions" => 0)); } function __destruct() { unset($this->soapClient); } public function loginFromId($loginData) { try { $this->soapClient->loginFromId($loginData); if ($this->readReturnCode("LoginFromId","errorCode") != 0) { echo "<br /><br />LoginFromId Error: ". $this->readReturnCode("LoginFromId","errorDescription"); die(); } else $this->accessKey = $this->readReturnCode("LoginFromId","accessKey"); } catch (SoapFault $soapFault) { var_dump($soapFault); } } public function createNewsletter($params) { try { $params = array_merge((array)$params, array("accessKey" => $this->accessKey)); $this->soapClient->createNewsletter($params); if ($this->readReturnCode("CreateNewsletter","errorCode") != 0) echo "<br /><br />CreateNewsletter Error: ". $this->readReturnCode("CreateNewsletter","errorCode") ." - " . $this->readReturnCode("CreateNewsletter","errorDescription"); } catch (SoapFault $soapFault) { var_dump($soapFault); } } private function readReturnCode($func, $param) { $this->xmlResponse = $this->soapClient->__getLastResponse(); $dom = new DomDocument(); $dom->loadXML($this->xmlResponse) or die("File XML non valido!"); $xmlResult = $dom->getElementsByTagName($func."Result"); $this->domResult = new DomDocument(); $this->domResult->LoadXML(html_entity_decode($xmlResult->item(0)->nodeValue)) or die("File XML1 non valido!");; $rCode = $this->domResult->getElementsByTagName($param); return $rCode->item(0)->nodeValue; } public function option($key, $value) { return array("Key" => $key, "Value" => $value); } } // for more info about login process please refer to http://help.mailup.com/display/mailupapi/WebService+MailUpSend $loginData = array("user" => "YOUR_CONSOLE_USERNAME","pwd" => "YOUR_CONSOLE_PASSWORD","consoleId" => "YOUR_CONSOLE_ID"); $WsSend = new MailUpWsSend(); $WsSend->loginFromId($loginData); $newsLetterData = array("listID" => "1", "subject" => "this is my subject", "type" => "HTML", "content" => "Hello world, this is message body", "options" => array($WsSend->option("note","additional notes"), $WsSend->option("dyn_fld", true), $WsSend->option("link_track", true), //... other options ) ); $WsSend->createNewsletter($newsLetterData);
.NET
If you're using a language that is based on .Net framework please check this page