Beschreibung
Mit Hilfe der Funktion "SaveOrCreateSubscriber" können Sie Ihre Abonnenten synchronisieren. Sie können neue Abonnenten dem System hinzufügen oder bestehende Abonnenten aktualisieren. Beim Hinzufügen von Abonnenten können Sie ein Double-Opt-In auslösen, so dass der Abonnent seine Anmeldung noch einmal bestätigen muss. Wenn Sie Abonnentendaten aktualisieren, dann können Sie eine Bestätigung dieser Abonnentendaten anfordern. Backclick versendet dann eine E-Mail mit einem Link, auf welchen der Abonnent klicken muss. Erst nach dem Klick auf den Link werden die Daten in Backclick geändert. So können Sie sicherstellen, dass dritte keine Daten ungefragt ändern können.
Diese Funktion ist nicht dazu gedacht mehrere tausend Abonnenten in einem Request in das System zu importieren. Falls Sie dies machen wollen, dann greifen Sie bitte auf die Funktion Abonnenten Import zurück.
Wenn Sie einen Abonnenten hinzufügen/aktualisieren wollen, dann müssen Sie folgende Angaben machen:
- ID Ihres Mandanten
- Ist ist Angabe der Verteilerlisten additiv oder komplett (Standard: "listsAdditive" => false); optionale Angabe
- Sollen leere Abonnentenfelder gelöscht werden (Standard: "deleteBlankFields" => false); optionale Angabe
- Soll beim Abonnieren von neuen Verteilerlisten der letzte Newsletter der jeweiligen Verteilerliste versendet werden (Standard: "sendLastNewsletter" => false); optionale Angabe
- Soll beim Abonnieren von neuen Verteilerlisten der Versand der Willkommensmail ausgelöst werden (Standard: "sendWelcome" => false); optionale Angabe
- Soll beim Abonnieren von neuen Verteilerlisten die Antispamfunktionalität berücksichtigt werden (Standard: "filterAntiSpam" => true); optionale Angabe
- Abonnenten, die Sie hinzufügen/aktualisieren wollen:
- E-Mail Adresse des Abonnenten
- Verteilerlisten, welche der Abonnent abonnieren soll
- ID Ihres 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" => (kein Template)); optionale Angabe
- Abonnentendaten:
- Name des Felds (Pflichtfeld, wenn Sie die Daten eines Abonnenten abgeben)
- Wert des Felds (Pflichtfeld, wenn Sie die Daten eines Abonnenten abgeben)
Soll eine Veränderung durch den Abonnenten bestätigt werden (Standard: "confirmChange" => false); optionale Angabe
Als Ergebnis bekommen Sie den Status des Aufrufs. Er enthält einen Responsecode und eine Liste syntaktisch ungültiger E-Mail Adressen. Der Responsecode kann folgende Werte Annehmen:
0: Beim Aufruf hat alles geklappt und alle angegebenen Abonnenten wurden erfolgreich angelegt oder aktualisiert
1: In Ihrem Aufruf sind syntaktisch ungültige E-Mail Adressen enthalten (siehe Liste ungültiger E-Mail Adressen)
- 2: Es ist ein Fehler beim Aktualisieren von Abonnentendaten aufgetreten
- 3: Es ist ein Fehler beim Aktualisieren von Abonnentendaten aufgetreten und Ihr Aufruf enthält syntaktisch ungültige E-Mail Adressen
4: Es ist ein Fehler beim Anlegen von Abonnenten aufgetreten
5: Es ist ein Fehler beim Anlegen von Abonnenten aufgetreten und Ihr Aufruf enthält syntaktisch ungültige E-Mail Adressen
6: Es sind Fehler beim Anlegen und Aktualisieren von Abonnenten aufgetreten
7: Es sind Fehler beim Anlegen und Aktualisieren von Abonnenten aufgetreten und Sie haben syntaktisch ungültige E-Mail Adressen in Ihrem Aufruf
Folgende Fehlermeldungen können bei fehlerhaften Requests auftreten:
- Invalid field name in request.
Beispiel
$client = new SoapClient($wsdlUrl); $saveOrCreateSubscriberRequest = new StdClass(); $saveOrCreateSubscriberRequest->mandatorId = 0; $saveOrCreateSubscriberRequest->listsAdditive = false; $saveOrCreateSubscriberRequest->deleteBlankFields = false; $saveOrCreateSubscriberRequest->sendLastNewsletter = false; $saveOrCreateSubscriberRequest->sendWelcome = false; $saveOrCreateSubscriberRequest->filterAntiSpam = true; $saveOrCreateSubscriberRequest->subscribers = array(); $subscriber = new StdClass(); $subscriber->subscriberEmail = "user@example.com"; $subscriber->newsletterListIds = array(1); $subscriber->mandatorId = 0; $subscriber->doubleOptinTemplateId = 0; $subscriber->changeProfileTemplateId = 0; $subscriber->subscriberFields = array(); $subscriberField = new StdClass(); $subscriberField->fieldName = utf8_encode("VORNAME"); $subscriberField->fieldValue = utf8_encode("Vorname"); $subscriberField->confirmChange = false; array_push($subscriber->subscriberFields, $subscriberField); $subscriberField = new StdClass(); $subscriberField->fieldName = utf8_encode("NACHNAME"); $subscriberField->fieldValue = utf8_encode("Nachname"); $subscriberField->confirmChange = false; array_push($subscriber->subscriberFields, $subscriberField); array_push($saveOrCreateSubscriberRequest->subscribers, $subscriber); try { $result = $client->SaveOrCreateSubscriber($saveOrCreateSubscriberRequest); var_dump($result); } catch (Exception $e) { echo "Error: " . $e->getMessage() . "\n"; }
object(stdClass)#2 (2) { ["responseCode"]=> int(0) ["invalidAddresses"]=> string(0) "" }
$client = new SoapClient($wsdlUrl); $saveOrCreateSubscriberRequest = new StdClass(); $saveOrCreateSubscriberRequest->mandatorId = 0; $saveOrCreateSubscriberRequest->subscribers = array(); $subscriber = new StdClass(); $subscriber->subscriberEmail = "user@example.com"; $subscriber->newsletterListIds = array(1); $subscriber->mandatorId = 0; array_push($saveOrCreateSubscriberRequest->subscribers, $subscriber); try { $result = $client->SaveOrCreateSubscriber($saveOrCreateSubscriberRequest); var_dump($result); } catch (Exception $e) { echo "Error: " . $e->getMessage() . "\n"; }
Quellcode
Damit Sie ein funktionsfähiges Beispiel testen können, haben wir Ihnen hier den Quellcode zum Download zur Verfügung gestellt.