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
.