Der OrderMailNotificator dient dem Versand von HTML-E-Mails rund um einen Auftrag. Konkrete Anwendungsfälle für E-Mails sind zum Beispiel:
Die folgenden Parameter können zur Action als Action-Parameter übergeben werden:
Parameter-Name | Beschreibung | Pflicht? |
---|---|---|
TemplateName | Dateiname (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 |
OrderID | Mit den Daten dieses Auftrags (und verbundener Rechnungs- und Lieferanschrift) soll das Template „gefüllt“ werden | ja |
ToEmail | An diese E-Mail Adresse soll die E-Mail versendet werden. | ja |
FromEmail | E-Mail Adresse die als Absenderadresse verwendet werden soll. | ja |
FromName | Name zur E-Mail-Adresse der in der Absenderadresse verwendet werden soll. | ja |
Subject | Inhalt des „Betreffs“ der E-Mail | ja |
ReplyTo | E-Mail Adresse die im „Reply-To“-Header gesetzt werden soll. | ja |
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:
localeCharacID
>_<Templatename aus Action-Parametern>localeCharacID
>_<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 |
$items | Die 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 |
$ordersurcharges | Die „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 |
$taxes | Die 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 |
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.
Es werden die folgenden statischen Parameter unterstützt:
Name | Beschreibung | Pflicht? |
---|---|---|
outputPath | In dieses (lokale) Verzeichnis werden die erzeugten E-Mails vor dem Versand gespeichert. | ja |
templatePath | Es werden die Templates für die Erzeugung der E-Mails aus diesem (lokalen) Verzeichnis verwendet | ja |
errorsTo | Diese E-Mail Adresse wird im „Return-Path“-Header der gesendeten E-Mail gesetzt. | ja |
localeCharacID | Personen-CharacteristicID (des Auftraggebers) in der die Locale Informationen für die Auswahl von sprachabhängigen Templates hinterlegt sind | nein |
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? |
---|---|---|
commandID | Dieser Handler verarbeitet alle Actions dieses „Typs“ (CommandID) | ja |
runningState | In diesen Status (eine ID, siehe ac_ChangeActionState_Ad) soll die Action bei Beginn der Ausführung gesetzt werden. Best-Practice: 100 | ja |
successState | In 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 255 | ja |
errorState | In diesen Status soll die Action nach der fehlerhaften Ausführung gesetzt werden. Best-Practice: -99 | ja |
Name | Beschreibung | Pflicht? |
---|---|---|
isActive | Sollen von diesem Action-Handler Actions verarbeitet werden (mögliche Werte: 0 oder 1 )? Dient dem kurzfristigen „anhalten“ der Verarbeitung von Actions eines bestimmten Typs | ja |
Hier eine Beispielkonfiguration welche mittels admin_SmartGate importiert werden und dann entsprechend angepasst werden kann: