Abonennten via SAP importieren - SAPImportSubscribers

Request-Klasse: SAPSubscriberImportRequest
Response-Klasse: SubscriberImportResponse

Da SAP abstrakte Klassen und Vererbungen nicht unterstützt, wurde für den Einsatz von SAP die Schnittstelle SAPImportSubscribers implementiert.

Für die SAPImportSubscribers-Schnittstelle gelten die gleichen Bedingungen wie für die ImportSubscribers-Schnittstelle, ausgenommen folgende Ausführungen:

Aufruf des Importers für den Abonnentenimport

Für den SAPImport wird der ServiceAgent instanziert. Dieser bekommt als Übergabeparameter einen SAPSubscriberImportRequest.

Die eigentlichen Abonnentendaten, welche importiert werden sollen, befinden sich in der Liste von SAPSubscribers. Weitere Informationen, wie ein solcher SAPAbonnent tatsächlich aufgebaut ist, später.

Der SAPSubscriberImportRequest spezifiziert zu guter letzt noch eine Liste von SendNotificationActions, welche eine E-Mail an eine konfigurierte Adresse sendet, nachdem der Import abgeschlossen wurde. Weitere Informationen dazu später.

Als Ergebnis des Funktionsaufrufs SAPImportSubscribers wird ein SubscriberImportResponse geliefert, welcher die Anzahl der gefundenen Duplikate, Anzahl der Fehler beim Import, Anzahl der importierten (neu hinzugefügten) Abonnenten und der aktualisierten Abonnenten beinhaltet. Weiters beinhaltet diese Klasse einen Array, welcher eine Instanz eines SubscriberResponseEntry beinhalten. Dieser SubscriberResponseEntry gibt an, welche Aktion für diesen Abonnenten getätigt wurde, die Eindeutige ID des Abonnenten (was bereits der Key des Dictionaries war) und falls gegeben eine Fehlermeldung, welche beim Import-Versuch geworfen wurde.

Abbildung der Abonnentendaten

Der SAPSubscriber besitzt prinzipiell die gleichen Optionen wie der Subscriber mit Ausnahme der Abonenntnefelder Fields. Diese wurden aufgrund der Vererbung aufgesplittet in:

  • NumberFields
  • TextFields
  • SelectionFields
  • DateTimeFields
  • BooleanFields
  • GuidFields
  • MdbFields
  • UrlFields

Jedes dieser Felder enthält einen Array mit den jeweiligen Abonnentenfeldern. Diese Eigenschaft beinhaltet alle Abonnentenwerte die importiert werden sollen. Ist ein Wert nicht vorhanden, so werden die Original-Werte des Abonnenten beibehalten bzw. die Standardwerte des Systems automatisch gesetzt, falls ein Abonnent neu hinzugefügt wurde.

Vor dem Import

Auch die BeforeImportActions wurden aufgesplittet. Sie sind jetzt direkt über folgende Aktionen aufrufbar:

ClearProfileAction:
Hier werden alle Abonnenten von einer bestimmten statischen Abonnentengruppe mit dem entsprechenden Namen entfernt. Die Abonnenten werden nicht gelöscht! Sie werden lediglich aus der Abonnentengruppe entfernt und somit beinhaltet die Abonnentengruppe keine Abonnenten mehr. Dies kann erforderlich sein, wenn anschließend die importierten/aktualisierten Abonnenten wieder in die Abonnentengruppe gespeichert werden sollen und am Ende des Imports sichergestellt werden soll, dass lediglich importierte/aktualisierte Abonnenten dieser Abonnentengruppe zugeordnet sein sollen.
RemoveDuplicatesAction:
Entfernt alle Abonnenten, die doppelt in der Import Liste vorhanden sind. Hier ist die Angabe des entsprechenden Duplikat-Feldes notwendig, sowie ob es sich bei diesem Feld um ein Meta-Feld (ID, Registrierungsdatum,…) handelt. Es wird empfohlen, die Duplikatsfreiheit bereits im Vorfeld sicherzustellen!

Nach dem Import

SendNotificationAction kann nun auch direkt angesprochen werden:

SendNotificationAction:
Sendet eine E-Mail an eine konfigurierte Adresse, nachdem der Import abgeschlossen ist.

Nachdem ein Abonnent importiert/aktualisiert wurde

Die PostSubscriberActions SAPSendCampaignAction und SAPProfileAdderAction werden ab sofort auch direkt aufgerufen:

Aus dem Enum ExecuteWith wurde ein Integer, für den gilt:

Wert 1: Insert

Wert 2: Update

Wert 3: Insert | Update