Explore API and data feeds within the 'Inventory' documentation.
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Learn how to sync inventory from an external reference source to HotWax Commerce with the 'Reset Inventory' feature.
Syncs inventory from an external reference source to HotWax. After receiving the inventory file in CSV format, HotWax Commerce calculates the difference in inventory and matches its inventory levels exactly with CSV. CSV files can be imported in HotWax by two methods: using the EXIM menu in HotWax or saving the file at a designated SFTP location for HotWax to automatically download and process.
Sample path for SFTP method: /home/<host_name>-sftp/staging/incoming
Here's an example of the CSV file format:
DEMO_HC_STORE_1
TLTLTLLL01
sku
WH09-XL-Green
20
The Reset Inventory API accepts the following parameters:
facilityId
HotWax Commerce internal facility Id. Generally the same as the facility Id in Shopify.
Yes
locationSeqId
The Id of the designated location in a facility in HotWax Commerce.
Yes
idType
The type of the unique product identifier in the external reference source. Default is shopifyProductId
No
idValue
The value of the product idType in the external reference source.
Yes
availableQty
The available quantity of the product in the external reference source. This number will overwrite the current ATP level of the product in HotWax Commerce.
Yes
externalFacilityId
The Id of the facility in an external reference source.
No
productId
The internal Id of a product in HotWax Commerce.
No
comments
Optional field to store additional information.
No
Note: sku
upca
and shopifyProductId
are commonly used product Identifiers.
Learn how to update product inventory in HotWax by logging variances of inputted amounts.
Updates the inventory of products in HotWax by logging a variance of the inputted amount. To update inventory you will need to call the endpoint with the POST method.
Example:
https://<host>/api/service/updateInventoryByIdentification
Example: https://demo-oms.hotwax.io/api/service/updateInventoryByIdentification
Content-Type: application/json
To access this endpoint, you need to include the authorization token in the request header.
Authorization: Bearer <access_token>
To learn more about Bearer token authentication, read this document
Sample:
idType
The type of product identifier. Currently supported ID types are SKU, UPCA,Shopify_Prod_ID
Y
idValue
The value of product identifier
Y
availableDelta
The variance in inventory quantity(delta)
Y
facilityId
The external facility ID where inventory item needs to be updated
Y
locationSeqId
The location ID in the facility where inventory item needs to be updated
Y
varianceReasonId
The ID of the reason that caused variance in inventory
Y
Table of valid variance reasons and their IDs:
MISMATCH
Inventory does not match the available SKU
NOT_IN_STOCK
SKU is not available
NO_VARIANCE_LOG
Use to pass null variance where variance field is required but not used
REJ_RSN_DAMAGED
Ordered SKU is rejected due to inventory damage
POS_SALE
Inventory consumed by sales made on an external point of sale system in the store
VAR_DAMAGED
Reduce damaged inventory from available quantity
VAR_LOST
SKU inventory is lost
VAR_FOUND
Lost SKU inventory is found
WORN_DISPLAY
SKU inventory is worn and unsuable from being on display
VAR_MANUAL
SKU inventory adjustment is done manually
HTTP/1.1 200 OK
Content-Type: application/json
Sample:
Discover how to retrieve stock details for products at specific locations with the 'Check Inventory' subcategory.
Get the stock details of the product on the specific locations. To get the stock details, you will need to call the /checkInventory
endpoint with the POST method.
https://<host>/api/checkInventory
Example: https://demo-oms.hotwax.io/api/checkInventory
Content-Type: application/json
In case of checking a product's inventory at multiple facility.
In case of checking multiple product's inventory at single facility.
Sample
sku
The SKU of the product
N
sku_op
The operator to be used for the sku field
N
productId
HotWax Commerce internal product Id
N
facilityId
The HotWax Commerce facility Id where product inventory is located
N
facilityId_op
The operator to be used for the facility Id
N
sku_op
The operator to be used for the sku field
N
Note: It is required to pass either sku
or productId
.
HTTP/1.1 200 OK
Content-Type: application/json
count
Results count
docs
The array of results found
facilityId
The Id of the facility in HotWax
atp
The available to promise inventory of the product
The BOPIS (Buy Online, Pick-up In Store) Check Inventory API allows you to retrieve stock details for products at specific locations. By calling the /checkBopisInventory
endpoint with the POST method, you can check the availability of BOPIS inventory.
URL: https://<host>/rest/s1/ofbiz-oms-usl/checkBopisInventory
This API uses our next generation OMS instance. All traditional instances have access to this next generation OMS by replacing "oms" with "maarg" in the host name.
Production
Current Name: demo-oms
Maarg Name: demo-maarg
UAT
Current Name: demo-uat
Maarg Name: demo-maarg-uat
Example: https://demo-maarg.hotwax.io/rest/s1/ofbiz-oms-usl/checkBopisInventory
GET (Recommended if your library supports sending a body in a GET request) POST
Content-Type: application/json
Single product and facility
Multiple products and facilities
productStoreId
The ID of the product store
"STORE"
productIds
HotWax Commerce internal product ID
"11855"
internalNames
The well known ID of a product, usually UPC or SKU based on configuration
"XS-BLACK"
facilityIds
The HotWax Commerce facility ID where product inventory is located
"114"
inventoryGroupId
HotWax Commerce inventory group ID
"SHOPIFY_FAC_GRP"
If both productIds and internalNames are passed, the value of productIds will be honored.
Select Products
Products can be queried in the inventory API by both their HotWax ID or their internalName. The internal name refers to the UPC or SKU, whichever one is selected as a primary identifier during product configuration. While both fields are optional, one is requried to obtain a result.
productStoreId
Product Store represents a brand in HotWax Commerce. To obtain possible values, log into HotWax Commerce and view the product store list page for possible values.
inventoryGroupId Inventory groups are used to segregate inventory for different channels of sales. Obtain the inventory group ID by logging into HotWax Commerce Facilities App and browsing inventory groups.
HTTP/1.1 200 OK
Content-Type: application/json
ATP zeroed out due to the inventory checks
decisionReason
explanationProductStore
The facility is not associated with the product store.
PickUpFacility
The facility does not have PickUp enabled. Add it to the PickUp facility group to enable pickup.
InventoryGroup
The facility where the product is located does not cater its inventory to that channel.
AllowPickupInventoryGroup
Pickup is not allowed globally for the inventory group.
AllowPickupFacility
The facility where the product inventory is located is disabled for catering to BOPIS orders.
Each Decision Reason also comes with a detailed log of why the given check failed.
ProductStore - Facility ${facilityId} is not associated with Product Store ${productStoreId}.
PickUp Facility - Facility ${facilityId} is not a member of a PICKUP Facility Group.
Inventory Group - Facility ${facilityId} is not a member of ${inventoryGroupId} channel.
Product Inventory Group allowPickup - Pickup is not allowed for product ${productId} ${inventoryGroupId} inventory group.
Product Facility allowPickup - Pickup is not allowed for product ${productId} at facility ${facilityId}.
The Shipping Ckeck Inventory API allows to retrive the inventory details for the products at specific locations. By calling the /checkShippingInventory
endpoint of our next generation OMS with the POST/GET method, you can check the availability of the inventory available for shipping.
URL: https://<host>/rest/s1/ofbiz-oms-usl/checkShippingInventory
This API uses our next generation OMS instance. All traditional instances have access to this next generation OMS by replacing "oms" with "maarg" in the host name.
Production
Current Name: demo-oms
Maarg Name: demo-maarg
Example: https://demo-maarg.hotwax.io/rest/s1/ofbiz-oms-usl/checkShippingInventory
UAT
Current Name: demo-uat
Maarg Name: demo-maarg-uat
GET: When passing params in the URL
POST: When passing JSON body in the request
Content-Type: application/json
Using POST Method
Using GET Method
Using POST Method
Using GET Method
productStoreId
The ID of the product store
"STORE"
productIds
HotWax Commerce internal product ID
"11855"
internalNames
The well-known ID of a product, usually UPC or SKU based on configuration
"XS-BLACK"
facilityIds
The HotWax Commerce facility ID where product inventory is located
"114"
inventoryGroupId
HotWax Commerce inventory group ID
"SHOPIFY_FAC_GRP"
Notes
Either productIds
and internalNames
value is required, If both values are passed, then the value of productIds
will be honored.
This API does not necessarily require the inventoryGroupId
and facilityIds
, If both values are not provided API will return an inventory of products at all the locations.
Select Products
Products can be queried in the inventory API by both their HotWax ID or their internalName. The internal name refers to the UPC or SKU, whichever one is selected as a primary identifier during product configuration. While both fields are optional, one is required to obtain a result.
productStoreId
Product Store represents a brand in HotWax Commerce. To obtain possible values, log into HotWax Commerce and view the product store list page for possible values.
inventoryGroupId
Inventory groups are used to segregate inventory for different channels of sales. Obtain the inventory group ID by logging into HotWax Commerce Facilities App and browsing inventory groups.
HTTP/1.1 200 OK
Content-Type: application/json
decisionReason
explanationProductStore
The facility is not associated with the product store.
ProductFacility
The facility does not have PickUp enabled. Add it to the PickUp facility group to enable pickup.
InventoryGroup
The facility where the product is located does not cater its inventory to that channel.
AllowBrokeringInventoryGroup
Brokering is not allowed globally for the given inventory group.
AllowBrokeringFacility
The facility where the product inventory is located is disabled for brokering.
Each Decision Reason also comes with a detailed log of why the given check failed.
ProductStore - The facility ${facilityId} is not associated with Product Store ${productStoreId}.
Product Facility - The inventory for product ${productId} at facility ${facilityId} is not available.
Inventory Group - The facility ${facilityId} where the product ${productId} is located does not cater its inventory to that channel.
Inventory Group allowBrokering - Brokering of the product ${productId} for the inventory group ${inventoryGroupId} is not allowed globally.
Product Facility allowBrokering - The facility ${facilityId} where the product ${productId} inventory is located is disabled to cater to shipping orders.
Discover how to retrieve online ATP for products at specific locations with the 'getProductOnlineAtp' API
Store Associates need to access the online Available to Promise (ATP) inventory of products on their POS systems for sendsales orders. The getProductOnlineAtp
API facilitates retrieving the online ATP of a product from all locations except the one it's being ordered from. The API does not count the Online ATP of a facility in the following scenarios:
Inventory for the store placing the order.
Inventory from stores with sell online turned off.
Inventory for an SKU where the inventory is turned off in specific locations.
To fetch the online ATP details, make a POST request to the /getProductOnlineAtp
endpoint.
https://<host>/api/service/getProductOnlineAtp
Example https://demo-oms.hotwax.io/api/service/getProductOnlineAtp
Content-Type: application/json
idType
Specifies the type of identifier being used (e.g., "SKU")
idValue
The specific value of the SKU being referenced
productStoreId
Identifies the store or location within the system where the product is available
conditionMap
Contains conditions for filtering or specifying attributes related to the request
externalFacilityId_value
The value of the external facility ID
externalFacilityId_op
The operation or condition applied to the external facility ID (e.g., "notEqual")
HTTP/1.1 200 OK
Content-Type: application/json
onlineAtp
The online available to promise inventory of the product