Benutzer-Werkzeuge

Webseiten-Werkzeuge


action:ordermailnotificator

Action-Handler: OrderMailNotificator

Der OrderMailNotificator dient dem Versand von HTML-E-Mails rund um einen Auftrag. Konkrete Anwendungsfälle für E-Mails sind zum Beispiel:

  • Bestelleingang
  • Auftragsbestätigung
  • Versand
  • Retoureneingang

Action-Parameter

Die folgenden Parameter können zur Action als Action-Parameter übergeben werden:

Parameter-Name Beschreibung Pflicht?
TemplateNameDateiname (ohne Pfad und Locale-Information) eines Templates. Je nach Endung des Dateinamen wird entweder die Template-Engine Apache Velocity (Endung .vm) oder JasperReports (Endung .jrxml) verwendet. ja
OrderIDMit den Daten dieses Auftrags (und verbundener Rechnungs- und Lieferanschrift) soll das Template „gefüllt“ werdenja
ToEmailAn diese E-Mail Adresse soll die E-Mail versendet werden.ja
FromEmailE-Mail Adresse die als Absenderadresse verwendet werden soll.ja
FromNameName zur E-Mail-Adresse der in der Absenderadresse verwendet werden soll.ja
SubjectInhalt des „Betreffs“ der E-Mailja
ReplyToE-Mail Adresse die im „Reply-To“-Header gesetzt werden soll.ja

Template-Erstellung

Velocity

Für die Erstellung von Templates stehen mehrere Velocity Editoren zur Verfügung. Eine Beschreibung der Velocity Template Languge (VTL) findet sich im Velocity Handbuch.

Sofern eine localeCharacID konfiguriert ist wird in folgender Reihenfolge nach dem passenden Template gesucht:

  • <Personen-Eigenschaft zur localeCharacID>_<Templatename aus Action-Parametern>
  • <„Sprachteil“ der Personen-Eigenschaft zur localeCharacID>_<Templatename aus Action-Parametern>
  • <Templatename aus Action-Parametern>

Das action_SmartGate stellt für die Verwendung in den Templates Daten zur Verfügung. Konkret sind dies:

VTL-Zugriff Beschreibung
$person.getProperty('<ID>')Liefert die Eigenschaft zur übergebenen Personen-CharacteristicID des Auftraggebers
$action.getActionParameterValue('Name')Liefert den Wert zum Action-Parameter mit dem übergebenen Namen
$deliveryperson.getProperty('<ID>')Liefert die Eigenschaft zur übergebenen Personen-CharacteristicID der Lieferanschrift
$order.getCurrencySymbol()Das Symbol zur Währung des Auftrags
$order.getOrderIDAsString()Die ID des Auftrags
$order.getOrderDate('de')Das Datum in der dem locale-Parameter entsprechenden Formatierung
$order.getPaymentTypeDescription()Beschreibung der Zahlungsart
$order.getShippingTypeDescription()Beschreibung der Versandart
$order.getGrossSumAsString('de')Der Brutto-Warenwert der Auftragspositionen (ohne „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$order.getNetSumAsString('de')Der Netto-Warenwert der Auftragspositionen (ohne „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$order.getGrossTotalSumWithOrderSurchargesAsString('de')Die Brutto-Auftragssumme (inklusive „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$order.getNetTotalSumWithOrderSurchargesAsString('de')Die Netto-Auftragssumme (inklusive „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$itemsDie Positionen des Auftrags zum durchlaufen mittels #foreach ( $item in $items )
$item.getProperty('<ID>')Liefert die Eigenschaft zur übergebenen Artikel-CharacteristicID der jeweiligen Auftragsposition
$item.getGrossContentUnitPriceWithoutSurchargesAsString('de')Brutto-Einzelpreis der Position (ohne „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$item.getNetContentUnitPriceWithoutSurchargesAsString('de')Netto-Einzelpreis der Position (ohne „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$item.getGrossContentSumSurchargesAsString('de')Auschließlich die Brutto-Surcharges der Position in der dem locale-Parameter entsprechenden Formatierung
$item.getNetContentSumSurchargesAsString('de')Auschließlich die Netto-Surcharges der Position in der dem locale-Parameter entsprechenden Formatierung
$item.getGrossContentSumAsString('de')Brutto-Summe der Position (inkl. „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$item.getNetContentSumAsString('de')Netto-Summe der Position (inkl. „Surcharges“) in der dem locale-Parameter entsprechenden Formatierung
$ordersurchargesDie „Rabatte und Aufschläge“ des Auftrags zum Durchlaufen per #foreach ( $ordersurcharge in $ordersurcharges )
$ordersurcharge.getDescription()Beschreibung der Rabatt bzw. Aufschlagsart
$ordersurcharge.getGrossOrderSurchargeAsString('de')Die Brutto-Surcharges des Auftrags in der dem locale-Parameter entsprechenden Formatierung
$ordersurcharge.getNetOrderSurchargeAsString('de')Die Netto-Surcharges des Auftrags in der dem locale-Parameter entsprechenden Formatierung
$taxesDie Steuern des Auftrags zum Durchlaufen per #foreach ( $tax in $taxes )
$tax.getTaxRateAsString('de')Höhe des Steuersatzes in Prozent
$tax.getTaxSumAsString('de')Absoluter Steuer-Betrag

Jasper-Reports

Zur Erstellung von JRXML Template-Dateien gibt es das frei verfügbare Tool iReport-Designer. Eine Erstellung dieser Dateien mit einem Text- oder XML-Editor ist nicht praktikabel.

Konfiguration

statische

Es werden die folgenden statischen Parameter unterstützt:

Name Beschreibung Pflicht?
outputPathIn dieses (lokale) Verzeichnis werden die erzeugten E-Mails vor dem Versand gespeichert.ja
templatePathEs werden die Templates für die Erzeugung der E-Mails aus diesem (lokalen) Verzeichnis verwendetja
errorsToDiese E-Mail Adresse wird im „Return-Path“-Header der gesendeten E-Mail gesetzt.ja
localeCharacIDPersonen-CharacteristicID (des Auftraggebers) in der die Locale Informationen für die Auswahl von sprachabhängigen Templates hinterlegt sindnein
BCC:<Template>E-Mail Adresse die bei Verwendung des angegebenen Templates in den Action-Parametern als Blind-Carbon-Copy (BCC) gesetzt wird. Anwendungsfall ist z.B. eine Adresse zur externen Archivierung bestimmter E-Mails.nein

Über die oben genannten Parameter hinaus gelten die folgenden, bei allen Action-Handlern vorhandenen, statischen Parameter:

Name Beschreibung Pflicht?
commandIDDieser Handler verarbeitet alle Actions dieses „Typs“ (CommandID)ja
runningStateIn diesen Status (eine ID, siehe ac_ChangeActionState_Ad) soll die Action bei Beginn der Ausführung gesetzt werden. Best-Practice: 100ja
successStateIn diesen Status soll die Action nach der erfolgreichen Ausführung gesetzt werden. 0, falls die Action durch mi_GarbageCollect_Ad gelöscht werden darf, sonst 255ja
errorStateIn diesen Status soll die Action nach der fehlerhaften Ausführung gesetzt werden. Best-Practice: -99ja

dynamische

Name Beschreibung Pflicht?
isActiveSollen von diesem Action-Handler Actions verarbeitet werden (mögliche Werte: 0 oder 1)? Dient dem kurzfristigen „anhalten“ der Verarbeitung von Actions eines bestimmten Typsja

Beispielkonfiguration

Hier eine Beispielkonfiguration welche mittels admin_SmartGate importiert werden und dann entsprechend angepasst werden kann:

applicationsettings_action-handler_ordermailnotificator.xml

action/ordermailnotificator.txt · Zuletzt geändert: 13.11.2014 (Externe Bearbeitung)