May 18, 2021 — 1.2118 Service Update

Production Tenant 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.

Production Sandbox Features

eCommerce & Order Management Functionality

  • File Manager: The existing file manager at Main > Site Builder > Files has been updated with a new UI and additional functionality, improving organization and management of images and other files for the storefront at the master catalog level. Uploaded files can be arranged into folders within the tree hierarchy and various actions can be performed on them, including adding tags. See the File Manager user guide for more information about how to view custom item data.
  • Item Identifier Validation: Additional validation has been added to the new Item Identifier feature when fulfiller users are required to provide it. This validation will check serial numbers and PINs to make sure that the user is not setting a value of null or a blank space to avoid inputting the actual data. The fields can accept other alphanumeric values, including special characters.
  • Item Identifiers in Returns: If item identifiers were set for an item, then that information is now displayed as a tool-tip on that line item when creating and processing returns in the Fulfiller UI. This makes it easier for fulfiller user to reference item information when needed for handling return cases.
  • View Fulfilled Custom Data: Custom item data can now be viewed on shipments in the Admin UI that have been fulfilled. Previously, viewing item data was not an option for fulfilled shipments though it was allowed on those in other states. The option to view item data after fulfillment enables users to review and reference all of the item information at any point if needed. See the Orders UI guide for more information about how to view custom item data.

Translated OMS Functionality

  • Event Notification Updates: The translated Order Management APIs for upgraded clients have been updated with improved event notification processes to prevent duplicate notifications from being sent on occasions where they may be triggered. The system will check to determine whether the notification has already been sent, and if so then it will not be delivered. This should reduce problems in the future for implementations that rely on certain notifications being sent only once.
  • Transfer Received Notification Updates: A new Transfer Received event is now supported for the Stock Validated and Accept Transfer notifications in upgraded implementations that use translated APIs and notifications. Previously, if multiple transfer shipments were being received then no events or notifications would be triggered until the last shipment was received. With the new event process, notifications will be triggered for every received transfer. The notification will be Accept Transfer if the previous step was Wait For Transfer, otherwise it will be Stock Validated.
  • Order Status Updates: The translated Search Order and Search Shipment APIs have been updated to represent order statuses in an improved hierarchy, matching existing behavior in other areas of KCCP. Order statuses will now be determined in the following priorities: Payment Hold (order is flagged for Pending Review), Payment Error (payment status is flagged as Errored regardless of any other order or fulfillment status), Backorder (at least one shipment is in Backorder), Customer Care (at least one shipment is in Customer Care), Ready (at least one shipment is still ready), Fulfilled (all non-canceled shipments are fulfilled), and Canceled (order status is canceled).

Bug Fixes

The following list summarizes resolved issues for this release.

Targeted for Production TenantsSpecifying 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 Tenants

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 TenantsIssues 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 TenantsSome 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 TenantsCustom 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 TenantsThe 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 TenantsSome shipping labels from FedEx Cross Border were too large. This has been corrected so that the label is appropriately sized for the printing layout.
Targeted for Production SandboxesThe primary category was unable to be set for a product in its Categories configurations until the product page was reloaded. This has been fixed so that a product’s primary category can be easily selected and saved without having to refresh the page.
Targeted for Production SandboxesKCCP transactional logs were being generated for XML with incorrect elements that did not match the XSD schema as expected, such as the wrong names for data and externalOrderId fields, a reasonCode that was not alphanumeric, and inconsistent dateTime fields. This has been corrected so that the Sales, Credit, Transfer, Returns, and Cancels Tlogs all return data that matches the schema.
Targeted for Production SandboxesThe Apple Pay subtotal did not reflect the discounted price of the order during checkout, resulting in a mismatch between the cart total and the Apple Pay pop-up. This has been fixed so that the subtotal is properly calculated and matches the cart information when paying for an order with Apple Pay on iOS.
Targeted for Production SandboxesThe template for the Transfer Created By Fulfiller email in the Site Builder editor was not being displayed, instead returning a 404 Page Not Found error due to a broken link. This link has been updated so that the proper email content will be successfully displayed in the editor.
Targeted for Production SandboxesThe format of the shipDate field in transactional logs was occasionally inconsistent, as the logs used a timestamp format that included spaces. This has been corrected so that logs always use the correct format without spacing.
Targeted for Production SandboxesThe Sales transactional log did not include transactions of the type Capture or AuthAndCapture. The log has been updated to report these transactions.
Targeted for Production SandboxesThe Save and Cancel buttons for personalized search settings did not reset after the user reset the forms – they remained active even if there were no longer any new changes to the form. This has been fixed so that these buttons are deactivated if there are not any configuration changes to save or discard.