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

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

Vollständiges Beispiel für das Hinzufügen/Aktualisieren von Abonnenten
$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";
}
Beispielausgabe
object(stdClass)#2 (2) {
  ["responseCode"]=>
  int(0)
  ["invalidAddresses"]=>
  string(0) ""
}
Minimalbeispiel für das Hinzufüren eines Abonnenten
$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

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

Beispiel um einen Abonnenten im System hinzuzufügen