Identifiers in fabric APIs

This topic explains how fabric uses sku, itemId, pricelineId, and inventoryId as methods of identification with our APIs. In general, fabric uses sku to specify a product because it’s used across all domains. However, other identifiers are also used in certain API services.

We recommend avoiding itemId in V3 API implementations. However, itemId is still supported and used in V2.

The following table provides a list of all identifiers used across different services and the corresponding services:

IdentifierDescription
skuThis identifier is used across all services, such as Product Catalog, Offers, Carts, Orders, and Inventory.
itemIdThis identifier is used in Offers, Carts, Orders, and Inventory. The Product Catalog service does not use itemId. In Carts, a user-generated itemId is used, separate from the itemId used in other services.
priceListIdThis identifier is used in Offers and Carts.
inventoryIdThis identifier is used only in Inventory.

Product catalog

Storage keeping unit (SKU)

sku is entered by the user when adding a product into product catalog.

In product catalog, a sku is an unique identifier for a specific product. You can perform several key actions to manage products and their lifecycle. The sku is the preferred method for managing products. It allows you to monitor, publish, and unpublish products.

The following table shows examples of operations in Product catalog that are supported using sku:

OperationsDescriptions
Retrieve a productView the details of a single product, including its attributes and variants.
Retrieve productsGet a paginated list of products, including items, bundles, or variants, with their attributes and variants.
Update product attributesReplace all existing product attributes.
Partially update product attributesModify specific product attributes without affecting others.
Delete productRemove a product from the catalog, with an option to delete associated variants.
Publish productChange a product’s status from “Draft” to “Published.”
Retrieve published productGet the details of a published product for display on your Storefront.

Offers

Storage keeping unit (SKU)

fabric’s Offers APIs enable you to manage prices and create various types of discounts and promotions using sku.

The following are some examples of operations in Offers that are supported using sku:

OperationsDescriptions
Set the price of an itemWhen creating a price for an item, sku or itemId can be used as an identifier in the request body.
Retrieve price of an itemWhen retrieving the default price for an item, sku can be used as an identifier if priceListId isn’t specified.
Delete price of an itemWhen removing an items price, sku can be used as an identifier if priceListId isn’t specified.
Retrieve product and price detailsWhen retrieving a products price, details, or any additional information, sku can be used as an identifier.

Item ID

fabric’s Offers APIs enable you to manage prices and create various types of discounts and promotions using itemId.

The following are some examples of operations in Offers that are supported using itemId:

OperationsDescriptions
Set the price of an itemWhen creating a price for an item, sku or itemId can be used as an identifier in the request body.
Retrieve price of an itemWhen retrieving the default price for an item, itemId can be used as an identifier if priceListId isn’t specified.
Delete price of an itemWhen removing an items price, itemId can be used as an identifier if priceListId isn’t specified.
Retrieve product and price detailsWhen retrieving a products price, details, or any additional information, itemId can be used as an identifier.

Price list ID

Offers API creates a priceListId when generating a price list, which includes generic information such as currency. The priceListId is used to identify entities that specify how the items should be priced.

The following are some examples of how priceListId is utilized:

OperationsDescriptions
Create price listWhen creating price list for an item, priceListId is automatically generated and is used to identify different price lists.
Create promotionIf the priceList is eligible, a promotion is created for the item.
Retrieve SKUs in a price listIn a given price list, all associated sku and productItemId values are returned in the response body.
Retrieve priced productsIf priceListId is sent in the request body, all items belonging to the price list are returned in the response body.

Carts

Storage keeping unit (SKU)

The Carts API allows you to add, update, and remove items, and those items can be identified by sku, from the storefront cart.

When creating a checkout, the system uses the cartId to identify all items using sku in the specific cart.

While sku isn’t used in the path parameter for Carts endpoints, it’s used in the request body. The following shows examples of operations where you use sku in the request body and view it in the response body:

OperationsDescriptions
Create a line itemAdds a line item to the cart using sku.
Update a line itemUpdates a line item in the cart to a new item by referencing the sku.
Retrieve a cartIn the cart details, you can view the line items and their associated sku values.

Item ID

The Carts endpoint creates a cart-specific itemId, also referred to as lineItemId. You can use the itemId to add an item to the corresponding cartId and adjust prices.

The following are some examples of operations in Carts that are supported using itemId:

OperationsDescriptions
Add an item into the specified cartManually enter the itemId, which can then be used in other cart endpoints.
Update an item in the specified cartUpdate item details within a specific cart using lineItemId.
Adjust price of the item in the specified cartAdjust the prices of an item in the specified cart.

Price list ID

The Carts API uses priceListId to calculate prices and evaluate discounts for individual products and carts. This ensures accurate pricing when items are added to a cart.

The following are some examples of how priceListId is utilized:

OperationsDescriptions
Add an item into the specific cartWhen a line item is added to the cart, the respective priceListId is included to identify the cart’s price.
Update an item in the specified cartWhen a line item is updated, the price is also adjusted.

Orders

Storage keeping unit (SKU)

When creating or modifying an order, you can add one or more sku by selecting a network and channel, a network and channel, which enables browsing for all the available sku. Only sku with an “Available” stock status and availability greater than or equal to one can be added to an order. You can select more than one sku at once and specify the quantity for each. Orders display sku information, including sku, price per unit, quantity, and availability.

sku is used as unique identifier for items in an order. Order details typically show sku, quantity, and total cost for each item.

The following are some examples of when sku is used to verify that orders contain the correct items:

OperationsDescriptions
Create a new orderWhen creating a new order, the item’s sku and itemId are used to verify that the correct item is processed.
Search for backorders or preordersAfter searching for backorders or preorders, you can use the sku to verify that the correct items are included in the order.
Search for allocationOne of the filter criteria for searching inventory allocation is sku.
Create a new shipmentTo fulfill an order and ship it, the items that are set to ship can be identified by sku.

Item ID

When creating or modifying an order, you can add one ore more sku by selecting a network and channel, and then browsing available itemId. Only itemId with an “Available” stock status and availability greater than or equal to one can be added to an order. You can select more than one itemId at once and specify the quantity for each. Orders display itemId information, including itemId, price per unit, quantity, and availability.

itemId is used as a unique identifier for items in an order. Order details typically show itemId, quantity, and total cost for each item.

The following are some examples of when itemId is used to verify that orders contain the correct items:

OperationsDescriptions
Create a new orderWhen creating a new order, the item’s sku and itemId are used to verify that the correct item is processed.
Search for backorders or preordersAfter searching for backorders or preorders, you can use the itemId to verify that the correct items are included in the order.
Search for allocationOne of the filter criteria for searching inventory allocation is itemId.
Create a new shipmentTo fulfill an order and ship it, the items that are set to ship can be identified by itemId.

Inventory

Storage keeping unit (SKU)

When you create inventory, the sku is stored as a native value. During network setup, you can apply conditional rules to include specific SKUs and configure safety stock levels to maintain optimal inventory availability. Inventory networks also aggregate sku quantities across various locations. Even if sku isn’t directly referenced in some endpoints, they play a crucial role in the background.

The following are some examples of operations in Inventory that are supported using sku:

OperationsDescriptions
Create inventoryCreate inventory using a combination of location number, channel ID, and either sku or itemId.
Add new property to an existing inventoryBy using sku to identify inventory, you can add a new property or update an existing one by specifying it in the request body.
Find inventory of specific itemsSearch for all items in the location specified in the request body that match the sku in the request body.
Create inventory networkCreates an inventory network. Although sku isn’t used directly, it’s utilized within the network to monitor item quantities.

Item ID

When you create inventory, the itemId is stored as a native value. During network setup, you can apply conditional rules to include a specific itemId and configure safety stock levels to maintain optimal inventory availability. Inventory networks also aggregate itemId quantities across various locations. Even if sku isn’t directly referenced in some endpoints, they play a crucial role in the background.

The following are some examples of operations in Inventory that are supported by itemId:

OperationsDescriptions
Create inventoryCreate inventory using a combination of location number, channel ID, and either sku or itemId.
Add new property to an existing inventoryBy using itemId to identify inventory, you can add a new property or update an existing one by specifying it in the request body.
Find inventory of specific itemsSearch for all items in the location specified in the request body that match the itemId in the request body.
Create inventory networkCreates an inventory network. Although itemId isn’t used directly, it’s utilized within the network to monitor item quantities.

Shipping Method Association: itemId are used to determine which items are associated with specific shipping methods.

Inventory ID

inventoryId is used to track inventory to manage and track product stock across different locations, channels, and items.

Inventory is the only domain that uses inventoryId.

The following are some examples of how inventoryId is utilized:

OperationsDescriptions
Create inventoryThe system automatically generates a unique inventoryId when you create new inventory for a sku.
Change inventory countersAdjust inventory counters by passing the inventoryId in the request body.
Update inventory with a new propertyVerify that the correct inventory was updated by checking the inventoryId in the response body after the update.