What this page does
This page opens one NX offer definition for configuration. Operators use it to update the saved name/status, choose activation behavior, and maintain type-specific settings.
Saving a value confirms that it is stored. It does not currently prove that every setting is enforced when an issued offer is claimed or activated. Read the runtime limits below before using an offer in a live campaign.
Header and basic fields
- The header shows the current offer name and a
Savebutton. Typeis shown as a read-only label. It controls which Settings tab fields are available.Offer NameandOffer Statusare intended to be disabled after issued offers exist. The current count wiring does not reliably enforce that guard, so check the list count first.
Activation tab
Activation Type controls which activation path is saved.
Automaticis visible but currently returns a not-implemented result. Do not use it for a live offer.Depositreturns a deposit result linked to the claimed offer.Deposit Minimal AmountandDeposit Maximal Amountcan be saved, but the current deposit activator does not read or enforce those values. Treat them as stored configuration, not as a proven deposit eligibility check.
Matrix-style rows can be entered by country and currency. Current runtime resolution does not fully resolve those dimensions and uses a fixed EUR lookup in the available settings classes, so do not assume that non-EUR or country-specific rows are applied.
Settings tab
The Settings tab starts with Offer Default Budget, then shows fields based on the offer type:
- Percentage bonus offers can configure bonus percentage, wagering percentage, minimum/maximum bet, maximum win threshold, minimum balance threshold, and balance distribution settings.
- Amount bonus offers can configure bonus amount, wagering amount, minimum/maximum bet, maximum win threshold, minimum balance threshold, and balance distribution settings.
- Group offers expose
Group TypewithIssue AllorIssue in Orderoptions in the current interface.
Current runtime limits:
- The saved settings use page module names that do not match the module names expected by the available runtime settings resolver.
- Percentage runtime getters currently look for amount-style keys instead of the percentage keys saved by this page.
- Amount wagering is entered as one value on the page, while the available runtime getter expects a currency map.
- Stored balance-distribution rows are not read; the available runtime classes return fixed
cashLock = trueandcashUseCoefficient = 1values. - The current issued-offer resolver supports Percentage Bonus and Amount Bonus, but rejects Group offers.
Save behavior
Clicking Save sends the current basic fields and all non-empty activation/type settings. The save runs as one transaction: it updates the offer row, deletes all previous settings for that offer, and creates the submitted settings again. If any step fails, the transaction rolls back.
Clearing a setting removes it from the submitted settings collection, so the next successful Save removes the previously stored row. The page heading changes to the typed offer name immediately when Save is clicked, before persistence is confirmed; reload the page when confirmation is ambiguous.
Known caveats
- The page intends to disable editable controls after issued offers exist, but the detail response and page currently use different names for that count. Do not treat enabled controls as proof that no issued offers exist.
- The save service does not independently block updates when issued offers exist. Check
Issued Offersfrom the list before editing an offer that may already be in use. - Empty setting values are filtered out before submit; clearing a setting removes it from the saved settings payload.
- Currency/country matrix fields are stored configuration rows; their current runtime dimension resolution is incomplete.
- Save failure feedback is not reliable enough to use as the only proof of persistence. Reload and recheck the values after an ambiguous notification.
AutomaticandGroupare visible configuration choices but are not usable live paths in the currently verified product flow.