Co je rating engine?
Rating engine je jádro celého BillingEngine. Přijme datový záznam (DR) — surová data o využití vaší služby — a na základě aktivních pravidel a ceníkových verzí vypočítá výslednou cenu.
Tok zpracování záznamu
Každý odeslaný DR prochází těmito kroky:
- Validace — zkontroluje se formát, přítomnost povinných polí a existence zákazníka
- Výběr ceníku — engine projde aktivní pravidla (
pricing_rules) a najde první, které odpovídá atributům záznamu - Výpočet ceny — na základě ceníkové položky (
price_list_items) se aplikuje sazba na objem nebo počet - Uložení — záznam se uloží s vypočtenou cenou a odkazem na použitou verzi ceníku
Pravidla a podmínky
Pravidla (triggers) umožňují dynamicky měnit chování engine. Lze definovat:
- Skalární podmínky —
{ "service_type": "SMS" }nebo s operátorem{ "op": "gte", "value": 100 } - Agregační podmínky — např. “pokud zákazník překročil 1000 SMS v měsíci, aplikuj slevu”
{
"conditions": {
"service_type": { "op": "eq", "value": "SMS" }
},
"aggregate_conditions": [
{ "func": "COUNT", "field": "id", "op": "gt", "value": 500 }
]
}
Ceníkové verze
BillingEngine podporuje verzování ceníků. Každá verze má datum platnosti (valid_from, valid_to). Engine vždy vybere verzi platnou v okamžiku přijetí záznamu — historické záznamy tak zůstávají konzistentní i při změně cen.
Výsledek
Po zpracování záznamu je k dispozici endpoint POST /api/v1/dr/billing, který vrátí souhrn cen pro zvolené období — ideální jako podklad pro vystavení faktury.