Products Management

The Product Management module provides comprehensive functionality for creating, managing, and tracking products and services within the Syniotec API Platform.

Base URL:

https://integration-api.ram.syniotec.com/master-data/v1/product-management

Available Operations

  • POST /products - Create a new product
  • GET /products- Retrieve products with filtering and pagination
  • GET /products/{id} - Get product by ID
  • PATCH /products/{id} - Update product
  • DELETE /products/{id} - Delete product
  • GET /products/external-id/{id} - Get product by external ID
  • POST /products/{id}/attach - Attach product to another product
  • POST /products/{id}/detach - Detach product from another product
  • POST /products/{id}/price-list - Add price item to product price list
  • PUT /products/{id}/price-list/{priceId} - Edit price item in product price list
  • DELETE /products/{id}/price-list/{priceId} - Delete price item from product price list

Data Models & Schemas

Product Entity

{
  "id": "uuid",
  "externalId": "string",
  "title": "string",
  "number": "string",
  "additionalInformation": "string",
  "createdAt": "date-time",
  "updatedAt": "date-time",
  "type": "enum",
  "unitType": "enum",
  "defaultPeriodType": "enum",
  "defaultQuantity": "number",
  "authorId": "uuid",
  "organizationId": "uuid",
  "priceList": [],
  "customPriceList": [],
  "attachments": [],
  "attachedTo": []
}

Field Descriptions:

  • id - A unique identifier for the product
  • externalId - An identifier that connects this record to external systems or databases, facilitating integration with other platforms
  • title - The name of the product
  • number - Possibly a SKU, catalog number, or internal reference number. Value is either user-defined or auto-generated
  • additionalInformation - Any extra descriptive text or information related to the product
  • createdAt - Timestamp indicating when this product was first created in the system
  • updatedAt - Timestamp of the most recent update to this product
  • type - Indicates the nature of the item. Product can be either Resource either Service
  • unitType - The unit in which this resource is measured. See available optiosn here
  • defaultPeriodType - See available optiosn here
  • defaultQuantity - The standard or default quantity associated with this product, possibly for ordering or inventory purposes
  • authorId - ID of the user or system who created or owns this product
  • organizationId - ID representing the organization creating this product in system
  • priceList - Array of pricing records
  • customPriceList - Array of custom pricing records
  • attachments - Array of products which is attached to this product
  • attachedTo - Array of products this product is attached to

Enum Fields

periodType:

  • CALENDAR_DAYS - Price calculated based on calendar days
  • WORKING_DAYS - Price calculated based on working days only
  • ALT_CALENDAR_DAYS - Price calculated based on alternative calendar (6 working days include Saturday)

type:

  • EQUIPMENT - Equipment type product
  • PERSON - Person type product
  • SERVICE - Service type product

unitType:

  • PIECES - Pieces
  • DAYS - Days
  • LITERS - Liters
  • HOURS - Hours
  • KMS - Kilometers
  • TONNES - Tonnes
  • KILOGRAMS - Kilograms
  • LUMP_SUM - Lump sum

Product Price List Entity

Pricing information for products.

{
  "id": "uuid",
  "productId": "uuid",
  "price": "number",
  "from": "number"
}

Field Descriptions:

  • id - Unique identifier for the pricing record. Listing always represents the standard one
  • productId - References the parent product this price belongs to, original product referred previously
  • price - The cost per unit of this product for this range
  • from - Range from which current pricing is defined


Error Response DTO

Standard error response format.

{
  "status": "number",
  "success": "boolean",
  "message": "string",
  "error": "string"
}

Field Descriptions:

  • status - HTTP status code (400-503)
  • success - Boolean indicating the operation failed (false)
  • message - Human-readable error message
  • error - Error code identifier