4WS Suite
Home
API Reference
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Prices
  • Four Way Shop API
  • Before start develop
  • Why we use Resource-oriented design
  • Technical Prerequisites
  • Concepts
    • Date Handling
    • Managing Languages
    • Handling Field Updates and Null Values in Service Requests
    • ISO Code
    • Vat rates
    • Product structure
    • Product Images
    • Product dimensions
    • Product pricing
    • Dimension group vs Dimension grouping
    • Subjects overview
    • Documents structure
  • Best Practices
    • Best Practices for Error Handling in External System
    • How Testing callback response
    • Best Practices for delopers
  • Data management
    • Authentication
    • Rate Limits
    • Paginated Responses
    • Getting Started
    • Use cases
      • Cataloging a Dimension
      • Create a New Product
      • Retriving a product details
      • Defining Product Pricing
      • Updating External System Product Catalog
      • Activate product dimensions and add barcodes to SKUs
      • Move a Barcode from One Product to Another
    • API
      • Login
        • login
      • 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 product
          • Get product grouping
          • Get SKU's barcodes
          • Get product stock
          • Insert product
          • Update product
        • 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
            GET
        • 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 All Price Lists
        • Get Single Price List
        • Get Prices by Price List Type
        • Get Prices by Price List Code
        • Get Entities by Price List Code
        • Insert Price List
        • Insert Product Price
        • Insert Entity On Price Lists
        • Update price list
        • Delete all product prices
        • Delete single product price
        • Delete entity from a price lists
        • Update Product price
      • 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
  • Documents
    • Authentication
    • Paginated responses
    • Managing API Callbacks
    • Document notifications
    • Customer promo data notifications
    • Use cases
      • Updating External System Stock
      • E-commerce Recipt Processing
      • E-commerce Return Receipt Processing
      • E-commerce Order sale Processing
      • E-commerce Return Order Processing
      • E-commerce Order Handling and Internal Stock Transfer
      • E-commerce & Gift Card
      • Creating a free entry
      • Retrieving a Document by Identifier
      • Cart Validation Service
      • Sale and Shipping costs
      • Handling Line Item Discounts
      • Managing Price Forcing in Cart Items
      • Purchase Order Registration
      • Supplier Goods Entry From Purchase Order
      • Update an Orchestrated Order
      • New Orchestrated Return Orders
    • API
      • Document Manager
        • Orders
          • Save Sale Order
          • Save Return Order
        • Orchestrated Orders
          • Orchestrated Order
          • Orchestrated Return order
          • Orchestrated Update order
          • Orchestrated Sale Order: Cancel Purchased Quantities
        • Cart
          • Cart Validation
          • Cart Full Validation
        • Sales
          • Save receipt
          • Salve only Order
          • Replace or update sale
          • Get last digital order
        • Warehouse
          • Save Entry from supplier
          • Save Transfer document
          • Save Free Entry
        • Purchase
          • Save Purchase
        • Get Document
        • Update Document External Reference & Note
      • Customer
        • Get Customer
        • Set Customer Opt-in
      • Loyalty vouchers
        • Get customer loyalty vouchers
        • Get loyalty vouchers at a time interval
        • Get last loyalty vouchers
      • Giftcard
        • Get Giftcard
        • Update Giftcard
        • Generate Gift Card Barcode
        • Gift Card PDF Generation
      • Stock
        • Get Stock
        • Get last stock
        • Insert Stock
  • ๐Ÿšซ KeepIT
    • Authentication
    • Use cases
    • Services
      • Insert/Update services
      • Delete services
    • Points
      • Insert/Update points
      • Calculate and Insert/Update Points
      • Delete points
    • Subjects
      • Check customers
      • Anonymize customers
      • Get subject data
      • Get customer discount
      • Insert/Update customer
      • Insert/Update billing customers
      • Insert/Update CRM customer
      • Insert/Update children
      • Change/Replacement card
      • Insert CRM user
    • Giftcards & Vouchers
      • Get giftcard
      • Insert/Update giftcards
      • Insert/Update Vouchers
    • Missed Opportunity
      • Get Lost Opportunities
      • Insert/Update missed opportunities
      • Delete missed opportunity
    • Suppliers
      • Insert/Update tailor
      • Insert/Update supplier
    • Mappings
      • Insert Mappings
      • Get Mappings
  1. Prices

Get product prices

GET
/api/v1/products/{ITEM_CODE}/prices
Last modified:2026-10-27 14:09:19

Retrieve Product Prices#

This API allows the retrieval of product prices for a specific product {ITEM_CODE}, with options to filter by entity reference (entity_code), price list (price_list), price list type (price_list_type), and validity start date (start_date). If no start_date is provided, the API returns the prices valid on the day of the API call.
To retrieve all the prices of a price list in a single paginated flow, instead of one call per product, use Get prices from price list.
Product pricing
For more detail about product pricing features please refer to Product pricing and Defining Product Pricing.

Actors#

API Client: The system or user initiating the request.
4ws.trade: The backend system that processes the request.

Preconditions#

The external system must have the necessary permissions and access to the service, please refer to Authentication.
The {ITEM_CODE} must be valid within the system.
If specified, entity_code, price_list and price_list_type (A, V, F or R) must be recognized by the system.

Main Success Scenario#

The API retrieves the list of prices associated with {ITEM_CODE}, optionally filtered by entity_code, price_list, price_list_type and start_date. If the product has variant-based pricing, each variant's price is included in the results.
{
  "item_code": "example_item",
  "price_management_type": "ITEM",
  "item_prices": [
    {
      "start_date": "2024-05-01",
      "end_date": "2024-12-31",
      "price": 33,
      "price_list_type": "R",
      "currency": "EUR",
      "dimension_level1": "size_L",
      "dimension_level2": "color_Red",
      "dimension_level3": "material_Wool",
      "dimension_level4": "style_Casual",
      "dimension_level5": "fit_Regular",
      "price_list": "seasonal_discount",
      "price_list_entities": [
        "store_1"
      ]
    }
  ]
}
INFO
For sale (discount) price lists:
The price field indicates the discounted price of the product.
The discount_perc field represents the percentage discount applied to the selling price.
๐Ÿ”น Rule for Interpreting price and discount_perc
The API exposes two alternative fields to represent a product discount:
price โ†’ the final discounted price
discount_perc โ†’ the discount percentage applied to the base selling price (selling_price)
Only one of the two fields is provided at a time: when price is provided, discount_perc is null, and vice versa.
The external system must compute the missing value based on the one that is present.

๐Ÿ”ธ Case 1 โ€” price provided
If the final price (price) is provided, the external system must calculate the discount percentage as follows:
Example:
selling_price = 100
price = 80
โ†’ discount_perc = 20%

๐Ÿ”ธ Case 2 โ€” discount_perc provided
If the discount percentage (discount_perc) is provided, the external system must calculate the final price (price) as follows:
Example:
selling_price = 100
discount_perc = 15
โ†’ price = 85

Alternate Flows#

1.
Missing or Invalid {ITEM_CODE}:
If {ITEM_CODE} is not recognized, the API returns an error indicating "item_code not found".
{
  "message": "Invalid input",
  "errors": {
    "msg": "item_code not found",
    "param": "item_code",
    "location": "body"
  }
}
2.
No Active Prices Available:
If there are no active prices for the specified filters, an empty item_prices list is returned.
3.
Errors for Other Parameters:
If parameters such as price_list or price_list_type are invalid, the API returns an error message with the specific parameter issue.

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#

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
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 --globoff '/api/v1/products//prices?entity_code={%%20faker%20datatype.number%20%}&price_list={%%20faker%20datatype.number%20%}&price_list_type={{%20[%27V%27%2C%20%27SALE%27%2C%20%27A%27%2C%20%27F%27%2C%20%27R%27]%20%7C%20random%20}}&start_date={{%20%24isoTimestamp%20%7C%20replace(%22T%22%2C%20%22%20%22)%20%7C%20substr(0%2C%2010)%20}}' \
--header 'Authorization: Bearer <token>'

Responses

๐ŸŸข200OK
application/json
Bodyapplication/json

Example
{
    "item_code": "quis",
    "price_management_type": "ITEM",
    "item_prices": [
        {
            "start_date": "2024-05-02",
            "end_date": "2024-05-01",
            "price": 33,
            "price_list_type": "R",
            "currency": "EUR",
            "dimension_level1": "in aute fugiat",
            "dimension_level2": "minim deserunt",
            "dimension_level3": "esse sunt eiusmod veniam Lorem",
            "dimension_level4": "Ut mollit",
            "dimension_level5": "Ut cillum",
            "price_list": "sed elit eiusmod labore",
            "price_list_entities": [
                "1"
            ]
        }
    ]
}
๐ŸŸ 422Prodotto non trovato
๐ŸŸ 401Authentication failed
๐ŸŸ 403Operation not allowed
๐ŸŸ 422Unique constraint error
Modified atย 2026-10-27 14:09:19
Previous
Delete barcode
Next
Get Dimension Price Grouping
Built with