Skip to content

긴급 출동 서비스 (RSA) API 개발자 가이드

서비스 개요

긴급 출동 서비스(RSA)는 차량 운행 중 고장이나 문제로 인해 도로변에 정차했을 때 콜센터를 통해 긴급 지원 서비스를 제공하는 텔레매틱스 서비스입니다.

서비스 특징

  • 차량 고장에 대한 원격 상태 진단
  • 정확한 위치 기반의 긴급 출동 지원
  • 다양한 고장 상황(배터리, 타이어, 연료 등) 대응
  • 실시간 출동 서비스 조율
  • 고객 만족도 향상

법적 요구사항

  • eCall/SOS보다 낮은 우선순위 부여
  • 개인정보 보호법 준수
  • 차량 고장 정보 수집에 대한 동의 필수
  • 출동 서비스 계약 조건 및 규정 준수

주요 시나리오

시나리오 1: RSA 요청 및 데이터 수집

엔티티별 API 흐름:

📱 앱 (사용자):

  1. RSA 요청: 앱 내 RSA 버튼을 선택하여 도움 요청
  2. 모니터링: SSE를 통해 RSA 진행 상태 수신
  3. 긴급 통화: 콜센터와 즉각적인 음성 통화 연결

🚗 차량 (TCU):

  1. 이벤트 수신: 앱 또는 차량의 RSA 버튼 신호 수신
  2. 데이터 전송: 서버로 RSA 통보 데이터 전송

🏢 콜센터:

  1. 이벤트 모니터링: 실시간 RSA 요청 모니터링
  2. 상담: 진단 정보를 바탕으로 전문 상담 진행
  3. 출동 요청: 적절한 협력업체에 출동 요청

시나리오 2: 상담 및 협력사 출동 처리

엔티티별 API 흐름:

🏢 콜센터:

  1. 음성 상담 진행: 차량 상태 정보를 바탕으로 상담 실시
  2. 고객 동의 확인: 출동 서비스 이용 동의 확인
  3. 협력사 출동 요청: 적절한 협력업체에 출동 요청
  4. 협력사 응답 처리: 협력사 티켓 ID 수신 및 상태 업데이트
  5. 실시간 알림 전송: SSE를 통해 출동 수락 및 도착 예정 시간(ETA) 정보 전송

🚗 차량 (TCU):

  1. 음성 통화 유지: 상담 진행 중 음성 통화 상태 유지
  2. 상태 정보 전송: 차량 상태 정보의 지속적인 전송
  3. 위치 정보 제공: 정확한 차량 위치 정보 제공
  4. 출동 정보 수신: 협력사 출동 정보 수신
  5. 대기 상태 유지: 협력사 도착 시까지 대기 상태 유지

📱 앱 (사용자):

  1. 실시간 상태 수신: SSE를 통해 출동 처리 상태 수신
  2. 협력사 정보 확인: 출동 협력사 정보 및 ETA 확인
  3. 위치 정보 표시: 지도상에 차량 위치 및 협력사 위치 표시
  4. 통화 연결 유지: 콜센터와의 통화 연결 상태 유지
  5. 서비스 진행 확인: 실시간 서비스 진행 상태 확인

시나리오 3: 서비스 완료 및 사건 종료

엔티티별 API 흐름:

🏢 콜센터:

  1. 사건 종료: 서비스 완료 후 RSA 사건 종료 처리
  2. 서비스 확인: 협력사 서비스 완료 확인
  3. 상태 업데이트: RSA 기록 상태를 "CLOSED"로 업데이트

📱 앱 (사용자):

  1. 결과 확인: 최종 서비스 결과 확인
  2. 이력 조회: 완료된 서비스 이력 확인

시나리오 4: RSA 관리 및 통계 처리

엔티티별 API 흐름:

🏢 콜센터:

  1. 통계 조회: RSA 서비스 통계 조회
  2. 상태 조회: 특정 사건 상태 조회
  3. 이력 조회: 과거 RSA 서비스 이력 조회
  4. 협력사 확인: 협력사 출동 확정 확인
  5. 실적 조회: 상담원별 처리 실적 조회

🚗 차량 (TCU):

  1. 데이터 로그 저장: 진단 데이터 및 서비스 로그 저장
  2. 상태 이력 관리: RSA 관련 상태 변경 이력 관리
  3. 시스템 헬스 상태: RSA 시스템과의 연결 상태 유지
  4. 데이터 동기화: 서비스 데이터 서버와의 동기화

📱 앱 (사용자):

  1. 서비스 이력 확인: 과거 RSA 서비스 이력 확인
  2. 통계 정보 조회: RSA 서비스 관련 통계 정보 확인
  3. 상태 모니터링: 현재 RSA 서비스 상태 모니터링
  4. 알림 설정 관리: RSA 관련 알림 설정 관리

주요 기능

📱 앱 구현 기능

1. RSA 요청 및 모니터링


🏢 콜센터 구현 기능

1. 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를 사용하십시오.

배포 고려사항

앱 스토어 등록

  • 위치 정보 수집에 대한 명확한 설명
  • 차량 상태 정보 수집 동의 절차 마련
  • 긴급 상황 알림 권한 요청

법규 준수

  • 개인정보 보호법 준수
  • 출동 서비스 관련 규정 확인
  • 계약 조건에 따른 서비스 제공 여부 확인

서비스 통합

  • 출동 서비스 업체와의 시스템 연동
  • 결제 시스템과의 통합 연동

Released under the MIT License.