Let's look at an example of an open API for sale of Archisketch.
Sale
Concepts
The Sale domain, the highest-level concept of Archisketch products, defines the units of products sold to customers.
It serves as the basis for the data displayed in the Dashboardโs Company Library โ Products tab and the Archisketch Editor.
The Sale domain manages various sales-related information, such as pricing, country details, and options provided to customers. Each Sale must include at least one component.
Key Roles
Manages the data necessary for product sales.
- Sales Method Management
- Manages pricing, currency policies, and country-specific information.
- Option Management
- Specifies product options such as color, size, and material, allowing up to 5 options per product.
- Multi-National Support
Key Data Used in API Requests/Responses
id: String
- The unique identifier for the sale.
userId: String
- The unique identifier of the user who created the product.
enterpriseId: String
- The unique identifier of the enterprise that created the product.
translatedNames: Array<Object>
- Manages multilingual values for the product name.
code: String
-> Multilingual Code- ko (Korean), en (English), zh (Chinese), ja (Japanese), vi (Vietnamese).
value: String
-> Localized Description
- May be empty.
- Manages multilingual values for the product name.
description: Array<Object>
- Manages multilingual values for the product description.
code: String
-> Multilingual Code- ko (Korean), en (English), zh (Chinese), ja (Japanese), vi (Vietnamese).
value: String
-> Localized Description
- May be empty.
- Manages multilingual values for the product description.
tags: Array<String>
- Hashtags associated with the product.
- May be empty.
brandCode: String
(Nullable)- The brand code associated with the product.
- The identifier for the branch managed in Archisketch must be applied.
code: String
(Nullable)- A separate identifier managed by the client for data integration.
website: String
(Nullable)- The productโs website URL.
minPrice: Object
(Nullable)createdAt: LocalDateTime
- Date and time when the sale was created. (UTC Based, yyyy-MM-dd HH:mm:ss)
- (e.g.
2024-09-30 04:16:56
)
updatedAt: LocalDateTime
- Date and time when the sale was last updated. (UTC Based, yyyy-MM-dd HH:mm:ss)
- (e.g.
2024-09-30 04:16:56
)
SaleAsset
Concepts
This domain manages Archisketch assets related to products.
Key Data Used in API Requests/Responses
id: String
- The unique identifier for the sale asset.
name: String
- The name of the file uploaded by the user.
extension: String
- The file extension of the uploaded file.
url: String
- The CDN URL internally managed for the uploaded file.
type: String
- The type of the file in the context of the sale asset domain.
PREVIEW_IMAGE
- Manages the sale's main representative image.
- Min: 0, Max: 1
IMAGE
- Manages additional images for the sale.
- Min: 0, Max: 10
- The type of the file in the context of the sale asset domain.
SaleComposition
Concepts
A single product can include zero or more components.
The SaleComposition domain manages the relationship between a product and its linked components, along with additional details such as price, tags, options, and more.
For example, if a product is linked to three components, three rows of SaleComposition data will be managed.
Key Data Used in API Requests/Responses
saleId: String
- The unique identifier for the associated sale.
componentId: String
- The unique identifier for the associated component.
price: Object
value: BigDecimal
- The price of the component
unit: String
- The currency for the price
- KRW, USD, EUR, JPY, GBP, CNY, VND, TWD
- The currency for the price
order: Int
- Indicates the sequence of relationships.
options: Array<Object>
- Classification criteria for the sale <-> component relationship, allowing up to 5 key-value pairs.
key: String
value: String
- Option Key (e.g. Color, Size, etc, ...)
- Option Value (e.g. Red, Small, etc, ...)
- Classification criteria for the sale <-> component relationship, allowing up to 5 key-value pairs.