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}.