For the complete documentation index, see llms.txt. This page is also available as Markdown.

상품

상품 단건 조회

get

ID로 상품 상세 정보를 조회합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
get/api/v1/sales/{id}
GET /api/v1/sales/{id} HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Accept: */*
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": {
    "id": "text",
    "enterpriseId": "text",
    "userId": "text",
    "name": "text",
    "translatedNames": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "description": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "tags": [
      "text"
    ],
    "brandCode": "text",
    "code": "text",
    "website": "text",
    "minPrice": {
      "value": 1,
      "unit": "KRW"
    },
    "categories": [
      {
        "categoryId": "text",
        "order": 1
      }
    ],
    "previewImage": {
      "id": "text",
      "name": "text",
      "url": "text"
    },
    "images": [
      {
        "id": "text",
        "name": "text",
        "url": "text"
      }
    ],
    "components": {
      "optionKeys": [
        "text"
      ],
      "records": [
        {
          "id": "text",
          "order": 1,
          "price": {
            "value": 1,
            "unit": "KRW"
          },
          "options": [
            {
              "key": "text",
              "value": "text"
            }
          ],
          "previewImage": {
            "id": "text",
            "name": "text",
            "url": "text"
          }
        }
      ]
    },
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 전체 수정

put

상품을 전체 수정합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

Body
previewImagestringOptional

대표 이미지 ID

Example: 507f1f77bcf86cd799439011
imagesstring[]Required

이미지 ID 목록

Example: ["507f1f77bcf86cd799439011"]
isPersonalbooleanRequired

개인 여부

Example: false
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
put/api/v1/sales/{id}
PUT /api/v1/sales/{id} HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 682

{
  "info": {
    "name": "모던 소파",
    "translatedNames": [],
    "description": [],
    "tags": [
      "소파",
      "거실"
    ],
    "brandCode": "BRAND-001",
    "code": "SALE-001",
    "website": "https://example.com/product/1"
  },
  "previewImage": "507f1f77bcf86cd799439011",
  "images": [
    "507f1f77bcf86cd799439011"
  ],
  "category": {
    "categoryIds": [
      "507f1f77bcf86cd799439011"
    ]
  },
  "components": {
    "optionKey1": "색상",
    "optionKey2": "사이즈",
    "optionKey3": "text",
    "optionKey4": "text",
    "optionKey5": "text",
    "options": [
      {
        "componentId": "507f1f77bcf86cd799439011",
        "code": "COMP-001",
        "optionValue1": "화이트",
        "optionValue2": "L",
        "optionValue3": "text",
        "optionValue4": "text",
        "optionValue5": "text",
        "price": {
          "value": 150000,
          "unit": "KRW"
        }
      }
    ]
  },
  "isPersonal": false
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": {
    "id": "text",
    "enterpriseId": "text",
    "userId": "text",
    "name": "text",
    "translatedNames": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "description": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "tags": [
      "text"
    ],
    "brandCode": "text",
    "code": "text",
    "website": "text",
    "minPrice": {
      "value": 1,
      "unit": "KRW"
    },
    "categories": [
      {
        "categoryId": "text",
        "order": 1
      }
    ],
    "previewImage": {
      "id": "text",
      "name": "text",
      "url": "text"
    },
    "images": [
      {
        "id": "text",
        "name": "text",
        "url": "text"
      }
    ],
    "components": {
      "optionKeys": [
        "text"
      ],
      "records": [
        {
          "id": "text",
          "order": 1,
          "price": {
            "value": 1,
            "unit": "KRW"
          },
          "options": [
            {
              "key": "text",
              "value": "text"
            }
          ],
          "previewImage": {
            "id": "text",
            "name": "text",
            "url": "text"
          }
        }
      ]
    },
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 목록 조회

get

엔터프라이즈의 상품 목록을 페이지네이션으로 조회합니다.

페이지네이션

  • offset 기반 페이징 (0부터 시작)

  • limit: 페이지 크기 (최소 1, 최대 100)

  • 응답의 hasNext로 다음 페이지 존재 여부 확인

필터 조건

  • userId: 사용자 ID 필터

  • name: 이름 검색어 (부분 일치)

  • code: 코드 필터

  • sku: SKU 필터

  • brandCode: 브랜드 코드 필터

  • categoryIds: 카테고리 ID 목록 필터

  • sortType: 정렬 기준 (ID_DESC, ID_ASC, NAME_ASC, NAME_DESC, UPDATED_ASC, UPDATED_DESC)

Authorizations
x-api-keystringRequired
Query parameters
offsetinteger · int32Required

페이지 번호 (0부터 시작, offset 페이징)

limitinteger · int32Required

페이지 크기 (최소: 1, 최대: 100)

userIdstringOptional

사용자 ID

namestringOptional

이름 검색어

codestringOptional

코드

skustringOptional

SKU

brandCodestringOptional

브랜드 코드

categoryIdsstring[]Optional

카테고리 ID 목록

sortTypestring · enumOptional

정렬 타입

Default: ID_DESCPossible values:
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
get/api/v1/sales
GET /api/v1/sales?offset=1&limit=1 HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Accept: */*
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": {
    "content": [
      {
        "id": "text",
        "enterpriseId": "text",
        "userId": "text",
        "name": "text",
        "translatedNames": [
          {
            "code": "text",
            "value": "text"
          }
        ],
        "description": [
          {
            "code": "text",
            "value": "text"
          }
        ],
        "tags": [
          "text"
        ],
        "brandCode": "text",
        "code": "text",
        "website": "text",
        "minPrice": {
          "value": 1,
          "unit": "KRW"
        },
        "components": {
          "optionKeys": [
            "text"
          ],
          "records": [
            {
              "id": "text",
              "order": 1,
              "price": {
                "value": 1,
                "unit": "KRW"
              },
              "options": [
                {
                  "key": "text",
                  "value": "text"
                }
              ],
              "previewImage": {
                "id": "text",
                "name": "text",
                "url": "text"
              }
            }
          ]
        },
        "previewImage": {
          "id": "text",
          "name": "text",
          "url": "text"
        },
        "images": [
          {
            "id": "text",
            "name": "text",
            "url": "text"
          }
        ],
        "createdAt": "2026-01-01T00:00:00.000Z",
        "updatedAt": "2026-01-01T00:00:00.000Z"
      }
    ],
    "hasNext": true,
    "totalCount": 1
  },
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 생성

post

새 상품을 생성합니다.

Authorizations
x-api-keystringRequired
Body
previewImagestringOptional

대표 이미지 ID

Example: 507f1f77bcf86cd799439011
imagesstring[]Required

이미지 ID 목록

Example: ["507f1f77bcf86cd799439011"]
isPersonalbooleanRequired

개인 여부

Example: false
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
post/api/v1/sales
POST /api/v1/sales HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 682

{
  "info": {
    "name": "모던 소파",
    "translatedNames": [],
    "description": [],
    "tags": [
      "소파",
      "거실"
    ],
    "brandCode": "BRAND-001",
    "code": "SALE-001",
    "website": "https://example.com/product/1"
  },
  "previewImage": "507f1f77bcf86cd799439011",
  "images": [
    "507f1f77bcf86cd799439011"
  ],
  "category": {
    "categoryIds": [
      "507f1f77bcf86cd799439011"
    ]
  },
  "components": {
    "optionKey1": "색상",
    "optionKey2": "사이즈",
    "optionKey3": "text",
    "optionKey4": "text",
    "optionKey5": "text",
    "options": [
      {
        "componentId": "507f1f77bcf86cd799439011",
        "code": "COMP-001",
        "optionValue1": "화이트",
        "optionValue2": "L",
        "optionValue3": "text",
        "optionValue4": "text",
        "optionValue5": "text",
        "price": {
          "value": 150000,
          "unit": "KRW"
        }
      }
    ]
  },
  "isPersonal": false
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": {
    "id": "text",
    "enterpriseId": "text",
    "userId": "text",
    "name": "text",
    "translatedNames": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "description": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "tags": [
      "text"
    ],
    "brandCode": "text",
    "code": "text",
    "website": "text",
    "minPrice": {
      "value": 1,
      "unit": "KRW"
    },
    "categories": [
      {
        "categoryId": "text",
        "order": 1
      }
    ],
    "previewImage": {
      "id": "text",
      "name": "text",
      "url": "text"
    },
    "images": [
      {
        "id": "text",
        "name": "text",
        "url": "text"
      }
    ],
    "components": {
      "optionKeys": [
        "text"
      ],
      "records": [
        {
          "id": "text",
          "order": 1,
          "price": {
            "value": 1,
            "unit": "KRW"
          },
          "options": [
            {
              "key": "text",
              "value": "text"
            }
          ],
          "previewImage": {
            "id": "text",
            "name": "text",
            "url": "text"
          }
        }
      ]
    },
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 옵션 추가

post

상품에 옵션을 추가합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

Body
optionKey1stringOptional

옵션 키 1

Example: 색상
optionKey2stringOptional

옵션 키 2

Example: 사이즈
optionKey3stringOptional

옵션 키 3

optionKey4stringOptional

옵션 키 4

optionKey5stringOptional

옵션 키 5

Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
dataanyOptional

응답 데이터

post/api/v1/sales/{id}/options
POST /api/v1/sales/{id}/options HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 331

{
  "optionKey1": "색상",
  "optionKey2": "사이즈",
  "optionKey3": "text",
  "optionKey4": "text",
  "optionKey5": "text",
  "options": [
    {
      "componentId": "507f1f77bcf86cd799439011",
      "code": "COMP-001",
      "optionValue1": "화이트",
      "optionValue2": "L",
      "optionValue3": "text",
      "optionValue4": "text",
      "optionValue5": "text",
      "price": {
        "value": 150000,
        "unit": "KRW"
      }
    }
  ]
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": null,
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 옵션 삭제

delete

상품의 옵션을 삭제합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

Body
idsstring[]Required

삭제할 옵션 ID 목록

Example: ["507f1f77bcf86cd799439011"]
deleteSaleIfEmptybooleanRequired

옵션이 비면 상품도 삭제할지 여부

Example: false
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
dataanyOptional

응답 데이터

delete/api/v1/sales/{id}/options
DELETE /api/v1/sales/{id}/options HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 62

{
  "ids": [
    "507f1f77bcf86cd799439011"
  ],
  "deleteSaleIfEmpty": false
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": null,
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 옵션 수정

patch

상품의 옵션을 수정합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

Body
optionKey1stringOptional

옵션 키 1

Example: 색상
optionKey2stringOptional

옵션 키 2

Example: 사이즈
optionKey3stringOptional

옵션 키 3

optionKey4stringOptional

옵션 키 4

optionKey5stringOptional

옵션 키 5

Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
dataanyOptional

응답 데이터

patch/api/v1/sales/{id}/options
PATCH /api/v1/sales/{id}/options HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 331

{
  "optionKey1": "색상",
  "optionKey2": "사이즈",
  "optionKey3": "text",
  "optionKey4": "text",
  "optionKey5": "text",
  "options": [
    {
      "componentId": "507f1f77bcf86cd799439011",
      "code": "COMP-001",
      "optionValue1": "화이트",
      "optionValue2": "L",
      "optionValue3": "text",
      "optionValue4": "text",
      "optionValue5": "text",
      "price": {
        "value": 150000,
        "unit": "KRW"
      }
    }
  ]
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": null,
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 통합

post

상품을 통합합니다.

Authorizations
x-api-keystringRequired
Body
namestringRequired

이름

Example: 모던 소파 통합
optionKeystringRequired

옵션 키

Example: 색상
brandCodestringOptional

브랜드 코드

Example: BRAND-001
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
post/api/v1/sales/merge
POST /api/v1/sales/merge HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 305

{
  "name": "모던 소파 통합",
  "previewImage": {
    "file": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR42mNk+M9QDwADhgGAWjR9awAAAABJRU5ErkJggg==",
    "fileName": "preview.png"
  },
  "optionKey": "색상",
  "brandCode": "BRAND-001",
  "salesToMerge": [
    {
      "saleId": "507f1f77bcf86cd799439011",
      "optionValue": "화이트"
    }
  ]
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": {
    "id": "text",
    "enterpriseId": "text",
    "userId": "text",
    "name": "text",
    "translatedNames": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "description": [
      {
        "code": "text",
        "value": "text"
      }
    ],
    "tags": [
      "text"
    ],
    "brandCode": "text",
    "code": "text",
    "website": "text",
    "minPrice": {
      "value": 1,
      "unit": "KRW"
    },
    "categories": [
      {
        "categoryId": "text",
        "order": 1
      }
    ],
    "previewImage": {
      "id": "text",
      "name": "text",
      "url": "text"
    },
    "images": [
      {
        "id": "text",
        "name": "text",
        "url": "text"
      }
    ],
    "components": {
      "optionKeys": [
        "text"
      ],
      "records": [
        {
          "id": "text",
          "order": 1,
          "price": {
            "value": 1,
            "unit": "KRW"
          },
          "options": [
            {
              "key": "text",
              "value": "text"
            }
          ],
          "previewImage": {
            "id": "text",
            "name": "text",
            "url": "text"
          }
        }
      ]
    },
    "createdAt": "2026-01-01T00:00:00.000Z",
    "updatedAt": "2026-01-01T00:00:00.000Z"
  },
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 분해

post

상품을 분해합니다.

Authorizations
x-api-keystringRequired
Body
saleIdsstring[]Required

분해할 상품 ID 목록

Example: ["507f1f77bcf86cd799439011"]
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
post/api/v1/sales/decompose
POST /api/v1/sales/decompose HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "saleIds": [
    "507f1f77bcf86cd799439011"
  ]
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": [
    {
      "id": "text",
      "enterpriseId": "text",
      "userId": "text",
      "name": "text",
      "translatedNames": [
        {
          "code": "text",
          "value": "text"
        }
      ],
      "description": [
        {
          "code": "text",
          "value": "text"
        }
      ],
      "tags": [
        "text"
      ],
      "brandCode": "text",
      "code": "text",
      "website": "text",
      "minPrice": {
        "value": 1,
        "unit": "KRW"
      },
      "categories": [
        {
          "categoryId": "text",
          "order": 1
        }
      ],
      "previewImage": {
        "id": "text",
        "name": "text",
        "url": "text"
      },
      "images": [
        {
          "id": "text",
          "name": "text",
          "url": "text"
        }
      ],
      "components": {
        "optionKeys": [
          "text"
        ],
        "records": [
          {
            "id": "text",
            "order": 1,
            "price": {
              "value": 1,
              "unit": "KRW"
            },
            "options": [
              {
                "key": "text",
                "value": "text"
              }
            ],
            "previewImage": {
              "id": "text",
              "name": "text",
              "url": "text"
            }
          }
        ]
      },
      "createdAt": "2026-01-01T00:00:00.000Z",
      "updatedAt": "2026-01-01T00:00:00.000Z"
    }
  ],
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 옵션 가격 수정

patch

상품 옵션의 가격을 수정합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

componentIdstringRequired

컴포넌트 ID

Body
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
dataanyOptional

응답 데이터

patch/api/v1/sales/{id}/options/{componentId}/price
PATCH /api/v1/sales/{id}/options/{componentId}/price HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "price": {
    "value": 150000,
    "unit": "KRW"
  }
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": null,
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

상품 기본정보 수정

patch

상품의 기본정보를 수정합니다.

Authorizations
x-api-keystringRequired
Path parameters
idstringRequired

상품 ID

Body
namestringRequired

이름

Example: 모던 소파
tagsstring[]Required

태그

Example: ["소파","거실"]
brandCodestringOptional

브랜드 코드

Example: BRAND-001
codestringOptional

코드

Example: SALE-001
websitestringOptional

웹사이트

Example: https://example.com/product/1
Responses
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

application/json
resultstring · enumRequired

응답 결과 타입

Possible values:
dataanyOptional

응답 데이터

patch/api/v1/sales/{id}/info
PATCH /api/v1/sales/{id}/info HTTP/1.1
Host: openapi.archisketch.com
x-api-key: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 173

{
  "name": "모던 소파",
  "translatedNames": [],
  "description": [],
  "tags": [
    "소파",
    "거실"
  ],
  "brandCode": "BRAND-001",
  "code": "SALE-001",
  "website": "https://example.com/product/1"
}
200

모든 응답은 200으로 내려갑니다 (성공 실패 포함) (장애상황에서만 5xx 노출)

{
  "result": "SUCCESS",
  "data": null,
  "error": {
    "errorCode": "INTERNAL_ERROR",
    "message": "text"
  }
}

마지막 업데이트

도움이 되었나요?