Skip to content

커퓨(심야 운행 제한) API 개발자 가이드

서비스 개요

커퓨(Curfew) 서비스는 미국 미성년자(16-17세) 임시 면허 운전자의 심야 운행 제한 정책을 차량 서비스에 적용하여, 특정 시간대의 차량 이용을 모니터링하고 제어하는 텔레매틱스 기반 기능입니다.

서비스 특징

  • 심야 시간대 차량 운행 자동 감지
  • 시간 기반 차량 이용 제한 정책 적용
  • 보호자/관리자 실시간 알림
  • 차량 엔진 제어 기능 (선택 사항)
  • 청소년 운전자의 안전 강화

법적 요구사항

  • 미국 지역별 커퓨 관련 규정 준수
  • 운전자 사전 동의 필수
  • 개인정보 및 위치정보 보호법 준수
  • 주행 중 강제 엔진 정지 금지

주요 시나리오

시나리오 1: 커퓨 정책 설정

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 정책 설정: 요일/시간대별 커퓨 규칙 설정
  2. 정책 조회: 현재 설정된 커퓨 정책 확인
  3. 예외 설정: 일시적인 커퓨 해제

🚗 차량 (TCU):

  1. 엔진 이벤트 전송: 시동 이벤트를 ECARUS로 전송
  2. 상태 보고: 커퓨 시간 중 현재 차량 이용 상태 보고

🏢 콜센터:

  1. 위반 모니터링: 실시간 위반 모니터링
  2. 이력 조회: 위반 이력 조회

주요 기능

앱 기능

콜센터 기능

시퀀스 다이어그램

커퓨 시스템 흐름

커퓨

플랫폼 연동 고려사항

시간 판별 로직

차량 제어 방식

운전자 식별

  • 디지털 키 미사용 시 차량 레벨 정책 적용
  • 시간 기반으로만 정책 적용
  • 개별 운전자 식별 불가

권한 관리

API 엔드포인트

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

커퓨 정책

커퓨 정책 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/policy" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

커퓨 정책 설정

bash
curl -X PUT "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/policy" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{
           "enabled": true,
           "timezone": "Asia/Seoul",
           "days": ["monday", "wednesday", "friday"],
           "timeWindow": {"start": "21:00", "end": "07:00"},
           "actions": ["notification"]
         }'

커퓨 통계 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/statistics?period=30d" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

커퓨 모니터링 및 예외 처리

커퓨 위반 이력 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/violations?limit=10&offset=0" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

커퓨 예외 설정

bash
curl -X POST "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/exception" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{"reason": "After-school program ended late", "startTime": "2026-03-06T21:00:00Z", "endTime": "2026-03-06T23:00:00Z"}'

커퓨 예외 목록 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/exceptions?status=active" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

커퓨 실시간 이벤트 수신 (SSE)

참고: 브라우저를 통해 접속하거나 전용 SSE 클라이언트 사용 권장

bash
curl -N -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/curfew/events"

데이터 모델

커퓨 정책 설정

json
{
  "enabled": true,
  "timezone": "Asia/Seoul",
  "days": ["monday", "wednesday", "friday"],
  "timeWindow": {
    "start": "21:00",
    "end": "07:00"
  },
  "actions": ["notification"]
}

커퓨 위반 이벤트

json
{
  "violationId": "vio_001",
  "vin": "KMHSH81C7LU123456",
  "timestamp": "2026-02-10T22:15:00Z",
  "severity": "MEDIUM",
  "location": {
    "latitude": 37.5665,
    "longitude": 126.9780,
    "address": "2 Taepyeong-ro, Jung-gu, Seoul"
  },
  "duration": 45,
  "resolved": false
}

커퓨 정책 응답

json
{
  "enabled": true,
  "timezone": "Asia/Seoul",
  "days": ["monday", "wednesday", "friday"],
  "timeWindow": {
    "start": "21:00",
    "end": "07:00"
  },
  "actions": ["notification"],
  "exceptions": [
    {
      "exceptionId": "exc_001",
      "reason": "After-school program ended late",
      "startTime": "2026-03-06T21:00:00Z",
      "endTime": "2026-03-06T23:00:00Z",
      "status": "active"
    }
  ],
  "statistics": {
    "totalViolations": 5,
    "thisMonth": 2,
    "lastMonth": 3
  },
  "createdAt": "2026-01-10T10:00:00Z",
  "updatedAt": "2026-02-10T22:15:00Z"
}

커퓨 예외 설정

json
{
  "reason": "After-school program ended late",
  "startTime": "2026-03-06T21:00:00Z",
  "endTime": "2026-03-06T23:00:00Z"
}

커퓨 예외 목록

json
{
  "exceptions": [
    {
      "exceptionId": "exc_001",
      "reason": "After-school program ended late",
      "startTime": "2026-03-06T21:00:00Z",
      "endTime": "2026-03-06T23:00:00Z",
      "status": "active",
      "createdAt": "2026-03-06T20:30:00Z"
    },
    {
      "exceptionId": "exc_002",
      "reason": "Family emergency",
      "startTime": "2026-03-05T22:00:00Z",
      "endTime": "2026-03-05T23:30:00Z",
      "status": "expired",
      "createdAt": "2026-03-05T21:45:00Z"
    }
  ],
  "pagination": {
    "total": 2,
    "limit": 10,
    "offset": 0,
    "hasMore": false
  }
}

실시간 위반 이벤트 (SSE)

json
{
  "eventType": "CURFEW_VIOLATION",
  "violationId": "vio_001",
  "vin": "KMHSH81C7LU123456",
  "timestamp": "2026-02-10T22:15:00Z",
  "severity": "MEDIUM",
  "data": {
    "location": {
      "latitude": 37.5665,
      "longitude": 126.9780,
      "address": "2 Taepyeong-ro, Jung-gu, Seoul"
    },
    "duration": 45,
    "message": "Vehicle detected during curfew hours"
  }
}

인증 및 보안

인증 요구사항

  • 사용자 인증 토큰 필요 (JWT/OAuth2)
  • 차량 접근 권한 확인
  • 커퓨 정책 설정 권한
  • 운전자 사전 동의 확인

데이터 보안

  • 모든 API 통신은 HTTPS/TLS 암호화
  • 주행 데이터 전송 시 보안 조치
  • 민감 주행 정보는 서버에만 저장
  • 시간 데이터 암호화 처리

프라이버시 보호

  • 운전자 사전 동의 필수
  • 개인정보 및 위치정보 보호 준수
  • 데이터 수집 목적 명시
  • 데이터 보유 기간 정책 준수

접근 제어

  • VIN 기반 차량 접근 권한 확인
  • 사용자별 커퓨 정책 접근 관리
  • 위반 이력 접근 제어
  • 예외 설정 권한 관리

예외 처리

시간 관련

  • 시간 동기화 오류: 서버 시간과 차량 시간 동기화 재시도
  • 타임존 오류: 타임존 설정 유효성 검사
  • DST 변경: 일광절약시간제 자동 처리
  • 시간 판별 실패: UTC 시간으로 폴백

차량 제어 관련

  • 엔진 제어 실패: 차량 제어 명령 재시도
  • 제어 명령 타임아웃: 제어 타임아웃 처리
  • 차량 통신 오류: 차량 통신 재시도
  • 안전 위반: 위험한 제어 명령 금지

정책 관련

  • 정책 설정 오류: 정책 설정 유효성 검사
  • 정책 충돌: 다중 정책 충돌 해결
  • 정책 적용 실패: 정책 재시도 메커니즘
  • 예외 설정 오류: 예외 설정 유효성 검사

네트워크 관련

  • 연결 실패: 오프라인 모드 지원 및 데이터 저장
  • 응답 지연: 로딩 인디케이터 및 타임아웃 처리
  • 서버 다운: 에러 메시지 표시 및 재시도 제안

테스트 설정

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

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

배포 고려사항

앱 스토어 등록

  • 주행 모니터링 권한 요청
  • 차량 제어 권한 요청 (해당하는 경우)
  • 커퓨 기능에 대한 명확한 설명
  • 운전자 동의 필요성 설명

법규 준수

  • 미국 지역별 커퓨 관련 규정 준수
  • 운전자 사전 동의 필수
  • 개인정보 및 위치정보 보호 준수
  • 주행 중 강제 엔진 정지 금지

시간 정확성

  • 서버 시간 동기화 최적화
  • 타임존 처리 정확성
  • DST 변경 자동 처리
  • 시간 판별 신뢰성

차량 제어 안전

  • 안전한 차량 제어 명령 설계
  • 비상 상황 처리
  • 제어 명령 유효성 검사
  • 안전 프로토콜 준수

Released under the MIT License.