Skip to content

Introduce REST endpoints to fetch saleable quantity / stock data for a list of skus #3415

Open
@SamJUK

Description

@SamJUK

Description (*)

According to the documentation at https://developer.adobe.com/commerce/webapi/rest/inventory/check-salable-quantity/
We currently have REST endpoints for checking both, if a single sku or multiples skus are saleable. Via the following routes

GET /V1/inventory/is-product-salable/:sku/:stockId
GET /V1/inventory/are-products-salable/:skus[]/:stockId

Although when it comes to fetching the actual saleable quantity, there is only a endpoint to check a singular product at a time.

GET /V1/inventory/get-product-salable-quantity/:sku/:stockId

In the context of external ERP systems / marketplaces, it quite common to perform regular stock retrieval from Magento to ensure accurate stock counts. Currently this means making a single request for each product, which for large catalogs can amount to a lot of requests & wasted bandwidth compared to being able to batch multiple products into a single request.

Expected behavior (*)

Offer a endpoint to fetch saleable qty for multiple products similar to are-products-saleable.

GET GET /V1/inventory/get-products-salable-quantities/:sku[]/:stockId

Benefits

  • Reduction in needed REST calls for fetching stock data when working with large sets of catalog products.
  • Reduction in system & database load (compared to individual calls per product)
  • Reduced bandwidth usage & carbon emissions (compared to individual calls per product)

Additional information

Functionality seems to be a popular request in the magento2 repository, with people requiring stockItems on the product list endpoint, see the references below.

See the following comment on one of the PRs from Sidolov, around removing the stock data from the catalog REST endpoints. Although currently there seems to be no alternative to bulk load stock/qty data for a set of skus. magento/magento2#28435 (comment)

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions