Beschreibung
Diese Funktion bietet die Möglichkeit einen Newsletter im System anzulegen und zu versenden. Im Gegensatz zu der Methode "SendNewsletter" müssen 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
Wenn Sie Um einen Newsletter anlegen/anzulegen oder versenden zu wollen, dann müssen Sie folgende Angaben machengemacht werden:
- Betreff des Newsletters
- API-Key (optionale Authentifizierung, wenn nicht angegeben, dann wird die Authentifizierung über die IP-Adressen vorgenommen)
- ID Ihres des Mandanten
- Empfänger des Newsletters (entweder wird die Verteilerliste oder eine Liste von Profilfiltern angegebenhier 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
...
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
Code Block | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
$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"; } } |
Code Block | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
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.