- URL:
/api/v1/waiting-queues
- Method:
POST
- Headers:
- Content-Type: application/json
- Body:
{ "concertId": "Integer" }
- Status Code: 201 Created
{ "waitingQueue": { "id": "Integer", "concertId": "Integer", "uuid": "String", "status": "Enum", "expiredAt": "DateTime", "createdAt": "DateTime", "updatedAt": "DateTime" } }
- URL:
/api/v1/waiting-queues/position
- Method:
GET
- Headers:
- Content-Type: application/json
- X-Waiting-Queue-Token-uuid: [대기열 토큰 UUID]
- Status Code: 200 OK
{ "waitingQueue": { "id": "Integer", "concert_id": "Integer", "uuid": "String", "status": "Enum", "expiredAt": "DateTime", "position": "Integer", "createdAt": "DateTime", "updatedAt": "DateTime" } }
- URL:
/api/v1/concerts/{concertId}/available-schedules
- Method:
GET
- Headers:
- Content-Type: application/json
- X-Waiting-Queue-Token-uuid: [대기열 토큰 UUID]
- Path Parameters:
concertId
:Integer
- Status Code: 200 OK
{ "concertSchedules": [ { "id": "Integer", "concertId": "Integer", "concertAt": "DateTime", "reservationStartAt": "DateTime", "reservationEndAt": "DateTime", "createdAt": "DateTime", "updatedAt": "DateTime" } ] }
- URL:
/api/v1/concert-schedules/{scheduleId}/available-seats
- Method:
GET
- Headers:
- Content-Type: application/json
- X-Waiting-Queue-Token-uuid: [대기열 토큰 UUID]
- Path Parameters:
scheduleId
:Integer
- Status Code: 200 OK
{ "concertSeats": [ { "id": "Integer", "concertScheduleId": "Integer", "number": "Integer", "price": "Integer", "isReserved": "Boolean", "createdAt": "DateTime", "updatedAt": "DateTime" } ] }
- URL:
/api/v1/concert-seats/{concertSeatId}/reservations
- Method:
POST
- Headers:
- Content-Type: application/json
- X-User-Id: [사용자 ID]
- X-Waiting-Queue-Token-uuid: [대기열 토큰 UUID]
- Body:
{ "concertSeatId": "Integer" }
- Status Code: 201 Created
{ "reservation": { "id": "Integer", "concertSeatId": "Integer", "userId": "Integer", "status": "Enum", "reservedAt": "DateTime", "createdAt": "DateTime", "updatedAt": "DateTime" } }
- URL:
/api/v1/users/{userId}/wallets/{walletId}/charge
- Method:
PUT
- Headers:
- Content-Type: application/json
- Path Parameters:
userId
:Integer
walletId
:Integer
- Body:
{ "amount": "Integer" }
- Status Code: 200 OK
{ "wallet": { "id": "Integer", "userId": "Integer", "amount": "Integer", "createdAt": "DateTime", "updatedAt": "DateTime" } }
- URL:
/api/v1/users/{userId}/wallets
- Method:
GET
- Headers:
- Content-Type: application/json
- Path Parameters:
userId
:Integer
- Status Code: 200 OK
{ "wallet": { "id": "Integer", "userId": "Integer", "amount": "Integer", "createdAt": "DateTime", "updatedAt": "DateTime" } }
- URL:
/api/v1/reservations/{reservationId}/payments
- Method:
POST
- Headers:
- Content-Type: application/json
- X-User-Id: [사용자 ID]
- Path Parameters:
reservationId
:Integer
- Status Code: 201 Created
{ "payment": { "id": "Integer", "reservationId": "Integer", "userId": "Integer", "amount": "Integer", "createdAt": "DateTime", "updatedAt": "DateTime" } }