GetNotificationTemplate@1
Der Node GetNotificationTemplate@1 dient dazu, eine Benachrichtigungsvorlage anhand des Vorlagennamens aus dem OctoMesh Asset Repository abzurufen. Der Vorlagenname kann direkt angegeben oder aus einem Pfad im Data Context abgerufen werden.
Benachrichtigungsvorlagen definieren die Struktur und den Inhalt von Benachrichtigungen, die von der OctoMesh-Plattform versendet werden. Diese Vorlagen können angepasst werden, um je nach Anwendungsfall bestimmte Informationen und Formatierungen zu enthalten.
Adapter-Voraussetzungen
Node-Konfiguration
Zu den Feldern path, targetPath, targetValueWriteMode und targetValueKind siehe Überblick.
Konfigurationsfelder
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
notificationTemplateName | string | Nein* | Der Name der abzurufenden Benachrichtigungsvorlage (direkter Wert) |
notificationTemplateNamePath | string | Nein* | JSONPath zum Abrufen des Vorlagennamens aus dem Data Context |
subjectTargetPath | string | Ja | Der Pfad, an dem der Betreff der Benachrichtigungsvorlage in der Payload gespeichert wird |
targetPath | string | Ja | Der Pfad, an dem der Textkörper der Benachrichtigungsvorlage in der Payload gespeichert wird |
*Entweder notificationTemplateName oder notificationTemplateNamePath muss angegeben werden.
Konfiguration mit direktem Vorlagennamen
transformations:
- type: GetNotificationTemplate@1
targetPath: $.body
notificationTemplateName: my-template-e-mail
subjectTargetPath: $.subject
Pfadbasierte Konfiguration des Vorlagennamens
transformations:
- type: GetNotificationTemplate@1
targetPath: $.body
notificationTemplateNamePath: $.templateName
subjectTargetPath: $.subject
Anwendungsbeispiele
Beispiel 1: Direkter Vorlagenname
Hier ein Beispiel, wie Sie den Node GetNotificationTemplate@1 mit einem direkten Vorlagennamen in einer Transformations-Pipeline verwenden könnten. In diesem Beispiel ruft der Node eine Benachrichtigungsvorlage namens emaildemo ab und speichert den Textkörper der Vorlage in der Payload unter $.body und den Betreff unter $.subject.
Im Textkörper der Vorlage befinden sich zwei Platzhalter, tableData und firstName, die durch das Abfrageergebnis bzw. den Vornamen des Kunden ersetzt werden. Nach dem Ersetzen der Platzhalter wird die E-Mail an die angegebene E-Mail-Adresse gesendet.
triggers:
- type: FromExecutePipelineCommand@1
transformations:
- type: GetNotificationTemplate@1 # Get the notification template
notificationTemplateName: emaildemo
targetPath: body
subjectTargetPath: subject
- type: GetRtEntitiesById@1 # Get the customer entity
ckTypeId: OctoSdkDemo/Customer
rtIds:
- 673b5e451c7375d2ea2bec85
targetPath: $.customer
- type: GetQueryById@1 # Get the query result
targetPath: $.query
queryRtId: 673b5c06de73e7b1755754e4
- type: QueryResultToMarkdownTable@1 # Convert the query result to a Markdown table
path: $.query
targetPath: $.table
- type: PlaceholderReplace@1 # Replace placeholders in the notification template
replaceRules:
- placeholder: tableData
path: $.table
- placeholder: firstName
path: $.customer.Attributes.FirstName
- placeholder: lastName
path: $.customer.Attributes.LastName
path: $.body
targetPath: $.resultBody
- type: SetPrimitiveValue@1 # Set the email address
value: "demo@demo.com"
targetPath: $.to
- type: SendEMail@1 # Send the email
serverConfiguration: smtptest
subjectPath: $.subject
path: $.resultBody
toPath: $.to
Beispiel 2: Pfadbasierter Vorlagenname
Dieses Beispiel zeigt, wie ein Pfad verwendet wird, um den Vorlagennamen dynamisch abzurufen. Der Vorlagenname wird zunächst im Data Context gesetzt und anschließend vom Node GetNotificationTemplate@1 abgerufen.
triggers:
- type: FromExecutePipelineCommand@1
transformations:
- type: SetPrimitiveValue@1 # Set the template name dynamically
value: "customer-welcome"
targetPath: $.templateName
- type: GetNotificationTemplate@1 # Get the notification template using path
notificationTemplateNamePath: $.templateName
targetPath: body
subjectTargetPath: subject
- type: GetRtEntitiesById@1 # Get the customer entity
ckTypeId: OctoSdkDemo/Customer
rtIds:
- 673b5e451c7375d2ea2bec85
targetPath: $.customer
- type: PlaceholderReplace@1 # Replace placeholders in the notification template
replaceRules:
- placeholder: firstName
path: $.customer.Attributes.FirstName
- placeholder: lastName
path: $.customer.Attributes.LastName
path: $.body
targetPath: $.resultBody
- type: SetPrimitiveValue@1 # Set the email address
value: "welcome@company.com"
targetPath: $.to
- type: SendEMail@1 # Send the email
serverConfiguration: smtptest
subjectPath: $.subject
path: $.resultBody
toPath: $.to
Fehlerbehandlung
Der Node GetNotificationTemplate@1 wirft in den folgenden Szenarien Ausnahmen:
- Konfigurationsfehler: Weder
notificationTemplateNamenochnotificationTemplateNamePathwird angegeben. - Pfadwert-Fehler:
notificationTemplateNamePathwird angegeben, aber der Pfad enthält keinen Wert oder null. - Vorlage nicht gefunden: Der angegebene Vorlagenname existiert nicht im OctoMesh Asset Repository.
Wenn einer dieser Fehler auftritt, wird die Pipeline-Ausführung gestoppt und eine detaillierte Fehlermeldung ausgegeben, die die Ursache des Fehlers angibt.
Verwandte Nodes
- PlaceholderReplace@1: Platzhalter in der Payload durch angegebene Werte ersetzen.
- GetQueryById@1: Ein OctoMesh-Abfrageergebnis anhand seiner Runtime-ID abrufen.
- QueryResultToMarkdownTable@1: Ein Abfrageergebnis in eine Markdown-Tabelle umwandeln.
- SendEMail@1: Eine E-Mail über die angegebene SMTP-Serverkonfiguration senden.