Register Product
This guide explains how to create and manage products (Sales) based on components.
A product is a commercial unit configured using components. Use the component ID created in the previous step to generate a selling product.
You must include the X-API-KEY in the header of all API requests. Refer to the "How to Use the API" guide for instructions on how to issue it.
X-API-KEY: {x-api-key}Create Product
POST /api/v1/sales
Prepare Required Information
To create a product, you need the basic product details and the component ID generated in the previous step.
Main Request Fields:
isPersonal
boolean
✅
Personal library flag
images
array
✅
List of image IDs (can be an empty array [])
previewImage
string
Representative/Thumbnail image ID
category
object
Category information
components
object
Constituent components (including component ID)
Product Basic Info (info):
name
string
✅
Product name
translatedNames
array
✅
Multilingual names
description
array
✅
Product descriptions
tags
array
✅
Tag keywords
brandCode
string
Brand code
code
string
Product code
website
string
Website URL
Send Request
POST /api/v1/sales
X-API-KEY: {x-api-key}
{
"info": {
"name": "Sofa",
"translatedNames": [
{ "code": "en", "value": "Sofa" },
{ "code": "ko", "value": "소파" }
],
"description": [
{ "code": "en", "value": "A comfortable 3-seater sofa." },
{ "code": "ko", "value": "편안한 3인용 소파입니다." }
],
"tags": ["sofa", "livingroom"],
"brandCode": "BRAND_001"
},
"images": ["img_001"],
"isPersonal": false,
"components": {
"options": [
{
"componentId": "cmp_def456",
"optionValue1": "Default",
"price": { "value": 350000, "unit": "KRW" }
}
]
}
}Check Response
{
"result": "SUCCESS",
"data": {
"id": "sale_ghi789",
"enterpriseId": "ENT_ABC123",
"userId": "usr_xyz",
"name": "Sofa",
"translatedNames": [
{ "code": "en", "value": "Sofa" },
{ "code": "ko", "value": "소파" }
],
"description": [
{ "code": "ko", "value": "편안한 3인용 소파입니다." }
],
"tags": ["sofa", "livingroom"],
"brandCode": null,
"code": null,
"website": null,
"minPrice": { "value": 0, "unit": "KRW" },
"categories": [],
"previewImage": {
"id": "img_001",
"name": "sofa_preview",
"url": "https://..."
},
"images": [],
"components": {
"optionKeys": ["Option"],
"records": [
{
"id": "rec_001",
"order": 0,
"price": { "value": 0, "unit": "KRW" },
"options": [{ "key": "Option", "value": "Default" }],
"previewImage": null
}
]
},
"createdAt": "2026-04-04T10:02:00Z",
"updatedAt": "2026-04-04T10:02:00Z"
}
}Get Product List
GET /api/v1/sales
offset
integer
✅
Page number (starts from 0)
limit
integer
✅
Page size (1–100)
userId
string
User ID filter
name
string
Name search keyword
code
string
Product code
sku
string
SKU
brandCode
string
Brand code
categoryIds
array
List of category IDs
sortType
string
Sorting criteria
Get Single Product
GET /api/v1/sales/{id}
Update Product
Full Update
PUT /api/v1/sales/{id}
The Request Body structure is identical to that of the product creation endpoint.
Update Basic Info Only
PATCH /api/v1/sales/{id}/info
Manage Product Options
You can configure multiple components into a single product by adding options such as colors and sizes.
Add Options
POST /api/v1/sales/{id}/options
Update Options
PATCH /api/v1/sales/{id}/options
The Request Body structure is identical to that of the Add Options endpoint.
Update Option Price
PATCH /api/v1/sales/{id}/options/{componentId}/price
Delete Option
DELETE /api/v1/sales/{id}/options
Setting deleteSaleIfEmpty to true will completely delete the product (Sale) once all of its options are deleted.
Decompose / Merge Products
Decompose Product
POST /api/v1/sales/decompose
Separates a single combined product into its individual component units.
Merge Products
POST /api/v1/sales/merge
Combines multiple individual products into a single consolidated product.
Last updated
Was this helpful?

