﻿<?php
  $wsdlUrl = ""; //Die URL Ihrer Schnittstelle
  
  //SoapClient erzeugen
  $client = new SoapClient($wsdlUrl);
  
  $importSubscribersRequest = new StdClass();
  
  //ID des Mandanten setzen
  $importSubscribersRequest->mandatorId = 0;
  
  //Setzen der Verteilerlisten, auf welche die Abonnenten Importiert werden sollen
  $importSubscribersRequest->newsletterListIds = array(1);
  
  //wir erzeugen einen Profilfilter (ist aber optional, kann auch weggelassen werden).
  //Wenn wir einen Filter erzeugen, dann bekommen wir die ID des erzeugten Filters zurück.
  $importSubscribersRequest->createFilter = true;
  
  //Hier setzen wir eine 0, da wir ja einen neuen Filter anlegen wollen.
  $importSubscribersRequest->filterToUpdate = 0;
  
  //Header der Importdaten erzeugen. Die Importdaten müssen wie eine normale Importdatei in Backclick aufgebaut sein. Wir müssen hier die 
  //Spalte NEWSLETTER NICHT setzen, da wir die Verteilerlisten im Request angeben.
  $importData = utf8_encode("EMAIL\tVORNAME\tNACHNAME\r\n");
  
  //Wir erzeugen 1.000 Testdatensätze
  for ($i = 0; $i < 10; $i++) {
    $importData = $importData . utf8_encode("user-" . $i . "@example.com\tVorname-" . $i . "\tNachname-" . $i . "\r\n");
  }
  
  //Setzen der zu importierenden Daten
  $importSubscribersRequest->importData = $importData;
  
  /*
   * -----------------
   * OPTIONALE ANGABEN
   * -----------------   
   */
  
  /*
   * API-Key.
   * Anstatt den Zugriff auf die Backclick-Schnittstelle über freigegebene IP-Adressen zu regeln,
   * kann die Zugriffsberechtigung auch über einen API-Key geregelt werden.
   * Ist im System ein API-Key definiert, MUSS dieser API-Key (siehe Menüpunkt: System-Administration->Grundeinstellungen
   * ->Einstellungen für das WebInterface) angegeben werden, da die Liste der freigegebenen IP-Adressen dann NICHT GILT!
   */
  $importSubscribersRequest->apiKey = "";
  //Ausführen der Abfrage
  try {
    $result = $client->importSubscribers($importSubscribersRequest);
    var_dump($result);
  } catch (Exception $e) {
    //Hier ist ein Fehler aufgetreten und abgefangen worden, wir geben die Fehlermeldung aus.
    echo "Fehler aufgetreten: " . $e->getMessage() . "\n";
  }
?>