Mall StoryDevelopers
관리자 API쿠폰 관리소유자 토큰

쿠폰번호 발급

다른번호 발급 쿠폰의 쿠폰번호를 무작위로 만들고, 만든 번호를 조회합니다. 한 번호는 한 사람만 쓰며, 카카오톡 채널 온라인 쿠폰 등에 올립니다.

업데이트됨 10.16 — 쿠폰번호는 쿠폰 하나에 10,000개까지입니다

무엇인가요

다른번호 발급(serial_mode: UNIQUE) 쿠폰의 쿠폰번호를 무작위로 만들고 조회합니다. 번호를 여럿 만들어 한 번호를 한 사람만 쓰게 하는 방식이라, 문자 · 인쇄물 · 제휴사 · 카카오톡 채널 온라인 쿠폰 등 번호를 한 사람에게 하나씩 나눠 줄 자리에 씁니다. 아래 단계는 카카오톡 채널을 예로 든 것입니다.

  1. 1
    쿠폰을 만든다

    쿠폰 생성에서 serial_mode 를 UNIQUE 로 둡니다. 발급 수량 · 1인 발급 수는 받지 않습니다 — 만든 번호 수가 곧 상한입니다.

  2. 2
    번호를 만든다

    아래 쿠폰번호 발급로 필요한 만큼 만듭니다. 모자라면 다시 불러 더합니다.

  3. 3
    번호를 읽어 카카오에 올린다

    발급쿠폰 조회로 받은 번호를 한 줄에 하나씩 txt · csv 로 적어, 카카오톡 채널 관리자센터 > 쿠폰 만들기 > 온라인 쿠폰 > 쿠폰번호 직접 업로드에 올립니다. 쿠폰을 등록할 웹페이지 URL 에는 그 쿠폰의 register_url 을 넣습니다.

  4. 4
    손님이 번호로 쿠폰을 받는다

    카카오가 register_url?serial=번호 로 손님을 보내고, 손님은 로그인한 뒤 [등록]을 누릅니다. 쓰인 번호는 serial_used_count 에 쌓이고 쿠폰 이용 내역에 한 장씩 남습니다.

만든 번호는 되돌릴 수 없습니다
번호는 지우거나 고칠 수 없습니다. 카카오에 올린 번호가 사라지면 당첨자가 등록할 수 없기 때문입니다. 쿠폰을 지워도 번호는 남고, 지운 쿠폰으로는 등록만 막힙니다.
요청경로내용권한
POST/coupons/{coupon_unique}/serials쿠폰번호 발급promotions:write
GET/coupons/{coupon_unique}/serials발급쿠폰 조회promotions:read

쿠폰번호 발급

POSThttps://api.mallstory.kr/v1/shop/{shop_unique}/coupons/{coupon_unique}/serials

권한 promotions:write

번호를 count 개 만들어 쿠폰에 더합니다. 이미 만든 번호는 그대로 두고 그 뒤에 쌓입니다. 번호는 영문 대문자 · 숫자 12자이고, 한 쿠폰 안에서 겹치지 않습니다.

요청 본문

필드형식설명
count필수number이번에 만들 번호 수. 쿠폰 하나에 모두 10,000개까지 — 이미 만든 수와 더해 넘으면 400 이고 남은 자리를 문장으로 알려 줍니다. 그보다 많이 뿌릴 행사는 serial_mode SAME(동일번호 발급)으로 만듭니다
bash요청
curl -X POST 'https://api.mallstory.kr/v1/shop/6a9515bdcb3ab5179ba767ad/coupons/6acdf41b4555cab633c38ca5/serials' \
  -H 'Authorization: Bearer msat_8Hk2wQ7...' \
  -H 'Content-Type: application/json' \
  -d '{"count":3}'
json201 Created
{
  "created": 3,
  "total": 3
}

응답 필드

필드형식설명
creatednumber이번에 만든 수
totalnumber이 쿠폰에 지금까지 만든 번호 수(serial_count 와 같음)

번호 규격

항목값
길이12자. 카카오 상한(24자) 안
수량쿠폰 하나에 10,000개까지. 그보다 많이 뿌릴 행사는 동일번호 발급(serial_mode SAME)으로 — 번호 하나를 per_person_limit 로 막습니다
쓰는 글자ACDEFGHJKLMNPQRTUVWXY2346789 28가지 — 읽어 옮겨 적는 번호라 헷갈리는 글자(O·0 · I·1 · B·8 · S·5 · Z·2)를 뺐습니다
예KLM4T3J729EV · UNM2GHW9H2QL · MR3Q92RHGF6M
등록할 때대소문자를 가리지 않습니다. 손님이 소문자로 적어도 같은 번호로 봅니다
json400 — 다른번호 발급 쿠폰이 아님
{
  "code": "InvalidParameterValue",
  "message": "다른번호 발급 쿠폰에서만 번호를 만들 수 있습니다.",
  "request_id": "req_649ea40413c94d0baed3bd74a8a0aa49"
}

오류

상태code언제
400InvalidParameterValueserial_mode 가 UNIQUE 가 아님 · count 가 범위 밖 · 쿠폰 하나의 상한(10,000)을 넘음
404CouponNotExist없는 키이거나 지운 쿠폰
401MissingLoginSessionAuthorization 헤더에 Bearer 토큰이 없음
401InvalidAccessToken토큰이 틀리거나 만료 · 폐기됨
403InsufficientScope토큰에 promotions:write 가 없음

발급쿠폰 조회

GEThttps://api.mallstory.kr/v1/shop/{shop_unique}/coupons/{coupon_unique}/serials

권한 promotions:read

만든 번호를 모두 줍니다(관리자의 번호 내려받기와 같음). 쓰인 번호도 함께 옵니다 — 어느 번호가 쓰였는지는 쿠폰 이용 내역의 serial 로 봅니다. MCP 의 list_coupon_serials 는 앞 200개만 주므로 전부가 필요하면 이 요청을 씁니다.

bash요청
curl 'https://api.mallstory.kr/v1/shop/6a9515bdcb3ab5179ba767ad/coupons/6acdf41b4555cab633c38ca5/serials' \
  -H 'Authorization: Bearer msat_8Hk2wQ7...'
json200 OK
{
  "coupon_unique": "6acdf41b4555cab633c38ca5",
  "count": 3,
  "codes": [
    "KLM4T3J729EV",
    "UNM2GHW9H2QL",
    "MR3Q92RHGF6M"
  ]
}

응답 필드

필드형식설명
coupon_uniquestring쿠폰 키
countnumber번호 수
codesstring[]번호. 만든 차례대로

카카오에 올리는 파일

codes 를 한 줄에 하나씩 적습니다. 머리글 · 따옴표 · 쉼표 없이 번호만 둡니다. 확장자는 txt 또는 csv 입니다.

textcoupon-serials.txt
KLM4T3J729EV
UNM2GHW9H2QL
MR3Q92RHGF6M

오류

상태code언제
404CouponNotExist없는 키이거나 지운 쿠폰
401MissingLoginSessionAuthorization 헤더에 Bearer 토큰이 없음
401InvalidAccessToken토큰이 틀리거나 만료 · 폐기됨
403InsufficientScope토큰에 promotions:read 가 없음