Page tree
Skip to end of metadata
Go to start of metadata

Beschreibung

Diese Funktion bietet die Möglichkeit einen Newsletter im System anzulegen und zu versenden. Im Gegensatz zu der Methode Newsletter-Versand (I) müssen die Empfänger hier aber nicht jedes mal angegeben werden. Stattdessen bietet diese Funktion die Möglichkeit Newsletter an bestehende Verteilerlisten oder Profilfilter zu senden. Die Funktion gibt als Ergebnis ein Objekt zurück, welches die ID des angelegten Newsletters enthält. So haben Sie dann die Möglichkeit über die Funktionen NewsletterStatistic und BackclickStatistic die Statistiken zu dem Newsletter abzurufen.

Verfügbar ab Backclick-Version: 5.8.0

Um einen Newsletter anzulegen oder versenden zu wollen, müssen folgende Angaben gemacht werden:

  • Betreff des Newsletters
  • API-Key (optionale Authentifizierung, wenn nicht angegeben, dann wird die Authentifizierung über die IP-Adressen vorgenommen)
  • ID des Mandanten
  • Empfänger des Newsletters (hier muss mindestens eines von beiden angegeben werden, es können aber auch beide Felder angegeben werden. Wenn nur Profilfilter angegeben wurden, wird der Zielgruppennewsletter verwendet.)
    • ID der Verteilerliste
    • Liste mit ID's von Profilfiltern
  • Inhalt des Newsletters, dabei können Sie wahlweise den Inhalt direkt angeben, oder eine ID einer bestehenden Newslettervorlage
    • HTML- oder Textinhalt des Newsletters
    • Alternativtext des Newsletters (falls der Inhalt HTML ist)
    • ID der Newslettervorlage
  • Ersetzung für die Variable $$SPECIAL-REPLACEMENT-TEXT$$ (Standard: "adhockInformation" => "") optionale Angabe
  • Die Versandzeit (im "xs:dateTime"-Format, z.B. 2017-10-23T20:29:00, Standard: "sendTime" => 0) optionale Angabe
  • Angezeigter Absendername (Standard: "senderName" => "") optionale Angabe
  • Absender E-Mail Adresse (Standard: "senderEmail" => "") optionale Angabe

Als Ergebnis bekommen Sie den Status des Aufrufs. Er enthält die Information, ob der Aufruf erfolgreich war oder nicht. Falls der Aufruf erfolgreich war, enthält das Ergebnis zusätzlich die ID des angelegten Newsletters.

Folgende Fehlermeldungen können bei fehlerhaften Requests auftreten:

  • Invalid domain of sender address ("example.com"). If you want to send email for this domain, please contact your admin. => Die angegebene Absenderdomain darf unter dem Mandanten nicht verwendet werden.
  • Validation error => Es liegt ein Fehler im Request vor, dieser genügt nicht den Anforderungen. Details sind in der Fehlermeldung zu finden.
  • No templateId AND no newsletterContent given! => Es wurde weder eine Template-ID noch der Inhalt zu dem Newsletter angegeben.
  • No subject given. => Der Betreff wurde nicht angegeben.
  • Invalid templateId! => Die angegebene Template-ID existiert nicht.
  • Autoimport is running. Please try again later. => Es läuft gerade ein automatischer Import, welcher den Newsletter beeinflussen würde. Funktion bitte später erneut aufrufen.
  • Filter with ID #id  is non existent. => Der angegebene Filter existiert nicht.
  • No Recipients are given! => Es wurde weder eine Newsletter-List-ID noch ein Profilfilter angegeben. Dadurch gibt es keine Empfänger an die der Newsletter versendet werden könnte.

Beispiel

Erstellen und Versenden eines Newsletters
$client = new SoapClient($wsdlUrl);
$createMailingRequest = new StdClass();
$createMailingRequest->mandatorId = 0;
$createMailingRequest->newsletterContent = utf8_encode("<html><body>HTML-Inhalt des Newsletters</body></html>");
$createMailingRequest->alternativeContent = utf8_encode("Text-Inhalt des Newsletters");
$createMailingRequest->subject = utf8_encode("Betreff des Newsletters");
$createMailingRequest->senderName = "Absendername";
$createMailingRequest->senderEmail = "user@example.com";
$createMailingRequest->recipients = new StdClass();
$createMailingRequest->recipients->newsletterListId = 1;
date_default_timezone_set('Europe/Berlin');
$createMailingRequest->sendTime = time();
try {
  $result = $client->createMailing($createMailingRequest);
  var_dump($result);
} catch (Exception $e) {
  echo "\n" . $e->getMessage() . "\n";
  if (is_array($e->detail->ValidationError)) {
    foreach ($e->detail->ValidationError as $ve) {
      echo $ve . "\n"; 
    } 
  } else {
    echo $e->detail->ValidationError . "\n";
  }
}
Beispielausgabe
object(stdClass)#4 (2) {
  ["success"]=>
  bool(true)
  ["newsletterId"]=>
  int(10153)
}

 Quellcode

Um ein funktionsfähiges Beispiel testen können, steht hier der Quellcode zum Download zur Verfügung.

Beispiel für den Versand eines Newsletters