4WS Suite
Home
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Price lists
  • 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 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
    • 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. Price lists

Insert Product Price

POST
/api/v1/priceLists/{PRICE_LIST_TYPE}/{PRICE_LIST_CODE}/prices
Last modified:2025-02-21 13:14:07

Insert Product Prices#

This API allows adding a product and its price to a specific price list by specifying the PRICE_LIST_TYPE (type of price list), PRICE_LIST_CODE (price list code), and item_code (product code). The client can also provide a start_date and price for the product.
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.

History of product prices#

The suite allows you to manage the history of price changes for a product, each price has a start of validity and end of validity date.
A product considered a given document will have only one price per type (sale, purchase, invoice, etc...).
Valid start date passed#
If you want to add a price to the product, but with a validity start date in the past (compared to the date of invocation of the service), the date of validity ceased to be the day before the validity start date of the next price will also be valorised.
1
Starting
The product MAGLIA1234 has a sales price of €19.99 valid starting from 20/05/2024 and there is no price with a subsequent date.
2
new price with validity date before 05/20/2024
The insertion of a price for the product MAGLIA1234 with price 20.99€ valid starting from 15/05/2024 also causes its ceased validity date to be updated to ** 19/05/2024**.
3
Document with movement date 05/15/2024
If a document with movement date 15/05/2024 is registered, the price of the product will be €20.99.
The historical price progression of the product MAGLIA1234 will be:
from the date 15/05/2024 to 19/05/2024 the price is €20.99.
from the date 20/05/2024 onwards the price is €19.99.
Future validity start date#
If you want to add a price to the product, but with a future validity start date (with respect to the date of invocation of the service), two cases can occur.
First price
In this case the price will be entered with the desired validity start date and termination date of 2999-12-31.
Not first price
Prices by size range#
It is possible to add prices to products managed with price range per size by valuing dimensiong_grupping with the range.
Specify the value BABY in the dimensiong_grupping field and the price in price.
{
    "item_code": "MB1234564",
    "start_date": "2024-05-06",
    "price": "150",
    "dimension_grouping": "BABY"
}
In this way all sizes in the range will assume that price starting from the start_date.

Preconditions#

The external system must have the necessary permissions and access to the document creation service, please refer to Authentication.
The PRICE_LIST_TYPE and PRICE_LIST_CODE must correspond to an existing price list in the system.
The item_code provided must correspond to an existing product in the system.

Main Success Scenario#

1.
The API client sends a POST request with the PRICE_LIST_TYPE, PRICE_LIST_CODE, item_code, start_date, and price.
2.
If successful, the API returns a response with a success message, the prog_id of the inserted price, the effective price, and the start_date.

Alternate Flows#

1.
Price List Not Found: If the specified PRICE_LIST_CODE does not exist, the API returns an error message:
{
  "message": "Price list not found"
}
2.
Product Not Found: If the specified item_code does not exist, the API returns an error message:
{
  "message": "Product not found with item_code: {{item_code}}"
}

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 Node.js code for adding a product to a price list:

Request

Path Params

Body Params application/json

Example
{
    "item_code": "{{item_code}}",
    "start_date": "{{start_date}}",
    "price": "{{price}}",
    "dimension_grouping": "{{dimension_grouping}}"
}

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 POST '/api/v1/priceLists/V/LIST_VEND_EUR/prices' \
--header 'Content-Type: application/json' \
--data-raw '{
    "item_code": "{{item_code}}",
    "start_date": "{{start_date}}",
    "price": "{{price}}",
    "dimension_grouping": "{{dimension_grouping}}"
}'

Responses

🟢200Success
application/json
Body

Examples
{
    "success": true,
    "pricesInserted": [
        {
            "prog_id": 192658,
            "price": 150.24,
            "start_date": "2024-05-09"
        }
    ]
}
🟠401Authentication failed
🟠403Operation not allowed
🟠404This dimension grouping doesn't exits
🟠422Esiste già un prezzo per il prodotto in quella data
🟠404Product not found with item_code
🟠422Validità prezzo non corretta
Modified at 2025-02-21 13:14:07
Previous
Insert Price List
Next
Insert Entity On Price Lists
Built with