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

Update product

PATCH
/api/v1/products/{ITEM_CODE}
Last modified:2025-02-07 14:43:52

Updating a Product in 4WS.Trade#

This use case allows an external system to update product information in the 4WS.Trade product catalog. The update might include changes to the product's description, composition, supplier codes, and dimension groups.

Actors#

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

Languages#

To understand how languages are managed, please refer to our Managing Languages Documentation.

Preconditions#

The product with the provided item_code must already exist in the 4WS.Trade catalog.
The external system must have the necessary permissions and access to the document creation service, please refer to Authentication.

Main Success Scenario#

1.
The external system sends a PATCH request to the 4WS.Trade API with the product's updated attributes.
2.
The 4WS.Trade system processes the update and modifies the product information.
3.
If the update is successful, the system returns an HTTP 200 status with the updated product details.
    {
      "product": {
        "prog_id": "90941",
        "item_code": "MININTSAB-52311090940"
      }
    }
CAUTION
By default, you cannot change the dimension group of an item that has been used in a document. To bypass this check, specify ignore_movements as true.

Alternate Flows#

**Product Not Found: If the item_code does not exist, the system returns a 422 error with a message like: Product not found with item_code: {{itemCode}}.
    {
      "message": "Product not found with item_code: {{itemCode}}"
    }
**Invalid Data: If any required fields are missing or incorrectly formatted, the system returns a relevant HTTP error, such as 400 (Bad Request) or 422 (Unprocessable Entity), with details about the issue.

Sequence Diagram#

Below is a sequence diagram illustrating the interaction between the external system and 4WS.Trade for updating a product.
Best Practices
Please refer to Best Practices for Error Handling in External System for best practices on implementation.

Code Examples in Node.js#

Here is an example of how to use the API in Node.js:
This code demonstrates how to send a PATCH request using Axios in Node.js to update a product's details in 4WS.Trade.

Request

Authorization
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
Path Params

Body Params application/json

Example
{
    "description_it" : "Articolo Modificato",
    "composition" : "Cotone 100%",
    "main_supplier_code": "2",
    "item_supplier_code": "Codice esterno",
    "dimension_group1": "10",
    "dimension_group2": "COLORE"
}

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 PATCH '/api/v1/products/' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "description_it" : "Articolo Modificato",
    "composition" : "Cotone 100%",
    "main_supplier_code": "2",
    "item_supplier_code": "Codice esterno",
    "dimension_group1": "10",
    "dimension_group2": "COLORE"
}'

Responses

🟢200Success
application/json
Body

Example
{
    "product": {
        "prog_id": "90941",
        "item_code": "MININTSAB-52311090940"
    }
}
🟠401Authentication failed
🟠404Product not found with item_code
🟠401Revoked refresh token
🟠403Operation not allowed
🟠423Fail to update item_code
🟠422Unique constraint error
Modified at 2025-02-07 14:43:52
Previous
Insert product
Next
Insert active dimensions
Built with