January 11, 2022 — 1.2152 Service Update

January 11, 2022 — 1.2152 Service Update


Production Tenant Features and Bug Fixes

This production release combines all of the updates released to sandboxes with Versions 1.2142, 1.2144, 1.2146, and 1.2148 during the holiday code freeze. These are listed below:

1.2148 Updates

These updates were originally released to sandboxes on December 14, 2021.

eCommerce & Order Management Functionality

  • Inventory Search Update: The Inventory page of the Admin UI now allows you to simply search for a base product code in order to retrieve all variants of that product. For example, searching for the Shirt code can return the red, pink, and white variants of the Shirt. Previously, you needed to provide the exact variant code to pull up a specific item which was not user-friendly. When this base product code is entered, a popup will display a list of all variants of that product and allow you to select which variants you want to include in the search results. This allows you to narrow down the results for base products that would otherwise return a large number of variants.
  • User Edit Validation: If a user account is being edited to have a different email address or username, the interface will now indicate whether that email and/or username already exists. Previously, the system would seem to allow the edits but not actually update the user upon saving. This new validation message will clarify which fields are duplicates and only allow the changes to be saved once the email address and username are unique.
  • CCLastFour in Emails: As a follow-up to the recent addition of the ccLastFour field in the Order API (which allows for specification of the four credit card digits to be displayed in the Admin UI), this card information can be displayed in Order Confirmation and Refund Issued emails as well. These templates will automatically use the ccLastFour value if it is populated in the API – if this field is not set, then the emails will continue to display as they already do.
  • API Localization: Localization has been completed on the Shipping (notably the Get Rates, Get Multi Rates, and Get Labels calls), Location, and Provisioning APIs. This allows for error messages and similar strings to be translated to non-English languages.

Fulfillment Functionality

  • Long Tracking Numbers: The GET Shipment API response will now include a new field in the tracking information data called stringBarcode which returns the “long tracking number” displayed above the barcode on FedEx labels. This field is automatically set for the shipment when FedEx shipping labels are generated in KCCP by the fulfiller. This support also extends to the translated version of the GET Shipment API used by some upgraded OMS clients.
  • Custom BPM Update: A particular implementation’s custom BPM has been edited to change the fulfillment step name from “Transmitted to SAP” to “Transmit to SAP.” This provides better clarity as to the purpose of the step and the shipment’s current status.
  • Refund S&H Default: When processing a return in the Fulfiller UI, the "Refund S&H" checkbox now defaults to false. This means that shipping and handling costs will not be refunded unless the box is checked manually or a Fulfiller theme override is put in place to default this option to true.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsThe “Distance from fulfillment location to order” filter of Order Routing could not be edited once created, resulting in a 500 Error. This has been fixed so that these filters can be successfully edited.
Targeted for Production TenantsIn Order Routing, the data set column on the Routes page always defaulted to displaying the first element in the drop-down after saving the page regardless of what the user had selected. This has been corrected so that the user’s selection will persist.
Targeted for Production TenantsIn the Fulfiller UI, the Partial Pickup option was missing from shipments that had some of its items ready for pickup that were enabled for Preparation. This has been fixed so that prepared/assembly items can be included with partial pickup.

1.2146 Updates

These updates were originally released to sandboxes on December 2, 2021.

eCommerce & Order Management Functionality

  • Order Cancellation Email Update: The default Order Cancellation email template now retrieves all shipment items instead of only displaying order item records. This ensures that all items are accounted for, including any that may have resulted from adding or editing shipments on the order after its initial creation (a case called POSE, “post order shipment edit”). Remember that email templates can only be viewed in the Site Builder and must be customized via theme. Specifically, the case of items added via shipment edit utilizes the Order Cancelled POSE template, which is nested within the Order Cancelled template of the theme. When customizing Order Cancelled, check whether the POSE version needs changes too.
  • Translated CC Last Four: Following up on Version 1.2142’s addition of a ccLastFour field to KCCP’s Order API, support for this field has been added to the translated OMS APIs so the Admin UI can display this value in order details information. If ccLastFour is not provided, then the UI will fall back to using the last four digits of the cardNumber field. This improves the order import process for upgraded OMS clients who already use the existing cardNumber field to provide a token, as they can now record the actual last four digits of the credit card number with ccLastFour. See the translated Create Order and Import Order guides for examples and more information.

Search Functionality

  • Category Search Optimization: The recursive category search has been updated to filter by a new Solr field called categoryIdALL, improving performance when retrieving product data from a large amount of categories. This is used when an API query is made for a parent category or a parent category is browsed on the storefront, as the search returns all products for the parent category and its child categories.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsThe Complete Package and Ready Shipment email notifications were not being sent for some fulfilled BOPIS shipments with canceled line items. This has been corrected so that notifications are successfully sent for these cases.
Targeted for Production TenantsWhen copying an Order Routing environment, the routing filters were not properly copied with it and lost their custom data. Attempting to edit the filters resulted in a 500 error, preventing them from being updated. This has been fixed so that filters will be successfully copied with their environment and retain all data.
Targeted for Production TenantsCloning failed when errors were encountered in applications, preventing the process from being completed. This has been fixed so that cloning will be finished regardless of any errors in applications, which can then be reinstalled.
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.
Targeted for Production TenantsDuplicate rows in the data of Monetate (Personalization) imports caused failures, so the importer tool has been patched to better handle duplicate cases as well as support multiple category assignment.
Targeted for Production TenantsInventory logic has been updated to more accurately count pending items, which is a rework of a previous bug fix that was rolled back. In this logic, pending items will be converted to allocated items and better factored into available quantities (and this available count will be correct for cases with multiple bins as well). This should not cause any operational changes.

1.2144 Updates

These updates were originally released to sandboxes on November 16, 2021.

eCommerce & Order Management Functionality

  • Arc.js Rename: Arc.js has been renamed to API Extensions as a Service (or API Extensions for short). We have updated our documentation with this new name, while the previous Arc.js page and Help links within the Admin UI and Dev Center have also been updated accordingly.
  • User Management Update: Support has now been added to allow editing Admin UI users whose accounts are identified via username instead of email address. Previously, attempting to edit a username-only user would populate the email field with the username and thus cause validation errors which prevented any other updates (such as permissions or username edits) from going through. This includes the ability to add an email address to an existing user who previously only had a username. Adding an email address will not resend an invite, but they will be able to log in with the email. See the User Management guide for more information about editing users.
  • API Localization Update: Localization support has been added to several eCommerce APIs so that their exception messages and similar strings can be translated to languages other than the default English. This is based on the accept-language header parameter if provided and affects Products, Categories, Catalogs, Attributes/AttributeType, CatalogSiteSettings, Currency/Facets, Inventory/LocationInventory, MasterCatalog, Publishing, Report, and Search resources. See the API documentation for more information about specific calls as needed.
  • Custom Data in Decision Manager: Previously, custom mapping fields for orders were unable to be retrieved by the Decision Manager application, such as the orderNumbercode and shippingMethodName for multiship cases. Support for custom data has now been added so these values are now automatically populated within that application. For more information about the Decision Manager application, see the documentation.

Order Management Functionality

  • Configurable Inventory Limit: As a follow-up to the fix that increased the maximum value of the limit filter for Inventory and Order Routing in Version 1.2138, this limit can now be set as a tenant-level configuration. Enhancements have been done to improve the overall logic of this filter and the new configuration option allows for limits to be customized on a per-tenant basis. However, this option can only be set by Kibo Engineering.
  • TLog Optimization: Enhancements have been made to transactional log generation for upgraded OMS clients, which will improve performance and allow faster log creation. There is no change to the content of these logs. See the Transactional Log guide for more general information about these logs.
  • Custom Backorder Update: Requested enhancements have been made to the backorder process for particular implementations to better handle releasing items from STH shipments. Previously, a shipment was only released if all its items were available to come out from backorder. If only some of its items were available, the shipment would have to be manually split in order to fulfill them. Now, a sevenDays flag has been added to custom item data indicating whether orders have sat unfulfilled for seven days, matching certain implementations' specific workflow. When this flag is set to true, then Order Routing will be able to automatically split the order for partial or no match scenarios and assign the available items for fulfillment while the others remain in backorder. This does not affect other clients who do not depend on this seven-day definition of backorder.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsWhen a transfer shipment went into Customer Care status and was manually reassigned, the original BOPIS parent shipment would remain stuck in the Customer Care state and be unable to be processed for pickup. This has been corrected so that this reassignment does not break the connection between parent and transfer shipments, allowing the order to continue fulfillment.
Targeted for Production TenantsBOPIS pick up ready and pick up reminder emails were not being received nor displayed in Fulfiller logs, due to an internal error that prevented the emails from being triggered. This has been corrected so that these emails are successfully sent and logged by the system.
Targeted for Production TenantsFacets were unable to be rearranged via drag-and-drop in the Site Builder template settings for the Search Results page. This has been corrected and facets can now be sorted by dragging them up and down in the list.
Targeted for Production TenantsDeveloper accounts were unable to view some API Extension action logs in the Dev Center, as a Tenant ID was not included in the log information and thus couldn’t be found by the page query. This has been fixed so that logs properly include all of the context fields that allow them to be found and displayed in the Dev Center.

1.2142 Updates

These updates were originally released to sandboxes on November 2, 2021.

eCommerce & Order Management Functionality

  • Order Admin Updates: Some improvements have been made to the Orders page of the Admin UI. If the user is viewing a specific order’s details and then uses the search bar, the search results will automatically be opened in a panel on the left rather than requiring the user to manually expand the results. When the user clicks one of these results, they will be taken to that order’s details page.
  • Quick Edits Updates: A couple of updates have been made to the Quick Edits feature to improve user experience. When selecting a category, the picker now displays the category name and code together in the format “CategoryName (Code)." When updating attributes whose values are product identifiers, such as when selecting product cross-sells, the picker now displays the product name and code together in the format “ProductName (Code).” See the Quick Edits documentation for more information about this feature.
  • B2B Update: When an Admin user is approving a B2B account and adding a sales representative, they can now select the specific site that the account should be applied to. This ensures that the B2B user will be able to set their password for the correct site from the Welcome and Password Reset emails. The site options that are allowed to be selected from are those in the customer set to which the customer belongs to. See the B2B documentation for more information about this feature.

Order Management Functionality

  • Delete Failed Bulk Shipments: When generating shipments with a bulk creation call, all shipments in the call will be deleted if a failure is experienced during the creation process. Previously, the shipments would be cancelled which led to some confusion as cancellation did not make sense in that situation and was misleading for users.
  • Default Shipping Method Updates: The Fulfiller service can now better support cases in which the same service type is used as the default for both standard and express shipping. Previously, using the same default for both of these options caused incorrect order routing behavior as the service type was not always properly marked as isExpress in API data. Now, the service type will always be marked isExpress as long as it is a default express shipping type, even if it is also a standard default. For information about configuring service types as these defaults, see the user guide.
  • Import Order w/ CC Last Four: An optional field has been added to the OMS-Only Import Order API call, ccLastFour in the payments.card data object, in which the last four digits of a credit card number can be passed. When provided, the Admin UI will display this field with the payment method details in the order view as well as when performing refunds. This allows customer service representatives to confirm the customer’s card receiving the refund. If this data is not provided from the Import API, then the UI will show the last four digits of the token (which is the current behavior). Support for this field will be added to the translated Import Order process in an upcoming release.

Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production TenantsMaking Suggestion or Candidates API calls with custom order routing data sets defining a maximum fulfillment radius per location and filter attributes for distance resulted in an Internal Server Error due to a mismatch between integer and decimal values. This has been fixed so that these values can be compared.

Production Sandbox Features

The feature enhancements and bug fixes described below are being released to sandboxes as Version 1.2152.

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 Bug Fixes

The following list summarizes resolved issues for this release.

StatusResolution
Targeted for Production SandboxesWhen 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 SandboxesThe 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 SandboxesShipping 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 SandboxesThe 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 SandboxesWhen 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 SandboxesA 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 SandboxesShipment 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 SandboxesCancellation 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 SandboxesAs 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 SandboxesCancelling 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 SandboxesOrders 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 Sandboxes500 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 SandboxesThe 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.