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

Insert item supplier

POST
/api/v1/products/{ITEM_CODE}/suppliers
Last modified:2025-02-07 14:56:52

New Supplier Association to a Product#

This API can used by an external system for associates a new supplier with a product by invoking an API. The system sends a request to link a specific supplier to the given product, optionally marking the supplier as the primary supplier.

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#

1.
The external system sends a POST request to associate a supplier (supplier_code) with a product (ITEM_CODE).
2.
If the supplier is successfully associated, the API returns a success response with the details of the association:
{
  "prog_id": 178175,
  "subject_code": "SUP001",
  "item_code": "ITEM001",
  "success": true
}
3.
If the supplier is marked as the primary supplier (main: true) and no other primary supplier is associated, the supplier will be successfully marked as the main supplier.
4.
The system processes the response and confirms the successful association.

Alternate Flows#

1.
Supplier Already Marked as Main:
If a supplier is already marked as the primary supplier, the API returns an error response:
{
  "message": "error"
}
In this case, the external system must first disassociate ìthe current primary supplier before associating a new primary supplier calling Update item supplier with same ITEM_CODE and this body
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 a 404 error 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 (Mermaid)#

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

Code Examples in Node.js#

Here's an example of associating a supplier with a product using Node.js and Axios:
In this example, the associateSupplierWithProduct function handles both the successful association of a supplier and error scenarios, such as when a supplier is already marked as the main supplier.

Request

Path Params

Body Params application/json

Example
{
    "supplier_code": "{{supplier_code}}"
}

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

Responses

🟢200Success
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 exits
Modified at 2025-02-07 14:56:52
Previous
Get Item suppliers
Next
Delete item supplier
Built with