Inventory Management

Overview

The Brink Commerce API offers robust inventory management capabilities, allowing you to create and manage multiple inventories for your storeMarkets (storeGroup + market). This document provides an in-depth guide on how to utilize these features to suit your specific needs.

Features

Product Stock Validation

This feature allows you to validate the stock levels of your products. It ensures that you can accurately track the number of items available for sale, thereby preventing overselling.

Stock Prioritization

Stock prioritization enables you to set the order in which warehouses are used to fulfill orders. By prioritizing your stock, you can optimize the use of your inventory across multiple locations.

Multiple Inventories

The API allows you to create and manage multiple inventories, making it easier to handle stock across different channels and locations.

Best Practices

Multiple Warehouses with Prioritization

Brink Commerce API will use the warehouse with the highest prioritization (lowest integer) that has stock for all the products in the cart.

Dedicated Warehouse

We recommend using a dedicated warehouse to minimize oversell. When using a dedicated warehouse, Brink Commerce API is handling the stock levels. Therefore, stock updates should only be done once per day or when an inbound delivery is made.

Shared Warehouse

We recommend that this type of warehouse is only used as a secondary warehouse. A shared warehouse requires that Brink Commerce API is updated every time there is a change in stock levels.

StoreMarketInventory Fields

To get the detailed fields and their descriptions for the storeMarketInventory, please refer to the Stock Management Specifications.

FieldDescription
inventoryIdUnique identifier for the inventory
storeMarketIdIdentifier for the storeMarket
priorityPriority level for the inventory
stockLevelCurrent stock level
lastUpdatedTimestamp of the last update

For more details, please refer to the official API documentation.

Example Operations

Create an Inventory - PutInventoryRequest

{
  "inventoryId": "123",
  "name": "Main Warehouse",
  "location": "New York"
}

Configure Your Inventory - PutProductVariantStockConfigRequest

{
  "productVariantId": "abc123",
  "inventoryId": "123",
  "minStockLevel": 10,
  "maxStockLevel": 100
}

Prioritize Your Inventory - PutStoreMarketInventoriesRequest

{
  "storeMarketId": "store1",
  "inventories": [
    {
      "inventoryId": "123",
      "priority": 1
    },
    {
      "inventoryId": "124",
      "priority": 2
    }
  ]
}

Update Quantity in Inventory - PutProductVariantInventoryRequest

{
  "productVariantId": "abc123",
  "inventoryId": "123",
  "quantity": 50
}