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
Code Block |
---|
language | html/xml |
---|
title | SOAP Request |
---|
firstline | 1 |
---|
linenumbers | true |
---|
|
<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> |
Code Block |
---|
language | html/xml |
---|
title | SOAP Response |
---|
linenumbers | true |
---|
|
<CreateNewsletterResult>
<errorCode>0</errorCode>
<errorDescription></errorDescription>
<listID>1</listID>
<newsletterID>3</newsletterID>
</CreateNewsletterResult> |
Code Examples
Code Block |
---|
|
# 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>" |
Code Block |
---|
|
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