긴급 출동 서비스 (RSA) API 개발자 가이드
서비스 개요
긴급 출동 서비스(RSA)는 차량 운행 중 고장이나 문제로 인해 도로변에 정차했을 때 콜센터를 통해 긴급 지원 서비스를 제공하는 텔레매틱스 서비스입니다.
서비스 특징
- 차량 고장에 대한 원격 상태 진단
- 정확한 위치 기반의 긴급 출동 지원
- 다양한 고장 상황(배터리, 타이어, 연료 등) 대응
- 실시간 출동 서비스 조율
- 고객 만족도 향상
법적 요구사항
- eCall/SOS보다 낮은 우선순위 부여
- 개인정보 보호법 준수
- 차량 고장 정보 수집에 대한 동의 필수
- 출동 서비스 계약 조건 및 규정 준수
주요 시나리오
시나리오 1: RSA 요청 및 데이터 수집
엔티티별 API 흐름:
📱 앱 (사용자):
- RSA 요청: 앱 내 RSA 버튼을 선택하여 도움 요청
- 모니터링: SSE를 통해 RSA 진행 상태 수신
- 긴급 통화: 콜센터와 즉각적인 음성 통화 연결
🚗 차량 (TCU):
- 이벤트 수신: 앱 또는 차량의 RSA 버튼 신호 수신
- 데이터 전송: 서버로 RSA 통보 데이터 전송
🏢 콜센터:
- 이벤트 모니터링: 실시간 RSA 요청 모니터링
- 상담: 진단 정보를 바탕으로 전문 상담 진행
- 출동 요청: 적절한 협력업체에 출동 요청
시나리오 2: 상담 및 협력사 출동 처리
엔티티별 API 흐름:
🏢 콜센터:
- 음성 상담 진행: 차량 상태 정보를 바탕으로 상담 실시
- 고객 동의 확인: 출동 서비스 이용 동의 확인
- 협력사 출동 요청: 적절한 협력업체에 출동 요청
- 협력사 응답 처리: 협력사 티켓 ID 수신 및 상태 업데이트
- 실시간 알림 전송: SSE를 통해 출동 수락 및 도착 예정 시간(ETA) 정보 전송
🚗 차량 (TCU):
- 음성 통화 유지: 상담 진행 중 음성 통화 상태 유지
- 상태 정보 전송: 차량 상태 정보의 지속적인 전송
- 위치 정보 제공: 정확한 차량 위치 정보 제공
- 출동 정보 수신: 협력사 출동 정보 수신
- 대기 상태 유지: 협력사 도착 시까지 대기 상태 유지
📱 앱 (사용자):
- 실시간 상태 수신: SSE를 통해 출동 처리 상태 수신
- 협력사 정보 확인: 출동 협력사 정보 및 ETA 확인
- 위치 정보 표시: 지도상에 차량 위치 및 협력사 위치 표시
- 통화 연결 유지: 콜센터와의 통화 연결 상태 유지
- 서비스 진행 확인: 실시간 서비스 진행 상태 확인
시나리오 3: 서비스 완료 및 사건 종료
엔티티별 API 흐름:
🏢 콜센터:
- 사건 종료: 서비스 완료 후 RSA 사건 종료 처리
- 서비스 확인: 협력사 서비스 완료 확인
- 상태 업데이트: RSA 기록 상태를 "CLOSED"로 업데이트
📱 앱 (사용자):
- 결과 확인: 최종 서비스 결과 확인
- 이력 조회: 완료된 서비스 이력 확인
시나리오 4: RSA 관리 및 통계 처리
엔티티별 API 흐름:
🏢 콜센터:
- 통계 조회: RSA 서비스 통계 조회
- 상태 조회: 특정 사건 상태 조회
- 이력 조회: 과거 RSA 서비스 이력 조회
- 협력사 확인: 협력사 출동 확정 확인
- 실적 조회: 상담원별 처리 실적 조회
🚗 차량 (TCU):
- 데이터 로그 저장: 진단 데이터 및 서비스 로그 저장
- 상태 이력 관리: RSA 관련 상태 변경 이력 관리
- 시스템 헬스 상태: RSA 시스템과의 연결 상태 유지
- 데이터 동기화: 서비스 데이터 서버와의 동기화
📱 앱 (사용자):
- 서비스 이력 확인: 과거 RSA 서비스 이력 확인
- 통계 정보 조회: RSA 서비스 관련 통계 정보 확인
- 상태 모니터링: 현재 RSA 서비스 상태 모니터링
- 알림 설정 관리: RSA 관련 알림 설정 관리
주요 기능
📱 앱 구현 기능
1. RSA 요청 및 모니터링
- 실시간 모니터링: SSE를 통해 RSA 진행 상태 수신
- 결과 확인: 최종 서비스 결과 확인
- 이력 조회: 과거 서비스 이력 조회
🏢 콜센터 구현 기능
1. RSA 사건 관리
- 사건 모니터링: 실시간 RSA 요청 모니터링
- 상태 조회: 특정 사건 상태 조회
- 출동 요청: 적절한 출동 협력사에 요청
- 협력사 확인: 협력사 출동 확정 확인
- 사건 종료: 서비스 완료 후 사건 종료 처리
- 서비스 완료 확인: 협력사 서비스 완료 확인
2. 시스템 및 실적 분석
- 서비스 통계: 전반적인 RSA 서비스 통계 관리
- 상담원 실적: 상담원 처리 실적 분석
- 이력 관리: 과거 서비스 이력 조회
시퀀스 다이어그램
RSA (긴급 출동 서비스) 시스템 흐름

API 엔드포인트
헤더, 응답 코드 및 에러 형식은 공통 API 사양을 참조하십시오.
RSA 출동 요청
bash
curl -X POST "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/rsa/dispatch" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
-H "Content-Type: application/json" \
-d '{
"cid": "RSA_20260307_001",
"partner": "SAMSUNG_FIRE",
"serviceType": "TOWING",
"priority": "NORMAL",
"destination": { "name": "강남 서비스센터", "address": "서울시...", "latitude": 37.5, "longitude": 127.0 },
"customerConsent": { "granted": true, "timestamp": "2026-03-07T10:00:00Z", "recorded": true }
}'협력사 출동 확정 확인
bash
curl -X POST "https://api.ecarus.run/api/v1/safety/partners/SAMSUNG_FIRE/dispatch/confirm" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
-H "Content-Type: application/json" \
-d '{
"cid": "RSA_20260307_001",
"partnerTicketId": "SFT_12345",
"status": "CONFIRMED",
"provider": { "name": "FastTow" },
"estimatedArrival": "2026-03-07T10:30:00Z"
}'RSA 사건 종료
bash
curl -X POST "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/rsa/close" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
-H "Content-Type: application/json" \
-d '{
"cid": "RSA_20260307_001",
"result": "TOWING_COMPLETED",
"completionTime": "2026-03-07T12:00:00Z",
"agentId": "AGENT_001",
"notes": "성공적으로 서비스센터로 견인 완료되었습니다.",
"partnerTicketId": "SFT_12345",
"actualCost": 80000,
"followUpRequired": false
}'RSA 사건 상태 조회
bash
curl -X GET "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/rsa/status?cid=RSA_20260307_001" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"RSA 사건 이력 조회
bash
curl -X GET "https://api.ecarus.run/api/v1/safety/vehicles/KMHSH81C7LU123456/rsa/history" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"RSA 서비스 통계 조회
bash
curl -X GET "https://api.ecarus.run/api/v1/safety/rsa/stats" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"협력사 서비스 완료 확인
bash
curl -X POST "https://api.ecarus.run/api/v1/safety/partners/:partner/service/complete" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
-H "Content-Type: application/json" \
-d '{
"cid": "RSA_20260307_001",
"partnerTicketId": "SFT_12345",
"status": "COMPLETED",
"completionTime": "2026-03-07T12:00:00Z",
"actualCost": 80000,
"serviceDetails": {
"serviceType": "TOWING",
"distance": 15.2,
"destination": "강남 서비스센터"
}
}'상담원 RSA 처리 실적 조회
bash
curl -X GET "https://api.ecarus.run/api/v1/safety/rsa/agents/AGENT_001/performance" \
-H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d"RSA 처리 상태 실시간 조회 (SSE)
참고: 브라우저를 통해 접속하거나 전용 SSE 클라이언트 사용을 권장합니다.
bash
curl -N -H "Authorization: Bearer sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d" \
"https://api.ecarus.run/api/v1/safety/rsa/events"데이터 모델
RSA 출동 요청 (Dispatch Request)
json
{
"cid": "RSA_20260307_001",
"vin": "KMHSH81C7LU123456",
"partner": "SAMSUNG_FIRE",
"serviceType": "TOWING",
"priority": "NORMAL",
"breakdownLocation": {
"address": "서울시 강남구...",
"latitude": 37.5,
"longitude": 127.0,
"description": "교차로 인근..."
},
"destination": {
"name": "강남 서비스센터",
"address": "서울시 강남구...",
"latitude": 37.5,
"longitude": 127.0,
"phone": "02-1234-5678"
},
"vehicleInfo": {
"make": "HYUNDAI",
"model": "SONATA",
"year": 2020,
"color": "WHITE",
"licensePlate": "12가3456"
},
"breakdownDetails": {
"symptoms": ["ENGINE_START_FAILURE"],
"description": "시동 불능, 클릭 소리 발생",
"dtcCodes": ["P1234"],
"batteryVoltage": 11.8
},
"customerInfo": {
"name": "홍길동",
"phone": "010-1234-5678",
"membershipId": "HM2024001234"
},
"customerConsent": {
"granted": true,
"timestamp": "2026-03-07T10:00:00Z",
"locationSharing": true,
"vehicleStatusSharing": true,
"recorded": true
},
"requestTime": "2026-03-07T10:00:00Z",
"notes": "가족과 함께 대기 중입니다."
}RSA 출동 응답 (Dispatch Response)
json
{
"cid": "RSA_20260307_001",
"status": "DISPATCHED",
"timestamp": "2026-03-07T10:05:00Z",
"partner": "SAMSUNG_FIRE",
"partnerTicketId": "SFT_12345",
"provider": {
"id": "PROV_001",
"name": "FastTow",
"phone": "02-9876-5432",
"vehicleType": "TOW_TRUCK",
"licensePlate": "88나6789"
},
"estimatedArrival": "2026-03-07T10:30:00Z",
"estimatedDuration": "25 min",
"dispatchLocation": {
"address": "서울시 강남구...",
"latitude": 37.5,
"longitude": 127.0
},
"costEstimate": {
"baseFee": 50000,
"additionalFee": 0,
"totalEstimate": 50000,
"currency": "KRW"
}
}협력사 출동 확정 요청 (Dispatch Confirmation Request)
json
{
"cid": "RSA_20260307_001",
"partnerTicketId": "SFT_12345",
"status": "CONFIRMED",
"provider": {
"id": "PROV_001",
"name": "FastTow",
"phone": "02-9876-5432",
"driver": {
"name": "김철수",
"phone": "010-1111-2222",
"licenseNumber": "12-34-567890"
},
"vehicle": {
"type": "TOW_TRUCK",
"licensePlate": "88나6789",
"capacity": "3.5T"
}
},
"estimatedArrival": "2026-03-07T10:30:00Z",
"currentLocation": {
"latitude": 37.48,
"longitude": 126.98,
"address": "서울시 서초구..."
},
"estimatedDistance": 8.5,
"confirmationTime": "2026-03-07T10:10:00Z"
}협력사 출동 확정 응답
json
{
"cid": "RSA_20260307_001",
"partnerTicketId": "SFT_12345",
"status": "CONFIRMED",
"timestamp": "2026-03-07T10:10:00Z"
}RSA 종료 요청 (Closure Request)
json
{
"cid": "RSA_20260307_001",
"vin": "KMHSH81C7LU123456",
"result": "TOWING_COMPLETED",
"completionTime": "2026-03-07T12:00:00Z",
"agentId": "AGENT_001",
"partnerTicketId": "SFT_12345",
"provider": {
"id": "PROV_001",
"name": "FastTow",
"driver": {
"name": "김철수",
"phone": "010-1111-2222"
}
},
"serviceDetails": {
"serviceType": "TOWING",
"actualDistance": 15.2,
"serviceDuration": "1 hour 45 min",
"pickupLocation": "서울시 강남구...",
"dropoffLocation": "강남 서비스센터",
"specialEquipment": ["WHEEL_LIFT"]
},
"costDetails": {
"baseFee": 50000,
"distanceFee": 30000,
"additionalFee": 0,
"discount": 0,
"totalCost": 80000,
"currency": "KRW",
"paymentMethod": "MEMBERSHIP",
"billingStatus": "PAID"
},
"customerFeedback": {
"satisfaction": 5,
"comments": "빠르고 전문적인 서비스였습니다.",
"recommendation": true
},
"notes": "서비스센터로 안전하게 견인 완료되었습니다. 고객 만족함.",
"followUpRequired": false
}RSA 종료 응답 (Closure Response)
json
{
"cid": "RSA_20260307_001",
"status": "CLOSED",
"timestamp": "2026-03-07T12:05:00Z",
"summary": {
"serviceType": "TOWING",
"duration": "2 hours 5 min",
"totalCost": 80000,
"customerSatisfaction": 5,
"partner": "SAMSUNG_FIRE",
"provider": "FastTow"
}
}RSA 상태 응답 (Status Response)
json
{
"vin": "KMHSH81C7LU123456",
"cid": "RSA_20260307_001",
"status": "DISPATCHED",
"timestamp": "2026-03-07T10:05:00Z",
"serviceType": "TOWING",
"priority": "NORMAL",
"partner": "SAMSUNG_FIRE",
"partnerTicketId": "SFT_12345",
"provider": {
"id": "PROV_001",
"name": "FastTow",
"phone": "02-9876-5432",
"driver": {
"name": "김철수",
"phone": "010-1111-2222"
},
"vehicle": {
"type": "TOW_TRUCK",
"licensePlate": "88나6789"
}
},
"locationTracking": {
"currentLocation": {
"latitude": 37.48,
"longitude": 126.98,
"address": "서울시 서초구...",
"lastUpdate": "2026-03-07T10:15:00Z"
},
"breakdownLocation": {
"latitude": 37.5,
"longitude": 127.0,
"address": "서울시 강남구..."
},
"destination": {
"latitude": 37.5,
"longitude": 127.0,
"address": "강남 서비스센터"
},
"estimatedDistance": 8.5,
"estimatedArrival": "2026-03-07T10:30:00Z"
},
"timeline": [
{
"status": "REQUESTED",
"timestamp": "2026-03-07T10:00:00Z",
"description": "긴급 출동 서비스 요청됨"
},
{
"status": "DISPATCHED",
"timestamp": "2026-03-07T10:05:00Z",
"description": "서비스 제공업체 출동함"
}
],
"estimatedCost": {
"baseFee": 50000,
"additionalFee": 0,
"totalEstimate": 50000,
"currency": "KRW"
},
"customerInfo": {
"name": "홍길동",
"phone": "010-1234-5678"
}
}RSA 이력 응답 (History Response)
json
{
"vin": "KMHSH81C7LU123456",
"incidents": [
{
"cid": "RSA_20260307_001",
"timestamp": "2026-03-07T10:00:00Z",
"serviceType": "TOWING",
"status": "COMPLETED",
"priority": "NORMAL",
"partner": "SAMSUNG_FIRE",
"provider": "FastTow",
"duration": "2 hours 5 min",
"cost": {
"amount": 80000,
"currency": "KRW",
"paymentMethod": "MEMBERSHIP"
},
"breakdownLocation": "서울시 강남구...",
"destination": "강남 서비스센터",
"customerSatisfaction": 5,
"agentId": "AGENT_001",
"completionTime": "2026-03-07T12:05:00Z",
"notes": "무사히 서비스센터로 견인 완료됨."
}
],
"total": 1,
"summary": {
"totalIncidents": 1,
"totalCost": 80000,
"averageSatisfaction": 5.0,
"mostUsedService": "TOWING",
"lastServiceDate": "2026-03-07T12:05:00Z"
}
}RSA 통계 응답 (Statistics Response)
json
{
"period": "30d",
"summary": {
"totalRequests": 1250,
"activeRequests": 3,
"completedToday": 8,
"averageResponseTime": "15 min",
"successRate": 98.2,
"customerSatisfaction": 4.7
},
"serviceTypes": {
"TOWING": { "count": 45, "percentage": 36.0 },
"BATTERY_JUMP": { "count": 30, "percentage": 24.0 },
"TIRE_CHANGE": { "count": 25, "percentage": 20.0 },
"FUEL_DELIVERY": { "count": 15, "percentage": 12.0 },
"LOCKOUT": { "count": 10, "percentage": 8.0 }
},
"partners": {
"SAMSUNG_FIRE": { "requests": 500, "successRate": 98.5 },
"HYUNDAI_ROAD": { "requests": 400, "successRate": 97.8 },
"GENESIS_ROAD": { "requests": 350, "successRate": 98.9 }
},
"timeStats": {
"peakHours": ["09:00-11:00", "17:00-19:00"],
"peakDays": ["MONDAY", "FRIDAY"],
"averageServiceTime": "45 min",
"longestServiceTime": "3 hours 15 min"
},
"costStats": {
"totalRevenue": 85000000,
"averageCostPerService": 68000,
"currency": "KRW"
},
"generatedAt": "2026-03-07T15:00:00Z"
}협력사 출동 완료 요청 (Partner Dispatch Completion Request)
json
{
"cid": "RSA_20260307_001",
"partnerTicketId": "SFT_12345",
"status": "COMPLETED",
"completionTime": "2026-03-07T12:00:00Z",
"provider": {
"id": "PROV_001",
"name": "FastTow",
"driver": {
"name": "김철수",
"phone": "010-1111-2222"
}
},
"serviceDetails": {
"serviceType": "TOWING",
"actualDistance": 15.2,
"estimatedDistance": 12.0,
"pickupLocation": {
"address": "서울시 강남구...",
"latitude": 37.5,
"longitude": 127.0,
"arrivalTime": "2026-03-07T10:28:00Z"
},
"dropoffLocation": {
"address": "강남 서비스센터",
"latitude": 37.5,
"longitude": 127.0,
"arrivalTime": "2026-03-07T12:00:00Z"
},
"serviceDuration": "1 hour 32 min",
"specialEquipment": ["WHEEL_LIFT"],
"serviceNotes": "목적지에서 시동 정상 작동 확인됨"
},
"costDetails": {
"baseFee": 50000,
"distanceFee": 30000,
"additionalFee": 0,
"discountAmount": 0,
"totalCost": 80000,
"currency": "KRW",
"paymentStatus": "PAID"
},
"customerFeedback": {
"satisfactionRating": 5,
"comments": "전문적이고 빠른 서비스였습니다.",
"recommendation": true
},
"followUpRequired": false,
"completionNotes": "성공적으로 서비스 완료. 고객 만족함."
}협력사 출동 완료 응답
json
{
"cid": "RSA_20260307_001",
"partnerTicketId": "SFT_12345",
"status": "COMPLETED",
"timestamp": "2026-03-07T12:05:00Z",
"confirmation": {
"serviceId": "SVC_001",
"billingProcessed": true,
"customerNotified": true,
"documentsGenerated": ["RECEIPT", "SERVICE_REPORT"]
},
"nextSteps": {
"customerFeedbackRequested": true,
"followUpScheduled": false,
"warrantyClaim": false
}
}상담원 RSA 처리 실적 응답 (Agent RSA Results Response)
json
{
"agentId": "AGENT_001",
"agentName": "김상담",
"period": "30d",
"performance": {
"totalHandled": 45,
"averageHandlingTime": "25 min",
"successRate": 96.5,
"customerSatisfaction": 4.7,
"responseRate": 98.2,
"firstCallResolution": 85.5
},
"serviceBreakdown": {
"TOWING": { "count": 20, "avgTime": "35 min", "satisfaction": 4.8 },
"BATTERY_JUMP": { "count": 15, "avgTime": "15 min", "satisfaction": 4.6 },
"TIRE_CHANGE": { "count": 10, "avgTime": "20 min", "satisfaction": 4.7 }
},
"timeAnalysis": {
"totalWorkHours": 180,
"averageCallsPerHour": 3.5,
"peakHours": ["09:00-11:00", "14:00-16:00"],
"averageCallDuration": "8 min"
},
"qualityMetrics": {
"complianceRate": 99.2,
"documentationAccuracy": 97.8,
"escalationRate": 3.5,
"customerComplaints": 1
},
"rankings": {
"teamRank": 3,
"teamSize": 15,
"percentile": 80
},
"lastActivity": "2026-03-07T11:30:00Z",
"generatedAt": "2026-03-07T15:00:00Z"
}RSA 실시간 처리 상태 (SSE)
json
{
"eventId": "EVT_001",
"type": "RSA_DISPATCHED",
"timestamp": "2026-03-07T10:05:00Z",
"priority": "NORMAL",
"data": {
"cid": "RSA_20260307_001",
"vin": "KMHSH81C7LU123456",
"partner": "SAMSUNG_FIRE",
"partnerTicketId": "SFT_12345",
"serviceType": "TOWING",
"status": "DISPATCHED",
"provider": {
"id": "PROV_001",
"name": "FastTow",
"driver": {
"name": "김철수",
"phone": "010-1111-2222"
}
},
"location": {
"breakdownLocation": {
"latitude": 37.5,
"longitude": 127.0,
"address": "서울시 강남구..."
},
"providerLocation": {
"latitude": 37.48,
"longitude": 126.98,
"address": "서울시 서초구..."
},
"destination": {
"latitude": 37.5,
"longitude": 127.0,
"address": "강남 서비스센터"
}
},
"estimatedArrival": "2026-03-07T10:30:00Z",
"estimatedDistance": 8.5,
"customerInfo": {
"name": "홍길동",
"phone": "010-1234-5678"
},
"agentId": "AGENT_001"
}
}보안
헤더, 응답 코드 및 에러 형식은 공통 API 사양을 참조하십시오.
인증 및 권한 부여
- 사용자 인증 토큰 필요 (JWT/OAuth2)
- 차량 접근 권한 확인
- 출동 서비스 이용 권한 확인
데이터 보안
- 모든 API 통신은 HTTPS/TLS 암호화
- 차량 고장 정보 전송을 위한 추가 보안 조치 적용
- 민감 정보는 서버측에만 저장
프라이버시 보호
- 차량 상태 정보 수집에 대한 명시적 동의
- 위치 정보 수집 목적 명시
- 서비스 이력 보존 기간 정책 준수
- 사용자 요청 시 데이터 삭제 권리 보장
접근 제어
- VIN 기반 차량 접근 권한 확인
- 출동 서비스 이용 권한 확인
- 서비스 업체 접근을 위한 별도 인증 절차 적용
예외 처리
네트워크 관련
- 연결 실패: 오프라인 모드 지원, 마지막 상태 캐싱
- 응답 지연: 로딩 인디케이터, 타임아웃 처리
- 서버 다운: 에러 메시지 표시, 재시도 제안
차량 상태 관련
- 차량 오프라인: 마지막 상태 정보 표시, 오프라인 상태 알림
- 데이터 오류: DTC 코드 파싱 오류 처리
- 센서 오류: 센서 상태 오류 표시, 수동 입력 안내
서비스 관련
- 출동 지연: 출동 차량 지연 시 알림 발송
- 서비스 취소: 사용자 요청에 따른 서비스 취소 처리
- 결제 문제: 서비스 비용 관련 에러 처리
테스트 설정
Base URL: https://api.ecarus.run/api/v1/safety
인증 토큰: sk_4f9c7b8e2d1a6c0f3e7a9b5d8c1e4f2a7c6d9e0b3f5a8c1d4e7f9b2c6a1e3d
샘플 VIN: KMHSH81C7LU123456
대화형 API 테스트를 위해 Swagger UI를 사용하십시오.
배포 고려사항
앱 스토어 등록
- 위치 정보 수집에 대한 명확한 설명
- 차량 상태 정보 수집 동의 절차 마련
- 긴급 상황 알림 권한 요청
법규 준수
- 개인정보 보호법 준수
- 출동 서비스 관련 규정 확인
- 계약 조건에 따른 서비스 제공 여부 확인
서비스 통합
- 출동 서비스 업체와의 시스템 연동
- 결제 시스템과의 통합 연동