4WS Suite
Home
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Supplier
  • 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
        GET
      • Insert item supplier
        POST
      • Delete item supplier
        DELETE
      • Update item supplier
        PATCH
    • 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. Supplier

Update item supplier

PATCH
/api/v1/products/{ITEM_CODE}/suppliers/
Last modified:2025-02-07 14:57:11

Updating Supplier Association with Products#

This API allows an external system to update the association of a supplier with products in the inventory. Specifically, it can modify whether the supplier is designated as the main supplier for a given product.

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 document creation service, please refer to Authentication.

Main Success Scenario#

The external system sends a PATCH request to update whether the supplier is the main supplier for the product specified in the {ITEM_CODE}.
If no other supplier is marked as the primary supplier, the update will be successful, and the supplier will be associated with the product accordingly.
Successful Response:
{
  "prog_id": 178175,
  "subject_code": "EXA01SUPP",
  "item_code": "xxxxx",
  "success": true
}

Alternate Flows#

1.
Primary Supplier Already Exists: If a primary supplier is already assigned to the product, the API returns an error (HTTP 403). The response includes the supplier code of the current primary supplier:
{
  "message": "The supplier with code {supplier_code} is already associated as the primary supplier for the product.",
  "supplier_code": "{supplier_code}"
}
To resolve this, the external system must first deactivate the current primary supplier before making the new assignment.
2.
Invalid Supplier Code:
If the supplier_code provided does not exist or is invalid, the API will return an error (HTTP 422).
3.
Missing Product:
If the ITEM_CODE does not exist in the system, the API will return an error (HTTP 422) indicating the product was not found.

Callback Response#

This API does not involve callbacks. The response is returned immediately after the API call is processed.

Sequence Diagram#

Best Practices
Please refer to Best Practices for Error Handling in External System for best practices on implementation.

Code Example in Node.js#

Here is an example of how to update a supplier association for a product in Node.js:
This script updates the supplier for a product, marking it as the primary supplier if main is set to true. If an error occurs, it handles the 403 response and logs the appropriate message.

Request

Path Params

Body Params application/json

Example
{
    "supplier_code": "{{supplier_code}}",
    "main": false
}

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//suppliers/' \
--header 'Content-Type: application/json' \
--data-raw '{
    "supplier_code": "{{supplier_code}}",
    "main": false
}'

Responses

🟢200POST/PATCH/DELETE Errore record non trovato
application/json
Body

Examples
{
    "prog_id": 178175,
    "subject_code": "EXA01SUPP",
    "item_code": "xxxxx",
    "success": true
}
🟠401Authentication failed
🟠403Operation not allowed
🟠422Product not found
🟠422Supplier code not found
🟠403Main supplier exists
Modified at 2025-02-07 14:57:11
Previous
Delete item supplier
Next
Get Custom code
Built with