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
      • 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
    • Get A Specific Supplier
      GET
    • Insert supplier
      POST
    • Update supplier
      PATCH
  • 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 supplier

POST
/api/v1/suppliers
Last modified:2025-02-07 15:05:10

Insert New Supplier Registration#

The goal of this API is to allow external systems to register suppliers from which they source products. The external system will provide the necessary information about the supplier, such as company name, address, VAT code, and other relevant details. Upon successful registration, the supplier will be stored in the 4ws.trade system.
This API enables external system to create a new supplier within the system. Once registered, this supplier can be subsequently utilized in the Insert product or the Update product for associating products.

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.
Required fields (such as supplier code and VAT code) must be provided by the external system.

Main Success Scenario#

1.
The external system sends a POST request to the API with the necessary supplier details.
2.
If the supplier is successfully registered, a 200 HTTP status is returned with the supplier's internal ID and subject code.
Request sample
{
    "supplier_code": "EXA01SUPP",
    "supplier_company_name": "Example Supplier name.",
    "address": "Via Roma 2",
    "zip_code": "12932",
    "city": "Roma",
    "country": "IT",
    "region": "LAZ",
    "province": "RM",
    "language": "IT",
    "currency": "EUR",
    "company_vat_code": "IT2948302323",
    "email": "example@mail.com",
    "phone": "2384930982430",
    "website": "www.example.com",
    "invoice_address": "Via Giallo 1",
    "invoice_zip_code": "49394",
    "invoice_city": "Roma",
    "invoice_country": "IT",
    "invoice_region": "LAZ",
    "invoice_province": "RM",
    "invoice_subject_company_name": "Example Invoice Inc.",
    "payment_code": "CONTANTI",
    "barcode": "283902749023",
    "note": "This is an example."
}
Response on success:
{
  "supplier": {
    "prog_id": 178175,
    "subject_code": "EXA01SUPP"
  }
}

Alternate Flows#

1.
Unique Constraint Error: If the supplier code already exists, the system returns a 422 error with the message:
{
  "message": "Unique constraint error"
}
2.
Missing Fields: If required fields are missing, the API will return a 400 error indicating the missing data.

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#

Request

Header Params

Body Params application/json

Example
{
   "supplier_code": "{{supplier_code}}",
   "supplier_company_name": "{{supplier_company_name}}",
   "address": "{{address}}",
   "zip_code": "{{zip_code}}",
   "city": "{{city}}",
   "country": "{{country}}",
   "region": "{{region}}",
   "province": "{{province}}",
   "language": "{{language}}",
   "currency": "{{currency}}",
   "company_vat_code": "{{company_vat_code}}",
   "email": "{{email}}",
   "phone": "{{phone}}",
   "website": "{{website}}",
   "invoice_address": "{{invoice_address}}",
   "invoice_zip_code": "{{invoice_zip_code}}",
   "invoice_city": "{{invoice_city}}",
   "invoice_country": "{{invoice_country}}",
   "invoice_region": "{{invoice_region}}",
   "invoice_province": "{{invoice_province}}",
   "invoice_subject_company_name": "{{invoice_subject_company_name}}",
   "payment_code": "{{payment_code}}",
   "barcode": "{{barcode}}",
   "note": "{{note}}"
}

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/suppliers' \
--header 'Authorization: Bearer XXX' \
--header 'Content-Type: application/json' \
--data-raw '{
   "supplier_code": "{{supplier_code}}",
   "supplier_company_name": "{{supplier_company_name}}",
   "address": "{{address}}",
   "zip_code": "{{zip_code}}",
   "city": "{{city}}",
   "country": "{{country}}",
   "region": "{{region}}",
   "province": "{{province}}",
   "language": "{{language}}",
   "currency": "{{currency}}",
   "company_vat_code": "{{company_vat_code}}",
   "email": "{{email}}",
   "phone": "{{phone}}",
   "website": "{{website}}",
   "invoice_address": "{{invoice_address}}",
   "invoice_zip_code": "{{invoice_zip_code}}",
   "invoice_city": "{{invoice_city}}",
   "invoice_country": "{{invoice_country}}",
   "invoice_region": "{{invoice_region}}",
   "invoice_province": "{{invoice_province}}",
   "invoice_subject_company_name": "{{invoice_subject_company_name}}",
   "payment_code": "{{payment_code}}",
   "barcode": "{{barcode}}",
   "note": "{{note}}"
}'

Responses

🟢200success
application/json
Body

Example
{
    "supplier": {
        "prog_id": 178175,
        "subject_code": "EXA01SUPP"
    }
}
🟠401Authentication failed
🟠403Operation not allowed
🟠422Unique constraint error
🟠422Invalid data message
Modified at 2025-02-07 15:05:10
Previous
Get A Specific Supplier
Next
Update supplier
Built with