Inventory
Set price and stock per store and read the audit trail. An item is the store-scoped record for a product (price, discount, stock, shelf location). Use stock-override to cap or buffer purchasable quantity by product, category or tag.
https://zopping.comItems (price & stock)
The store-scoped sellable record. Upsert one per productId + storeId. Set mrp, discount and stock; use unlimitedStock for made-to-order or unbounded items. You may key by your own ids with clientItemId / clientStoreId.
| Field | Type | Description |
|---|---|---|
productId | integerrequired | Product/variant this item is for. |
storeId | integerrequired | Store this price/stock applies to. |
organizationId | stringrequired | |
stock | integer | Absolute available stock. |
stockDelta | integer | Adjust stock by a relative amount instead of absolute. |
mrp | number | Maximum retail price. |
discount | number | Discount off MRP. |
unlimitedStock | boolean | Treat as always in stock. |
status | enum | ENABLED or HIDDEN. |
clientItemId | stringkey | Your external product id. |
clientStoreId | stringkey | Your external store id. |
hsnCode | string | Tax HSN code. |
location | object | Shelf location: aisle, rack, position. |
/api/inventory-service/itemList items
Returns price & stock for the given products in a store.
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | integer· query | |
storeIdrequired | integer· query | |
productIdrequired | string· query | Product id(s), comma-separated. |
sellerID | integer· query |
curl "https://zopping.com/api/inventory-service/item?organizationId=<org-id>&storeId=<store-id>&productId=88120" \
-H "Authorization: Bearer $ZOPPING_TOKEN"/api/inventory-service/itemUpsert an item
Create or update the price and stock for a product in a store.
curl -X POST https://zopping.com/api/inventory-service/item \
-H "Authorization: Bearer $ZOPPING_TOKEN" -H "Content-Type: application/json" \
-d '{"organizationId":"<org-id>","productId":88120,"storeId":"<store-id>","stock":240,"mrp":28.0,"discount":2.0,"status":"ENABLED"}'{
"organizationId": "<org-id>",
"productId": 88120,
"storeId": "<store-id>",
"stock": 240,
"mrp": 28,
"discount": 2,
"status": "ENABLED",
"location": {
"aisle": "12",
"rack": "4",
"position": "B"
}
}/api/inventory-service/item/{id}Update an item
Path `id` is the `productId`. Send `stockDelta` to adjust stock relatively.
| Parameter | Type | Description |
|---|---|---|
idrequired | integer· path | Product id. |
/api/inventory-service/item/{id}Delete an item
Inventory log
A read-only audit trail of stock changes — who changed what, by how much, and the resulting stock.
| Field | Type | Description |
|---|---|---|
productName | stringread-only | |
storeName | stringread-only | |
stockDelta | integerread-only | Change applied. |
stock | integerread-only | Stock after the change. |
reason | stringread-only | |
date | stringread-only |
/api/inventory-service/inventory-logList stock changes
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | integer· query | |
storeId | integer· query | |
productId | string· query | Product id(s), comma-separated. |
{
"inventoryLog": [
{
"productName": "Tata Salt 1kg",
"storeName": "MG Road",
"stockDelta": 50,
"stock": 240,
"reason": "RESTOCK",
"date": "2026-06-20"
}
],
"count": 1,
"limit": 20,
"offSet": 0
}Stock overrides
Constrain purchasable quantity beyond raw stock — a safety stockBuffer, min/max purchasable limits, or bulk thresholds — scoped by PRODUCT, CATEGORY or TAG and optionally by DELIVERY/PICKUP.
stock says how many you have; a *stock override* governs how many a shopper may actually buy. Reach for it to hold back a safety buffer (never sell the last N units), cap quantity per order (e.g. "max 2 per customer"), or set different limits for delivery vs pickup — applied to one product or a whole category/tag.StockOverrideextension| Field | Type | Description |
|---|---|---|
organizationId | stringrequired | |
storeId | integer | |
type | enum | PRODUCT · CATEGORY · TAG. |
entityId | integer | Id of the product/category/tag. |
stockBuffer | integer | Safety stock held back from sale. |
maxPurchasableStock | integer | |
minPurchasableStock | integer | |
orderType | enum | DELIVERY or PICKUP. |
/api/catalogue-service/stock-overrideList stock overrides
| Parameter | Type | Description |
|---|---|---|
organizationIdrequired | string· query | |
storeId | integer· query | |
type | enum· query | |
entityId | integer· query |
/api/catalogue-service/stock-overrideSet a stock override
{
"organizationId": "<org-id>",
"storeId": "<store-id>",
"type": "PRODUCT",
"entityId": 88120,
"stockBuffer": 10,
"maxPurchasableStock": 20,
"orderType": "DELIVERY"
}/api/catalogue-service/stock-override