Do systému je zapracována schopnost reakce na změnu a tu můžete použít i z jiného systému. Tato funkce se obvykle používá v kombinaci s ?dry-run=true
v případech, kdy zpřístupňujete data uživateli k přímé editaci. Uživatel tak očekává, že pokud na faktuře změní kód firmy, dojde k přepisu názvu firmy. Nicméně ve formuláři musí být uveden i název firmy, aby jej uživatel mohl změnit. Pomocí předchozí hodnoty se dá určit reakce na tuto změnu. Předchozích hodnot lze v jednom požadavku použít více.
Ukázka:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana id="123">
<firma previousValue="code:JINA FIRMA">code:FIRMA</firma>
<nazFirmy>Jiná firma</nazFirmy>
</faktura-vydana>
</winstrom>
Odpovědí pak je:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana id="123">
<firma>code:FIRMA</firma>
<nazFirmy>Firma</nazFirmy>
</faktura-vydana>
</winstrom>
V případě, že by nebyla uvedena předchozí hodnota, vypadala by odpověď takto:
<?xml version="1.0"?>
<winstrom version="1.0">
<faktura-vydana id="123">
<firma>code:FIRMA</firma>
<nazFirmy>Jiná firma</nazFirmy>
</faktura-vydana>
</winstrom>
Pokud byste chtěli dosáhnout stejného efektu i bez uvedení předchozí hodnoty, museli byste vynechat atributy, které souvisí se měněným atributem. Museli byste tak znát veškeré vazby, které závisí i na aktuálních datech.
Pokud například změníte typ dokladu, který ale nezmění předpis zaúčtování, nedojde k přepsání účtů (má dáti a dal). Jinými slovy, proces reakce na změnu se spouští jen pokud došlo k opravdové změně.
Ve formátu JSON se hodnota uvádí jako další tag s názvem firma-previousValue
.