Was ist eine Rating Engine?
Die Rating Engine ist das Herzstück von BillingEngine. Sie empfängt einen Datensatz (DR) — Rohdaten über die Nutzung Ihres Dienstes — und berechnet den resultierenden Preis anhand aktiver Regeln und Preislistenversionen.
Ablauf der Datensatzverarbeitung
Jeder gesendete DR durchläuft folgende Schritte:
- Validierung — Format, Pflichtfelder und Kundenstatus werden überprüft
- Preislistenauswahl — die Engine durchläuft aktive
pricing_rulesund findet die erste, die den Attributen des Datensatzes entspricht - Preisberechnung — der Tarif aus
price_list_itemswird auf Volumen oder Anzahl angewendet - Speicherung — der Datensatz wird mit dem berechneten Preis und einem Verweis auf die verwendete Preislistenversion gespeichert
Regeln und Bedingungen
Trigger (triggers) ermöglichen dynamische Änderungen des Engine-Verhaltens. Sie können definieren:
- Skalare Bedingungen —
{ "service_type": "SMS" }oder mit Operator{ "op": "gte", "value": 100 } - Aggregatbedingungen — z.B. „wenn der Kunde im Monat 1.000 SMS überschritten hat, Rabatt anwenden"
{
"conditions": {
"service_type": { "op": "eq", "value": "SMS" }
},
"aggregate_conditions": [
{ "func": "COUNT", "field": "id", "op": "gt", "value": 500 }
]
}
Preislistenversionen
BillingEngine unterstützt die Versionierung von Preislisten. Jede Version hat einen Gültigkeitszeitraum (valid_from, valid_to). Die Engine wählt immer die Version, die zum Zeitpunkt des Datensatzeingangs gültig war — historische Datensätze bleiben auch nach Preisänderungen konsistent.
Ergebnis
Nach der Verarbeitung eines Datensatzes liefert der Endpunkt POST /api/v1/dr/billing eine Preiszusammenfassung für den gewählten Zeitraum — die perfekte Grundlage für die Rechnungsstellung.