API 명세서

좌석유저 토큰 발급 API

POST /tokens/concerts

유저가 진입한 서비스의 대기열 토큰을 발급한다.

Body

Name
Type
Description

userId

Number

유저 ID

concertId

Number

콘서트 ID

Response

{
    "id": 100,
    "userId": 1,
    "expiredAt": "2025-01-01T01:05:00Z" // 발급시간 기준 5분 후
}


예약 가능 날짜 조회 API

GET/concerts/{concertId}/available-dates

콘서트의 예약 가능한 날짜를 조회한다.

Headers

Name
Value

Content-Type

application/json

X-Queue-Token

<token>

Response

{
  "concertId": 1,
  "dates": [
    "2025-01-01",
    "2025-01-02",
    "2025-01-03",
    "2025-01-04",
  ]
}


예약 가능 좌석 조회 API

GET/concerts/{concertId}/schedules/{concertScheduleId}/available-seats

콘서트의 해당 일자에 예약 가능한 좌석을 조회한다.

Headers

Name
Value

Content-Type

application/json

X-Queue-Token

<token>

Query params

Name
Type
Description

date

String

YYYY-MM-DD 형식

Response

{
  "seats": [
    {
      "id": 550,
      "seatNum": 1,
      "price": 8000
    },
    {
      "id": 551,
      "seatNum": 2,
      "price": 10000
    }
  ]
}


좌석 예약 요청 API

POST /concerts/reservation

Headers

Name
Value

Content-Type

application/json

X-Queue-Token

<token>

Body

Name
Type
Description

concertId

Number

콘서트 ID

seatId

Number

좌석 ID

date

String

예매 일자

Response

{
    "reservationId": 1,
    "expireTime": "2025-01-01T01:00:00Z" // 만료시간
}


잔액 조회 API

GET/users/{userId}/points

Headers

Name
Value

Content-Type

application/json

X-Queue-Token

<token>

Response

{
    "userId": 1,
    "point": 10000
}


잔액 충전 API

POST /users/points/charge

Headers

Name
Value

Content-Type

application/json

X-Queue-Token

<token>

Body

Name
Type
Description

userId

Number

유저 ID

amount

Number

충전 금액

Response

{
    "userId": 1,
    "point": 10000
}


결제 API

POST /reservation/payments

Headers

Name
Value

Content-Type

application/json

X-Queue-Token

<token>

Body

Name
Type
Description

userId

Number

유저 ID

reservationId

Number

예약 ID

Response

{
    "reservationId": 1, // 결제된 예약 ID
    "remainingPoint": 8000 // 남은 포인트
}

Last updated