아동 차량 방치 알림 서비스 개발자 가이드
서비스 개요
아동 차량 방치 알림 서비스는 차량 내 아동 안전 보호를 위한 텔레매틱스 기반 서비스로, 실시간 아동 감지, 방치 상황 알림 및 비상 상황 관리 기능을 제공합니다.
서비스 특징
- 실시간 아동 탑승 감지 및 모니터링
- 차량 내 아동 방치 상황 발생 시 즉각적인 알림
- 자동 비상 상황 감지 및 대응
- 멀티 센서 퓨전(카시트, 안전벨트, 움직임 감지)
- 보호자 및 긴급 서비스 연계
법적 요구사항
- 아동 안전 관련 규정 준수
- 개인정보 보호법 준수
- 차량 내부 센서 데이터 수집에 대한 필수 동의
- 비상 상황 처리 프로토콜 준수
주요 시나리오
시나리오 1: 아동 차량 방치 알림 설정
엔티티별 API 흐름:
📱 앱 (사용자):
- 알림 활성화: 알림 서비스 활성화 및 민감도 설정
- 설정 조회: 알림 설정 확인
- 확인 응답: 알림 통지에 대한 확인 응답
🚗 차량 (TCU):
- 센서 데이터 전송: 위치, 좌석 점유 및 시동 상태 전송
- 상태 보고: 현재 아동 탑승 상태 보고
🏢 콜센터:
- 티켓 조회: 비상 티켓 조회
- 티켓 업데이트: 구조 작업 상태 업데이트
주요 기능
앱 기능
- 알림 활성화: 서비스 모니터링 시작 및 설정
- 알림 비활성화: 서비스 일시 중지
- 알림 조회: 현재 서비스 활성화 상태 확인
- 알림 확인 응답: 알림 확인 및 조치 사항 입력
- 알림 상세: 특정 알림의 상세 정보 확인
- 실시간 모니터링: SSE 스트림을 통한 실시간 알림 수신
- 지오펜스 등록: 안심 구역 지오펜스 등록
콜센터 기능
- 알림 모니터링: SSE 스트림을 통한 실시간 알림 수신
- 티켓 관리: 비상 티켓 조회 및 비상 티켓 업데이트
- 보호자 연락: 위반 상황 발생 시 보호자에게 즉각 통보
- 긴급 구조: 자동 비상 티켓 생성 및 대응 관리
시퀀스 다이어그램
아동 차량 방치 알림 시스템 흐름

플랫폼 연동 고려사항
센서 데이터 처리
- 실시간 센서 데이터 스트림 처리
- 멀티 센서 데이터 융합 알고리즘
- 노이즈 필터링 및 신뢰도 보정
- 센서 오류 감지 및 대체 처리
아동 판별 로직
- 다중 조건 기반 아동 탑승 판별
- 시간 기반 방치 상황 감지
- 환경 요인(온도, 습도) 고려
- 오탐 방지를 위한 히스테리시스 적용
알림 우선순위 관리
- 위험 수준에 따른 알림 분류
- 다수 수신자에 대한 순차적 알림
- 알림 확인 추적
- 재알림 및 에스컬레이션 정책
비상 상황 처리
- 자동 긴급 서비스 연계 프로토콜
- 실시간 위치 정보 공유
- 비상 티켓 라이프사이클 관리
- 실시간 구조 작업 상태 모니터링
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를 사용하십시오.
추가 지원
개발 중 기술 지원이 필요한 경우 다음 리소스를 참조하십시오.
- API 문서: Swagger UI
- 실시간 이벤트 가이드: SSE 튜토리얼
- 기술 문의: 개발자 포털 지원팀