📘 BACKCLICK Doku
Anmelden

Newsletter-Versand (I)

✎ Bearbeiten + Unterseite Historie (0)
⋯
Erstellt von Confluence-Import am · zuletzt geÀndert von Confluence-Import am · v1

Beschreibung

Diese Funktion bietet die Möglichkeit einen Newsletter zu versenden. Im Gegensatz zu der Funktion Newsletter-Versand (II) mĂŒssen die EmpfĂ€nger hier angegeben werden. 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.7.5

Wenn Sie einen Newsletter anlegen/versenden wollen, dann mĂŒssen Sie folgende Angaben machen:

  • EmpfĂ€nger des Newsletters, diese werden als Array angegeben und mĂŒssen die hier stehenden Angaben haben
    • E-Mail Adresse des Abonnenten
    • Verteilerlisten, welche der Abonnent abonnieren soll
    • ID des Mandanten
    • ID des Double-Opt-In Templates fĂŒr das Abonnieren von neuen Verteilerlisten (Standard: "doubleOptinTemplateId" => 0 (kein Template)); optionale Angabe
    • ID des ProfilĂ€ndern Templates fĂŒr das VerĂ€ndern von AbonnentendatensĂ€tzen (Standard: "changeProfileTemplateId" => 0 (kein Template)); optionale Angabe
    • Abonnentendaten:
      • Name des Felds (Pflichtfeld, wenn die Daten eines Abonnenten angegeben werden)
      • Wert des Felds (Pflichtfeld, wenn die Daten eines Abonnenten angegeben werden)
  • Ersetzung fĂŒr die Variable $$SPECIAL-REPLACEMENT-TEXT$$ (Standard: "adhockInformation" => "") optionale Angabe
  • Betreff des Newsletters
  • Inhalt des Newsletters, dabei können Sie wahlweise den Inhalt direkt angeben, oder eine ID einer bestehenden Newslettervorlage verwenden
    • HTML- oder Textinhalt des Newsletters
    • Alternativtext des Newsletters (falls der Inhalt HTML ist)
    • ID der Newslettervorlage
  • ID des Mandanten
  • Versandzeit des Newsletters (im "xs:dateTime"-Format, z.B. 2017-10-23T20:29:00)
  • Angezeigter Absendername (Standard: "senderName" => "") optionale Angabe
  • Absender E-Mail Adresse (Standard: "senderEmail" => "") optionale Angabe
  • API-Key (optionale Authentifizierung, wenn nicht angegeben, dann wird die Authentifizierung ĂŒber die IP-Adressen vorgenommen)

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:

  • 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.
  • Validation error => Es liegt ein Fehler im Request vor, dieser genĂŒgt nicht den Anforderungen. Details sind in der Fehlermeldung zu finden.
  • 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.
  • Invalid templateId! => Die angegebene Template-ID existiert nicht.

Beispiel

$client = new SoapClient($wsdlUrl);
$sendNewsletterRequest = new StdClass();
$sendNewsletterRequest->mandatorId = 0;
$sendNewsletterRequest->newsletterContent = utf8_encode("<html><body>HTML-Inhalt des Newsletters</body></html>");
$sendNewsletterRequest->alternativeContent = utf8_encode("Text-Inhalt des Newsletters");
$sendNewsletterRequest->subject = utf8_encode("Betreff des Newsletters");
$sendNewsletterRequest->senderName = "Absendername";
$sendNewsletterRequest->senderEmail = "[email protected]";
$sendNewsletterRequest->subscribers = array();
date_default_timezone_set('Europe/Berlin');
$sendNewsletterRequest->sendTime = time();
$subscriber = new StdClass();
$subscriber->mandatorId = 0;
$subscriber->subscriberEmail = "[email protected]";
$subscriber->newsletterListIds = array(1);
$subscriber->subscriberFields = array();
$subscriberField = new StdClass();
$subscriberField->fieldName = utf8_encode ("VORNAME");
$subscriberField->fieldValue = utf8_encode ("Vorname");
array_push($subscriber->subscriberFields, $subscriberField);
$subscriberField = new StdClass();
$subscriberField->fieldName = utf8_encode ("NACHNAME");
$subscriberField->fieldValue = utf8_encode ("User");
array_push($subscriber->subscriberFields, $subscriberField);
array_push($sendNewsletterRequest->subscribers, $subscriber);
try {
  $result = $client->sendNewsletter($sendNewsletterRequest);
  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";
  }
}


object(stdClass)#6 (2) {
  ["success"]=>
  bool(true)
  ["newsletterId"]=>
  int(10254)
}

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

AnhÀnge (1)