August 8, 2023 — 1.2330 Service Update

Production Tenant Features

Catalog

  • Read-Only Campaign Code: When editing an existing campaign, the campaign code field will now be greyed out and does not allow changes. This is consistent with other codes across the platform.
  • Quick Edit Enhancements: The Update Product Types action of Quick Edits now has a "Stop" button in place of a Cancel button on the In Progress modal. Clicking this button when edits are being performed will immediately halt the process, but will not undo any updates that were already completed. Additionally, the titles of the Update Product Types steps have been updated with casing and naming conventions more consistent with the other Quick Edit flows.
  • Product Attribute for Future Inventory: You can now enable products to use future inventory with an attribute at the product level, where previously it was only enabled through a flag on the order item in the Create Order API. This attribute is called "future-inventory-enabled" and when set to true, it will be automatically passed to the Order API flag and future inventory will be allocated for this product when there is no current inventory available. This is supported for Standard Products, Configurable Products with Options, and Bundle Components. 

Fulfillment

  • UPS Adult Signature: You can now enable adult signatures on UPS shipments, in which any packages over a certain amount will require an adult's signature upon receipt. This threshold amount is configured in the location group configurations. Please contact Kibo Support if you want to use this feature. If you are already using adult signatures via the CARS interface, Kibo will have to enable it for you in the location group settings and turn it off in CARS.
  • Reject Shipment During Pick: The Print Pick Sheet step of the fulfillment process for Delivery shipments now displays a Reject Shipment button that allows you to send the shipment to either Customer Care or the Canceled status (depending on your BOPIS reject site settings) from this step.

Inventory

  • Inventory API Update: The GET Inventory API call now returns some additional fields to support an upcoming new feature. If you notice these extra fields in your sandbox, you should not do anything with them yet. Documentation will be updated for both the feature and the API specs when the rest of the feature goes to sandbox in the next release.

Search

  • Category Code Filter: You can now filter the Get Search Merchandizing Rules API by category code, which supports an EQ (equals) filter with the syntax /catalog/admin/searchmerchandizingrules/?filter=categorycode eq AAA

Subscriptions

  • Subscription Attribute Validation in Checkout: The Checkout Attribute APIs now validate for required attributes when subscription or trial items are included in the order. If there are no subscription or trial items, then it will only validate for attributes that apply to orders and prevent setting any subscription-only attributes.
  • Payment Error Code: The paymentErrorCode field in Subscriptions data has been updated so that it is appropriately populated with a numerical error code when continuity order creation or a partial order/order now action fails due to a payment error. When an order is successfully created, this field will be cleared again. This allows it to be better used for reporting purposes.

Production Bug Fixes

ServiceResolution
CatalogAfter creating a discount in the UI and removing the category condition, the minimum category purchase amount would also be removed from the discount upon saving. This has been fixed so that the minimum purchase amount will not be automatically removed.
CatalogA particular implementation experienced issues while editing categories after dynamic categories were exported without expressions and then re-imported. This resulted in some static categories having dynamic expression data which was not intended and caused errors. These invalid expressions have been removed from static categories and the import tool has been updated to better prevent against this scenario in the future.
CatalogThe Quick Edit search was not working, as the user was unable to submit the query after typing in products. This has been fixed so that you can successfully filter products in Quick Edits.
CommerceCheckout failed for a some orders due to performance issues with retrieving customer credits. Optimization has been done so that store credit instances are better supported in larger amounts and orders can be successfully placed using store credits.
CommerceWhen logging into B2B accounts with multiple users, the user was being logged in as a random one instead of their specific user profile. This has been fixed so that B2B users will only log into their intended profile on the account.
CommerceA particular shipment was duplicated after the order was approved from fraud review, even though it had been initially created before the order had been validated. This process has been updated to avoid this scenario from occurring again in the future.
InventorySwitching the selected master catalog on the Inventory UI resulted in an error if one of the catalogs did not have any sites, which prevented inventory from being created or modified in the valid catalogs. This has been updated so that the Inventory user can only select master catalogs that are associated with a site.
InventoryUsers with read-only inventory roles were still able to modify inventory tags. This has been corrected so that only users with the appropriate inventory update behaviors are able to modify inventory at the tag level.
InventoryWhen uploading CSV inventory files, any instance of a Future inventory's delivery date being passed resulted in all inventory records being treated as Future inventory. This has been fixed so that inventory records are properly distributed between current and future levels as intended.


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:

  • TECR-190: The sandbox expiry has been changed to 60 days and is now configurable.
  • TECR-171: Non-headless tenant types have now been deprecated for new developer accounts.
  • CHAR-4923: Apache2 has been updated to a new version in the inventory service.
  • CHAR-4809 and CHAR-4660: A location search cache has been implemented to improve performance with the real-time inventory service, and other types of location caches are now updated when locations are edited.
  • CAT-3258 and CAT-3240: Google Tag Manager has now been added to the Catalog and Search UIs.
  • CAT-3224: New KCCP tenants will now automatically contain the mozu.searchindexing.indexpricelists tenant attribute.
  • FFMT-3917: Missing indexes have been added to the fulfillment database where appropriate to improve slow queries.
  • FFMT-3892: The substitutions enablement setting has been moved to the tenant service instead of being a feature flag.
  • FFMT-3842: String responses have been changed to a different entity model in order to remove a dependency on an old version of Sprint Boot.

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

  • Null Minimum Category Purchase: CAT-3257 (reported by Boscov's)
  • Category Edit Error: CAT-3071 (reported by Calendars.com)
  • Quick Edits Search: CAT-3419 (reported by Calendars.com)
  • Order Checkout Errors: COM-7700 (reported by Jelly Belly)
  • Duplicate Shipment: COM-7565 (reported by Home Hardware)
  • B2B Random Login: COM-7670 (reported by Ace Hardware)
  • Catalog Error in Inventory: COM-7643 
  • Read-Only Users Modifying Inventory: COM-7641 (reported by Conn's)
  • Future Inventory File Error: CHAR-4891 (reported by Conn's)

Production Sandbox Features

Catalog

  • Merchandizing Rules in Categories: Relevant merchandizing rules are now displayed as a table in the Search Merchandizing Rule section of the category settings. This table allows you to view merchandizing rules' start/end dates for the category and edit or delete selected merchandizing rules.

Commerce

  • External Return ID:  You can now set an External ID for a return through the Returns API and filter the Returns UI as well as the API by this field, such as in ?filter=ExternalId eq 12345. The ID is not yet displayed in the Fulfiller UI, but will be added in an upcoming release.

Fulfillment

  • Carrier Updates: We are updating the shipping backend services for Canada Post, Purolator, and USPS. We are moving from the previous Carrier Service to Shipping Runtime for generating labels only. Rates are unaffected. These changes are meant to be transparent and no action is necessary. Testing after enablement is optional but recommended to confirm your label functionality is still correct. Communication will be sent when your tenant is updated.

Inventory

  • Accurate Fulfillment Dates: You can now set a location's processing time values for different shipment types, which are then used to calculate a fulfillment date based on current and future inventory levels and returned by Kibo's Get Inventory and Order Routing APIs. This allows you to use these dates for further calculations and to display on your storefront, giving shoppers an estimate for when they would receive the product before placing their order. See the user guide for more information about this feature.

    This feature is available with a version of the Get Inventory API built on RIS (the Real-Time Inventory Service).  Kibo will begin slowly transitioning clients to the new version beginning August 8th, 2023. Contact Kibo Support if you have any questions.

Search

  • Sort Merchandizing Rules: The Merchandizing Rules UI now allows you to sort the rules by clicking a column header on the table, such as the Start Date and End Date.
  • Merchandizing Rules UI Enhancement: Additional functionality has been added to the column selector of Merchandizing Rules where you can choose which columns you want to show or hide. After customizing these columns, your selections will now persist after you navigate to another page and then return to Merchandizing Rules. You can now delete a merchandizing rule from the drop-down menu to the right of any table entry.

Sandbox Bug Fixes

ServiceResolution
CommerceErrors were experienced while sending emails for GDPR users when there were more than 500 emails in the queue, a customer email address included an apostrophe, and when the system attempted to access nonexistent metadata. This has been fixed to resolve these issues and protect against errors from being encountered for these cases again.
Import/ExportWhen importing attributes, FQNs would be created with capitalized "T" such as in "Tenant~color" where it was expected to be "tenant~color." This has been corrected so that attributes are created with a lowercase "t" instead.
InventoryNegative on-hand inventory was sometimes created after uploading a new .CSV file for S3 configurations. This refresh process has been updated to ensure that it will no longer result in erroneous negative inventory levels.
InventoryAfter the initial release, a duplicate key error would be encountered from the RIS Get Inventory call if duplicate location codes were provided in the location whitelist/blacklist fields. This has been corrected so that the call will proceed as expected and not error.
SubscriptionsAdding, updating, and deleting custom data on subscription items was not working when editing the next order only version of a subscription. This has been fixed so that custom data can be managed and updated as expected at both the subscription and item level.


Restricted Content

Internal Sandbox Details


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

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

  • TECR-185 and CAT-3392: A constraint has been added to product types in the database and scripts to not let products get created through import-export without having a product type.
  • TECR-216: Inventory and Order Routing will now sync locations with recently-provisioned clones.
  • TECR-215: The subscription and substitution features can now be enabled for provisioning via Dev Center tools.
  • TECH-1118: Updates have been made for eval account messaging allowing the ability to suppress custom reset password emails, adding variants for account and sandbox invites, and variants for expiration messages.
  • CAT-2292: A NOT NULL constraint has been added to the product table and product type ID database.
  • CAT-3436: A new tenant attribute has been added to allow partial success with bulk pricelist entry endpoints, without erroring the entire batch.
  • CHAR-4984: Order Routing now includes a tenant attribute switch that allows it to point to either the original inventory service or the real-time service.
  • CHAR-4979: Google Tag Manager has now been added to the Order Routing UI. 

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

  • Email Errors: COM-7747 (reported by Wolters Kluwer)
  • Capitalized Import Attributes: CAT-3303
  • Negative Inventory Error: CHAR-5000 (reported by Conn's)
  • RIS Duplicate Key Error: CHAR-5063 (reported by Boscov's)
  • Subscription Custom Data: COM-7360