May 4, 2021 — 1.2116 Service Update

Production Tenant Features

Personalized Search Functionality

  • Search Campaigns: This new functionality within Search Settings allows merchandisers to create and schedule boost/bury expressions, as well as specify the search terms that trigger those expressions. For more information, see the Campaigns documentation.
  • Search Redirects: This new feature within Search Settings allows merchandisers to redirect a user to a specific URL based on specific search terms. Search Redirects applies to Site Search only. The user will be redirected to the new URL when they press Enter or click the search button after typing in a search term. For more information, see the Search Redirects documentation.
  • Typo Tolerance: This new feature within Search Settings uses fuzzy matching/fuzziness to loosen the requirements for a match. As an example, a search for a misspelled term such as aple with no fuzzy matching will only match the same misspelling. With fuzziness enabled, however, aple can match apple with an edit distance of 1. For more information, see the Typo Tolerance section of the Search Settings documentation.
  • Whitespace: This new feature within Search Settings adjusts the search query to sort and match multi-term entries correctly. The degree to which the score is adjusted to sort exact vs multi-field matches is the cross field factor. Any number between 0 and 1 may be entered, up to two decimal places. For more information, see the Whitespace section of the Search Settings documentation.

Fulfiller Functionality

  • Inventory Locator Name in UI: The inventory locator name field that can be set through the Inventory Refresh API is now displayed in the Fulfiller UI. This data is displayed as a new “Location Name” column in the pick wave view, indicating where each shipment item in the wave is located so that the fulfiller can easily find it (such as Aisle 15). See the Pick Waves & Packing Slips documentation for more information. There is also a new column for the Bin that further identifies the item’s location. The locator name and bin fields are also now exposed in printable pack templates, allowing implementations that use this data to include it in pack wave sheets and packing slips.
  • Returns FFUI Customization: The Returns management views of the Fulfiller UI can now be customized in the theme. Client developers can upload their own CSS and localization (en/fr.json) files on the Fulfiller theme to override the Kibo Composable Commerce Platform default styling on pages for creating and processing returns. This allows the FFUI to be more thoroughly customized to match the client’s preferred styling or localization. See the FFUI & Returns Customization documentation for more information.

Translated OMS Functionality

  • Bin Inventory API: Additional endpoints have been added to the translated Inventory API requests for upgraded clients, allowing them to make inventory bin calls to the Kibo Composable Commerce Platform while using their existing request bodies from the previous version of OMS. These are the Search Bin Inventory (…/kibo-api-transform/v1/bin/searchInventory) and Load Bin Inventory (…/kibo-api-transform/v1/bin/loadInventory) calls, used to retrieve and create inventory bins as well as add inventory to them.
  • Order Status Update: The translated APIs will now properly report the order statuses/states of PAYMENT_HOLD and PAYMENT_ERROR when applicable, overruling other fulfillment statuses. An order is in PAYMENT_HOLD when the order is in Pending Review (Fraud Review), and PAYMENT_ERROR when the payment status is ERROR.

1.2113 B2B Functionality

B2B Phase II and Quotes was released to sandbox as Version 1.2113 but is being released to production as part of 1.2114.

  • The updated B2B feature allows business-to-business sales to be made to organizations separately from the single-consumer checkout experience, supporting multiple buyer accounts within a business’ B2B accounts and the ability to arrange an account hierarchy. Quotes allow sales representatives and buyers to estimate and negotiate the pricing of potential B2B orders. In the Admin UI, B2B accounts can be created and managed with their associated sales representatives (a new system user role) and a list of buyer accounts who can purchase or view orders on behalf of the business. On the storefront, both buyers and sellers can view quotes and request new accounts. For more information and details about how to create and manage accounts or quotes, see the B2B documentation.
    Going forward, sales representatives are required for all new B2B accounts to be approved. However, any existing B2B accounts that were created on production environments prior to the release of Phase II will continue to function as-is without a sales representative.

Production Sandbox Features

eCommerce & Order Management Functionality

  • Item Identifiers:A new type of item-level data, called the item identifier or fulfillment field, is now supported in Order Management. This can be a serial number, manufacturer number, or a number for a gift card item to load a value to, and can be set by fulfillers while fulfilling shipments. These identifiers are ingested from the Create Order API and flagged as required or optional for the fulfillment process. Fulfillers then set the attribute values while validating stock in the FFUI, and the values are displayed with the shipment and returnable item details in both the FFUI and Order Admin. In the order items object when creating and importing orders, a new “fulfillmentField” object is supported for each item. For example, a required serial number identifier would look like:
    "fulfillmentField": [
          "name": "serialNumber",
          "userEnteredValue": "sdklj34kl343kl98712n",
          "isRequired": true
    See the Order and Shipments API documentation as well as the FFUI and Order Admin user guides for more information about how this data is presented.
  • Discount Mismatch Handling: An adjustment has been made to how discounts are applied in KCCP. Occasionally, there could be a small discrepancy between the Discount Total and the Calculated Discount Total due to price variations which would result in an error. When the discount total doesn’t match the calculated discount from RetailPrice – ActualPrice, the discount values will now automatically adjust to account for the difference and instead of failing.
  • Capture Imported PayPal Orders: PayPal import orders can now be captured as soon as the order is placed. The existing Admin payment setting to select between “Authorize and Capture on Order Placement” or “Authorize on Order Placement and Capture on Order Shipment” has been leveraged for these PayPal payments. If this setting is set to auth and capture on order placement, then imported orders will be captured upon placement in the same manner as non-import orders.
  • TLog Shipment Update: Transaction logs now report what amount is captured for each shipment in the payment records. The payment interaction has a breakdown of what amount was captured on each shipment, including Ready to Capture shipments. The report includes the gift card or authorization data and capture amount with the Order ID. Note that this only applies to auto capture. Manual captures are not recorded in transaction logs. Additionally, cancelled shipments are credited immediately if capture occurred before fulfillment (such as store credits, PayPal, and forced captures).
  • Custom Shipment Data in UI: In Version 1.2112, the ability to manage custom order and order item data via the Admin UI was released. Similar functionality has now been added for custom data at the shipment level. This allows admins and customer service representatives to add, edit, and delete custom data values on individual shipments. Note that custom data is configured in key:value string format and is passed to the shipments that are generated upon initial order creation. If you wish to edit custom data after the fact then it must be done on a per-shipment basis. This means that you should update the custom item data on each shipment within the order because a change will not be applied across the board.
  • Order Routing UI Update: As part of ongoing improvements to the Order Routing UI, some tweaks have been made to the routes page. This includes updating the active toggle design as well as adding radio buttons to select between single or multiple assignment more easily. The functionality of this routes page remains the same.

B2B Functionality

  • Restore Expired B2B Quote: The B2B quote process now supports moving an expired quote back to In Review status when the seller wants to revive the quote. When the seller views an expired quote, there is a Revive button option that will prompt the seller to provide a new expiration date and then restore the quote to be reviewed and edited again. See the B2B documentation for more information about this feature.
  • B2B Third-Party Payments: The B2B checkout can now support third-party payment integrations when placing an order created from a quote. No changes to shipping address, method, or other fulfillment options restricted by B2B buyer permissions are allowed through these integrations. See the B2B documentation for more information about this feature.

Translated OMS Functionality

  • Get Order Item API Update: Parameters for shipmentID and itemState have been added to the translated Get Order Item API. These parameters did not exist in the previous version of OMS, but can be used by upgrade clients to return items from a specified shipment as well as items in a particular state (either NORMAL or CANCELED). These can be used to filter the GET request in addition to being provided in the request body, such as in …/orderItem/?shipmentID=0000, though either an orderID or shipmentID must be provided in the endpoint for every call.
  • Canceled Items in Shipment/Order APIs: A canceledItems array has now been added to the response payload for the translated GET Shipment and GET Order APIs. The existing shipments array in these APIs included a list of active items in Ready status, but there was no way to retrieve a list of items that had been canceled from these APIs. The new canceledItems array is also located within the shipments data and includes items in the Canceled state, allowing users to retrieve a comprehensive information for all items in the shipment and/or order.
  • Special Shipment Canceled Notification: A new cancel shipment notification has been created for certain OMS upgrades that may require it. This notification is sent any time that items are cancelled, matching the behavior of the shipment cancellation notification in the previous version of OMS. The notification includes the list of order item IDs that were canceled. This notification is not available on all implementations, as it is a special event enabled in the tenant configurations. If this feature is not enabled, then normal KCCP notifications will be sent out instead.

Bug Fixes

The following list summarizes resolved issues for this release.

Targeted for Production TenantsSite settings were not publishing the general settings or checkout settings events as quickly as other caches were refreshed, causing unexpected delays in accessing new Site Builder templates or new category settings. This has been corrected to improve the wait time and more efficiently publish settings events.
Targeted for Production TenantsMaking a GET call to the translated Customer API at /api/v2/customer resulted in a 404 error, and filtering by a search for an email parameter also returned an error as the translated URL encoding altered the email address. These issues have been fixed so that the translated Customer API can be reached at that endpoint and searches can be performed with the desired customer email.
Targeted for Production TenantsA particular implementation experienced parent orders that remained in the Waiting for Transfer step after their child transfers were cancelled. This has been corrected with an update to the FFUI that replaces the Cancel Shipment button on transfer shipments with the options to request a new transfer or cancel items during stock validation. If all items are canceled off of the shipment, then the parent shipment will go into Customer Care.
Targeted for Production TenantsFiltering the GET responses from translated Order and Shipment APIs by shipDateStart and shipDateEnd resulted in a 400 Bad Request error instead of search results. This has been fixed so that the translated APIs can be properly filtered for orders and shipments based on either of those fulfillment dates.
Targeted for Production TenantsWhen selecting a return location while processing a return in the FFUI, not all available stores were listed as expected. This has been fixed so that all stores that accept returns are listed as return location options.
Targeted for Production TenantsA particular implementation’s Avalara application was no longer taxing B2B customer properly, as their previous automatic function to connect customers to their proper tax status was no longer using accurate information due to incorrect entity codes. Updates have been made to the application to better handle these codes and account for cases where they are not set on the customer account, allowing the Avalara application to more accurately determine tax again.
Targeted for Production TenantsA particular implementation was experiencing that the Password Reset email was not bring sent to B2B accounts on their Canadian site while the email was working properly from US sites. This was due to a conflict with the Site ID and API context for B2B accounts on that site. The back-end process of creating B2B accounts has been updated so that API contexts will be more accurately set, allowing for Password Reset emails to be sent successfully.
Targeted for Production TenantsA particular implementation’s site-wide discounts were not appearing on the storefront pages in production, though they were applied in the cart. The discounts have been fixed for this implementation so that their promotion is reflected on all of the appropriate pages.
Targeted for Production TenantsThere were some inconsistencies with the webpage names and product categories in a particular configuration’s site, affecting the SEO and navigation of the pages that did not have the expected URLs. Breadcrumbs were not accurate on the product detail page and redirects did not work where expected. Updates have been made to ensure that URLs are now correctly used and the breadcrumb and redirect features work properly.
Targeted for Production SandboxesSpecifying a perPage value equal to or greater than 100 when making a GET call to the translated Order API would return a 500 API Transformation Error, as the memory limit was exceeded for the request. This query process has been improved so that it can support retrieving responses with larger amounts of results per page.
Targeted for Production Sandboxes

Several issues with Store Decline notifications have been fixed:

  • SKU and Part Numbers were missing from the notification when a BOPIS order was autocancelled.
  • The notification was being received when Order Routing cancelled an order before it was assigned to a store.
  • The notification was not received when all items were declined from an order by a store.
  • The reason code and reason description in the notification were not displayed with the proper values, showing that an order was declined from the API when it was actually from a CSR tool.
Targeted for Production SandboxesIssues were experienced when trying to generate documents for some FedEx Cross Border orders created on the Kibo storefront, in which the incorrect orderId was being referenced when requesting information from FedEx. This has been fixed by improving how the APIs locate these IDs to ensure that the correct one can be found within the custom order data information for FedEx.
Targeted for Production SandboxesSome orders that contained product extras were unable to be submitted in new offline orders, as the system was looking for the code of a base product from the catalog instead of the intended product variant which caused an error. This has been fixed so that product variants can be successfully submitted.
Targeted for Production SandboxesCustom order data was not displaying properly in the Order Admin UI for upgraded OMS implementations using translated APIs, as the interface was attempting to display the string values in the wrong format. This has been fixed so that custom order data is correctly passed between the translated APIs and can be viewed in the UI as their actual string values.
Targeted for Production SandboxesThe Get Payment API returned the wrong value for the amountCharged field for upgraded OMS clients. In the previous version of OMS, this field reflected the amount to be charged as the total of all Ready shipments not including Backorder). This has been fixed so that the amount charged value is calculated in the same way in the KCCP APIs to return the proper value.
Targeted for Production SandboxesSome shipping labels from FedEx Cross Border were too large. This has been corrected so that the label is appropriately sized for the printing layout.