Page tree

Versions Compared

Key

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

...

The corresponding WSDL is available at the following location:

...

When it is better to use the MailUpSend Web service, and when does it make more sense to use SMTP+, MailUp's SMTP relay service? Here is a quick comparison.

MailUpSendSMTP+

Recommended when...

  • You need to replicate the most common functionality of the MailUp admin console, outside of MailUp (e.g. creating a message and sending it)
  • You want to import data and schedule a mailing with a single call: the CSV can contain hundreds of thousands of addresses
  • You wish to use dynamic tags, dynamic content, and other advanced features
  • You need to send a message to a specific Group or using specific filters

Recommended when...

  • You are sending transactional emails
  • You need to rapidly integrate an external system with MailUp
  • You want to use MailUp as a high-deliverability SMTP service (e.g. from desktop email clients like Outlook)
  • You need to send messages that are so personalized that it would be difficult to create them in MailUp, even using dynamic tags and content


Info
titleSMTP+ and high volumes
Please note: if you need to send over 1 million emails per day with SMTP+, please contact us as a special setup may be required.

...

  • string LoginFromId(string user, string pwd, int consoleId).
  • user: username to access the MailUp console
  • pwd: password to access the MailUp console
  • consoleId: console identifier. The console ID can be drawn from the username associated to the console, without the initial "m" (e.g. username: m1234 > console ID 1234). In case it is not possible to get the console ID from the username, please contact our support team

...


Info
Note: the accessKey returned by the LoginFromId method in the MailUpSend Web Service can also be used for the MailUpReport and MailUpManage Web Services.


 

 

SOAP Examples

 

 


Code Block
firstline
languagehtml/xml
firstline1
titleSOAP Request
1linenumberstrue
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ws="http://services.mailupnet.it/WS">
    <soap:Header/>
    <soap:Body>
       <ws:LoginFromId>
          <!--you can use special username ('a'+consoleID, whose password never expires) that is defined in Manage/web services page-->
          <ws:user>a1234</ws:user>
          <ws:pwd>password</ws:pwd>
          <ws:consoleId>1234</ws:consoleId>
       </ws:LoginFromId>
    </soap:Body>
 </soap:Envelope>


Code Block
languagehtml/xml
firstline1
titleSOAP Response
firstline1
linenumberstrue
<LoginResult>
	<errorCode>0</errorCode>
	<errorDescription></errorDescription>
	<!--Use accessKey value that is returned by LoginFromId method-->
         <ws:accessKey>HzAgwRRJaAKBtkgNWpkAuURfV4SxMm6T3HJegRuSkUivKJElNNcmSQe8nqGyoM9</ws:accessKey>
</LoginResult>
 


Code Examples

Code Block
languagephp
firstline1
titlePHP Sample
firstline1
linenumberstrue
<?php
// The sample code described herein is provided on an "as is" basis, without warranty of any kind. 
// MailUp shall not be liable for any direct, indirect or consequential damages or costs of any type arising out of any action taken by you or others related to the sample code.
class MailUpWsSend {
	protected $WSDLUrl = "http://services.mailupnet.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 getFunctions() {
		print_r($this->soapClient->__getFunctions()); 
	}
	
	public function loginFromId() {
		try {
			$loginData = array("user" => "user",
						       "pwd" => "password",
						       "consoleId" => "idconsole");
				
			$this->soapClient->loginFromId($loginData);
			if ($this->readReturnCode("LoginFromId","errorCode") != 0) {
				echo "<br /><br />Error in LoginFromId: ". $this->readReturnCode("LoginFromId","errorDescription");
				die();
			}
			else $this->accessKey = $this->readReturnCode("LoginFromId","accessKey");
			echo "<br>AccesKey: ". $this->accessKey;
			} catch (SoapFault $soapFault) {	
				var_dump($soapFault);
			}
	}
	
	public function logout() {
		try {
			$this->soapClient->Logout(array("accessKey" => $this->accessKey));
			if ($this->readReturnCode("Logout","errorCode") != 0) 
				echo "<br /><br />Error in Logout". $this->readReturnCode("Logout","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("(1)XML file is not valid!");
		$xmlResult = $dom->getElementsByTagName($func."Result");
		$this->domResult = new DomDocument();
		$this->domResult->LoadXML(html_entity_decode($xmlResult->item(0)->nodeValue)) or die("(2)XML file is not valid!");
		$rCode = $this->domResult->getElementsByTagName($param);
		return $rCode->item(0)->nodeValue;
	}
 
	//... other functions...
	// public function functionName(...) {...}
}
?>
<html>
<head></head>
<body>
<?php
	$WsSend = new MailUpWsSend();
	$WsSend->loginFromId();	
	// use $WsSend->functionName(...) to call other methods	
 
	$WsSend->logout();
?>
</body>
</html>

 


Logout method

Deletes the accessKey from the list, so that it can be no longer used. In case the method is not calledThis method has become useless, the accessKey remains active for 60 minutes
  • string Logout(string accessKey)
  • accessKey: access key obtained by calling the Login method
  • LogoutResult: string containing the outcome of the operation

SOAP Examples

Code Block
languagehtml/xml
<LogoutResult>
 <errorCode>0</errorCode>
 <errorDescription></errorDescription>
</LogoutResult>