맞춤형 리뷰
리뷰를 쓸 때 묻는 설문 · 프로필(맞춤형 리뷰 템플릿)을 관리합니다.
무엇인가요
손님이 리뷰를 쓸 때 묻는 설문 · 프로필(맞춤형 리뷰)입니다.
| 항목 | 내용 |
|---|---|
| 권한 | 읽기 products:read · 쓰기 products:write (소유자 토큰) |
| 상품에서 쓰는 곳 | 상품의 review_template_id |
| 관리자 화면 | 상품 > 템플릿 관리 — 같은 검증 · 같은 저장 |
| 요청 | 경로 | 바로가기 |
|---|---|---|
| GET | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews | 목록 |
| GET | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/{review_template_unique} | 상세 |
| POST | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews | 생성 |
| PATCH | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/{review_template_unique} | 수정 |
| DELETE | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/{review_template_unique} | 삭제 |
목록
GET
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews이 쇼핑몰의 템플릿 전부입니다(쪽 나눔 없음). 줄마다 이 템플릿을 쓰는 상품 수 used_count 가 붙습니다 — 관리자 목록의 "적용상품" 칸과 같습니다.
| 쿼리 | 형식 | 설명 |
|---|---|---|
sort | string | 정렬 키. 빼면 등록일시 최신순(관리자 목록의 기본과 같음) 코드값 |
order | string | 정렬 방향. 빼면 name 는 오름차순, 시각은 최신순. sort 와 함께 보냅니다 코드값 |
bash요청
curl 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'json200 OK
{
"items": [
{
"review_template_unique": "6acca48fc2ca90eedea620fc",
"name": "의류 리뷰",
"surveys": [
{
"title": "사이즈",
"answers": [
"작아요",
"정사이즈에요",
"커요"
]
},
{
"title": "색상",
"answers": [
"화면보다 어두워요",
"화면과 같아요",
"화면보다 밝아요"
]
}
],
"profile_fields": [
"USUAL_SIZE",
"HEIGHT",
"WEIGHT"
],
"created": "2026-10-12T09:12:47.662Z",
"updated": "2026-10-12T09:12:47.662Z",
"used_count": 0
}
]
}상세
GET
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/{review_template_unique}bash요청
curl 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/6acca48fc2ca90eedea620fc' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'json200 OK
{
"review_template_unique": "6acca48fc2ca90eedea620fc",
"name": "의류 리뷰",
"surveys": [
{
"title": "사이즈",
"answers": [
"작아요",
"정사이즈에요",
"커요"
]
},
{
"title": "색상",
"answers": [
"화면보다 어두워요",
"화면과 같아요",
"화면보다 밝아요"
]
}
],
"profile_fields": [
"USUAL_SIZE",
"HEIGHT",
"WEIGHT"
],
"created": "2026-10-12T09:12:47.662Z",
"updated": "2026-10-12T09:12:47.662Z",
"used_count": 0
}응답 필드
| 필드 | 형식 | 설명 |
|---|---|---|
review_template_unique | string | 키. 상세 · 수정 · 삭제 경로에 넣습니다 |
name | string | 템플릿명 |
surveys | array | 설문 — title(질문) · answers(선택지) |
profile_use | boolean | 프로필을 묻는가. true 여야 profile_fields 가 저장됩니다(관리자 화면의 "설정") |
profile_fields | string[] | 리뷰를 쓸 때 함께 묻는 작성자 정보. 다른 손님이 리뷰를 자기 체형과 견줘 보게 합니다 코드값 |
created | ISO | 생성 시각 |
updated | ISO | 마지막 수정 시각 |
used_count | number | 이 템플릿을 쓰는 상품 수(목록에만) |
생성
POST
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews설문이나 프로필이 하나 이상 있어야 합니다.
요청 본문
| 필드 | 형식 | 설명 |
|---|---|---|
name필수 | string | 템플릿명 |
surveys | array | 설문 — title(질문) · answers(선택지) |
profile_use | boolean | 프로필을 묻는가. true 여야 profile_fields 가 저장됩니다(관리자 화면의 "설정") |
profile_fields | string[] | 리뷰를 쓸 때 함께 묻는 작성자 정보. 다른 손님이 리뷰를 자기 체형과 견줘 보게 합니다 코드값 |
bash요청
curl -X POST 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews' \
-H 'Authorization: Bearer msat_8Hk2wQ7...' \
-H 'Content-Type: application/json' \
-d '{"name":"의류 리뷰","profile_use":true,"profile_fields":["HEIGHT","WEIGHT","USUAL_SIZE"],"surveys":[{"title":"사이즈","answers":["작아요","정사이즈에요","커요"]},{"title":"색상","answers":["화면보다 어두워요","화면과 같아요","화면보다 밝아요"]}]}'json201 Created
{
"review_template_unique": "6acca48fc2ca90eedea620fc"
}새 템플릿의 키를 돌려줍니다.
수정
PATCH
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/{review_template_unique}보낸 필드만 바뀝니다. 나머지는 지금 값 그대로입니다. 필드는 생성과 같습니다.
bash요청
curl -X PATCH 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/6acca48fc2ca90eedea620fc' \
-H 'Authorization: Bearer msat_8Hk2wQ7...' \
-H 'Content-Type: application/json' \
-d '{"name":"의류 리뷰 (상의)"}'json200 OK
{
"ok": true
}json수정 뒤 상세
{
"review_template_unique": "6acca48fc2ca90eedea620fc",
"name": "의류 리뷰 (상의)",
"surveys": [
{
"title": "사이즈",
"answers": [
"작아요",
"정사이즈에요",
"커요"
]
},
{
"title": "색상",
"answers": [
"화면보다 어두워요",
"화면과 같아요",
"화면보다 밝아요"
]
}
],
"profile_fields": [],
"created": "2026-10-12T09:12:47.662Z",
"updated": "2026-10-12T09:12:47.760Z",
"used_count": 0
}삭제
DELETE
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/{review_template_unique}bash요청
curl -X DELETE 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/reviews/6acca48fc2ca90eedea620fc' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'json200 OK
{
"released": 0
}지운 템플릿을 쓰던 상품은 기본 리뷰로 돌아갑니다. released 는 풀린 상품 수입니다.
오류
| 상태 | code | 언제 |
|---|---|---|
| 400 | InvalidParameterValue | 설문 · 프로필이 하나도 없음(맞춤형 리뷰를 이용하시려면 최소 1개 이상의…) |
| 404 | ProductReviewTemplateNotExist | 없는 키이거나 지운 템플릿 |
| 401 | MissingLoginSession | Authorization 헤더에 Bearer 토큰이 없음 |
| 401 | InvalidAccessToken | 토큰이 틀리거나 만료 · 폐기됨 |
| 403 | InsufficientScope | 토큰에 products:read · products:write 가 없음 |
오류 본문은 {code, message, request_id} 이고, message 는 관리자 화면과 같은 문구라 사용자에게 그대로 보여 줄 수 있습니다.