Skip to content

아동 차량 방치 알림 서비스 개발자 가이드

서비스 개요

아동 차량 방치 알림 서비스는 차량 내 아동 안전 보호를 위한 텔레매틱스 기반 서비스로, 실시간 아동 감지, 방치 상황 알림 및 비상 상황 관리 기능을 제공합니다.

서비스 특징

  • 실시간 아동 탑승 감지 및 모니터링
  • 차량 내 아동 방치 상황 발생 시 즉각적인 알림
  • 자동 비상 상황 감지 및 대응
  • 멀티 센서 퓨전(카시트, 안전벨트, 움직임 감지)
  • 보호자 및 긴급 서비스 연계

법적 요구사항

  • 아동 안전 관련 규정 준수
  • 개인정보 보호법 준수
  • 차량 내부 센서 데이터 수집에 대한 필수 동의
  • 비상 상황 처리 프로토콜 준수

주요 시나리오

시나리오 1: 아동 차량 방치 알림 설정

엔티티별 API 흐름:

📱 앱 (사용자):

  1. 알림 활성화: 알림 서비스 활성화 및 민감도 설정
  2. 설정 조회: 알림 설정 확인
  3. 확인 응답: 알림 통지에 대한 확인 응답

🚗 차량 (TCU):

  1. 센서 데이터 전송: 위치, 좌석 점유 및 시동 상태 전송
  2. 상태 보고: 현재 아동 탑승 상태 보고

🏢 콜센터:

  1. 티켓 조회: 비상 티켓 조회
  2. 티켓 업데이트: 구조 작업 상태 업데이트

주요 기능

앱 기능

콜센터 기능

시퀀스 다이어그램

아동 차량 방치 알림 시스템 흐름

아동 차량 방치 알림

플랫폼 연동 고려사항

센서 데이터 처리

아동 판별 로직

알림 우선순위 관리

비상 상황 처리

API 엔드포인트

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

아동 차량 방치 알림 설정

아동 차량 방치 알림 조회

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

아동 차량 방치 알림 모니터링 활성화

bash
curl -X POST "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/child-alert/enable" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{"enabled": true, "sensitivity": "HIGH", "notifications": ["push", "sms"]}'

아동 차량 방치 알림 모니터링 비활성화

bash
curl -X POST "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/child-alert/disable" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{"reason": "Maintenance mode", "disableDuration": "2h"}'

아동 차량 방치 알림 상세 정보

아동 차량 방치 알림 확인 요청

bash
curl -X POST "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/child-alert/left-behind/alert_001/acknowledge" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{"acknowledgedBy": "parent01", "action": "resolved", "notes": "Child has been verified."}'

아동 차량 방치 알림 상세 정보 조회

bash
curl -X GET "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/child-alert/left-behind/alert_001" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"

콜센터용 비상 상황 관리

비상 티켓 조회

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

비상 티켓 상태 업데이트

bash
curl -X PUT "https://api.ecarus.run/api/v1/childcare/vehicles/KMHSH81C7LU123456/emergency/tickets/ticket_001/status" \
     -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
     -H "Content-Type: application/json" \
     -d '{"status": "resolved", "updatedBy": "operator01", "resolution": "Rescue completed"}'

아동 차량 방치 실시간 이벤트 수신 (SSE)

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

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

데이터 모델

아동 차량 방치 알림 상태

알림 서비스 활성화 상태 조회 응답 모델

json
{
  "vin": "KMHSH81C7LU123456",
  "enabled": true,
  "sensitivity": "HIGH",
  "notifications": ["push", "sms"],
  "lastDetection": {
    "timestamp": "2026-01-13T14:30:00Z",
    "confidence": 0.95,
    "sensors": ["child_seat", "rear_belt", "motion"]
  },
  "createdAt": "2026-01-10T10:00:00Z",
  "updatedAt": "2026-01-13T14:30:00Z"
}

아동 차량 방치 알림 활성화 요청

알림 서비스 활성화 요청 모델

json
{
  "enabled": true,
  "sensitivity": "HIGH",
  "notifications": ["push", "sms"]
}

아동 차량 방치 알림 비활성화 요청

알림 서비스 비활성화 요청 모델

json
{
  "reason": "Maintenance mode",
  "disableDuration": "2h"
}

아동 차량 방치 알림 이벤트

아동 차량 방치 감지 시 생성되는 알림 이벤트

json
{
  "alertId": "alert_001",
  "vin": "KMHSH81C7LU123456",
  "timestamp": "2026-01-13T14:32:00Z",
  "severity": "HIGH",
  "location": {
    "latitude": 37.5665,
    "longitude": 126.9780,
    "accuracy": 5.0,
    "address": "2 Taepyeong-ro, Jung-gu, Seoul"
  },
  "vehicleStatus": {
    "ignition": "OFF",
    "temperature": 35.5,
    "childDetected": true,
    "engineStatus": "stopped"
  },
  "duration": 120,
  "message": "Child has been left in vehicle. Immediate verification required.",
  "notifiedGuardians": ["parent01", "parent02"],
  "acknowledged": false,
  "createdAt": "2026-01-13T14:32:00Z"
}

아동 차량 방치 알림 상세 정보

특정 알림 ID 상세 정보 조회 응답

json
{
  "alertId": "alert_001",
  "vin": "KMHSH81C7LU123456",
  "timestamp": "2026-01-13T14:32:00Z",
  "severity": "HIGH",
  "status": "ACTIVE",
  "location": {
    "latitude": 37.5665,
    "longitude": 126.9780,
    "accuracy": 5.0,
    "address": "2 Taepyeong-ro, Jung-gu, Seoul"
  },
  "vehicleStatus": {
    "ignition": "OFF",
    "temperature": 35.5,
    "childDetected": true,
    "engineStatus": "stopped",
    "doorLock": "LOCKED"
  },
  "duration": 120,
  "detectionDetails": {
    "confidence": 0.95,
    "sensors": ["child_seat", "rear_belt", "motion"],
    "lastMovement": "2026-01-13T14:30:00Z"
  },
  "message": "Child has been left in vehicle. Immediate verification required.",
  "notifiedGuardians": ["parent01", "parent02"],
  "acknowledged": false,
  "acknowledgedBy": null,
  "acknowledgedAt": null,
  "emergencyTicket": "ticket_001",
  "createdAt": "2026-01-13T14:32:00Z"
}

알림 확인 요청

알림 확인 처리 요청 모델

json
{
  "acknowledgedBy": "parent01",
  "action": "resolved",
  "notes": "Child safety verification completed"
}

비상 티켓

비상 상황 발생 시 생성되는 티켓 정보

json
{
  "ticketId": "ticket_001",
  "vin": "KMHSH81C7LU123456",
  "alertId": "alert_001",
  "status": "active",
  "severity": "CRITICAL",
  "createdAt": "2026-01-13T14:35:00Z",
  "updatedAt": "2026-01-13T14:40:00Z",
  "resolvedAt": null,
  "location": {
    "latitude": 37.5665,
    "longitude": 126.9780,
    "accuracy": 5.0,
    "address": "2 Taepyeong-ro, Jung-gu, Seoul"
  },
  "assignedTo": "emergency_service_01",
  "estimatedArrival": "2026-01-13T14:45:00Z",
  "actualArrival": null,
  "contactInfo": {
    "phone": "+82-2-1234-5678",
    "email": "emergency@example.com"
  },
  "notes": "Vehicle internal temperature at dangerous levels, immediate rescue required",
  "actions": [
    {
      "timestamp": "2026-01-13T14:35:00Z",
      "action": "DISPATCHED",
      "performedBy": "system",
      "details": "Rescue team dispatched"
    }
  ]
}

비상 티켓 상태 업데이트 요청

비상 티켓 상태 업데이트 요청 모델

json
{
  "status": "resolved",
  "updatedBy": "operator01",
  "resolution": "Rescue completed"
}

실시간 알림 이벤트 (SSE)

실시간 알림 이벤트 스트림

json
{
  "eventType": "CHILD_LEFT_BEHIND",
  "alertId": "alert_001",
  "vin": "KMHSH81C7LU123456",
  "timestamp": "2026-01-13T14:32:00Z",
  "severity": "HIGH",
  "data": {
    "location": {
      "latitude": 37.5665,
      "longitude": 126.9780
    },
    "vehicleStatus": {
      "ignition": "OFF",
      "temperature": 35.5,
      "childDetected": true
    },
    "duration": 120,
    "message": "Child left behind in vehicle detected"
  }
}

인증 및 보안

인증 요구사항

  • 사용자 인증 토큰 필요 (JWT/OAuth2)
  • 차량 접근 권한 확인
  • 아동 차량 방치 알림 서비스 설정 권한
  • 비상 상황 처리 권한

보안 및 프라이버시

  • 모든 API 통신은 HTTPS/TLS 암호화
  • 센서 데이터 전송 시 보안 조치
  • 민감 정보는 서버에만 저장
  • 아동 관련 정보의 특별 보호
  • 위치 정보 수집 동의 필수

예외 처리

센서 관련

  • 센서 오류: 멀티 센서 교차 검증을 통한 오류 보정
  • 일시적 사용 불가: 백업 센서로 기능 대체
  • 노이즈 발생: 필터링 알고리즘을 통한 신뢰도 보정
  • 교정 필요: 센서 교정 필요 시 관리자에게 알림

네트워크 관련

  • 연결 실패: 오프라인 모드에서 기본 기능 동작
  • 응답 지연: 로컬에서 우선 판별 후 서버 동기화
  • 서버 다운: 비상 상황 시 로컬 알림 기능 동작

알림 관련

  • 수신자 무응답: 에스컬레이션 정책에 따라 차순위 수신자에게 알림
  • 통신사 장애: 다중 채널(Push, SMS, 이메일) 동시 활용
  • 오알림: 오탐 방지 알고리즘을 통한 오알림 최소화

테스트 설정

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

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

추가 지원

개발 중 기술 지원이 필요한 경우 다음 리소스를 참조하십시오.

Released under the MIT License.