﻿<?php
  $wsdlUrl = ""; //Die URL Ihrer Schnittstelle
  //SoapClient erzeugen
  $client = new SoapClient($wsdlUrl);
  
  //Request-Objekt anlegen
  $createMailingRequest = new StdClass();
  
  //ID des Mandanten setzen
  $createMailingRequest->mandatorId = 0;
  
  //ID des Templates setzen, welches versendet werden soll.
  //$createMailingRequest->templateId = 1;
  
  //Quelltext des Newsletters setzen
  $createMailingRequest->newsletterContent = utf8_encode("<html><body>HTML-Inhalt des Newsletters</body></html>");
  $createMailingRequest->alternativeContent = utf8_encode("Text-Inhalt des Newsletters");
  
  //Betreff für das Mailing setzen
  $createMailingRequest->subject = utf8_encode("Betreff des Newsletters");
  
  //Absendername
  $createMailingRequest->senderName = "Absendername";
  
  //Absender-E-Mail
  //Die Absenderadresse wird geprüft. Es kann sein, dass die Absenderdomain nicht erlaubt ist. Ist dies der Fall kommt
  //eine entsprechende Fehlermeldung.
  $createMailingRequest->senderEmail = "user@example.com";
  
  //Änderungsmeldung für das Mailing setzen (Es wird die Variable $$SPECIAL-REPLACEMENT-TEXT$$ ersetzt).
  $createMailingRequest->adhockInformation = utf8_encode("Ersetzung für die Variable");
  
  //Empfänger setzen. Hier kann entweder eine Verteilerliste oder eine Liste von Profilfilter-ID's angegeben
  //werden. Es muss aber eins von beidem definiert werden.
  $createMailingRequest->recipients = new StdClass();
  //setzen der Verteilerlisten-ID
  $createMailingRequest->recipients->newsletterListId = 1;
  
  //Versandzeit setzen.
  date_default_timezone_set('Europe/Berlin');
  $createMailingRequest->sendTime = time();
  
  /*
   * -----------------
   * OPTIONALE ANGABEN
   * -----------------   
   */
  
  /*
   * API-Key.
   * Anstatt den Zugriff auf die Backclick-Schnittstelle über freigegebene IP-Adressen zu regeln,
   * kann die Zugriffsberechtigung auch über einen API-Key geregelt werden.
   * Ist im System ein API-Key definiert, MUSS dieser API-Key (siehe Menüpunkt: System-Administration->Grundeinstellungen
   * ->Einstellungen für das WebInterface) angegeben werden, da die Liste der freigegebenen IP-Adressen dann NICHT GILT!
   */
  $createMailingRequest->apiKey = "";
  
  try {
    $result = $client->createMailing($createMailingRequest);
    var_dump($result);
  } catch (Exception $e) {
    //Hier ist ein Fehler aufgetreten und abgefangen worden, wir geben die Fehlermeldung aus.
    echo "\n" . $e->getMessage() . "\n";
    if (isset($e->detail) && isset($e->detail->ValidationError)) {
      if (is_array($e->detail->ValidationError)) {
        foreach ($e->detail->ValidationError as $ve) {
          echo $ve . "\n"; 
        } 
      } else {
        echo $e->detail->ValidationError . "\n";
      }
    }
  }
  
?>