January 25, 2022 — 1.2202 Service Update

Production Tenant Features

eCommerce & Order Management Functionality

  • Inventory Segmentation Updates: The tagging system for inventory segmentation has been updated with functionality enhancements. Multiple tag names and values can now be passed in the Create Order call as part of the order item data. These will be validated against existing tags in the system, and if no tags are passed then the items will use the default tag. The Inventory, Order Routing, and Fulfillment services will use this data to allocate inventory from the right segment. Returns will also reference these tags to ensure that inventory is restocked to the correct segment. If inventory is not defined for a segment and the CSRs chooses to restock to that location, it will be allowed. This update supports more accurate inventory tracking and management across different channels. See the Inventory user guide and API overview for more information, including a Create Order API example.
  • Digital Gift Card Validation: The validation process of editing digital gift card information has been improved, ensuring that the recipient’s email address is present in the correct format and the gift card message fits within the maximum of 256 characters.
  • Backorder Reauth Setting: A site setting has been added to support disabling of backorder re-auth, functionality which was released with Version 1.2142 but required Kibo Engineering to turn off. This site setting is called “Payment Void and Reauth” and can only be enabled if the Backorder Job setting is enabled first. It will be enabled by default for existing clients who are using backorder jobs. Clients who may wish to disable void and reauth are those using subscription tokens that don’t expire. Disabling that behavior will allow backorders to be automatically released without attempting to re-auth payments, which would place those orders into Customer Care and require manual backorder management.
  • Inventory Optimization: The Get Inventory API has been optimized to improve its performance with better response time.

Fulfillment Functionality

  • Tracking for Unsupported Carriers: If Kibo is not integrated with a particular shipping carrier (designated by the "OTHER" carrier type) then by default a tracking number is displayed in the Admin UI and FFUI as plain text rather than a link to tracking information. However, you can now set a URL as the tracking number value in either the Fulfiller UI or the Package APIs when the shipping carrier is set to “OTHER.” This value must begin with "https" or "https" and validation will be performed to ensure it is in the proper URL format. This link will then be displayed in both interfaces. If you do not want to use this behavior, you can still leave the tracking number blank or simply input the number instead of a URL and it will be displayed without a link.
  • Blocked Shipments Update: When shipments are blocked from fulfillment due to an errored payment status, they will now be highlighted in yellow in the FFUI to more clearly communicate that they are blocked (in addition to the red error label that was already displayed). These shipments also cannot be added to a pickwave. Shipments that are fulfillable will not be affected.
  • SAP Workflow Update: The custom SAP fulfillment flow has been modified with an additional step to pause the workflow until items are shipped, after the order has been transmitted to SAP. This is a new step called “Ship” between the existing Transmit to SAP and Fulfilled steps. This does not affect the fulfillment of any clients that are not using this custom SAP workflow.

Production Sandbox Features

eCommerce Functionality

  • Discount Folders: The Discounts page of the Admin UI now uses a folder hierarchy to organize all existing discounts in each catalog. You are able to create/delete folders and subfolders as well as move discounts between them in order to more easily manage your discounts. This feature is optional – discounts do not have to be placed in a folder and will simply be displayed at the root level. See the Discounts guide for more information.
  • Cart Cache Update: Cart refresh and caching behavior has been updated to prevent expired discounts from remaining in the cart. Previously, if discounts were added to a cart and then expired before checkout, they would still be displayed in the cart which led to a mismatch between what the cart showed as the order total and the actual checkout total. Now, returning to the cart will refresh the discount and pricing so that any expired discounts will be removed before the shopper continues to checkout.
  • Payments on Return Receipt: The return receipt can now display refund payment data, as these fields have been exposed to the return receipt template. For every payment method on the return, this data includes the payment type and card type, amount refunded, and last four digits of the credit card.

Order Management Functionality

  • Pick Waves API Sorting: The Pick Waves API now allows sorting through the sortContents query parameter. This allows calls to be made such as .../api/commerce/pickwaves/?sortContents=locatorName  or .../?sortContents=-locatorNamewhich will sort the GET results by their locator name in ascending or descending order. This supports the custom tenant setting pickWaveDisplayFields.locatorName.enableSorting in the Fulfiller UI theme so that the pick waves can be displayed by sorted order in the user interface.
  • Translated No-Op Payments: Two new no-operation payment gateways are now supported for clients upgraded from the previous version of OMS who are using the translated APIs. These gateways are Venmo (no-op type VN) and a Private Label Credit Card (no-op type PL). These options can now be enabled in the payment gateway and payment type configurations for these upgrade clients.

Search Functionality

  • Search Settings Updates: Updates have been made to the validation of Search Settings and the APIs integrated with the Solr schema. This validation will be performed when saving settings, and errors will be returned if the analyzers or phrase weights are invalid. See the Search Schema documentation for more information about analyzers and phrase weights.
    • The noun_extraction analyzer is only allowed on the productName field, and phrase weight values are not allowed. A description of the analyzer has also been added. 
    • Phrase weights were previously a range of 1-20 but are now a range of 0-20.
    • Similar to noun_extraction, phrase weights are not allowed to be added to _pf fields (for example, productFullDescription_lenient_pf). These fields are only allowed to have a phrase weight of 0.
    • Spelling fields that are passed into the API must exist as a field in the index, or an error will be thrown. These fields must be text or an array of text fields – boolean and number fields cannot be used as spelling fields.

Bug Fixes

The following list summarizes resolved issues for this release.

Targeted for Production TenantsWhen querying for orders submitted within a range of dates and times in the Order Admin UI, some results would be shown outside of this time frame. The logic for querying submitted dates has been updated to better support specific times, where previously it would default to all results submitted through the end of the day.
Targeted for Production TenantsThe search box for the custom search schema’s Entities list was not working correctly; nothing would happen after entering a search term. This was due to the search filter always being treated as null, but has now been fixed so that the user can successfully filter and search the list of entities. This was originally announced with 1.2146 but was moved to 1.2152.
Targeted for Production TenantsShipping discount details were not present in the order confirmation email, however they were provided if the email was resent. This has been fixed so that accurate discount information is always included in the initial confirmation.
Targeted for Production TenantsThe Advanced Filters of the discount search in the Admin UI were not working as expected, as filtering for Keyword, Status, and Created By values at the same time did not return any results. This query has been updated to better support multiple filters and allow search results to be successfully retrieved.
Targeted for Production TenantsWhen assigning images to different product options, deleting an image without saving the product first resulted in all other images added in the same session being removed as well. This has now been fixed so that only the image selected for deletion will be removed.
Targeted for Production TenantsA collection was not displaying all of its product options on the storefront as expected, due to the available stock only being retrieved for parent products instead of for the product variations. This has been corrected so that all member products and available variations will be successfully displayed for the collection.
Targeted for Production TenantsShipment numbers were still not displaying on courier labels alongside the external order numbers after an initial fix with Version 1.2132. This has been fixed so that shipment numbers are properly reported on these labels for carriers such as Canada Post.
Targeted for Production TenantsCancellation notifications were not being sent to customers when a store cancelled items while receiving them from a transfer. This has been corrected so that Item Cancelled emails are triggered and delivered to customers as intended.
Targeted for Production TenantsAs a follow-up to the 1.2144 issue in which transfer shipments lost their connection with their parent BOPIS shipment after going into Customer Care, a similar fix has been made for reassignment cases where fulfillers were unable to process the pickup after receiving a transfer. Now, they can successfully process the transfers and fulfill the parent BOPIS shipment.
Targeted for Production TenantsCancelling a transfer shipment was causing the parent BOPIS shipment to be cancelled as well even if the remaining items were fulfillable. This has been corrected so that cancelling transfers does not automatically cancel the entire parent shipments.
Targeted for Production TenantsOrders could become stuck in the import process for upgraded OMS clients using the translated APIs, in which it would not finish creation in the KCCP system. This was due to upgraded OMS orders being placed into Pending if their payment failed, but this has now been changed so that the order will be successfully created and then placed into the Validated state if the payment failed.
Targeted for Production Tenants500 Errors were experienced by Braintree integrations when querying the translated Get Payment API for orders that used custom PayPal and Google Pay payment types. This API logic has been updated to better support Braintree’s custom payments and successfully return order payment data.
Targeted for Production TenantsThe Auto Capture API occasionally experienced errors when trying to capture multiship orders, specifically because the responseGroups field was null. The API has been updated with exception handling to avoid these errors in the future.
Targeted for Production SandboxesGift card messages were being displayed as plain text in the Admin UI order details view, when it was expected to be a hyperlink to the PDF version of the gift message. This has been fixed so that the message is a properly displayed as a link.
Targeted for Production SandboxesThe Order API was not successfully filtering results by the closedDate filter option when that was provided in the GET query. This has been fixed so that orders can be successfully retrieved based on their close date.
Targeted for Production SandboxesOrders were occasionally moving to the Errored status due to unexpected errors caused by custom calculations that determined the item price remainder. Validation has been added to better handle this behavior and successfully process valid orders.
Targeted for Production SandboxesSome orders remained in the Validated state rather than progressing to Accepted after being created via API, due to internal service errors. This was due to the existence of an Order Routing group that contained no locations, so validation has been added to the order acceptance process to bypass this case and successfully create otherwise valid orders.
Targeted for Production SandboxesThe Ready For Pickup email was occasionally not being sent when a shipment was ready for partial or full pickup, due to errors experienced in Order Routing that meant the notification was not triggered. Better error handling has been implemented so that these Order Routing exceptions will not prevent the email from being delivered when the pickup order is otherwise ready for completion.
Targeted for Production SandboxesPurolator labels were printing on the entire page instead of a half-page as expected. This has been fixed so that label images will be sized properly in PDFs.
Targeted for Production SandboxesFedEx Cross Border labels were unable to be printed, as an error would be encountered when trying to create the pack notification. This was due to an issue converting the carrier name to lowercase format, but has now been fixed so these labels can be successfully printed.
Targeted for Production SandboxesUsing the CDN bust cache feature unexpectedly changed site settings such as toggling disabled emails back on. This was due to out-of-date serialization between Site Builder and the site settings service, which has now been improved so that bust cache does not affect other settings.
Targeted for Production SandboxesUsers were unable to add the sale price range facet (such as 0-10, 10-100, or 100+) on the search result template in Site Builder, as the template only allowed distinct values. This has been fixed so that you can successfully set up range facets on this template.
Targeted for Production SandboxesInventory tags were unable to be created in the Admin UI, as an error would be displayed instead. This has been fixed so that inventory tags can be successfully configured in the user interface.
Targeted for Production SandboxesThere were performance problems in the ProductAdmin service when retrieving product types for configurations with variant attributes – this data was sometimes very large and caused the database query to run slowly. This process has been re-factored to optimize the product type cache and achieve better performance.
Targeted for Production SandboxesAfter the initial 1.2202 sandbox release, all orders from sandbox were going into ERRORED status by default. A hotfix has been added to this version to correct this so that orders go into the expected processing states.