4WS Suite
Home
API Reference
  • Data mangement API
  • Documents API
Home
API Reference
  • Data mangement API
  • Documents API
Fourwayshop
  1. Barcode
  • 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
        GET
      • Generate missing barcodes
        POST
      • Generate missing barcode for SKU
        POST
      • Insert barcode
        POST
      • Delete barcode
        DELETE
    • 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. Barcode

Delete barcode

DELETE
/api/v1/products/barcodes/{BARCODE}
Last modified:2025-02-07 14:45:35

API Documentation: Remove Specific Barcode#

This API allows the removal of a specific barcode identified by {BARCODE}. The operation will succeed if the barcode is not associated with any inventory movements, unless forced by setting the parameter ignore_movements=true (If the ignore_movements parameter is not set, its default value is false).
WARNING
Exercise caution when using this operation, especially when barcodes are tied to operational documents and inventory management.

Retrieving Product Barcodes#

To verify whether a barcode is linked to the suite, you can use two services:
Get SKU from barcode: Checks if a specific barcode exists on the product. (API Reference)
Get SKU's barcodes: Retrieves all barcodes associated with a specific product. (API Reference)

Restrictions on Barcode Removal#

Barcodes that have been included in warehouse or sales documents cannot be removed. This restriction ensures data consistency since these barcodes have already been used to manage inventory movements. However, it is possible to force deletion by bypassing this check using the ignore_movements=false parameter.
Barcodes in Documents
Deleting barcodes that are referenced in documents is a critical operation. It disrupts the alignment between products, SKUs/barcodes, documents, inventory, and warehouse movements.
Impact on Documents and Inventory: After removal, affected documents and inventory will still reflect the removed barcode. This discrepancy is further complicated if the barcode is later assigned to another product.
Warehouse Movements: Historical warehouse movements will show operations related to both the previous and current product assignments for the barcode.

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.
The barcode specified in {BARCODE} must exist in the system.

Main Success Scenario#

1.
The client sends a DELETE request with a valid {BARCODE} and optional query parameter ignore_movements.
2.
The API verifies that the barcode exists.
3.
If ignore_movements=false and there are no inventory movements associated with the barcode, it is removed, and the API returns a success message.
4.
If ignore_movements=true, the API will delete the barcode regardless of inventory movement status (not recommended).

Alternate Flows#

1.
Barcode Has Movement Constraints (409)
If ignore_movements=false and the barcode is associated with inventory movements, the API returns a 409 Conflict error.
Response:
{
  "message": "This SKU/barcode has been already moved"
}
2.
Barcode Not Found (404)
If the {BARCODE} does not exist, the API returns a 404 Not Found error.
Response:
{
  "message": "Product not found with barcode: {{barcode}}"
}

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

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

Query Params

Header Params

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 DELETE '/api/v1/products/barcodes/?ignore_movements=false' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json'

Responses

🟢200Success
application/json
Body

Example
{
    "success": true
}
🟠401Authentication failed
🟠403Operation not allowed
🟠422Unique constraint error
🟠423Bad Request
Modified at 2025-02-07 14:45:35
Previous
Insert barcode
Next
Get product prices
Built with