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 Anlegen/Aktualisieren von Abonnenten (Batch-Funktion) zurĂŒck.
VerfĂŒgbar ab Backclick-Version: 5.7.5
Wenn Sie einen Abonnenten hinzufĂŒgen/aktualisieren wollen, dann mĂŒssen Sie folgende Angaben machen:
- ID des Mandanten
- API-Key (optionale Authentifizierung, wenn nicht angegeben, dann wird die Authentifizierung ĂŒber die IP-Adressen vorgenommen)
- Ist die 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 hinzugefĂŒgt/aktualisiert werden sollen:
- 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)
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: Aufruf fehlerfrei. Alle angegebenen Abonnenten wurden erfolgreich angelegt oder aktualisiert
1: Im Aufruf sind syntaktisch ungĂŒltige E-Mail-Adressen enthalten (siehe Liste ungĂŒltiger E-Mail Adressen)
- 2: Fehler beim Aktualisieren von Abonnentendaten aufgetreten
- 3: Fehler beim Aktualisieren von Abonnentendaten aufgetreten und im Aufruf sind syntaktisch ungĂŒltige E-Mail-Adressen enthalten
4: Fehler beim Anlegen von Abonnenten aufgetreten
5: Fehler beim Anlegen von Abonnenten aufgetreten und im Aufruf sind syntaktisch ungĂŒltige E-Mail-Adressen enthalten
6: Fehler beim Anlegen und Aktualisieren von Abonnenten aufgetreten
7: Fehler beim Anlegen und Aktualisieren von Abonnenten aufgetreten und im Aufruf sind syntaktisch ungĂŒltige E-Mail-Adressen enthalten
Folgende Fehlermeldungen können bei fehlerhaften Requests auftreten:
- Invalid field name in request. => Es wurde ein Feld bei einem Abonnenten angegeben, welches nicht existiert.
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 = "[email protected]";
$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 = "[email protected]";
$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
Um ein funktionsfĂ€higes Beispiel testen können, steht hier der Quellcode zum Download zur VerfĂŒgung.