Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Coming next release

AreaDescription
Offers

Manage offer in grid view (RTC-41924)

In promotion details, in grid with offers, there are three dots and eye icons for each offer row.
With three dots menu, it is possible to manage offer like in cards view (edit offer, manage items, import items, copy offer, remove).
With eye icon, modal with offer details is opened (same information as in card view). From modal it is also possible to make any of listed actions. Options available in these menus are affected by same rules and permissions as in the card view.
By clicking on link in 'Offer id' column in the grid, 'Edit offer' page is opened.

Image Modified

Promotion API

Put request for creating/updating offer (RTC-41207)

PUT request /promotions/[EgPromotionIdentifier]/offers in Promotion Service is supported.
Request body must contain JSON entity as documented in schema in Swagger.
For more information and rules regarding API, please refer to description and endpoint schema in 'Promotion Service Gateway API' part of Swagger, as well as 'File-import documentation' (all the business rules of import apply to API).
Mix types supported in this request are:
PromotionPrice
BuyNSelectedItemsAndGetDiscountOnTheYCheapestItems = 23
BuyNSelectedItemsForXAmount = 21
BuyOneItemFromSelectionAAndGetDiscountOnItemB = 4
DiscountOnWeightItem = 5
DiscountOnSelectedItems = 28
SubtotalDiscount = 26
PromotionDiscount = 101

Fields validation errors are returned as a message with status code 422. Code 400 with description is returned on rule violation. Correctly upserted offer is returned with code 201 (created) or 200 (updated), and response contains all the schema values of offer.

Image Added


...

Release 17.07.2024

AreaDescription
Export

Fix: order of fields in export of promotion to blob (RTC-42404)

In Promotion.Promotion.Export offers, 'mixType' is first field in 'mixDetails' entity (to ensure backwards compatibility with old package versions).

Offer

Mix 101: Use item group list (RTC-39529)

Item group list can be added to the Mix 101 (Promotion discount) offer. It's possible to create promotion with this mix from item group list view. Percentage discount can be modified for each item group in side panel which contains percentage discount. Default percentage discount is added to all item groups when adding them to the offer. If value is not specified, is equal to 0 % by default.

Image Modified

Promotion API


Put request for creating/updating promotion (RTC-41206)

PUT request /promotions in Promotion Service is supported.
Request body must contain JSON entity as documented in schema in Swagger.
Fields validation errors are returned as a message with status code 422. Code 400 with description is returned on rule violation. Correctly upserted promotion is returned with code 201 (created) or 200 (updated), and response contains all the schema values of promotion. Promotion is always created as approved. Promotion is not exported until there is at least one offer in it.

Image Modified

System

Fix: ignore wrapping spaces in import of items and item groups from Item Service (RTC-42246)

When there are wrapping spaces in a text type of field in ItemChanges (item) or GroupHierarchy (item group) file from Item Service, there is no validation message during import and data is saved in Promotion database without wrapping spaces.


...

Release 02.07.2024

AreaDescription 
Export

Deleted offers (RTC-39591)

Offers deleted before approving promotion are not exported. The same for offer items from such offers.

Import

Promotion and offer item, logs (RTC-39974)

No exception is thrown when importing not existing promotion with status 'deleted'. Such promotion is skipped in import. Log about failed offer item import contains information about external offer number, offer item identifier and flat batch JSON id.

Offers

Show offers as grid (RTC-40576)

The user can display offers as a list (by clicking 'Show offers in a grid') or as cards ('Show offers as cards'). The first view is a grid with the following columns: offer id, offer name, price rule, active, incomplete, coupon offer, external offer id, coupon offer id, member offer and bundle offer. Incomplete offer means that mix details are not defined correctly or offer doesn't have items. In the second view, in which user can view offers as cards, 'Active offers' filter is renamed to 'Active and complete offers'. When trying to submit or confirm promotion with incomplete offer, validation message contains identifiers of incomplete offers. When the user enters the details of the promotion, sees the offers as cards by default. Then, offer view type (grid or cards) selection is remembered in browser - after entering any promotion, page in lastly used offer view type is displayed.

Number of times the offer can be used in coupon offer (RTC-39868)

'Number of times the offer can be used' value is editable in offer or displayed as defined in price rule regardless of whether offer has coupon added or not. Removed 'Once per unique coupon' text that was previously displayed as value when offer had added coupon.

Promotion API

Get requests for promotions and offers (RTC-41205)

GET requests in Promotion Service are supported:

  • get promotion by external promotion identifier
    /promotion/?externalNo=[ExternalPromotionIdentifier]
  • get promotion by internal promotion identifier
    /promotion/[EgPromotionIdentifier]
  • get promotion offer by external offer identifier
    /promotions/[EgPromotionIdentifier]/offers/?externalNo=[ExternalOfferIdentifier]
  • get promotion offer by internal offer identifier
    /promotions/[EgPromotionIdentifier]/offers/[EgOfferIdentifier].

Authorization token is required. If promotion or offer is not found, 404 (not found) status code is returned. If no identifier is specified, 400 (bad request) status code is returned. When fetched offer belongs to another promotion than specified by promotion id, 400 (bad request) status code is returned. Incomplete offers (with missing mix details fields) are returned with default values.

Service

Promotion API documentation in Swagger (RTC-41203)

Contracts for Promotion API endpoints are documented in Swagger:

  • Put upsert promotion,
  • Get promotion by external promotion identifier,
  • Get promotion by internal promotion identifier,
  • Put upsert offer to the specified promotion,
  • Get promotion offer by external offer identifier,
  • Get promotion offer by internal offer identifier,
  • Put upsert items to the offer.
System

OfferGroupProcessor job replaces ItemSelectionItemImport job (RTC-37763)

Items are added to the offer group by OfferGroupProcessor job. Compared to ItemSelectionItemImport, item and prices lookup is done in Promotion database instead of requests to Item Service API.

When item, model or variant that is part of selection is not found in Promotion database, then job completes with warning. Processing is retried 3 times (each 10 minutes by default).
Import of items to single item offer groups (mix type 4 and 5) supports GTIN and ExternalItemNo.
When creating offers on model or variant level, the selected item from the model/variant must have an ordinary price.

Performance of promotion approval (RTC-39966)

Improved performance of approving promotion, editing approved promotion, update of promotion through 3rd party import.

Voyado offer

Fix: offer trigger code (RTC-41748)

When creating new offer with voyado coupon, offer id is saved as offer trigger.

...