4WS Suite
Home
API Reference
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Use cases
  • 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
        • 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 price lists by type
        • Get price list
        • Get prices from price list
        • Get entities from price lists
        • 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
      • 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
        • 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 references
      • 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
    • Articles (deprecated)
      • Get Articles
      • Insert/Update dimensional groups
      • Insert/Update price groupings
      • Insert/Update dimensions
      • Insert/Update attributes
      • Insert/Update hieararchies
      • Insert/Update seasons
      • Insert/Update articles
      • Insert/Update Articles Master data
      • Insert/Update Lists
      • Insert/Update Dimensions Groups
      • Create EAN13 barcode
      • Insert/Update Barcode
      • Assign dimensions to groupings
    • Price Lists (deprecated)
      • Insert price list
      • Add entity to price list
      • Add item price to price list
      • Insert sale profile
      • Insert sale period
      • Add item price to sale period
    • Stock (deprecated)
      • Get Stock
      • Get Stock Date
      • Get Stock CSV
      • Insert/Update Stock
    • Sales (deprecated)
      • Insert/Update sales
      • Delete sales
      • Upload printer sales archive
    • Deposit (deprecated)
      • Insert/Update deposits
    • 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
    • Documents (deprecated)
      • Insert documents
      • Get document
    • Catalogs
      • Get Catalog
      • Insert/update catalog
      • Insert/Update hierarchies item catalog
      • Insert/Update entity clusters
    • Suppliers (deprecated)
      • Insert/Update tailor
      • Insert/Update supplier
    • Export (deprecated)
      • Get Items Export
      • Get Barcodes Export
      • Get Prices Export
      • Get Customers Export
      • Get Suppliers Export
      • Get Sales Export
      • Get Movements Export
      • Get Vouchers Export
    • Configuration Mobile Shop (deprecated)
      • Insert/Update Entities
      • Insert Seller
    • Mappings
      • Insert Mappings
      • Get Mappings
  • Schemas
    • Documenti
      • List document
      • TAX DOCUMENT RECEIPT
    • Data management
      • Subjects
        • Crm01Subjects
        • Crm04Cards
        • Crm02SubjectTypes
        • Crm03SubjectSubtypes
        • Crm05CardTypes
        • Crm06CardSubtypes
        • Paginazione sample
        • Crm41Privacy
        • Crm11Contacts
        • Ini23PrivacyTypes
        • Crm10ContactTypes
        • Crm18Circuits
        • Crm33SubjectDestinations
        • Ini05DestinationTypes
      • Products
        • Season
        • Season response POST
        • Product
        • Dimension Group
        • Dimension
        • Barcode
        • Price dimension groupping
        • Supplier
        • Hierarchy
        • Custom Category
      • Catalog
        • Art41ItemCatalogHierarchies
        • Art42ItemCatalogHieLevels
        • Catalog
        • Products catalog
      • Entities
        • Entity
      • Pricelist
        • Pricelist
      • VAT
        • vatTypes
        • VAT
        • vatRates
      • Stock
        • Product Stock
      • Deposits
  1. Use cases

Create a New Product

Create a New Product#

An external system needs to create a new product in the Four Way Shop.
Product creation is a multi-step process that depends on the prior configuration of several master data entities (dimensions, brand, attributes, etc.).
The system will return the internal identifier (prog_id) and the product code (item_code) once the product is successfully created.
Important
Product creation is not an isolated operation. It requires that all dependent master data entities are already configured and available in the tenant.

Use Case Description#

This use case describes the end-to-end process that an external system must follow to correctly create a product in Four Way Shop, including:
Dependency setup (master data)
Product creation
Dimension and barcode activation
Price assignment
Image association

Actors#
API Client: The system or user initiating the request.
Four Way Shop API: The backend system that processes the request.

Preconditions#
The tenant must be properly configured with:
Dimension Types
Hierarchy Types
The following master data must already exist:
Dimensions
Brands
Countries (Made In)
Seasons
Size Groups
Attributes
Hierarchies
The external system must have the necessary permissions and access to the document creation service, please refer to Authentication.
Read this
Product structure
Dimension group vs Dimension grouping
Product dimensions
Product pricing
Product Images
All referenced codes (e.g., brand_code, season_code) must be valid.

APIs Used#

Master Data APIs#
Brands
→ Get All Brands
→ Insert brand
Seasons
→ Get All Seasons
→ Insert season
Dimensions Groups
→ Insert dimension group
Dimensions
→ Insert dimension
Attributes Types
→ Get All Attribute Types
Attributes
→ Insert attribute
Hierarchies
→ Insert hierarchy
Product APIs#
Create Product → Product structure
Assign Barcodes → Insert barcode
Autogenerate barcode
It is possible to generate barcodes directly through Four Way Shop by enabling product dimensions, please follow this use case.
Activate product dimension and add barcodes to SKUs
Pricing APIs#
Price Lists → Defining Product Pricing
Media APIs#
Product Images → Product Images

Main Success Scenario#

1.
Verify Master Data
Ensure all required entities exist.
2.
Create Dimensions
Call POST /api/v1/dimensions/{DIMENSION_TYPE}/{DIMENSION_GROUP}/
3.
Create Product
Call POST /api/v1/products
4.
Assign Barcodes
Call POST /api/v1/products/{ITEM_CODE}/barcodes
5.
Assign Prices
Use pricing APIs
6.
Upload Product Image
Use media APIs

Example Success Response
{
  "product": {
    "prog_id": 120394,
    "item_code": "TSHIRT-SS25-001"
  }
}

Alternate Flows#

Authentication Error: If the client does not provide valid credentials, an error response is returned.
Error Unauthorized Example
Missing Master Data
Error Example
Dimensions Creation Failure
Error Example
Duplicate Product Code
Error Example
Barcode Already Assigned
Error Example

Callback Response#

{
  "status": "SUCCESS",
  "product": {
    "prog_id": 120394,
    "item_code": "TSHIRT-SS25-001"
  }
}

Sequence Diagram in mermaid#


Code Examples in Node.js#

Modified at 2026-05-04 10:41:56
Previous
Cataloging a Dimension
Next
Retriving a product details
Built with