April 18, 2023 — 1.2314 Service Update

Production Tenant Features


  • Activate/Deactivate Campaigns: Campaigns can now be manually activated and deactivated from a toggle in their campaign settings. If activated, the campaign will honor the start/end date but if deactivated, the campaign will not automatically go live when the start date is reached. Note that activating or deactivating a campaign will also activate or deactivate its experiences (discounts, site variations, and merchandizing rules) even if those experiences are used in other campaigns. Toggles have also been added to the discount, site variation, and merchandizing rule configurations so that these individual elements may be manually re-activated or deactivated after one of their associated campaigns is updated.


  • Shipment Workflow Update: When any shipment is put into a terminal state (such as Fulfilled or Cancelled), then any remaining workflow steps are deactivated. This will clear the Shipment Step ID and Fulfillment Step fields for Fulfilled shipments in the Order Admin UI, reducing confusion when further steps cannot be taken on a shipment.
  • Substitute Items in Curbside: The Customer Pickup step of the Curbside Delivery shipment workflow now displays substitute products in a separate table . This table will give the name of the original item that was substituted, as well as the substitute item itself and the quantity. This makes it easier to identify substitutes in more aspects of the fulfillment process.
  • Adult Signature Required: The carrier service for UPS has been updated to honor the Adult Signature Required configuration when enabled in tenant settings (which enforces a signature requirement on all shipping labels except for return labels). This allows upgraded implementations from the previous version of OMS who were using this feature to continue utilizing the behavior. Contact Kibo Support or your enablement team if you need to use this feature.


  • Inventory Tag Defaults: If inventory segmentation is configured in your tenant, you no longer have to provide all inventory tags in order item data nor specify them in a particular order. If an order item does not specify any tags, or only specifies partial inventory tags, then it will be set to the default tag you configured. The item will then be allocated from the default segment if inventory is available. 
  • Segmentation with Reserved Inventory: Inventory segmentation can be used alongside the Reserve Inventory in Cart feature. This allows you to specify both reserve inventory and inventory tags, and the reservations will be reallocated appropriately. See the Inventory Segmentation documentation for more details about the behavior with reserve inventory tagged in different shipment types.

Order Routing

  • Extensible Comparison Properties: When configuring routing filters, the comparison property field now supports selecting custom attributes configured through Extensible Order Routing. These are the same custom attributes already supported as filter attributes.


  • Retry Failed Continuity Order: When a continuity order fails, you can now retry creating the order by making a call to the Perform Subscription API for the "RetryFailedContinuityOrder" action. This will retry the continuity order with the latest payment information present on the subscription, and if successful then the Next Order Date will be updated as expected to the next date per the subscription frequency. This action is not supported for Errored subscriptions.
  • Renamed Site Settings: Some subscription site settings have been slightly renamed to remove unnecessary words or improve clarity. This does not involve any change in behavior. 

Production Bug Fixes

EventsFailed events were not being retried and the Get Delivery Attempt Summary API was also returning Missing Or Invalid Parameter errors, preventing subscribed applications and users from getting information on specific events. This has been fixed so that events are properly triggered and displayed on the applications page.
FulfillmentWhen selecting a BPM in location group configurations, the Quotes workflow was selectable even though it isn't applicable to the fulfillment process (being the workflow for B2B Quotes). This has been corrected so that this option is no longer available in the dropdown.
OrdersWhen editing custom shipment data from the Orders UI or API, an "only string values can be edited" error was returned even though the value was already a string. This has been corrected so that custom data values will not be incorrectly recast as a number value.
SubscriptionsSubscription events were only partially displayed in the Subscription Events section of the Admin UI's application logs, such as one tenant only displaying return.authorized events and another only displaying order.opened events. This has been fixed so that the expected additional events will properly trigger an update to the application event log page.
TLogsThe return total reported in transactional logs was sometimes incorrect depending on whether the order had a discount applied or not. This has been fixed so that the return total is consistent and accurate regardless of whether a discount was on the order or not.
TLogsA particular implementation's Sales transactional logs showed incorrect credit card information, displaying only two digits of masking instead of four and pulling those digits from the Subscription ID field instead of the card number. This has been corrected so that the masked credit card digits are accurately reported.

Restricted Content

Internal Production Details

Find more information about the client-facing updates at these Jira tickets:

The following enhancements are internal-only and not exposed to clients:

  • CHAR-4571: Inventory logs have been updated so that request/response data is never logged unless the flag for debug logs is enabled, and the outbound response time is included in logs as well.
  • TECR-17: API Extensions (.before and .after) for Order Routing Suggestion and Get Candidates calls have been enabled.
  • TECR-18: A new tenant attribute, SupportsOrderroutingApiExtensions, determines whether or not users have the ability to enable Order Routing API Extensions for non-Kibo applications.
  • TECH-1094: The Fulfillment Settings API has been updated to properly invalidate caches upon updates, where previously the cache had to expire before the response would update.
  • FFMT-3760: When publishing shipment email or SMS events, unnecessary data such as the change messages is now filtered out and not displayed in the event data.
  • COM-7312: An additional Subscription API endpoint has been added to update the data bag on subscriptions and subscription items.
  • CHAR-4620: Sonar Cube integration has been added to the real-time inventory service.
  • CAT-2560: SearchConfig frameworks have been updated to the latest .NET 6 version.
  • CAT-2555: The ValidateProduct endpoint has been updated tp accept variant product codes, where previously it only supported base product codes. This is done via a new boolean parameter, acceptVariantProductCode. When this is set to true and the system does not find a base product with the given code, then it will infer the base product code from the given variant and return appropriate results.
  • CAT-2665: Products have been trimmed in the Product Ranking Rule migration so that only the first 100 ranked, buried, and blocked products respectively are migrated. This is to comply with the 100-product limits added to merchandizing rules in 1.2310.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Event Subscriptions Not Working: CAT-2494 (reported by Home Hardware and London Drugs)
  • Quotes BPM in Location Groups: FFMT-3508
  • Can't Edit Custom Strings: COM-7291 (reported by Tourneau)
  • Subscription Events Missing: CAT-2498 (reported by Sound United)
  • Inaccurate Return Totals in TLogs: CHAR-4632 (reported by AM Retail)
  • Inaccurate Credit Cards in TLogs: CHAR-4597 (reported by Tourneau)

Production Sandbox Features


  • Segmentation with Subscriptions: You can now set or update inventory tags on items in subscriptions, which follows the same process as when adding and updating tags on standard orders. If tags exist on a subscription, then those will be passed to the items in Order Al Items Now, Order Partial Items Now, and Next Order Only mode.
  • Segmentation in Return Replacements: When creating a return replacement from the Admin UI, the Edit Details pop-up will prepopulate the inventory tags for the replacement items. If there are more than three tags, then only the first three will be prepopulated. You will be able to update the tags and add new tags (up to three total) in this pop-up as well. This is similar to the same process as when adding and updating tags on standard order items.
  • Deprecated Reservation APIs: Two Reservation APIs have been deprecated, Update Fulfillment Method (.../commerce/reservation/{reservationId}/items/{reservationItemId}/fulfilmentMethod/{fulfilmentMethod}) and Update Pickup Location (.../commerce/reservation/{reservationId}/items/{itemId}/fulfillment/{fulfillmentLocationCode}). Use alternative APIs such as Update Reservation Item instead. The deprecated API schemas will be removed from the API documentation soon.


  • Extensible Carriers in Location Groups: The Location Groups page of the Admin UI now fully supports extensible shipping carriers, allowing you to set carrier credentials and service types for those carriers within the group.

Sandbox Bug Fixes

CommerceIf an auto-add free product discount was configured with multiple target products, and one of the product was set to be hidden on the storefront and didn't have enough inventory, then the discount would break and no longer work for the remaining product. This is because an error would be thrown when fetching product details for the hidden and unavailable product. This has been fixed so that this error will not prevent the discount from still being applied to a valid product.
LocationsWhen making a Get Locations API call, using the "ne" operator did not result in appropriately filtered results. This was due to the filter logic using the same expression for "eq" and "ne," which has now been corrected so that "ne" results will be properly filtered.
OrdersWhen trying to view an existing order attribute from the schema page, a generic error message  would be displayed although none was reported in the browser Network tab. This has been fixed so that the page will load the order attribute details as expected.
OrdersWhen creating a new shipment for an order, the product name search was not working. This has been fixed so that products can be easily searched by name and added to the shipment.
OrdersSome orders in the Validated status were unable to be accepted from the Admin UI, as a 500 Internal Server error was encountered instead. This has been corrected so that valid orders can be successfully accepted in the UI.
SearchThe Site Search was displaying cached data for a couple hours after the data was updated, where it was expected to sync immediately and return current data like the Product Search. This has been fixed so that a data update will re-index the data and Site Search will display the new data.

Restricted Content

Internal Sandbox Details

Find more information about the client-facing updates at these Jira tickets:

  • Segmentation with Subscriptions: Tickets in COM-6821 titled "INV.SEG (Subs)"
  • Segmentation in Return Replacements: COM-7029
  • Deprecated Reservation APIs: COM-7026
  • Extensible Carriers in Location Groups: TECH-1026

The following enhancements are internal-only and not exposed to clients:

  • TECR-30: Support for query string parameters has been added to throttled routes to improve performance rates.
  • CAT-2527: The Get Discounts API has been updated so that it doesn't return disabled discounts by default.
  • TECR-41: Hardcoded "sb" references have been replaced across services.
  • CAT-2633: A new Solr field (salePriceEndDate) has been added to indicate when a sales price expires.
  • Note that work has also been done for the Gift Receipt feature, but this is not included in release notes as the feature is not yet fully complete.

Find more information about the client-facing bug fixes at these Jira tickets:

  • Auto-Add Product Error: COM-7243 (reported by Boscov's)
  • "NE" Operator Not Working: COM-7285 (reported by Home Hardware)
  • Order Attributes Not Loading: COM-7321
  • Product Name Search Not Working: COM-6083 (reported by Fortis Life Sciences)
  • Can't Accept Orders: CHAR-4688 (reported by Zwilling)
  • Site Search Returning Old Data: CAT-2351 (reported by Nespresso)