지원 이슈 API
개요
지원 이슈 API는 사용자(환자)의 이슈를 조회하고 상태를 변경하는 기능을 제공합니다.
주요기능
- 이슈 조회: 특정 사용자의 이슈 목록 조회
- 이슈 상태 변경: 특정 이슈의 상태 변경
[GET] /support/users/{userId}/issues - 이슈 조회
이슈 조회
특정 사용자의 이슈 목록을 조회합니다.
- HTTP Method:
GET - 인증: 액세스 토큰 (
accessToken) 필요
Headers
| Header | Type | Description | Required |
|---|---|---|---|
| Authorization | Bearer {accessToken} | 사용자 인증을 통해 발급받은 액세스 토큰 입니다. | ✔ |
Path Parameters
| 파라미터 | 타입 | 설명 | Required |
|---|---|---|---|
| userId | string | 사용자 ID | ✔ |
Request Body
N/A
Responses
| Http Status Code | 설명 | Error Code(s) |
|---|---|---|
200 OK | 조회 성공 | - |
401 Unauthorized | 인증 실패 | - |
404 Not Found | 사용자를 찾을 수 없음 | - |
200 OK - 성공
{
"data": [
{
"id": 1,
"issue": "수면 기록이 안됩니다.",
"status": "REGISTERED",
"day": 1,
"createdBy": {
"id": 1,
"email": "user@example.com",
"name": "John Doe"
},
"createdAt": "2021-01-01T00:00:00.000Z",
"updatedAt": "2021-01-01T00:00:00.000Z"
}
]
}
| 필드 | 타입 | 설명 |
|---|---|---|
| data | array | 이슈 목록 |
| data[].id | number | 이슈 ID |
| data[].issue | string | 이슈 내용 |
| data[].status | string | 이슈 상태 (REGISTERED, IN_PROGRESS, RESOLVED, CANCELLED) |
| data[].day | number | 이슈 발생 일차 |
| data[].createdBy | object | null | 이슈 생성자 정보 |
| data[].createdBy.id | number | 생성자 ID |
| data[].createdBy.email | string | 생성자 이메일 |
| data[].createdBy.name | string | 생성자 이름 |
| data[].createdAt | string | 생성일 (ISO 8601) |
| data[].updatedAt | string | 수정일 (ISO 8601) |
401 Unauthorized - 인증 실패
예시: 토큰이 누락된 경우
{
"status": 401,
"code": 40100,
"message": "Unauthorized",
"detail": ""
}
404 Not Found - 찾을 수 없음
예시: 사용자를 찾을 수 없는 경우
{
"status": 404,
"code": 40400,
"message": "User not found",
"detail": ""
}
[PATCH] /support/users/{userId}/issues/{issueId} - 이슈 상태 변경
이슈 상태 변경
특정 이슈의 상태를 변경합니다.
- HTTP Method:
PATCH - 인증: 액세스 토큰 (
accessToken) 필요
Headers
| Header | Type | Description | Required |
|---|---|---|---|
| Authorization | Bearer {accessToken} | 사용자 인증을 통해 발급받은 액세스 토큰 입니다. | ✔ |
| Content-Type | application/json | 요청 본문 타입 | ✔ |
Path Parameters
| 파라미터 | 타입 | 설명 | Required |
|---|---|---|---|
| userId | string | 사용자 ID | ✔ |
| issueId | number | 이슈 ID | ✔ |
Request Body
| 필드 | 타입 | 설명 | Required |
|---|---|---|---|
| status | string | 변경할 이슈 상태 (REGISTERED, IN_PROGRESS, RESOLVED, CANCELLED) | ✔ |
Request Body Example
{
"status": "IN_PROGRESS"
}
Responses
| Http Status Code | 설명 | Error Code(s) |
|---|---|---|
200 OK | 상태 변경 성공 | - |
401 Unauthorized | 인증 실패 | - |
404 Not Found | 이슈를 찾을 수 없음 | - |
200 OK - 성공
{
"success": true
}
| 필드 | 타입 | 설명 |
|---|---|---|
| success | boolean | 성공 여부 |
401 Unauthorized - 인증 실패
예시: 토큰이 누락된 경우
{
"status": 401,
"code": 40100,
"message": "Unauthorized",
"detail": ""
}
404 Not Found - 찾을 수 없음
예시: 이슈를 찾을 수 없는 경우
{
"status": 404,
"code": 40400,
"message": "Issue not found",
"detail": ""
}