Kredity

Kredity

Kredit v EdeeShopu lze uplatnit dvěma způsoby:

  • jako sleva z objednávky (ABSOLUTE_ORDER) – výchozí chování,
  • jako platba (PAYMENT) – zapíná se v konfiguraci přes useCreditAsPayment.

Při použití kreditu jako platby:

  • v režimu daní poukazů SINGLE se snižuje základ DPH (kredit se chová jako předplacená platba),
  • v režimu MULTI se základ DPH nemění,
  • volitelně může krýt i dopravu a platbu přes useCreditToShippingAndPayment.

Poznámka: Jaký je rozdíl mezi slevou a platbou?

  • Sleva (ABSOLUTE_ORDER) je rozpočítána mezi položky a vždy snižuje základ DPH položek.
  • Platba (PAYMENT) se mezi položky nerozpočítává, ovlivňuje pouze finální částku k úhradě; to, zda sníží základ DPH, závisí na nastavení objednákového modulu, viz voucherTaxStrategy.

Pořadí uplatnění vůči jiným cenovým politikám (např. dárkovým poukazům) určíte prioritou skupiny cenové politiky v konfiguraci kreditů (pricePolicyPriority). Pokud chcete, aby se nejdříve uplatnil voucher a až poté kredit, nastavte pro kredit nižší prioritu než pro dárkové poukazy (viz také giftConfig.

Kredity se zapínají pomocí elementu <credit/>.

Konfigurační soubor se standardně nachází v adresáři config/module-edeeshop/features/benefit/credit.xml.

Zkopírovat odkaz na sekciPříklad konfigurace

xml
1 <credit>2    <allocations>3        <fixedAdditions>4            <addition>5                <code/>6                <events>7                    <event>8                        <allocationId>event.order.number</allocationId>9                        <amount>100</amount>10                        <catalogCode>event.order.catalogCode</catalogCode>11                        <checkUnique>true</checkUnique>12                        <constraint>eq(event.state.code,dispatched-order)</constraint>13                        <currency>event.order.currency</currency>14                        <customer>event.user.login</customer>15                        <eventName>afterNewOrderStateCreatedEvent</eventName>16                        <expireAtEndOfDay>true</expireAtEndOfDay>17                        <expression>event.state.code == 'dispatched-order'</expression>18                        <lang>event.order.lang</lang>19                        <message>texts.get('mail.credit.thanks', event.order.customer)</message>20                        <validity>P365D</validity>21                    </event>22                </events>23            </addition>24        </fixedAdditions>25        <percentageAdditions>26            <addition>27                <code/>28                <events>29                    <event>30                        <allocationId>event.order.number</allocationId>31                        <catalogCode>event.order.catalogCode</catalogCode>32                        <checkUnique>true</checkUnique>33                        <constraint>eq(event.state.code,dispatched-order)</constraint>34                        <currency>event.order.currency</currency>35                        <customer>event.user.login</customer>36                        <eventName>afterNewOrderStateCreatedEvent</eventName>37                        <expireAtEndOfDay>true</expireAtEndOfDay>38                        <expression>event.state.code == 'dispatched-order'</expression>39                        <fromAmount>event.order.totalPriceOfItemsToPay</fromAmount>40                        <lang>event.order.lang</lang>41                        <message>texts.get('mail.credit.thanks', event.order.customer)</message>42                        <percent>10</percent>43                        <rounding>0</rounding>44                        <roundingMode>T(java.math.RoundingMode).DOWN</roundingMode>45                        <validity>P365D</validity>46                    </event>47                </events>48            </addition>49        </percentageAdditions>50        <reverts>51            <revert>52                <code/>53                <events>54                    <event>55                        <allocationId>event.order.number</allocationId>56                        <catalogCode>event.order.catalogCode</catalogCode>57                        <constraint>eq(event.state.code,dispatched-order)</constraint>58                        <currency>event.order.currency</currency>59                        <customer>event.user.login</customer>60                        <eventName>afterNewOrderStateCreatedEvent</eventName>61                        <expression>event.state.code == 'dispatched-order'</expression>62                    </event>63                </events>64            </revert>65        </reverts>66    </allocations>67    <currencies>68        <currency>69            <code>CZK</code>70            <minimalOrderAmount>1000</minimalOrderAmount>71        </currency>72    </currencies>73    <expiration>1y</expiration>74    <notifyBeforeExpiration>7d</notifyBeforeExpiration>75    <pricePolicyPriority>-1000000</pricePolicyPriority>76    <useCreditAsPayment>true</useCreditAsPayment>77    <useCreditToShippingAndPayment>true</useCreditToShippingAndPayment>78    <catalogSpecific>79        <catalogCode/>80        <allocations>81            <fixedAdditions>82                <addition>83                    <code/>84                    <events>85                        <event>86                            <allocationId>event.order.number</allocationId>87                            <amount>100</amount>88                            <catalogCode>event.order.catalogCode</catalogCode>89                            <checkUnique>true</checkUnique>90                            <constraint>eq(event.state.code,dispatched-order)</constraint>91                            <currency>event.order.currency</currency>92                            <customer>event.user.login</customer>93                            <eventName>afterNewOrderStateCreatedEvent</eventName>94                            <expireAtEndOfDay>true</expireAtEndOfDay>95                            <expression>event.state.code == 'dispatched-order'</expression>96                            <lang>event.order.lang</lang>97                            <message>texts.get('mail.credit.thanks', event.order.customer)</message>98                            <validity>P365D</validity>99                        </event>100                    </events>101                </addition>102            </fixedAdditions>103            <percentageAdditions>104                <addition>105                    <code/>106                    <events>107                        <event>108                            <allocationId>event.order.number</allocationId>109                            <catalogCode>event.order.catalogCode</catalogCode>110                            <checkUnique>true</checkUnique>111                            <constraint>eq(event.state.code,dispatched-order)</constraint>112                            <currency>event.order.currency</currency>113                            <customer>event.user.login</customer>114                            <eventName>afterNewOrderStateCreatedEvent</eventName>115                            <expireAtEndOfDay>true</expireAtEndOfDay>116                            <expression>event.state.code == 'dispatched-order'</expression>117                            <fromAmount>event.order.totalPriceOfItemsToPay</fromAmount>118                            <lang>event.order.lang</lang>119                            <message>texts.get('mail.credit.thanks', event.order.customer)</message>120                            <percent>10</percent>121                            <rounding>0</rounding>122                            <roundingMode>T(java.math.RoundingMode).DOWN</roundingMode>123                            <validity>P365D</validity>124                        </event>125                    </events>126                </addition>127            </percentageAdditions>128            <reverts>129                <revert>130                    <code/>131                    <events>132                        <event>133                            <allocationId>event.order.number</allocationId>134                            <catalogCode>event.order.catalogCode</catalogCode>135                            <constraint>eq(event.state.code,dispatched-order)</constraint>136                            <currency>event.order.currency</currency>137                            <customer>event.user.login</customer>138                            <eventName>afterNewOrderStateCreatedEvent</eventName>139                            <expression>event.state.code == 'dispatched-order'</expression>140                        </event>141                    </events>142                </revert>143            </reverts>144        </allocations>145        <currencies>146            <currency>147                <code>CZK</code>148                <minimalOrderAmount>1000</minimalOrderAmount>149            </currency>150        </currencies>151        <expiration>1y</expiration>152        <notifyBeforeExpiration>7d</notifyBeforeExpiration>153        <pricePolicyPriority>-1000000</pricePolicyPriority>154        <useCreditAsPayment>true</useCreditAsPayment>155        <useCreditToShippingAndPayment>true</useCreditToShippingAndPayment>156    </catalogSpecific>157</credit>

Zkopírovat odkaz na sekciPopis

Zkopírovat odkaz na sekcicredit

Konfigurace .

Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
allocations

Alokační pravidla, která zajistí automatizované přidělení kreditu na základě konkrétní události a naopak revertování původního přidělení kreditu na základě jiné události.

allocations

-

-

currencies/currency

Specifická konfigurace pro konkrétní měny.

V případě, že je seznam prázdný, tak jsou kredity povoleny pro všechny měny. V opačném případě jsou kredity povoleny jen pro měny definované v tomto seznamu.

List: currencies/currency

-

-

expiration

Časový interval po kterém dojde k vypršení platnosti kredity.

Časový interval se počítá od přidělení kreditu.

Po vypršení platnosti nelze již kredity uplatnit.

TimeInterval

-

1y

notifyBeforeExpiration

Časový interval před koncem platnosti kreditu, kdy se mají odeslat upozornění na konec platnosti.

TimeInterval

-

7d

pricePolicyPriority

Priorita uplatnění cenové politiky pro kredity. Standardně by se kredity měly uplatnit jako poslední, proto je default hodnota velmi nízká.

Čím vyšší je priorita, tím dříve se politika uplatní.

Long

-

-1000000

useCreditAsPayment

Pokud je povoleno, kredit se uplatní jako platba (PAYMENT) namísto slevy z objednávky (ABSOLUTE_ORDER).

Prakticky to znamená:

  • kredit se odečítá jako úhrada částky k zaplacení,
  • v režimu daní poukazů SINGLE se sníží základ DPH (kredit je chápán jako předplacená platba),
  • v režimu MULTI se základ DPH nemění.

Výchozí hodnota: false (kvůli zpětné kompatibilitě).

Boolean

-

-

useCreditToShippingAndPayment

Pokud je povoleno, kredit použitý jako platba (viz #getUseCreditAsPayment()) může pokrýt také náklady na dopravu a platbu. Pokud je vypnuto, kredit se vztahuje pouze na položky objednávky.

Výchozí hodnota: false.

Boolean

-

-

catalogSpecific

Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.

-

-

Zkopírovat odkaz na sekciallocations

Alokační pravidla, která zajistí automatizované přidělení kreditu na základě konkrétní události a naopak revertování původního přidělení kreditu na základě jiné události.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
fixedAdditions/addition

Seznam pravidel pro přidání fixní částky kreditu.

List: fixedAdditions/addition

-

-

percentageAdditions/addition

Seznam pravidel pro přidání procentuální částky kreditu.

List: percentageAdditions/addition

-

-

reverts/revert

Seznam pravidel pro zrušení přiděleného kreditu.

List: reverts/revert

-

-

Zkopírovat odkaz na sekcifixedAdditions/addition

Seznam pravidel pro přidání fixní částky kreditu.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Unikátní kód pravidla, který se používá k identifikaci pravidla v rámci systému.

Tento kód se eviduje u přidaného kreditu v atributu type ().

String

-

-

events/event

Seznam událostí, na které reaguje toto pravidlo.

V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.

Pravidlo vyžaduje alespoň jednu událost.

List: events/event

-

-

Zkopírovat odkaz na sekcievents/event

Seznam událostí, na které reaguje toto pravidlo.

V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.

Pravidlo vyžaduje alespoň jednu událost.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
allocationId

Výraz (SpEL - Spring Expression Language), který identifikuje zdroj na základě, kterého byly kredity přiděleny. Příkladem může být číslo objednávky. Na základě této hodnoty je pak možné provést např. zrušení přiděleného kreditu v případě storna objednávky.

Toto id se eviduje u přidaného kreditu v atributu source (.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.number.

Povinná hodnota.

String

-

-

amount

Výraz (SpEL - Spring Expression Language), který vrací fixní částku kreditu (java.math.BigDecimal), která se má zákazníkovi přidělit.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.creditAmount nebo 100.

Povinná hodnota.

String

-

-

catalogCode

Výraz (SpEL - Spring Expression Language), který vyhodnocuje katalog, v rámci kterého bude s kredity manipulováno.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.catalogCode.

Povinná hodnota.

String

-

-

checkUnique

Výraz (SpEL - Spring Expression Language), který musí vracet true nebo false. Tato hodnota pak určuje, zda má probíhat kontrola duplicitního přidělení kreditu, tedy zda je možné přidělit kredit vícekrát pro stejné allocationId.

Nepovinná hodnota. Pokud není uvedeno, kontrola se provádí.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu false.

String

-

-

constraint

Pravidlo schválí událost pokud vlastnosti této události splňují požadavky definované podmínky.

Podmínka může obsahovat libovolný standardní operátor: and, or, not, eq, isTrue, isFalse atd.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně:

1 and(2  eq(event.state.code,dispatched-order),3  isTrue(event.order.paid)4)

Více na TOBEDONE #1948 odkaz na dokumentaci constraint.

String

-

-

currency

Výraz (SpEL - Spring Expression Language), který vyhodnocuje měnu, v rámci které bude s kredity manipulováno.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.catalogCode.

Povinná hodnota.

String

-

-

customer

Výraz (SpEL - Spring Expression Language), který vyhodnocuje zákazníka (jeho identifikátor), kterému bude kredit přidán/zrušen.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.user.login.

Povinná hodnota.

String

-

-

eventName

Název aplikační události.

Pokud název události odpovídá této hodnotě, aby mohla být podmínka splněna.

Pokud není vyplněno, název události se nekontroluje.

String

-

-

expireAtEndOfDay

Výraz (SpEL - Spring Expression Language), který musí vracet true nebo false. Tato hodnota pak určuje, zda se má platnost kreditu (hodnota vypočtená v rámci výrazu validity) automaticky nastavit na konec dne.

Nepovinná hodnota. Default hodnota je true.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu false.

String

-

-

expression

Výraz (SpEL - Spring Expression Language), který se pro danou událost vyhodnocuje.

Podmínka je splněna pokud daný výraz vrací true. V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event.

Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně: (event.state.code == 'dispatched-order') &amp;&amp; (event.order.isPaid()).

Nepovinný hodnota.

String

-

-

lang

Výraz (SpEL - Spring Expression Language), který vyhodnocuje jazyk v jakém se má nacházet případná zpráva.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.lang.

Nepovinná hodnota.

String

-

-

message

Výraz (SpEL - Spring Expression Language), který vyhodnocuje zprávu pro zákazníka, která může být součástí notifikace.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Dále je možné pomocí klíčového slova texts přistupovat k metodám com.fg.mail.core.business.feature.applicator.processing.TextAccessor, který poskytuje lokalizované texty.

Příklad výrazu texts.get('mail.credit.thanks', event.order.customer).

Nepovinná hodnota.

String

-

-

validity

Výraz (SpEL - Spring Expression Language), který dobu platnosti. Výraz musí vracet string výraz, který dokáže vyhodnotit java.time.Duration#parse(CharSequence).

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu P365D (rok), PT15M (15minut) nebo P2DT3H4M (2dny,3hod a 4min).

Nepovinná hodnota. Pokud není uvedeno aplikuje se default hodnota dle nastavení .

String

-

-

Zkopírovat odkaz na sekcipercentageAdditions/addition

Seznam pravidel pro přidání procentuální částky kreditu.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Unikátní kód pravidla, který se používá k identifikaci pravidla v rámci systému.

Tento kód se eviduje u přidaného kreditu v atributu type ().

String

-

-

events/event

Seznam událostí, na které reaguje toto pravidlo.

V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.

Pravidlo vyžaduje alespoň jednu událost.

List: events/event

-

-

Zkopírovat odkaz na sekcievents/event

Seznam událostí, na které reaguje toto pravidlo.

V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.

Pravidlo vyžaduje alespoň jednu událost.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
allocationId

Výraz (SpEL - Spring Expression Language), který identifikuje zdroj na základě, kterého byly kredity přiděleny. Příkladem může být číslo objednávky. Na základě této hodnoty je pak možné provést např. zrušení přiděleného kreditu v případě storna objednávky.

Toto id se eviduje u přidaného kreditu v atributu source (.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.number.

Povinná hodnota.

String

-

-

catalogCode

Výraz (SpEL - Spring Expression Language), který vyhodnocuje katalog, v rámci kterého bude s kredity manipulováno.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.catalogCode.

Povinná hodnota.

String

-

-

checkUnique

Výraz (SpEL - Spring Expression Language), který musí vracet true nebo false. Tato hodnota pak určuje, zda má probíhat kontrola duplicitního přidělení kreditu, tedy zda je možné přidělit kredit vícekrát pro stejné allocationId.

Nepovinná hodnota. Pokud není uvedeno, kontrola se provádí.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu false.

String

-

-

constraint

Pravidlo schválí událost pokud vlastnosti této události splňují požadavky definované podmínky.

Podmínka může obsahovat libovolný standardní operátor: and, or, not, eq, isTrue, isFalse atd.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně:

1 and(2  eq(event.state.code,dispatched-order),3  isTrue(event.order.paid)4)

Více na TOBEDONE #1948 odkaz na dokumentaci constraint.

String

-

-

currency

Výraz (SpEL - Spring Expression Language), který vyhodnocuje měnu, v rámci které bude s kredity manipulováno.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.catalogCode.

Povinná hodnota.

String

-

-

customer

Výraz (SpEL - Spring Expression Language), který vyhodnocuje zákazníka (jeho identifikátor), kterému bude kredit přidán/zrušen.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.user.login.

Povinná hodnota.

String

-

-

eventName

Název aplikační události.

Pokud název události odpovídá této hodnotě, aby mohla být podmínka splněna.

Pokud není vyplněno, název události se nekontroluje.

String

-

-

expireAtEndOfDay

Výraz (SpEL - Spring Expression Language), který musí vracet true nebo false. Tato hodnota pak určuje, zda se má platnost kreditu (hodnota vypočtená v rámci výrazu validity) automaticky nastavit na konec dne.

Nepovinná hodnota. Default hodnota je true.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu false.

String

-

-

expression

Výraz (SpEL - Spring Expression Language), který se pro danou událost vyhodnocuje.

Podmínka je splněna pokud daný výraz vrací true. V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event.

Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně: (event.state.code == 'dispatched-order') &amp;&amp; (event.order.isPaid()).

Nepovinný hodnota.

String

-

-

fromAmount

Výraz (SpEL - Spring Expression Language), který vrací částku, ze které se má vypočíst výše kreditu (java.math.BigDecimal), která se má zákazníkovi přidělit.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.totalPriceOfItemsToPay nebo 100.

Povinná hodnota.

String

-

-

lang

Výraz (SpEL - Spring Expression Language), který vyhodnocuje jazyk v jakém se má nacházet případná zpráva.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.lang.

Nepovinná hodnota.

String

-

-

message

Výraz (SpEL - Spring Expression Language), který vyhodnocuje zprávu pro zákazníka, která může být součástí notifikace.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Dále je možné pomocí klíčového slova texts přistupovat k metodám com.fg.mail.core.business.feature.applicator.processing.TextAccessor, který poskytuje lokalizované texty.

Příklad výrazu texts.get('mail.credit.thanks', event.order.customer).

Nepovinná hodnota.

String

-

-

percent

Výraz (SpEL - Spring Expression Language), který vrací procenta (java.math.BigDecimal) pro výpočet výše kreditu, která se má zákazníkovi přidělit.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu 10.

Povinná hodnota.

String

-

-

rounding

Výraz (SpEL - Spring Expression Language), který vrací na kolik (int) desetinných míst se vypočtený kredit zaokrouhlit.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.rounding nebo 0.

Nepovinná hodnota. Default je 0.

String

-

-

roundingMode

Výraz (SpEL - Spring Expression Language), který vrací způsob zaokrouhlení (přesněji jednu z hodnot java.math.RoundingMode).

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.roundingMode nebo T(java.math.RoundingMode).HALF_DOWN.

Nepovinná hodnota. Default je java.math.RoundingMode#DOWN 'DOWN'.

String

-

-

validity

Výraz (SpEL - Spring Expression Language), který dobu platnosti. Výraz musí vracet string výraz, který dokáže vyhodnotit java.time.Duration#parse(CharSequence).

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu P365D (rok), PT15M (15minut) nebo P2DT3H4M (2dny,3hod a 4min).

Nepovinná hodnota. Pokud není uvedeno aplikuje se default hodnota dle nastavení .

String

-

-

Zkopírovat odkaz na sekcireverts/revert

Seznam pravidel pro zrušení přiděleného kreditu.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Unikátní kód pravidla, který se používá k identifikaci pravidla v rámci systému.

String

-

-

events/event

Seznam událostí, na které reaguje toto pravidlo.

V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.

Pravidlo vyžaduje alespoň jednu událost.

List: events/event

-

-

Zkopírovat odkaz na sekcievents/event

Seznam událostí, na které reaguje toto pravidlo.

V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.

Pravidlo vyžaduje alespoň jednu událost.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
allocationId

Výraz (SpEL - Spring Expression Language), který identifikuje zdroj na základě, kterého byly kredity přiděleny. Příkladem může být číslo objednávky. Na základě této hodnoty je pak možné provést např. zrušení přiděleného kreditu v případě storna objednávky.

Toto id se eviduje u přidaného kreditu v atributu source (.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.number.

Povinná hodnota.

String

-

-

catalogCode

Výraz (SpEL - Spring Expression Language), který vyhodnocuje katalog, v rámci kterého bude s kredity manipulováno.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.catalogCode.

Povinná hodnota.

String

-

-

constraint

Pravidlo schválí událost pokud vlastnosti této události splňují požadavky definované podmínky.

Podmínka může obsahovat libovolný standardní operátor: and, or, not, eq, isTrue, isFalse atd.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně:

1 and(2  eq(event.state.code,dispatched-order),3  isTrue(event.order.paid)4)

Více na TOBEDONE #1948 odkaz na dokumentaci constraint.

String

-

-

currency

Výraz (SpEL - Spring Expression Language), který vyhodnocuje měnu, v rámci které bude s kredity manipulováno.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.order.catalogCode.

Povinná hodnota.

String

-

-

customer

Výraz (SpEL - Spring Expression Language), který vyhodnocuje zákazníka (jeho identifikátor), kterému bude kredit přidán/zrušen.

V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu event.user.login.

Povinná hodnota.

String

-

-

eventName

Název aplikační události.

Pokud název události odpovídá této hodnotě, aby mohla být podmínka splněna.

Pokud není vyplněno, název události se nekontroluje.

String

-

-

expression

Výraz (SpEL - Spring Expression Language), který se pro danou událost vyhodnocuje.

Podmínka je splněna pokud daný výraz vrací true. V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event.

Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně: (event.state.code == 'dispatched-order') &amp;&amp; (event.order.isPaid()).

Nepovinný hodnota.

String

-

-

Zkopírovat odkaz na sekcicurrencies/currency

Specifická konfigurace pro konkrétní měny.

V případě, že je seznam prázdný, tak jsou kredity povoleny pro všechny měny. V opačném případě jsou kredity povoleny jen pro měny definované v tomto seznamu.

VlastnostPopisHodnotaPovinnáVýchozí hodnota
code

Kód měny (ISO 4217 - 3 znaky), pro kterou má být tato konfigurace aplikována. Povinný atribut.

code

-

-

minimalOrderAmount

Hodnota určuje minimální hodnota objednávky, pro kterou lze kredity uplatnit.

V případě, že hodnota objednávky nižší, tak kredity nelze uplatnit.

BigDecimal

-

-

Zkopírovat odkaz na sekciE-mail notifikace

V rámci tohoto rozšíření je možné odesílat notifikace o změně v kreditech.

Tyto notifikace se zapínají pomocí elementu <mailing>. Další nastavení mailingu je popsáno zde.

Příklad:

xml
1 <credit>2    <mailing/>3</credit>