4WS Suite
Home
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Product
  • Login
    • login
      POST
  • Product
    • Brand
      • Get All Brands
      • Get A Brand
      • Insert brand
      • Update brand
    • Season
      • Get All Seasons
      • Get A Season
      • Insert season
      • Update season
    • Attribute
      • Get All Attribute Types
      • Get Attribute Type
      • Get Attribute
      • Insert attribute
      • Update attribute
    • Hierarchy
      • Insert hierarchy
      • Update hierarchy
    • Dimension groups
      • Insert dimension group
      • Update dimension group
    • Dimension
      • Insert dimension
      • Update dimension
      • Delete dimension
    • Product
      • Get products
        GET
      • Get product
        GET
      • Get product grouping
        GET
      • Get SKU's barcodes
        GET
      • Get product stock
        GET
      • Insert product
        POST
      • Update product
        PATCH
    • Activate dimensions on products
      • Insert active dimensions
      • Delete active dimensions
    • Barcode
      • Get SKU from barcode
      • Generate missing barcodes
      • Generate missing barcode for SKU
      • Insert barcode
      • Delete barcode
    • Prices
      • Get product prices
    • Price dimension groupings
      • Get Dimension Price Grouping
      • Get All Dimension Price Grouping
      • Insert dimension grouping
      • Update dimension grouping
      • Delete dimension grouping
    • Assortment
      • insert product assortment
      • delete product assortment
    • Image
      • Get images
      • Add image
      • Replace image
      • Delete image
    • Supplier
      • Get Item suppliers
      • Insert item supplier
      • Delete item supplier
      • Update item supplier
    • Custom category
      • Get Custom code
      • Insert Custom code
      • Update Custom code
    • Vat
      • Vat types
        • Get VAT type
        • Get VAT types
      • VATs
        • Get VATs
        • Get VATs by type
        • Get VAT
      • Vat rates
        • Get VAT rates
        • Get single VAT rates
    • Stock
      • Insert stock
      • Get stock
  • Price lists
    • Get price lists
      GET
    • Get price lists by type
      GET
    • Get price list
      GET
    • Get prices from price list
      GET
    • Get entities from price lists
      GET
    • Insert Price List
      POST
    • Insert Product Price
      POST
    • Insert Entity On Price Lists
      POST
    • Update price list
      PATCH
    • Delete all product prices
      DELETE
    • Delete single product price
      DELETE
    • Delete entity from a price lists
      DELETE
  • Supplier
    • Supplier contacts
    • Supplier addresses
    • Get Suppliers
    • Get A Specific Supplier
    • Insert supplier
    • Update supplier
  • Entities
    • Get entities
    • Get entity
    • Insert entity
    • Update entity
  • Miscellaneous
    • Get requests rate limits
  • Catalog
    • Get Catalogs details
    • Get Catalog details by Code
    • Get products by Catalog Code
  • Export
    • Get bulk CSV Export
  1. Product

Get product stock

GET
/api/v1/products/{ITEM_CODE}/stocks
Last modified:2025-04-08 12:12:26
Available from release:3.1.2

Retrieve Product Stock Across Warehouses and Stores#

This API provides the ability to retrieve stock levels of a specific product identified by its ITEM_CODE. The response includes details for each store or warehouse where the product is stocked, segmented by SKU. Pagination is supported for managing large datasets.
The API supports pagination to navigate through large lists of product stocks.
Paginated Responses
The service is paginated to handle large sets of data efficiently.
For detailed information on how to handle pagination, refer to our Paginated Responses

Actors#

API Client: The system or user initiating the request.
4ws.suite Platform: The backend system that processes the request and returns the stock data.

Preconditions#

The external system must have the necessary permissions and access to the service, please refer to Authentication.
The ITEM_CODE provided must correspond to an existing product in the system.
Pagination parameters cursor and nextCursor must be correctly configured in the request.

Main Success Scenario#

If the request is successful, the system will return an HTTP 200 response with the paginated list of product stock and a nextCursor indicating whether there are more stock to retrieve. If nextCursor is setted, the external system must be call again, this service, setting cursor as nextCursor value.
Sample Success Response
Other types of quantities
The API returns the quantities tracked by the document movements.
Those who use the API will therefore have to take care of any calculations to deduce other types of quantities.
For example, if you need to know the available quantity, this can be obtained with the formula: quantity_stock - quantity_committed.
Using API for ecommerce inventory data#
1.
The e-commerce system sends a GET request to the getStock API.
2.
The API fetches inventory data for the requested barcode from entities with the ECOMMERCE channel enabled.
3.
The API responds with the available stock details, including the stock count and branch information.
Here is a code example.

Alternate Flows#

Authentication Error: If the client does not provide valid credentials, an error response is returned.
Error Example
No Stock Available: If no entities have available stock for the given barcode, the API returns an empty stock response.
Invalid Product Code: If the provided ITEM_CODE does not exist or is incorrect, the API responds with HTTP 422 and an error message
Error Example
Invalid barcode :The specified barcode is not associated with any SKU.
Error Example
barcode not associated with the product: The specified barcode is not associated with the product.
Error Example
Cursor & PageSize Used Together: Cursor and PageSize parameters in the request: If you specify a Cursor you cannot specify the page size. This information will already be contained within the cursor.
Error Example
Pagination Error: If invalid cursor parameters are provided, an error response is returned.
Rate Limiting: If the API rate limits are exceeded, the client must respect the retry interval indicated in the response headers Rate Limits.

Sequence Diagram#

Best Practices
Please refer to Best Practices for Error Handling in External System for best practices on implementation.

Code Examples in Node.js#

Example Request with Pagination Handling:

Request

Path Params

Query Params

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request GET '/api/v1/products//stocks?cursor=&pageSize=&entity_code=&barcode=&dimension_level1=&dimension_level2=&dimension_level3=&dimension_level4=&dimension_level5='

Responses

🟢200GET Product stocks
application/json
Body

Example
{
    "stocks": [
        {
            "entity_code": 123,
            "item_code": "string",
            "dimension_level1": "0-3",
            "dimension_level2": "7",
            "quantity_stock": 100
        },
        {
            "entity_code": 123,
            "item_code": "string",
            "dimension_level1": "0-3",
            "dimension_level2": "8",
            "quantity_stock": 10
        }
    ],
    "nextCursor": "eyJwYWdlIjoyLCJwYWdlU2l6ZSI6MTB2"
}
🟠422Invalid pageSize
🟠401Authentication failed
🟠404Product not found with item_code
Modified at 2025-04-08 12:12:26
Previous
Get SKU's barcodes
Next
Insert product
Built with