Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

Allows the creation of an email message within the desired list.

...

  • 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
      • 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.

...

Code Block
languagephp
titlePHP
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 //create an array with login credentials><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);

...