Skip to content

주차 위치 확인 API 개발자 가이드

서비스 개요

주차 위치 서비스는 모바일 앱이나 웹 플랫폼을 통해 사용자가 차량의 현재 주차 위치를 원격으로 확인할 수 있는 텔레매틱스 서비스입니다.

서비스 특징

  • 실시간 차량 주차 위치 추적
  • 주차 위치 이력 관리
  • 지오펜스 기반 주차 알림
  • 주차 시간 추적
  • 주차 위치 공유

법적 요구사항

  • 개인정보 보호법 준수
  • 위치 데이터 수집에 대한 명시적 동의 필요
  • 실시간 위치 추적에 대한 별도 동의 필요
  • 데이터 보유 정책 준수

주요 시나리오

시나리오 1: 주차 위치 업데이트 요청 및 처리

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 위치 요청: 현재 주차 위치 업데이트 요청
  2. 상태 확인: 위치 업데이트 상태 확인 (진행 중/완료)
  3. 위치 표시: 지도에 현재 주차 위치 표시

🚗 차량 (TCU):

  1. 위치 데이터 수집: GPS 좌표 및 주차 상태 수집
  2. 위치 데이터 전송: 서버로 위치 데이터 전송
  3. 주차 감지: 주차 상태 및 주차 시간 감지

🏢 콜센터:

  1. 중복 요청 방지: 중복 요청 방지 로직 적용
  2. 명령 전송: 차량으로 위치 업데이트 명령 전송
  3. 데이터 처리: 수신된 위치 데이터 처리 및 검증
  4. 지오코딩: 좌표를 주소 정보로 변환
  5. 저장: 타임스탬프와 함께 위치 데이터 저장

시나리오 2: 실시간 주차 위치 조회

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 위치 조회: 현재 주차 위치 조회
  2. 지도 표시: 대화형 지도에 주차 위치 표시
  3. 주소 표시: 상세 주소 정보 표시

🏢 콜센터:

  1. 위치 제공: 최신 주차 위치 제공
  2. 위치 관리: 주차 위치 정보 자동 관리
  3. 데이터 캐싱: 위치 데이터의 효율적 캐싱
  4. 주소 변환: 좌표를 주소로 변환

시나리오 3: 주차 위치 이력 조회

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 이력 조회: 주차 위치 이력 조회
  2. 이력 표시: 타임라인에 주차 위치 이력 표시
  3. 패턴 분석: 주차 패턴 분석 표시

🏢 콜센터:

  1. 이력 관리: 주차 위치 이력 자동 관리
  2. 패턴 분석: 주차 위치 패턴 분석
  3. 통계 생성: 주차 관련 통계 생성

시나리오 4: 지오펜스 기반 주차 알림

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 지오펜스 설정: 주차 지오펜스 설정
  2. 알림 설정: 주차 알림 설정 구성
  3. 알림 수신: 주차 알림 통지 수신

🏢 콜센터:

  1. 지오펜스 관리: 주차 지오펜스 설정 관리
  2. 알림 생성: 주차 알림 통지 생성
  3. 푸시 알림: 사용자 앱으로 푸시 알림 전송

시나리오 5: 주차 위치 공유

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 공유 요청: 주차 위치 공유 요청
  2. 공유 링크 생성: 공유 가능한 위치 링크 생성
  3. 공유 관리: 공유된 위치 접근 권한 관리

🏢 콜센터:

  1. 공유 처리: 주차 위치 공유 요청 처리
  2. 링크 생성: 보안 공유 링크 생성
  3. 접근 제어: 공유된 위치 접근 권한 관리

시나리오 6: 주차 시간 추적

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 시간 조회: 주차 시간 조회
  2. 시간 표시: 주차 시간 정보 표시
  3. 알림 설정: 주차 시간 알림 설정

🏢 콜센터:

  1. 시간 계산: 주차 시간 계산
  2. 시간 관리: 주차 시간 추적 관리
  3. 알림 생성: 시간 기반 알림 생성

시나리오 7: 실시간 위치 이벤트

엔티티별 API 흐름:

📱 앱 (사용자):

  1. SSE 연결: 실시간 위치 이벤트 스트림 연결
  2. 실시간 수신: 실시간으로 주차 위치 변경 수신

🏢 콜센터:

  1. 이벤트 스트림 제공: 실시간 위치 이벤트 스트림 제공
  2. 이벤트 전송: 실시간으로 위치 변경 이벤트 전송

주요 기능

📱 앱 구현 기능

1. 주차 위치 조회 및 모니터링

2. 주차 위치 이력

  • 이력 조회: 주차 위치 이력 조회
  • 타임라인 표시: 타임라인에 주차 이력 표시
  • 패턴 분석: 주차 패턴 분석 표시
  • 통계: 주차 관련 통계 표시

3. 지오펜스 및 알림

  • 지오펜스 설정: 주차 지오펜스 설정
  • 알림 설정: 주차 알림 설정 구성
  • 알림 수신: 주차 알림 통지 수신
  • 알림 관리: 알림 기본 설정 관리

4. 주차 시간 추적

  • 시간 조회: 주차 시간 조회
  • 시간 표시: 주차 시간 정보 표시
  • 시간 알림: 주차 시간 알림 설정
  • 시간 이력: 주차 시간 이력 표시

5. 실시간 이벤트 수신


🏢 콜센터 구현 기능

1. 주차 위치 데이터 수집 시스템

  • 데이터 수신: 실시간 주차 위치 데이터 수신
  • 데이터 저장: 위치 데이터의 안전한 저장
  • 위치 관리: 최신 위치 정보 자동 관리
  • 품질 관리: 위치 데이터 품질 및 정확성 관리
  • 데이터 검증: 위치 데이터 유효성 검증

2. 위치 이력 관리 시스템

  • 이력 수집: 주차 위치 이력 자동 수집
  • 이력 관리: 위치 이력 자동 관리
  • 패턴 분석: 주차 위치 패턴 자동 분석
  • 통계 생성: 주차 관련 통계 자동 생성

3. 지오펜스 및 알림 시스템

  • 지오펜스 관리: 주차 지오펜스 자동 관리
  • 알림 생성: 주차 알림 통지 자동 생성
  • 푸시 알림: 사용자 앱으로 푸시 알림 자동 전송
  • 알림 설정: 알림 설정 관리

4. 위치 공유 시스템

  • 공유 처리: 주차 위치 공유 요청 처리
  • 링크 생성: 보안 공유 링크 생성
  • 접근 제어: 공유된 위치 접근 권한 관리
  • 공유 관리: 공유 설정 및 권한 관리

5. 시간 추적 시스템

  • 시간 계산: 주차 시간 자동 계산
  • 시간 관리: 주차 시간 자동 관리
  • 시간 알림: 시간 기반 알림 생성
  • 시간 이력: 주차 시간 이력 관리

6. API 서비스 관리

  • API 응답 처리: 주차 위치 관련 API 요청 처리
  • 요청 검증: API 요청 유효성 검증
  • 성능 모니터링: API 응답 시간 및 가용성 모니터링
  • 에러 핸들링: API 에러 및 예외 처리
  • 버전 관리: API 버전 및 호환성 관리

7. 보안 및 프라이버시

  • 위치 수집 동의: 위치 데이터 수집 동의 관리
  • 프라이버시 보호: 사용자 위치 데이터 프라이버시 보호
  • 데이터 보안: 위치 데이터의 안전한 처리
  • 감사 로깅: 위치 접근에 대한 감사 로그 유지
  • 접근 제어: 사용자별 위치 접근 권한 관리

8. 시스템 운영 및 모니터링

  • 시스템 상태 모니터링: 주차 위치 시스템 24시간 모니터링
  • 데이터 품질 관리: 위치 데이터 품질 및 정확성 관리
  • GPS 상태 모니터링: GPS 통신 상태 모니터링
  • 예외 처리: 네트워크, GPS, 데이터 처리 예외 대응
  • 시스템 최적화: 위치 데이터 처리 로직 최적화

9. 데이터 분석 및 통계

  • 패턴 분석: 주차 위치 패턴 자동 분석
  • 이용 통계: 위치 조회 이용 통계 자동 생성
  • 서비스 품질 분석: 위치 서비스 품질 자동 분석
  • 개선 권장 사항: 서비스 개선 권장 사항 자동 생성

시퀀스 다이어그램

주차 위치 시스템 흐름

주차 위치

API 엔드포인트

헤더, 응답 코드 및 에러 형식은 공통 API 사양을 참조하십시오.

최신 주차 위치 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/information/vehicles/KMHSH81C7LU123456/parking-location/latest" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

주차 위치 이력 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/information/vehicles/KMHSH81C7LU123456/parking-location/history?limit=10" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

주차 위치 업데이트 요청

bash
curl -X POST "https://api.ecarus.run/api/v1/information/vehicles/KMHSH81C7LU123456/parking-location/refresh" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{"priority": "HIGH", "timeout": 30}'

데이터 모델

주차 위치 정보 응답

json
{
  "vin": "KMHSH81C7LU123456",
  "userId": "user123",
  "timestamp": "2026-01-13T14:30:00Z",
  "location": {
    "latitude": 37.4021,
    "longitude": 127.1087,
    "altitude": 15.2,
    "accuracy": 5.0,
    "heading": 185.5,
    "speed": 0,
    "unit": "KM/H"
  },
  "address": {
    "country": "South Korea",
    "city": "Seoul",
    "district": "Gangnam-gu",
    "street": "Teheran-ro",
    "building": "123",
    "postalCode": "06234"
  },
  "parking": {
    "isParked": true,
    "parkingDuration": 28500,
    "parkingType": "STREET",
    "parkingLocation": {
      "floor": "B2",
      "zone": "A-15",
      "coordinates": {
        "latitude": 37.4021,
        "longitude": 127.1087
      }
    },
    "parkingStartTime": "2026-01-13T06:45:00Z"
  },
  "geofence": {
    "withinGeofence": true,
    "geofenceId": "home-001",
    "geofenceName": "Home",
    "distanceFromCenter": 150,
    "unit": "METERS"
  },
  "lastUpdate": "2026-01-13T14:30:00Z"
}

주차 위치 이력 응답

json
{
  "vin": "KMHSH81C7LU123456",
  "userId": "user123",
  "period": "30d",
  "limit": 10,
  "offset": 0,
  "history": [
    {
      "locationId": "loc-001",
      "timestamp": "2026-01-13T14:30:00Z",
      "location": {
        "latitude": 37.4021,
        "longitude": 127.1087,
        "address": "서울시 강남구 테헤란로 123"
      },
      "parking": {
        "isParked": true,
        "parkingDuration": 28500,
        "parkingType": "STREET"
      },
      "geofence": {
        "withinGeofence": true,
        "geofenceName": "Home"
      }
    },
    {
      "locationId": "loc-002",
      "timestamp": "2026-01-12T18:30:00Z",
      "location": {
        "latitude": 37.5665,
        "longitude": 126.9780,
        "address": "서울시 종로구 세종대로 100"
      },
      "parking": {
        "isParked": true,
        "parkingDuration": 43200,
        "parkingType": "GARAGE"
      },
      "geofence": {
        "withinGeofence": false,
        "geofenceName": null
      }
    }
  ],
  "total": 45,
  "hasMore": true,
  "nextOffset": 10
}

주차 위치 업데이트 요청 응답

json
{
  "vin": "KMHSH81C7LU123456",
  "userId": "user123",
  "requestId": "req-001",
  "status": "PROCESSING",
  "priority": "HIGH",
  "timeout": 30,
  "createdAt": "2026-01-13T14:30:00Z",
  "estimatedCompletion": "2026-01-13T14:30:30Z"
}

보안 및 프라이버시

인증 및 권한 부여

  • 사용자 인증 토큰 필요 (JWT/OAuth2)
  • 차량 접근 권한 확인
  • 위치 조회 권한 확인

데이터 보안

  • 모든 API 통신은 HTTPS/TLS 암호화
  • 위치 데이터의 안전한 전송
  • 민감한 위치 정보 보호

프라이버시 보호

  • 위치 데이터 수집에 대한 명시적 동의
  • 실시간 위치 추적에 대한 별도 동의 필요
  • 데이터 보유 정책 준수
  • 사용자 요청 시 데이터 삭제 권한 보장

접근 제어

  • VIN 기반 차량 접근 권한 확인
  • 사용자별 위치 접근 권한 관리
  • 이상 접근 패턴 감지

예외 처리

네트워크 관련

  • 연결 실패: 오프라인 모드 지원, 마지막 위치 캐싱
  • 응답 지연: 로딩 인디케이터, 타임아웃 처리
  • 서버 다운: 에러 메시지 표시, 재시도 제안

GPS 관련

  • GPS 신호 유실: 마지막 확인된 위치 사용
  • 낮은 정확도: 낮은 정확도 알림
  • GPS 오류: GPS 오류 알림, 기본 위치 표시

위치 관련

  • 차량 이동 중: 차량 이동 상태 알림
  • 위치 업데이트 안 됨: 위치 업데이트 요청 필요 알림
  • 유효하지 않은 위치: 유효하지 않은 위치 데이터 처리

권한 관련

  • 인증 실패: 재인증 요청
  • 권한 부족: 권한 부족에 대한 명확한 설명 제공
  • 위치 접근 권한: 위치 접근 권한 부족 알림

테스트 설정

Base URL: https://api.ecarus.run/api/v1/information
인증 토큰: sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d
샘플 VIN: KMHSH81C7LU123456

대화형 API 테스트를 위해 Swagger UI를 사용하십시오.

배포 고려사항

앱 스토어 등록

  • 위치 데이터 수집 권한 요청
  • 실시간 위치 추적 권한 요청
  • 주차 위치 모니터링 기능에 대한 명확한 설명

법규 준수

  • 개인정보 보호법 준수
  • 위치 데이터 수집에 대한 명시적 동의 필요
  • 실시간 위치 추적에 대한 별도 동의 필요
  • 데이터 보유 정책 준수

차량 호환성

  • 다양한 차종 지원
  • 내연기관/전기차/하이브리드 지원
  • GPS 모듈 성능 차이 고려
  • 위치 정확도 차이 고려

Released under the MIT License.