Variablen- und Platzhalter-Referenz
Das tebio Business-Portal übergibt bei jedem ausgelösten Ereignis (z. B. einer neuen Rechnung oder einer Subscription-Änderung) spezifische Daten an die Nachrichtenengine. Diese Daten können Sie in Ihren E-Mail- und Briefvorlagen als Platzhalter (Variablen) nutzen, um den Text zu personalisieren.
Syntax der Platzhalter
Abschnitt betitelt „Syntax der Platzhalter“Um einen Platzhalter in den Texteditor Ihrer Vorlage einzufügen, verwenden Sie doppelte geschweifte Klammern und einen führenden Punkt vor dem Variablennamen.
Beispiel:
Hallo {{ .firstName }} {{ .lastName }}, Ihre Rechnung {{ .invoiceNo }} ist da!
1. Finanzen und Rechnungen
Abschnitt betitelt „1. Finanzen und Rechnungen“1.1. Neue Rechnung (invoicing.createInvoice)
Abschnitt betitelt „1.1. Neue Rechnung (invoicing.createInvoice)“Wird gesendet, um den Rechnungsempfänger über eine neue Rechnung, einen Rechnungsabschluss oder eine Rechnungskorrektur oder Gutschrift zu informieren (je nach invoice.type). Unterstützt Konfiguration pro TENANT.
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
buyerTitle | Titel des Käufers (aus Rechnungsadresse) | string | Dr. |
buyerFirstName | Vorname des Käufers (aus Rechnungsadresse) | string | Maximilian |
buyerLastName | Nachname des Käufers (aus Rechnungsadresse) | string | Schneider |
buyerCompanyName | Firmenname des Käufers (aus Rechnungsadresse) | string | ACME GmbH |
invoiceNo | Rechnungsnummer | string | INV-0215-2025-DE |
invoiceType | Rechnungstyp (COMMERCIAL_INVOICE, CREDIT_NOTE, INVOICE_STATEMENT) | string | COMMERCIAL_INVOICE |
currency | Währung der Rechnung (ISO 4217) | string | EUR |
totalAmountInclTax | Gesamtbetrag inkl. Steuern | decimal | 199.99 |
dueDate | Fälligkeitsdatum | timestamp | 2025-05-30T12:00:00Z |
paymentMethodServiceName | Name des Zahlungsmittels (nur falls Zahlung erwartet) | string | SEPA Direct Debit |
productTenantCompanyName | Name des Produkt-Mandanten | string | ACME GmbH |
timezone | Zeitzone (aus Mandanten-Konfiguration) | string | Europe/Berlin |
piCreditTransferIBAN | IBAN für Überweisungen (aus Payment Instructions) | string | DE89370400440532013000 |
piCreditTransferBIC | BIC für Überweisungen | string | DEUTDEFFXXX |
piCreditTransferAccountName | Kontoinhaber für Überweisungen | string | Tebio GmbH |
piCreditTransferRemittanceInformation | Verwendungszweck für Überweisung | string | INV-0215-2025-DE / ACME GmbH |
piCreditTransferMachineReadableCode | EPC QR-Code Inhalt (z.B. für Banking-Apps) | string | BCD\n001\n1\nSCT\n… |
1.2. Zahlungserinnerung 1 (finance.dunningEmailLevel1)
Abschnitt betitelt „1.2. Zahlungserinnerung 1 (finance.dunningEmailLevel1)“Wird gesendet, wenn eine fällige Rechnung nach einer bestimmten Anzahl von Tagen nicht bezahlt wurde. Unterstützt Konfiguration pro TENANT.
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
firstName | Vorname des Schuldners | string | Maximilian |
lastName | Nachname des Schuldners | string | Schneider |
invoiceNo | Rechnungsnummer | string | INV-0215-2025-DE |
currency | Währung der Rechnung | string | EUR |
totalAmountInclTax | Gesamtforderung inkl. Steuern | decimal | 199.99 |
productTenantCompanyName | Firmenname des Produkt-Mandanten | string | ACME GmbH |
piCreditTransfer... | Überweisungsdaten (IBAN, BIC, Verwendungszweck etc. identisch zu Rechnung) | string | - |
1.3. Zahlungserinnerung 2 (finance.dunningEmailLevel2)
Abschnitt betitelt „1.3. Zahlungserinnerung 2 (finance.dunningEmailLevel2)“Wird gesendet, wenn die Rechnung nach weiteren Tagen weiterhin unbezahlt ist (Eskalation). Unterstützt Konfiguration pro TENANT.
Hinweis: Die Parameter sind identisch zur Zahlungserinnerung 1 (finance.dunningEmailLevel1).
2. Zahlungsabwicklung (SEPA)
Abschnitt betitelt „2. Zahlungsabwicklung (SEPA)“2.1. SEPA-Vorabankündigung Initial (payment.initialSepaPreNotification)
Abschnitt betitelt „2.1. SEPA-Vorabankündigung Initial (payment.initialSepaPreNotification)“Wird an den Zahler gesendet, wenn ein SEPA-Mandat erfolgreich bestätigt wurde. Unterstützt Konfiguration pro TENANT.
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
firstName | Vorname des Empfängers | string | Maximilian |
lastName | Nachname des Empfängers | string | Schneider |
bankIBAN | Letzte 4 Ziffern der Bank-IBAN | string | 3000 |
bankCI | Gläubiger-ID | string | DE98ZZZ09999999999 |
arrangementReference | Referenz des Mandats | string | K10050DE67M10F1R23BL00D7KP |
productTenantCompanyName | Firmenname des Produkt-Mandanten | string | ACME GmbH |
reasonForPayment | Verwendungszweck / Zahlungsgrund | string | Payment for order 12345 |
initiatingPartyName | Initiierende Partei | string | Tebio GmbH |
2.2. SEPA-Vorabankündigung Wiederkehrend (payment.recurringSepaPreNotification)
Abschnitt betitelt „2.2. SEPA-Vorabankündigung Wiederkehrend (payment.recurringSepaPreNotification)“Wird für jede folgende Abbuchung via SEPA versendet. Unterstützt Konfiguration pro TENANT.
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
| (Identisch zu 2.1 plus:) | |||
amount | Betrag der Abbuchung | decimal | 199.99 |
currency | Währung der Abbuchung | string | EUR |
requestedCollectionDate | Geplantes Abbuchungsdatum | timestamp | 2023-01-10T10:00:00+02:00 |
timezone | Zeitzone (aus Mandanten-Konfiguration) | string | Europe/Berlin |
3. Subscriptions
Abschnitt betitelt „3. Subscriptions“Die Parameter vieler Subscription-Events ähneln sich stark. Alle unterstützen die Konfiguration pro PRODUCT.
| Standard-Parameter | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
title | Titel des Kunden | string | Dr. |
firstName | Vorname des Kunden | string | Maximilian |
lastName | Nachname des Kunden | string | Schneider |
productName | Name des abonnierten Produkts | string | AcmeCRM |
productExtProductRef | Externe Referenz des Produkts | string | PROD-DE-CRM-001 |
productClientName | Firmenname des Produkt-Clients | string | ACME GmbH |
subscriptionOwnerClientName | Firmenname des Abo-Inhabers | string | ACME GmbH |
timezone | Zeitzone | string | Europe/Berlin |
3.1. Neue Subscription aktiviert (subscription.subCreateConfirmation)
Abschnitt betitelt „3.1. Neue Subscription aktiviert (subscription.subCreateConfirmation)“Wird ausgelöst, wenn ein Abo aktiv wird. Zusätzliche Parameter:
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
productSetupCharge | Optionale Einrichtungsgebühr | decimal | 16.79 |
productRecurringCharge | Optionale wiederkehrende Gebühr | decimal | 16.79 |
currency | Währung | string | EUR |
pricesIncludeTax | Enthalten die Preise Steuern? | bool | false |
prolongationPeriod | JSON: Verlängerungsperiode {"unit":"DAY","value":2} | string | Siehe JSON |
productMinDuration | JSON: Mindestlaufzeit {"unit":"DAY","value":14} | string | Siehe JSON |
subscriptionValidFrom | Gültig ab (Datum) | timestamp | 2023-01-01T00:00:00Z |
subscriptionNextProlongation | Nächste Verlängerung (Datum) | timestamp | 2025-08-01T00:00:00Z |
paymentMethodServiceName | Name des Zahlungsmittels | string | SEPA Direct Debit |
bookedOptions | JSON-Array der gebuchten Optionen | string | Siehe JSON |
3.2. Optionen geändert (subscription.subChangeOption)
Abschnitt betitelt „3.2. Optionen geändert (subscription.subChangeOption)“Wenn sich Optionen eines Abos ändern. Neben den Standard-Parametern wird hier das JSON-Array bookedChanges anstelle von bookedOptions übergeben.
Das bookedChanges Array enthält zu jeder Option die Felder action (ADD, REMOVE, UPDATE), quantity und bei Updates auch oldQuantity.
3.3. Produktwechsel bestellt (subscription.productChangeOrderEntry) & Bestätigt (subscription.productChangeConfirmation)
Abschnitt betitelt „3.3. Produktwechsel bestellt (subscription.productChangeOrderEntry) & Bestätigt (subscription.productChangeConfirmation)“Wenn ein Kunde z. B. ein Upgrade oder Downgrade auf ein anderes Produkt bestellt oder dieses bestätigt wird.
| Spezifische Parameter | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
sourceProductName | Name des alten Produkts | string | AcmeCRM |
targetProductName | Name des neuen Produkts | string | AcmeCRM Plus |
sourceSubValidFrom | Start der alten Subscription | timestamp | 2023-01-01T00:00:00Z |
targetSubValidFrom | Start der neuen Subscription | timestamp | 2023-01-01T00:00:00Z |
productChangeFee | Wechselgebühr | decimal | 5.99 |
bookedOptions | JSON-Array der Optionen des Ziel-Produkts | string | Siehe JSON |
3.4. Subscription wegen fehlgeschlagener Verlängerung gekündigt (subscription.prolongCancelled)
Abschnitt betitelt „3.4. Subscription wegen fehlgeschlagener Verlängerung gekündigt (subscription.prolongCancelled)“| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
productOptionNameList | Kommaseparierte Liste der deaktivierten Optionen | string | Priority Support, Storage |
totalAmountOfFailedPayment | Betrag der fehlgeschlagenen Zahlung | decimal | 14.99 |
prolongationDate | Datum des Fehlschlags | timestamp | 2025-07-01T00:00:00Z |
3.5. Subscription pausiert (subscription.subPause) / Subscription-Pause beendet (subscription.subUnpause)
Abschnitt betitelt „3.5. Subscription pausiert (subscription.subPause) / Subscription-Pause beendet (subscription.subUnpause)“Zusätzliche Parameter: pausedFrom (Beginn der Pause) und pausedUntil (Ende der Pause).
3.6. Kündigung der Subscription eingegangen (Deactivation.OrderEntry) & Bestätigt (Deactivation.Confirmation)
Abschnitt betitelt „3.6. Kündigung der Subscription eingegangen (Deactivation.OrderEntry) & Bestätigt (Deactivation.Confirmation)“Zusätzliche Parameter: scheduledForDeactivation (Geplantes Kündigungsdatum), actualCancellationDate bzw. deactivationDate (Tatsächliches Ausführungsdatum).
4. Helpdesk und Support
Abschnitt betitelt „4. Helpdesk und Support“Unterstützen Konfiguration pro TENANT.
4.1. Nachrichten an den Kunden (Erstellt / Aktualisiert)
Abschnitt betitelt „4.1. Nachrichten an den Kunden (Erstellt / Aktualisiert)“helpdesk.ticket.create.notificationhelpdesk.ticket.update.notification
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
firstName | Vorname des Kunden / Kontakts | string | Maximilian |
lastName | Nachname des Kunden / Kontakts | string | Schneider |
extTicketRef | Ticket-Referenznummer | string | HLT-719323 |
ticketTitle | Titel / Betreff des Tickets | string | Server is down |
ticketDescription | Beschreibung des Tickets | string | We cannot reach the web… |
tenantCompanyName | Mandanten-Name des Tickets | string | ACME GmbH |
4.2. Interne Nachrichten an den Bearbeiter (assigneeName)
Abschnitt betitelt „4.2. Interne Nachrichten an den Bearbeiter (assigneeName)“helpdesk.ticket.create.notification.assigneehelpdesk.ticket.update.notification.assigneehelpdesk.ticket.dueDate.notification(Reminder)
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
assigneeName | Name des Bearbeiters oder der Support-Gruppe | string | Support Team Berlin |
ticketTitle | Titel des Tickets | string | Server is down |
extTicketRef | Ticket-Referenznummer | string | HLT-719323 |
affectedEntityName | Name der betroffenen Entität (z.B. Kunde) | string | ACME GmbH |
5. Vertriebspartner
Abschnitt betitelt „5. Vertriebspartner“5.1. Statuswechsel auf Aktiv (salespartner.StatusChange.ValidationToActive)
Abschnitt betitelt „5.1. Statuswechsel auf Aktiv (salespartner.StatusChange.ValidationToActive)“Wird an den Vertriebspartner-Kontakt gesendet, wenn der Partner erfolgreich aktiviert wurde. Konfiguration pro TENANT.
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
contactFirstName | Vorname des Empfängers | string | Maximilian |
contactLastName | Nachname des Empfängers | string | Schneider |
companyName | Firma des Vertriebspartners | string | ACME GmbH |
newStatus | Neuer Status | string | ACTIVE |
6. Bestellungen (Orders)
Abschnitt betitelt „6. Bestellungen (Orders)“Diese Ereignisse decken den E-Commerce- und Warenkorbprozess ab. Konfiguration pro PRODUCT.
6.1. Neue Subscription bestellt (order.newSubscription.*)
Abschnitt betitelt „6.1. Neue Subscription bestellt (order.newSubscription.*)“Status-Events: .ordered, .approved, .fulfilled, .unsuccessful
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
firstName / lastName | Besteller-Name | string | Maximilian Schneider |
productName | Name der bestellten Subscription | string | AcmeCRM |
extOrderRef | Bestellnummer | string | ORD-202506 |
productSetupCharge | Einrichtungsgebühr | decimal | 16.79 |
productRecurringCharge | Wiederkehrende Gebühr | decimal | 16.79 |
shippingMethod | Versandmethode (falls physisch) | string | REGULAR_SHIPPING |
shippingTrackingUrls | JSON-Array der Tracking-Links | string | ["https://dhl..."] |
bookedOptions | JSON-Array der Abo-Optionen | string | Siehe JSON |
discounts | JSON-Array der angewendeten Rabatte | string | [{"name": {"de":"3%"},...}] |
shippingAddress | JSON-Objekt der Lieferadresse | string | Siehe JSON |
billingAddress | JSON-Objekt der Rechnungsadresse | string | Siehe JSON |
cancellationReason | (Nur bei .unsuccessful) Stornierungsgrund | string | Auf Kundenwunsch |
6.2. Subscription-Änderung bestellt (order.changeSubscription.*)
Abschnitt betitelt „6.2. Subscription-Änderung bestellt (order.changeSubscription.*)“Status-Events: .ordered, .approved, .fulfilled, .unsuccessful
Parameter sind identisch zur neuen Abo-Bestellung, enthalten aber zusätzlich targetProductName, targetProductDescription sowie das Array bookedChanges (welche Optionen hinzugefügt, entfernt oder geändert wurden, inkl. oldQuantity vs. quantity).
6.3. Waren bestellt (order.goods.*)
Abschnitt betitelt „6.3. Waren bestellt (order.goods.*)“Status-Events: .ordered, .fulfilled, .unsuccessful
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
sumOneTimeCharge | Gesamtbetrag der Bestellung | decimal | 13.99 |
requestForPayment | JSON-Objekt mit Überweisungsdaten (IBAN, BIC) bei Vorkasse | string | Siehe JSON |
orderContent | JSON-Objekt des gesamten Warenkorbs | string | Siehe JSON |
modifiedTotalOrderCharges | JSON-Objekt der Gesamtbeträge inklusive und exklusive Steuern | string | Siehe JSON |
shippingCharges | JSON-Objekt der Versandkosten | string | {"amountInclTax":"5.99"} |
7. Logistik (Shipping)
Abschnitt betitelt „7. Logistik (Shipping)“7.1. Verpackungs-Benachrichtigung für externe Logistik (order.shipping.external.notify.logistics)
Abschnitt betitelt „7.1. Verpackungs-Benachrichtigung für externe Logistik (order.shipping.external.notify.logistics)“Wird gesendet, wenn ein Versandauftrag für einen externen Logistikpartner erstellt wurde. Konfiguration pro TENANT.
| Name | Beschreibung | Datentyp | Beispiel |
|---|---|---|---|
shippingMethod | Versandart | string | REGULAR_SHIPPING |
shippingId | ID des Versands | string | SHIP-12345 |
extOrderRef | Bestellnummer | string | 10000002 |
recipient | JSON-Objekt des Empfängers | string | {"firstName":"John",...} |
shippingAddress | JSON-Objekt der Lieferadresse | string | Siehe JSON |
items | JSON-Array der zu verpackenden Artikel | string | [{"name":"Pullover","quantity":2}] |