상품 복사
상품을 한 벌 더 만듭니다. 복사본은 "[복사] 원본명" · 전시중지 · 판매중지로 생깁니다.
업데이트됨 10.19 — 상품 복사가 생겼습니다무엇인가요
상품을 그대로 한 벌 더 만듭니다. 상품 정보 · 이미지 · 옵션 · 상세설명 · 상품정보제공고시가 함께 갑니다. 쇼핑몰 관리자 > 상품 관리 줄 메뉴의 복사와 같습니다. 비슷한 상품을 여러 개 낼 때 상세를 읽어 등록으로 다시 보내는 대신 이 요청 한 번으로 만들고, 달라지는 칸만 수정합니다.
| 칸 | 복사본 |
|---|---|
name | 원본 이름 앞에 [복사] 가 붙습니다(255자를 넘으면 뒤를 자릅니다) |
display_status · status_type | STOP(전시중지) · SUSPENSION(판매중지) — 같은 상품이 손님 화면에 둘 보이지 않게. 고친 뒤 켭니다 |
product_no | 새 번호 |
| 이미지 · 상세설명 속 그림 · 옵션 이미지 · 고시 이미지 | 새 파일로 다시 올립니다 — 원본을 지워도 복사본의 그림은 남습니다. 쇼핑몰 저장 용량을 씁니다 |
created · updated · 판매 · 후기 누계 · source | 새로 시작합니다 |
management_code · search_keywords · seo · 그 밖 | 원본 그대로 |
요청
POST
https://api.mallstory.kr/v1/shop/{shop_unique}/products/{product_unique}/copy본문은 없습니다. 복사본의 모양은 관리자 화면과 같아서 고를 것이 없습니다.
bash요청
curl -X POST 'https://api.mallstory.kr/v1/shop/{shop_unique}/products/6accaa68c2ca90eedea62100/copy' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'부를 때마다 하나씩 생깁니다
같은 요청을 다시 보내면 복사본이 또 생깁니다. 응답을 받지 못했을 때는 상품 목록에서
[복사] 로 시작하는 상품이 생겼는지 먼저 확인하세요.응답
상품 상세와 같은 {product, options} 입니다 — 바로 고치려면 옵션 키가 필요해서입니다. 원가(cost_price)도 상세와 같이 실립니다.
json201 Created
{
"product": {
"product_no": 51,
"status_type": "SUSPENSION",
"sale_type": "NEW",
"display_order": 0,
"view_permission": "GUEST",
"view_level": 0,
"benefit_limit": {
"coupon": false,
"level_discount": false,
"point": false
},
"order_limit": {
"enabled": false,
"basis": "EACH",
"min": 0,
"max": 0,
"max_check": "ORDER"
},
"adult_only": false,
"restock_alert_excluded": false,
"order_permission": "GUEST",
"order_level": 0,
"brand": "",
"supplier": "",
"management_code": "SH-LN-001",
"search_keywords": [
"셔츠",
"린넨"
],
"seo": {
"mode": "AUTO",
"page_title": "",
"meta_description": "",
"target_keywords": ""
},
"name": "[복사] 린넨 셔츠",
"promotion_text": "봄 신상 10% 할인",
"sale_price": 39000,
"list_price": 49000,
"cost_price": 18000,
"tax_type": "TAX",
"stock_quantity": 15,
"stock_unlimited": false,
"custom_options": [],
"extra_options": [],
"video_url": "",
"shippable": true,
"bundle_shipping": "POSSIBLE",
"collect_clearance_code": false,
"discount": {
"immediate": {
"enabled": false,
"value": 0,
"unit": "WON"
},
"period": {
"enabled": false,
"value": 0,
"unit": "WON",
"start_at": null,
"end_at": null
},
"bulk": {
"enabled": false,
"rules": []
}
},
"reward": {
"enabled": false,
"value": 0,
"unit": "WON",
"basis": "SALE_PRICE"
},
"source": {
"type": "SELF",
"external_code": null,
"imported_at": null
},
"created": "2026-10-19T02:14:08.311Z",
"updated": "2026-10-19T02:14:08.311Z",
"deleted": null,
"color_ids": [],
"size_template_id": null,
"sizes": [],
"review_template_id": null,
"option_info": {
"names": [
"색상",
"사이즈"
],
"pick_types": [
"SELECT",
"SELECT"
],
"manage_fields": [
"price",
"stockQuantity",
"usable"
],
"generation": "DIRECT",
"size_template_id": null
},
"display_status": "STOP",
"display_start_at": null,
"display_end_at": null,
"badge_ids": [],
"sale_start_at": null,
"sale_end_at": null,
"detail_content_body": "<p>통기성이 좋은 린넨 100% 셔츠입니다.</p>",
"images": [],
"product_info_provided_notice": null,
"product_unique": "6accaa68c2ca90eedea62177",
"category_id": "6aab6a9ddd8941ed187ffe4b",
"display_category_ids": [],
"top_template_ids": [],
"bottom_template_ids": [],
"delivery": []
},
"options": [
{
"option_type": "COMBINATION",
"option_name1": "화이트",
"option_name2": "M",
"option_name3": "",
"price": 0,
"stock_quantity": 10,
"cost_price": null,
"usable": true,
"seller_manager_code": "",
"sort_order": 0,
"created": "2026-10-19T02:14:08.311Z",
"updated": "2026-10-19T02:14:08.311Z",
"deleted": null,
"color_id": null,
"color_hex": "",
"image": null,
"option_unique": "6accaa68c2ca90eedea62178",
"product_unique": "6accaa68c2ca90eedea62177"
},
{
"option_type": "COMBINATION",
"option_name1": "화이트",
"option_name2": "L",
"option_name3": "",
"price": 1000,
"stock_quantity": 5,
"cost_price": null,
"usable": true,
"seller_manager_code": "",
"sort_order": 1,
"created": "2026-10-19T02:14:08.311Z",
"updated": "2026-10-19T02:14:08.311Z",
"deleted": null,
"color_id": null,
"color_hex": "",
"image": null,
"option_unique": "6accaa68c2ca90eedea62179",
"product_unique": "6accaa68c2ca90eedea62177"
},
{
"option_type": "COMBINATION",
"option_name1": "네이비",
"option_name2": "M",
"option_name3": "",
"price": 0,
"stock_quantity": 0,
"cost_price": null,
"usable": true,
"seller_manager_code": "",
"sort_order": 2,
"created": "2026-10-19T02:14:08.311Z",
"updated": "2026-10-19T02:14:08.311Z",
"deleted": null,
"color_id": null,
"color_hex": "",
"image": null,
"option_unique": "6accaa68c2ca90eedea621710",
"product_unique": "6accaa68c2ca90eedea62177"
}
]
}오류
| 상태 | code | 언제 |
|---|---|---|
| 404 | ProductNotExist | 없는 키이거나 이미 지운 상품 |
| 413 | StorageQuotaExceeded | 이미지를 다시 올리면 쇼핑몰 저장 용량을 넘음 — 쓰지 않는 파일을 지운 뒤 다시 |
| 502 | FileServerUnreachable | 파일 서버에 닿지 못함 — 잠시 뒤 다시 |
| 502 | FileDownloadFailed | 파일 서버에 닿지 못함 — 잠시 뒤 다시 |
| 502 | FileUploadFailed | 파일 서버에 닿지 못함 — 잠시 뒤 다시 |
| 401 | MissingLoginSession | Authorization 헤더에 Bearer 토큰이 없음 |
| 401 | InvalidAccessToken | 토큰이 틀리거나 만료 · 폐기됨 |
| 403 | InsufficientScope | 토큰에 products:read · products:write 가 없음 |