퀵배송
퀵배송 템플릿 — 착불 예상요금 · 주문가능 시간 · 배송가능 지역을 관리합니다.
업데이트됨 10.13 — 목록의 기본 순서를 관리자 목록에 맞췄습니다무엇인가요
퀵배송 템플릿입니다. 착불 예상요금 안내 · 주문가능 시간 · 배송가능 지역을 정합니다.
| 항목 | 내용 |
|---|---|
| 권한 | 읽기 products:read · 쓰기 products:write (소유자 토큰) |
| 상품에서 쓰는 곳 | 상품의 delivery — [{"method": "…", "template_id": "…"}] |
| 관리자 화면 | 상품 > 템플릿 관리 — 같은 검증 · 같은 저장 |
| 요청 | 경로 | 바로가기 |
|---|---|---|
| GET | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery?method=QUICK | 목록 |
| GET | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/{template_unique} | 상세 |
| POST | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery | 생성 |
| PATCH | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/{template_unique} | 수정 |
| DELETE | https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/{template_unique} | 삭제 |
목록
GET
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery?method=QUICK이 쇼핑몰의 이 배송 방법의 템플릿 전부입니다(쪽 나눔 없음). 줄마다 이 템플릿을 쓰는 상품 수 used_count 가 붙습니다 — 관리자 목록의 "적용상품" 칸과 같습니다.
| 쿼리 | 형식 | 설명 |
|---|---|---|
method필수 | string | QUICK — 빼면 배송 템플릿 넷이 모두 나옵니다 |
sort | string | 정렬 키. 빼면 등록일시 최신순(관리자 목록의 기본과 같음) 코드값 |
order | string | 정렬 방향. 빼면 name 는 오름차순, 시각은 최신순. sort 와 함께 보냅니다 코드값 |
bash요청
curl 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery?method=QUICK' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'json200 OK
{
"items": [
{
"template_unique": "6acca48fc2ca90eedea620f8",
"name": "서울 퀵",
"method": "QUICK",
"is_default": false,
"fee_type": "PAID",
"base_fee": 0,
"free_condition_amount": 0,
"pay_type": "COLLECT",
"unit_quantity": 0,
"range_count": 2,
"range_tiers": [],
"extra_fee": {
"jeju": 0,
"island": 0
},
"return_fee": 0,
"exchange_fee": 0,
"courier_id": null,
"outbound_address": null,
"return_address": null,
"notice": "",
"delivery_area": {
"use": true,
"zones": [
{
"codes": [
"11"
],
"extra_fee": 0
}
]
},
"install": null,
"pickup": null,
"quick": {
"collect_notice": "거리별 착불(기사님께 결제)",
"time_use": true,
"start": "10:00",
"end": "17:00",
"days": [
"MON",
"TUE",
"WED",
"THU",
"FRI"
]
},
"used_count": 0,
"created": "2026-10-12T09:12:47.136Z",
"updated": "2026-10-12T09:12:47.136Z"
}
]
}상세
GET
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/{template_unique}bash요청
curl 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/6acca48fc2ca90eedea620f8' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'json200 OK
{
"template_unique": "6acca48fc2ca90eedea620f8",
"name": "서울 퀵",
"method": "QUICK",
"is_default": false,
"fee_type": "PAID",
"base_fee": 0,
"free_condition_amount": 0,
"pay_type": "COLLECT",
"unit_quantity": 0,
"range_count": 2,
"range_tiers": [],
"extra_fee": {
"jeju": 0,
"island": 0
},
"return_fee": 0,
"exchange_fee": 0,
"courier_id": null,
"outbound_address": null,
"return_address": null,
"notice": "",
"delivery_area": {
"use": true,
"zones": [
{
"codes": [
"11"
],
"extra_fee": 0
}
]
},
"install": null,
"pickup": null,
"quick": {
"collect_notice": "거리별 착불(기사님께 결제)",
"time_use": true,
"start": "10:00",
"end": "17:00",
"days": [
"MON",
"TUE",
"WED",
"THU",
"FRI"
]
}
}응답 필드
| 필드 | 형식 | 설명 |
|---|---|---|
template_unique | string | 키. 상세 · 수정 · 삭제 경로에 넣습니다 |
name | string | 템플릿명 |
method | string | 배송 방법. 이 쪽은 아래 값으로 고정입니다 코드값 |
is_default | boolean | 이 배송 방법의 기본 템플릿인가(상품 등록 때 먼저 고름) |
fee_type | string | 배송비를 매기는 방식. 방식에 따라 아래 금액 칸 가운데 쓰이는 칸이 달라집니다 코드값 |
base_fee | number | 기본 배송비(원) |
free_condition_amount | number | 이 금액 이상이면 무료(조건부 무료) |
pay_type | string | 배송비를 주문할 때 내는가, 받을 때 내는가, 손님이 고르는가 코드값 |
unit_quantity | number | 수량별 — 몇 개마다 base_fee 를 더 받는가 |
range_count | number | 구간별 — 구간 수(2 또는 3) |
range_tiers | array | 구간별 — 구간마다 {up_to, extra_fee}(이 수량까지 · 더 받는 배송비) |
extra_fee | object | 제주 · 도서산간 추가 배송비 {jeju, island} |
return_fee | number | 반품 배송비. 0 이면 "무료반품" 으로 안내됩니다 |
exchange_fee | number | 교환 배송비. 0 이면 "무료교환" 으로 안내됩니다 |
notice | string | 배송안내 문구(상품 상세에 나옴) |
quick | object | 퀵 설정 — collect_notice(착불 예상요금 안내) · time_use · start · end(주문가능 시간 HH:MM) · days(주문을 받는 요일) 코드값 |
delivery_area | object | 배송가능 지역(직접배송과 같은 모양) |
courier_id | string | 택배사 키 — 택배배송에서만, 다른 배송 방법은 null |
outbound_address | object | null | 출고지 — 택배배송에서만 |
return_address | object | null | 반품 · 교환지 — 택배배송에서만 |
delivery_area | object | null | 배송가능 지역 — 직접배송 · 퀵배송에서만 |
install | object | null | 상품 설치 — 직접배송에서만 |
pickup | object | null | 매장 · 영업시간 — 방문수령에서만 |
quick | object | null | 퀵 설정 — 퀵배송에서만 |
created | ISO | 생성 시각 |
updated | ISO | 마지막 수정 시각 |
used_count | number | 이 템플릿을 쓰는 상품 수(목록에만) |
생성
POST
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery요청 본문
| 필드 | 형식 | 설명 |
|---|---|---|
name필수 | string | 템플릿명 |
method필수 | string | 배송 방법. 이 쪽은 아래 값으로 고정입니다 코드값 |
is_default | boolean | 이 배송 방법의 기본 템플릿인가(상품 등록 때 먼저 고름) |
fee_type필수 | string | 배송비를 매기는 방식. 방식에 따라 아래 금액 칸 가운데 쓰이는 칸이 달라집니다 코드값 |
base_fee | number | 기본 배송비(원) |
free_condition_amount | number | 이 금액 이상이면 무료(조건부 무료) |
pay_type | string | 배송비를 주문할 때 내는가, 받을 때 내는가, 손님이 고르는가 코드값 |
unit_quantity | number | 수량별 — 몇 개마다 base_fee 를 더 받는가 |
range_count | number | 구간별 — 구간 수(2 또는 3) |
range_tiers | array | 구간별 — 구간마다 {up_to, extra_fee}(이 수량까지 · 더 받는 배송비) |
extra_fee | object | 제주 · 도서산간 추가 배송비 {jeju, island} |
return_fee | number | 반품 배송비. 0 이면 "무료반품" 으로 안내됩니다 |
exchange_fee | number | 교환 배송비. 0 이면 "무료교환" 으로 안내됩니다 |
notice | string | 배송안내 문구(상품 상세에 나옴) |
quick | object | 퀵 설정 — collect_notice(착불 예상요금 안내) · time_use · start · end(주문가능 시간 HH:MM) · days(주문을 받는 요일) 코드값 |
delivery_area | object | 배송가능 지역(직접배송과 같은 모양) |
bash요청
curl -X POST 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery' \
-H 'Authorization: Bearer msat_8Hk2wQ7...' \
-H 'Content-Type: application/json' \
-d '{"name":"서울 퀵","method":"QUICK","fee_type":"PAID","base_fee":0,"pay_type":"COLLECT","quick":{"collect_notice":"거리별 착불(기사님께 결제)","time_use":true,"start":"10:00","end":"17:00","days":["MON","TUE","WED","THU","FRI"]},"delivery_area":{"use":true,"zones":[{"codes":["11"],"extra_fee":0}]}}'json201 Created
{
"template_unique": "6acca48fc2ca90eedea620f8"
}새 템플릿의 키를 돌려줍니다.
수정
PATCH
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/{template_unique}보낸 필드만 바뀝니다. 나머지는 지금 값 그대로입니다. 필드는 생성과 같습니다. 객체 필드(quick 등)는 그 객체를 통째로 보냅니다.
bash요청
curl -X PATCH 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/6acca48fc2ca90eedea620f8' \
-H 'Authorization: Bearer msat_8Hk2wQ7...' \
-H 'Content-Type: application/json' \
-d '{"quick":{"collect_notice":"거리별 착불","time_use":true,"start":"09:00","end":"18:00","days":["MON","TUE","WED","THU","FRI","SAT"]}}'json200 OK
{
"template_unique": "6acca48fc2ca90eedea620f8"
}json수정 뒤 상세
{
"template_unique": "6acca48fc2ca90eedea620f8",
"name": "서울 퀵",
"method": "QUICK",
"is_default": false,
"fee_type": "PAID",
"base_fee": 0,
"free_condition_amount": 0,
"pay_type": "COLLECT",
"unit_quantity": 0,
"range_count": 2,
"range_tiers": [],
"extra_fee": {
"jeju": 0,
"island": 0
},
"return_fee": 0,
"exchange_fee": 0,
"courier_id": null,
"outbound_address": null,
"return_address": null,
"notice": "",
"delivery_area": {
"use": true,
"zones": [
{
"codes": [
"11"
],
"extra_fee": 0
}
]
},
"install": null,
"pickup": null,
"quick": {
"collect_notice": "거리별 착불",
"time_use": true,
"start": "09:00",
"end": "18:00",
"days": [
"MON",
"TUE",
"WED",
"THU",
"FRI",
"SAT"
]
}
}삭제
DELETE
https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/{template_unique}bash요청
curl -X DELETE 'https://api.mallstory.kr/v1/shop/{shop_unique}/templates/delivery/6acca48fc2ca90eedea620f8' \
-H 'Authorization: Bearer msat_8Hk2wQ7...'json200 OK
{
"affected": 0
}지운 템플릿을 쓰던 상품은 그 배송 방식이 정리됩니다. affected 는 바뀐 상품 수입니다.
오류
| 상태 | code | 언제 |
|---|---|---|
| 400 | InvalidParameterValue | 필수 값이 없거나 값이 올바르지 않음(예: 배송비 유형 값이 올바르지 않습니다) |
| 404 | DeliveryTemplateNotExist | 없는 키이거나 지운 템플릿 |
| 401 | MissingLoginSession | Authorization 헤더에 Bearer 토큰이 없음 |
| 401 | InvalidAccessToken | 토큰이 틀리거나 만료 · 폐기됨 |
| 403 | InsufficientScope | 토큰에 products:read · products:write 가 없음 |
오류 본문은 {code, message, request_id} 이고, message 는 관리자 화면과 같은 문구라 사용자에게 그대로 보여 줄 수 있습니다.