Skip to main content

Product Stock

This article provides comprehensive information and documentation on a set of API methods specifically designed to handle product stocks. By leveraging these methods, users can retrieve, search, and create product stocks, allowing for seamless integration and management of product stock data within the system.

The article includes detailed explanations, parameter descriptions, and usage examples for each API method, empowering developers to effectively utilize the capabilities provided by the product stock API.

Get Product Stock

Product Stock is responsible for keeping track of stock details of the related product within the specified stock list. There might be more than one piece of stock information for a product. Each product and stock list key pair is unique.

ParameterData TypeDefaultInDescription
api_tokenstringheaderThe API key of the customer account
limitinteger10queryAmount of line items per page that will be returned
pageinteger1queryPage number to return

Request GET

This request is used to retrieve all product stock data according to the limit and page parameters.

‘content_type’ header represents the response type.

‘Authorization’ header is a required header for authentication. You can retrieve api_token with login.

Path: <code>product_stock/</code></strong>


import requests

url = "https://{customer_api_url}/api/i1/product_stock/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'content-type': 'application/json',
'Authorization': 'Token {}'.format(api_token)
}

params = {
'limit': '4',
'page': '1'
}

response = requests.get(url, headers=headers , params=params)
print(response.text)

Response

Response contains all stock data with given parameters. Response status is expected to be HTTP-200 Successful. Resource properties are in Python format.

PropertyData TypeDescription
product_skustringProduct SKU
stock_listidPrice list which includes the product
stockintegerAmount of stock
unit_typestringStocked quantity type. qty: Quantity, kg: Kilogram

“count” shows how many product stocks exist in the system.

“next” shows the next cursor url to retrieve the desired product stocks.

“previous” shows the previous cursor url to retrieve the desired product stocks.

“results” shows every product stock detail.


{
"count": 1012,
"next": "https://{customer_api_url}/api/i1/product_stock/?limit=4&page=2",
"previous": null,
"results": [
{
"id": 340,
"product_sku": "1116131001",
"stock": 100,
"stock_list": 1,
"unit_type": "qty"
},
{
"id": 887,
"product_sku": "1133718010",
"stock": 100,
"stock_list": 1,
"unit_type": "qty"
},
{
"id": 342,
"product_sku": "1116131003",
"stock": 100,
"stock_list": 1,
"unit_type": "qty"
},
{
"id": 343,
"product_sku": "1116131004",
"stock": 100,
"stock_list": 1,
"unit_type": "qty"
}
]
}

Create or Update Stock

This service has the upsert logic. If the stock list has the product SKU, the stock of the product will be updated with the given parameters. If there is no product SKU available in the stock list, a stock will be created in the list with the product SKU.

To create or update the stock of the product, it is necessary to know the ID of the stock list. How to get stock list ID and other details are explained under this section.

ParameterData TypeDefaultInRequiredDescription
api_tokenstringheaderYESThe API key of the customer account
product_skustringbodyYESProduct SKU
stock_listidbodyYESStock list which includes the product
stockinteger0bodyNOAmount of stock
unit_typeenum(string)qtybodyNOStocked quantity type qty: Quantity kg: Kilogram

Request POST

This request is used to create a new product stock according to the given body.

‘content_type’ header represents the response type.

‘Authorization’ header is a required header for authentication. You can retrieve api_token with login.

Path:<code>product_stock/</code></strong>


import requests
import json

url = "https://{customer_api_url}/api/i1/product_stock/"
api_token = "f532eXXXXXXXXXXXXXXXXX201XXXXX9332d"

headers = {
'content-type': 'application/json',
'Authorization': 'Token {}'.format(api_token)
}

data = {
'product_sku': '1116131001',
'stock': 500,
'stock_list': 2,
'unit_type': 'qty'
}
response = requests.post(url, headers=headers, data=json.dumps(data))
print(response.text)

Response

Returns the created stock data after successfully creating the stock. Successful response status is expected to be HTTP-201 Created.


{
"id": 1270,
"product_sku": "1116131001",
"stock": 500,
"stock_list": 2,
"unit_type": "qty"
}