08 February 2024 (8.17.0)
Promotion Enhancements
BOGO – Gift with Purchase
The following new features have been implemented as part of this release:
Promotions Service
- Added support to provide a bundle product as a free gift. [EQPLAT-55127, EQPLAT-57999]
- Added support in Rule Engine to change the display name as required. [EQPLAT-57399]
Promotions Admin
- Introduced an option to allow an admin user to choose whether the free gift should be a regular product or a bundle product. [EQPLAT-58001]
BOGO Support for Bundle Products
The following enhancements have been implemented as part of this release:
Promotions Service
- Added action types such as “Buy Bundle X Get Bundle Y” and “Buy Bundle X and Y” for configuring the BOGO rules of bundle products. [EQPLAT-48587]
- Merged both “Buy X Get Y” and “Buy Bundle X Get Bundle Y” into an action type. [EQPLAT-50292]
- Merged both “Buy X and Y” and “Buy Bundle X and Bundle Y” into an action type. [EQPLAT-50295]
- Added support for the new action types in the APIs such as Create a Promotion, Update Promotion, Get a Promotion, Apply Offer, and Get Offer. [EQPLAT-47512]
Promotions Admin Console
- Enabled the action type “Buy bundle X Get bundle Y” under the BOGO offer type to configure the Buy X Get Y promotion for bundle products. [EQPLAT-48587]
- Enabled the action type “Buy bundle X and Y” under the BOGO offer type to configure the Buy X and Y promotion for bundle products. [EQPLAT-48587]
- Merged both “Buy X Get Y” and “Buy Bundle X Get Bundle Y” actions for normal and bundle products. [EQPLAT-50292]
- Merged both “Buy X and Y” and “Buy Bundle X and Bundle Y” actions for normal and bundle products. [EQPLAT-50251]
Recurrence Promotions
The following new features or enhancements have been implemented as part of this release:
Admin Orchestration Services
- Ability to send the value of a new field “Occurs Every” to the Admin Orchestration API from the Promotions Admin console. [EQPLAT-57790]
- Updated the Promotions CRUD APIs to support recurrence. [EQPLAT-53909]
- Added two new optional fields startHour and endHour in the Promotion model. [EQPLAT-49401, EQPLAT-49400, EQPLAT-49399, EQPLAT-47272]
Promotions Admin Console
- Introduced an optional field “Occurs Every” for setting up recurrence promotions. [EQPLAT- 53090]
- Introduced the Start Hour and End Hour fields and integrated them with the backend. [EQPLAT-37810, EQPLAT-37811]
Promotions Services
- Changed the approval flow to honor the “Occurs Every” parameter composing the promotion rules. [EQPLAT- 57099]
- Updated the Promotions CRUD APIs to support recurrence. [EQPLAT-54814]
- Added two new optional fields “Start Hour” and “End Hour” in the Promotion model. [EQPLAT-47545, EQPLAT-47542, EQPLAT-47533, EQPLAT-47271, EQPLAT-40138]
Equinox Commerce Framework
- Updated the Equinox Commerce Framework to compile Drools rules with start hour and end hour. [EQPLAT-50271]
Promotions Admin Lookup
The following new features have been implemented as part of this release:
Admin Orchestration Services
- Added API support for user ID filter or selector. [EQPLAT-58362]
- Added API support for SKU ID filter or selector. [EQPLAT-58364]
- Added API support for product ID filter or selector. [EQPLAT-58363]
- Implemented the “Selector Filter” and “Selector Search” APIs under the Selector Controller. [EQPLAT-50644, EQPLAT-50645]
Promotions Admin
- Ability to add the product ID, SKU ID, and/or user ID from the selector while creating a promotion rule. [EQPLAT-51996, EQPLAT-56209, EQPLAT-56208]
- Ability to open an overlay via the Plus icon where a list of IDs is shown, which allows users to add the ID from the list.
User Service
The following APIs pertaining to the user’s filter and search functionality have been introduced as part of this release under the Selectors controller:
- Search all Users – to get the list of all registered and guest users that match the given filter for the user ID. [EQPLAT-50646]
- Get All Filterable Fields of an Entity – to list the filterable attributes associated with the given entity. [EQPLAT-50647]
Subscription Enhancements
Subscription Services & Reference Storefront
The following “Mark as one time subscription order” support has been added in the existing PATCH API call “Patch update Itemby ID” [EQPLAT-50227, EQPLAT-50228]:
- When the “Mark as one time subscription order” option is selected, then the selected item is removed from the subscription after processing the subscription successfully.
- Ability to skip or delete a recurring item.
- The property IsOneTimeOrderItem has been newly introduced in the Item Properties.
The following feature “Subscription creation without order” has been implemented as part of this release [EQPLAT-47735]:
- Ability to create a subscription based on the future date (current date + 30 days). Subscription orders will be processed on the customer-selected date.
Subscriptions Tab Under Customer Admin Console
- Support enabled for “Mark for One-Time Subscription” in the product detailed page in the storefront. [EQPLAT-60634]
- Ability to display the “Show my Total Order Value” link and on clicking it displays the ‘Total Order Value’ under a customer’s subscription list in the Your Subscriptions page in the storefront. [EQPLAT-46918]
- Ability to display the “Show my Total Order Value” link and on clicking it displays the ‘Total Order Value’ under a customer’s subscription list in the “Subscriptions” tab in the Customer Admin console. [EQPLAT-46914]
- Ability to display a static notification text in the product detailed page, when the ‘Item’ is already subscribed by the user and is part of any of their Subscription List in the storefront. [EQPLAT-61595]
- The following new features or enhancements have been implemented as part of this release [EQPLAT-58711]:
- Introduced “Upcoming Subscriptions” and “SHOW ALL” options in the Subscriptions dashboard in the Customer Admin console and Reference Storefront where the user can select the dropdown next to it and choose any future months (displays next 6 months) from the current month of order processing. (for example, if the current month is December, then the dropdown values will include December to May)
- When a user chooses the current or any future month (for example, January, and so on), then the order summary details are displayed for the subscription items for that selected month in the Subscriptions dashboard.
- The current order processing date is being displayed under the Process Date section in the Subscriptions dashboard.
Storefront Orchestration Services
- The following new features or enhancements have been implemented as part of this release [EQPLAT-56633]:
- For showing items based on the selected month, the available months are calculated based on
nextOrderCreationDate,
so that if a user updates the frequency the next processing will not get affected which is similar to preference. - After processing the current order, the next order creation date will be calculated based on the updated frequency.
- For showing items based on the selected month, the available months are calculated based on
- Mark as a one-time subscription order using the API call “Get User Subscription summary by ID” has been introduced as part of this release [EQPLAT-50224]:
- If a subscription has two items, and if a one-time order is enabled, the isOneTimeOrderItem in the item properties is obtained, and if the property is available, then the items are included in the upcoming processing irrespective of its frequency.
- If a subscription has only one item, and if that is a one-time order item (isOneTimeOrderItem), then an error is thrown as “One-time Subscription items won’t ship without a recurring item”. For processing a one-time subscription item, at least one active item is required for the month.
- The following feature “Subscription creation without order” has been implemented as part of this release [EQPLAT-47734]:
- If there are only Subscription items, then the place order is skipped and only a subscription is created.
- If the cart contains both subscription and one-time purchase item(s), then an order can be placed for the one-time purchase items while skipping subscription items.
- For the first-time subscription, the subscription is allowed to process again based on the selected future date irrespective of its subscription frequency and its item’s frequency.
- The following new features or enhancements have been added to existing APIs in the Storefront Orchestration services:
- Support for processing immediately based on the frequency type at the item level has been added in the GET API call. [EQPLAT-47679]
- Support added to update the lastOrderMonth and frequency type in the Item properties via the Patch API call. [EQPLAT-47914]
- The month and showAll params have been added in the “Get User Subscription Summary” call. [EQPLAT-47688]
- If month is not provided, the current month items are considered.
- If showAll is set to true, all items in the Subscription are displayed irrespective of its frequency. If this param is set to false, then all the upcoming subscription items are displayed.
- While creating a subscription without placing an order, in the GET API and PATCH API calls: [EQPLAT-47732]
- Support added to return the skipSubscriptionItems in the subscription node in the GET API and PATCH API calls.
- Support added to skip promotion, loyalty, and tax when the user selects a future processing date based on when skipSubscriptionItems flag is set to true.
Admin Orchestration Services
- The following feature “Subscription creation without order” has been implemented as part of this release:
- If there are only Subscription items, then the place order is skipped and only the subscription is created.
- For the first-time subscription, the subscription is allowed to process again based on the selected future date irrespective of its subscription frequency and its item’s frequency.
The following feature “Mark as a one-time subscription order” has been implemented as part of this release:
- If the subscription has two items, and if a one-time order is enabled, the isOneTimeOrderItem in item properties is obtained, and if the property is available, then that item is included in the upcoming processing irrespective of its frequency.
- If a subscription has only one item and that is a one-time order item (isOneTimeOrderItem), then an error is thrown as “One-time Subscription items won’t ship without a recurring item”. For processing a one-time subscription item, at least one active item is required for the month.
Feed Job Services
The following enhancements were implemented in the Subscription report Excel sheet as part of this release:
- Introduced “Order ID” in the “Already Processed Users” tab in the Subscription Report Excel sheet. [EQPLAT-52524]
- Introduced “Order Processing date” in the mm/dd/yyyy format in the Summary Report tab of the Subscription Report Excel sheet. [EQPLAT-52522].
Customer Admin Console
The following enhancements have been made as part of this release [EQPLAT-48952, EQPLAT-49778]:
- The CSR admin UI has been enhanced to display the “Order summary” split-up as per the date for the future dated “Subscription Order”.
- During the checkout flow, the following notification is displayed in the Order Summary section “Subscription Order: You will be charged <order total amount> for your Subscription Order while your order is processed.”
- When a user selects a future order processing date, then the Loyalty section, Apply PROMO CODE section, Tax details, and Discounts details are not displayed during the “Checkout” flow.
- The “Submit” button is replaced with the “Create Subscription” button.
- In the Subscription checkout page, under the Payments section, the Subscription Processing Date information is displayed with the order processing date that the user has chosen under the “Subscriptions List” section.
- Support for Frequency (such as Monthly, Every 2 Months, or Every 3 Months) has been added at the item level in the Subscriptions dashboard. [EQPLAT-47902]
Cart Services
The following features have been newly added in the POST CalculateCart API of the Cart Services [EQPLAT-47741]:
- Ability to skip all subscription items, when the flag skipSubscriptionItems is set to true while calculating the cart summary (value node in the response). The same support is extended to proration also. The delivery charges, cart promotions, and loyalty promotions are not prorated to subscription items.
- If the cart contains only subscription items, then the cart summary is calculated accordingly without skipping any item even if the flag skipSubscriptionItems is true. But proration is skipped as the cart will not contain any charges or promotions to prorate.
App Marketplace and Apps Enhancements
The following new features have been implemented as part of this release:
Extensions
- Equinox platform allows the apps to register for Extensions to extend the behavior of specific Equinox APIs with their business logic.
Validator Extensions
- Introduced Extensions in Catalog microservice for Product, SKU, Attribute, Attribute Group, Catalog, and Model validations. [EQPLAT-62633, EQPLAT-62636, EQPLAT-62102, EQPLAT-62104, EQPLAT-62105, EQPLAT-62106]
- Introduced Extensions in the Merchandising microservice for Category Attribute, Category, Milestone, and Navigation validations. [EQPLAT-62115, EQPLAT-62116, EQPLAT-62117, EQPLAT-62118]
- Introduced Extensions in the Promotions microservice Promotion Group, Promotion, Promotion List, and Promocode validations. [EQPLAT-62115,EQPLAT-62116,EQPLAT-62117,EQPLAT-62118]
Apps
Payment App – Braintree
Merchants can add a payment gateway for their stores via the Braintree App in the Infosys Equinox Commerce platform. The Braintree app supports the credit/debit card payment method for the storefront users to complete a payment transaction.
- New APIs were introduced in SFO to get the list of payment options from the payment service and register payment API was introduced to get the payment app session. [EQPLAT-46815, EQPLAT-46908, EQPLAT-46909]
- Changes to the Enterprise React site have been introduced to display the Braintree payment option when the Braintree app is installed in the store. [EQPLAT-47250]
Shipping App – Generic Delivery
Merchants can add a Generic Shipping option for their stores via the Generic Delivery App in the Infosys Equinox enterprise platform. The storefront users can select the shipping options enabled via the Generic Delivery app to complete their checkout flow.
- SFO changes to fetch the shipping options configured via the shipment options configured in Shipping admin based on the shipping apps. [EQPLAT-54200]
- Added a new shipping option to the store via the “Generic Delivery” app. Once the generic delivery option app is installed in a store, it is used to process the shipping method. [EQPLAT-58817]
Validator App
A reference Validator app has been developed and published in the Equinox App Marketplace. The validator app has registered for all the Validator extensions related to Catalog, Merchandising, and Promotion services. The validation logic for each extension is written in the App, and whenever the App receives a request for the Extension subscribed, the App will validate the request and provide the response.
Admin Enhancements
Shipping Enhancements
Shipping Services
- The following API endpoints have been newly introduced in the Shipment Label Controller to manage shipment labels [EQPLAT-51398]:
- Ability to get details of all the shipment labels using the collection ID param.
- Ability to create a new shipment label.
- Ability to get details of a shipment label using the shipment label ID.
- Ability to update a shipment label using the shipment label ID.
- Ability to delete a particular shipment label using the shipment label ID.
- Ability to update the details of a shipment label using the shipment label ID.
- The following API endpoints have been newly introduced in the Shipment Option Controller to manage the ranking order for payment options [EQPLAT-49285]:
- Ability to load all the shipping options using the collection ID param.
- Ability to load a shipment option using the shipping option ID and collection ID.
- Ability to create a new shipping option with the required information.
- Ability to patch update the shipping option with the required information by using the shipping option ID.
- Ability to update the shipping option by using the shipping option ID.
- Ability to delete a shipping option by the shipping option ID.
- The following API endpoints have been newly introduced in the Shipment Rules Controller to configure shipping rules [EQPLAT-51393]:
- Ability to load details of all the shipment option rules using the collection ID and shipping option ID params.
- Ability to create a new rule for a particular shipping option using the shipment method ID param.
- Ability to update a particular shipment rule of a shipping option using the shipping option ID and shipping rule ID params.
- Ability to delete a particular shipment rule of a shipping option using the shipping option ID and shipping rule ID params.
- Ability to patch update a particular shipment rule of a shipping option using the shipping option ID and shipping rule ID params.
- Ability to delete a shipping rule by the shipping option ID.
- The following API endpoints have been newly introduced in the Shipping Option Properties Controller [EQPLAT-51391]:
- Ability to get details of all properties of a shipping option for the given shipping option ID.
- Ability to update a shipping property for the given shipping option ID.
- Ability to patch update a shipping property for the given shipping option ID.
- Ability to get details of shipping option properties using the name and the shipping option ID.
- The following API endpoints have been newly introduced in the Shipping Tiers Controller [EQPLAT-54773, EQPLAT-54774, EQPLAT-54775, EQPLAT-54777, EQPLAT-54778]:
- Ability to get details of a tier using the shipping option ID and tier ID.
- Ability to update a tier of a shipping option using the shipping option ID and shipping tier ID.
- Ability to patch update a tier of a shipping option using the shipping option ID and shipping tier ID.
- The following API endpoints have been newly introduced in the Shipping Options Ranking controller to manage the ranking order for shipping options [EQPLAT-49287]:
- Ability to load all the shipping options with the ranking order.
- Ability to create a ranking order for a shipping option.
- Ability to update a ranking order of a particular shipping option.
Admin Orchestration Services
The following APIs have been newly introduced in the Shipping Admin Orchestration Controller of the Admin Orchestration Services:
- Ability to load all the shipping options. [EQPLAT-54561]
- Ability to view ranking order of all the shipping options. [EQPLAT-49315]
- Ability to create a ranking order of all the shipping options. [EQPLAT-49315]
- Ability to update a ranking order. [EQPLAT-49315]
- Ability to load the list of shipping apps. [EQPLAT-49317]
- Ability to load a shipping option using a shipping option ID. [EQPLAT-49318]
- Ability to create a new shipping option with the required information. [EQPLAT-49318]
- Ability to update a shipping option using the shipping option ID. [EQPLAT-55926]
- Ability to delete a shipping option using the shipping option ID. [EQPLAT-54576]
Shipping Admin Console
- Ability to access the Shipping Admin console via the StoreOps page.
- Ability to access the Shipping Admin console from the other admin consoles via the left navigation. [EQPLAT-49313]
- Ability to filter and/or view all the shipment options on the Shipping Options listing page. [EQPLAT-54562, EQPLAT-49314]
- Ability to sequence the display order of all the shipment methods using the drag and drop option. [EQPLAT-54563]
- Ability to select and add the shipment app to create a shipment option. [EQPLAT-54566]
- Ability to add shipment option details in the General tab of a shipment option. [EQPLAT-54569, EQPLAT-54567, EQPLAT-54570]
- Ability to select any one of the following formulae in the Calculation Formula tab to configure appropriate details for a shipment option. [EQPLAT-54571, EQPLAT-53177]
- Fixed price
- Proportional to the number of products in the order
- Proportional to the order total
- Proportional to the weight/volume of the order
- Tiers based on the number of products in the order
- Tiers based on the order total Ex VAT
- Tiers based on the order total Inc VAT
- Tiers based on the weight/volume of the order
- Ability to configure rules in the Elements Selection tab for a shipment option. [EQPLAT-49319, EQPLAT-54573, EQPLAT-54574]
- Ability to delete a shipment option. [EQPLAT-49320]
- Ability to access the Shipping Admin portal based on Shipping Admin Roles [EQPLAT-49324, EQPLAT-49321]
Payment Enhancements
Payment Services
- The following APIs have been introduced in the App Payment Controller:
- Ability to register a payment using the payment details and payment option ID. [EQPLAT-51410]
- Ability to process the transaction via payment app using the payment details and payment option ID. [EQPLAT-51413]
- The following API has been introduced in the Payment Option Controller:
- Ability to find the eligible payment methods for an order based on the configurations defined in the payment option rules. [EQPLAT-54818]
- The following API endpoints have been newly introduced in the Payment Option Controller to manage the payment methods [EQPLAT-49355, EQPLAT-50913]:
- Ability to load all payment options using the collection ID param.
- Ability to load a payment option using the collection ID and payment option ID params.
- Ability to create a new payment option with the required information.
- Ability to patch update the payment options with the required information.
- Ability to update the payment option with the required information.
- Ability to delete a payment option by using the payment option ID.
- The following API endpoints have been newly introduced in the Payment Option Rule controller to configure payment option rules [EQPLAT-51406]:
- Ability to load all payment options rules using the collection ID param.
- Ability to load a payment options rule using the collection ID and payment option ID params.
- Ability to update the payment option rules with the required information.
- Ability to patch update the payment option rules with the required information.
- The following API endpoints have been newly introduced in the Payment Options Ranking controller to manage the ranking order for payment options [EQPLAT-51409]:
- Ability to load all the payment options with the ranking order.
- Ability to create a ranking order for a payment option.
- Ability to update a ranking order of a particular payment option.
Admin Orchestration Services
The following APIs have been newly introduced in the Payment Admin Orchestration Controller of the Admin Orchestration Services:
- Ability to create a payment option.
- Ability to load a payment option using a payment option ID. [EQPLAT-54550]
- Ability to update a payment option. [EQPLAT-55905]
- Ability to delete a payment option. [EQPLAT-49374]
- Ability to view the list of payment options. [EQPLAT-54547]
- Ability to select a payment app to create a payment option. [EQPLAT-54548]
- Ability to list all the payment apps by store ID. [EQPLAT-54548]
- Ability to create a ranking order of all the payment options. [EQPLAT-47860]
- Ability to view the ranking order of all the payment options. [EQPLAT-54556]
Payment Admin Console
- Ability to access the Payment Admin console based on the payment admin roles. [EQPLAT-49375, EQPLAT-49379]
- Ability to access the Payment admin console from the other admin consoles via the left navigation. [EQPLAT-49375, EQPLAT-49379]
- Ability to filter and/or view all the payment methods in the Payment Options listing page. [EQPLAT-55904]
- Ability to sequence the display order of all the payment methods using the drag and drop option. [EQPLAT-54557]
- Ability to select and add a payment app to create a payment method. [EQPLAT-47477]
- Ability to add payment option details in the General tab of a payment option. [EQPLAT-47480]
- Ability to configure rules in the Elements Selection tab for a payment option. [EQPLAT-54552]
- Ability to delete a payment method. [EQPLAT-54558]
Upgrades & Support
JDK Upgrade
All services and admins have been upgraded from JDK version 11 to version 17 (including OpenAPI upgrade to version 3.x for swaggers), except these services Search, Feed Job, Admin Orchestration, and Storefront Orchestration services, which will be upgraded in the upcoming release.
Reason for the upgrade: There is no long-term support for JDK 11 and security vulnerability improvement.
Open Source Vulnerabilities
The unique security vulnerabilities that have been patched in the Infosys Equinox Commerce platform via the Snyk tool are 407 issues.
Known Functional Issues
The following functional issues were identified as part of this release:
S.No | Reference Ticket | Description | Affected Service(s) |
1 | EQPLAT-65288 | createdTime, updatedTime filter params not present in getAllQuotes | Quotes |
2 | EQPLAT-65162 | [ UltraStore | Performance_qa] HTML call need to be cached | Performance |
3 | EQPLAT-65134 | SFO – Subscription flow issue | Store Front Orchestration |
4 | EQPLAT-65117 | [ UltraStore | Performance_qa] Pages should be optimized for better performance. | Performance |
5 | EQPLAT-65093 | GCP >> SFO >> 75 Vu load test >> API’s Throwing 5XX Error. | Performance |
6 | EQPLAT-65058 | Inventoy import upload is not working in admin | Inventory Admin |
7 | EQPLAT-64898 | Customers |POST-Create a Session |Getting 201 response even after providing Invalid UserID in both 8.6 and 8.15 | Store Front Orchestration |
8 | EQPLAT-64837 | YL-1838| Retrieve All Feed Run History | GET – For the mentioned call receiving 200 response when invalid business Id is provided | Feed Service |
9 | EQPLAT-64796 | YL-672 | (Find all notification Collections | Get) Not getting error response when we provide Page less than as zero in the request | Notification |
10 | EQPLAT-64577 | adminorchestration| Pe Dev Build failure |Order Admin -> Create cart payment getting 500 Internal server Error | Admin Orchestration |
11 | EQPLAT-64542 | [ UltraStore | Performance_qa] Duplicate Calls should be removed. | Performance |
12 | EQPLAT-64540 | [ UltraStore | Performance_qa] JS calls content length should be implemented for the files which are <100kb. | Performance |
13 | EQPLAT-64314 | Enquiry >> Need confirmation whether the warning message will be displayed on clicking the toggle button, or clicking on the create subscription button | Subscription |
14 | EQPLAT-64102 | User is redirected to a blank page or a page with 500 error message inconsistently when a shipped order is returned from order admin. | App Marketplace |
15 | EQPLAT-63978 | pedev env >> MerchandiseEventPublisher feed finished with error intermittently | Feed Admin |
16 | EQPLAT-63585 | Platform 8.16 – Price Service – API Throwing 5XX | Performance |
17 | EQPLAT-63118 | SFO – Facing error in Flow_04_T561_Create_an_Approval_Workflow_Rule API | Store Front Orchestration |
18 | EQPLAT-49650 | Loyalty services random failure >> QA env | Admin Orchestration |
Revision History
2024-02-08 | JP – Added Release 8.17.0 content.