본문으로 건너뛰기
버전: 0.68.0

현재 사용자의 모바일 설정 조회 API

현재 사용자의 모바일 설정 조회 API는 JWT 토큰에서 사용자 ID를 추출하여 자신의 모바일 앱 설정 정보를 조회합니다.

참고

이 API는 JWT 인증을 통해 현재 로그인한 사용자의 모바일 앱 설정을 조회하는 데 사용됩니다. 별도의 사용자 ID 파라미터가 필요하지 않습니다.

현재 사용자의 모바일 설정 조회

JWT 토큰에서 사용자 ID를 추출하여 자신의 모바일 앱 설정 정보를 조회합니다.

  • HTTP Method: GET
  • Path: /v1/mobile/me/settings
  • 인증: Access Token 필요 (Authorization: Bearer {accessToken})

Headers

HeaderTypeDescriptionRequired
AuthorizationstringBearer <access-token>Yes

Path Parameters

이 API는 Path Parameter를 사용하지 않습니다.

JWT 토큰에서 사용자 ID 추출

JWT 토큰에서 자동으로 사용자 ID를 추출하여 해당 사용자의 설정을 조회합니다.

Query Parameters

이 API는 Query Parameter를 사용하지 않습니다.

Request Body

이 API는 Request Body를 사용하지 않습니다.

Responses

HTTP Status Code설명Error Code(s)
200 OK조회 성공-
401 Unauthorized액세스 토큰 인증 실패2001
404 Not Found사용자 모바일 설정을 찾을 수 없음8061
500 Internal Server Error서버 내부 오류8000
200 OK - 현재 사용자의 모바일 설정 조회 성공
{
"userId": "user-123-uuid",
"questionnaireBundleId": "bundle-456-uuid",
"screenshotAllowed": false,
"appNotificationEnabled": true,
"systemNotificationEnabled": true,
"analyticsConfiguration": {
"enabled": true,
"dataTypes": ["usage", "performance"]
},
"healthKitPermissionGranted": true,
"healthConnectPermissionGranted": false,
"locationPermissionGranted": true,
"videoRecordingAllowed": false,
"cameraPermissionGranted": true,
"photoLibraryPermissionGranted": true,
"fcmToken": "fGHI789012JKLM...",
"createdAt": 1747500000000,
"updatedAt": 1747557000000,
"lastResetAt": 1747500000000
}
필드타입설명필수
userIdstring사용자 IDYes
questionnaireBundleIdstring설문지 번들 IDYes
screenshotAllowedboolean스크린샷 허용 여부Yes
appNotificationEnabledboolean앱 알림 활성화 여부Yes
systemNotificationEnabledboolean시스템 알림 활성화 여부Yes
analyticsConfigurationobject분석 설정Yes
analyticsConfiguration.enabledboolean분석 활성화 여부Yes
analyticsConfiguration.dataTypesarray분석 데이터 타입 배열Yes
healthKitPermissionGrantedbooleanHealthKit 권한 허용 여부 (iOS)Yes
healthConnectPermissionGrantedbooleanHealth Connect 권한 허용 여부 (Android)Yes
locationPermissionGrantedboolean위치 권한 허용 여부Yes
videoRecordingAllowedboolean비디오 녹화 허용 여부Yes
cameraPermissionGrantedboolean카메라 권한 허용 여부Yes
photoLibraryPermissionGrantedboolean사진 라이브러리 권한 허용 여부Yes
fcmTokenstringFirebase Cloud Messaging 토큰 (nullable)No
createdAtnumber생성 시간 (Unix timestamp in milliseconds, Kotlin: Long, Swift: Int64)Yes
updatedAtnumber최종 수정 시간 (Unix timestamp in milliseconds, Kotlin: Long, Swift: Int64)Yes
lastResetAtnumber마지막 초기화 시간 (Unix timestamp in milliseconds, Kotlin: Long, Swift: Int64)Yes
401 Unauthorized - 액세스 토큰 인증 실패
{
"code": 2001,
"message": "UNAUTHORIZED",
"detail": "유효하지 않은 액세스 토큰입니다."
}

참고: JWT 토큰에서 사용자 ID를 추출할 수 없는 경우에도 이 오류가 발생할 수 있습니다.

404 Not Found - 사용자 모바일 설정을 찾을 수 없음
{
"code": 8061,
"message": "USER_MOBILE_SETTINGS_NOT_FOUND",
"detail": "사용자 모바일 설정을 찾을 수 없습니다."
}
500 Internal Server Error - 서버 내부 오류
{
"code": 8000,
"message": "SERVER_ERROR",
"detail": "서버 내부 오류가 발생했습니다."
}

설명

  • mobile.service.tsgetUserMobileSettings 메서드를 사용하며, MobileControllergetCurrentUserMobileSettings를 통해 노출됩니다.
  • 주요 기능:
    1. JWT 토큰에서 사용자 ID 자동 추출
    2. 현재 사용자의 모바일 앱 설정 조회
    3. 알림 설정, 권한 설정, 분석 설정 등 포함
    4. 설문지 번들 ID 및 FCM 토큰 정보 제공
  • JWT 가드를 통해 인증된 사용자만 접근할 수 있습니다.
  • 별도의 사용자 ID 파라미터 없이 토큰에서 자동으로 사용자를 식별합니다.

JWT 인증 처리

이 API는 @UseGuards(JwtAuthGuard)를 사용하여 JWT 토큰 인증을 처리합니다:

  1. 토큰 검증: Authorization 헤더의 JWT 토큰을 검증합니다.
  2. 사용자 ID 추출: 토큰에서 사용자 ID를 추출합니다.
  3. 자동 매핑: 추출된 사용자 ID로 해당 사용자의 설정을 조회합니다.

Analytics Configuration 상세

analyticsConfiguration 객체에 대한 상세 설명입니다.

필드타입설명가능한 값
enabledboolean분석 기능 활성화 여부true, false
dataTypesarray수집할 데이터 타입 배열["usage", "performance"]

참고: enableddataTypes 설정으로 분석 수집 범위를 제어할 수 있습니다.

사용 예시

요청 예시:

curl -X GET "https://api.dta-wide.com/mobile/me/settings" \
-H "Authorization: Bearer your-access-token"

응답 예시:

{
"userId": "user-123-uuid",
"questionnaireBundleId": "bundle-456-uuid",
"screenshotAllowed": false,
"appNotificationEnabled": true,
"systemNotificationEnabled": true,
"analyticsConfiguration": {
"enabled": true,
"dataTypes": ["usage", "performance"]
},
"healthKitPermissionGranted": true,
"healthConnectPermissionGranted": false,
"locationPermissionGranted": true,
"videoRecordingAllowed": false,
"cameraPermissionGranted": true,
"photoLibraryPermissionGranted": true,
"fcmToken": "fGHI789012JKLM...",
"createdAt": 1747500000000,
"updatedAt": 1747557000000,
"lastResetAt": 1747500000000
}

권한 설정 필드 상세

필드플랫폼설명
healthKitPermissionGrantediOSApple HealthKit 데이터 접근 권한
healthConnectPermissionGrantedAndroidGoogle Health Connect 데이터 접근 권한
locationPermissionGranted공통위치 정보 접근 권한
cameraPermissionGranted공통카메라 접근 권한
photoLibraryPermissionGranted공통사진 라이브러리 접근 권한

보안 고려사항

  • JWT 토큰 검증: 모든 요청에서 JWT 토큰의 유효성을 검증합니다.
  • 자동 사용자 식별: 토큰에서 사용자 ID를 추출하여 다른 사용자의 설정에 접근할 수 없도록 보장합니다.
  • 권한 기반 접근: 인증된 사용자만 자신의 설정에 접근할 수 있습니다.

변경 이력

버전날짜작성자변경 내용
0.1.02025-07-12bok@weltcorp.com최초 작성 - 현재 사용자의 모바일 설정 조회 API 문서화