Custom Datatypes or Enumerations
Enumerations
MeasurandEnumType
OCPP 표준 Measurand 열거형에 아래 값을 추가로 정의합니다.
| Value | Description | Location | UnitOfMeasure |
|---|---|---|---|
| DemandResponse.Apply | 수요반응(DR) 적용 여부 | Body | Percent |
| DemandResponse.User.Agreement | 수요반응(DR) 사용자 동의 여부 | Body | Percent |
| MAC.Address | 차량 MAC 주소 | Body | — |
| PowerModule.Bit | 충전 중 파워모듈별 가용/동작 BIT 상태. 8바이트 HEX 문자열 | Body | — |
| PowerModule.Status | 충전 완료 시점의 정상 파워모듈 개수. 1바이트 HEX 값 | Body | — |
| Voltage.EV.Requested | EV가 실제로 요청한 충전 전압 | EV | V |
| Current.EV.Requested | EV가 실제로 요청한 충전 전류 | EV | A |
| Voltage.PowerModule.Requested | 충전기가 출력하도록 요청한 전압 (충전기 전체 기준) | Body | V |
| Current.PowerModule.Requested | 충전기가 출력하도록 요청한 전류 (충전기 전체 기준) | Body | A |
| Voltage.PowerModule.Available | 충전기가 현재 출력 가능한 전압 (충전기 전체 기준) | Body | V |
| Current.PowerModule.Available | 충전기가 현재 출력 가능한 전류 (충전기 전체 기준) | Body | A |
| Time.Remaining.Bulk | 급속(Bulk) 충전 완료까지 남은 시간 (차량 EVCC 전송) | EV | s |
| Time.Remaining.Full | 완속(Full) 충전 완료까지 남은 시간 (차량 EVCC 전송) | EV | s |
PowerModule.Bit의 첫 번째 바이트 bit 7은 포맷 버전 판별자로 사용합니다. 상세 규칙은 파워모듈 BIT 전송을 참고하세요.
PowerModule.Status의 상세 규칙은 충전 완료 파워모듈 상태 전송을 참고하세요.
Voltage.EV.Requested, Current.EV.Requested, Voltage.PowerModule.Requested, Current.PowerModule.Requested, Voltage.PowerModule.Available, Current.PowerModule.Available, Time.Remaining.Bulk, Time.Remaining.Full의 전송 방식은 충전 중 주기적 데이터 전송을 참고하세요.
ChargingProfilePurposeEnumType
OCPP 표준 ChargingProfilePurpose 열거형에 아래 값을 추가로 정의합니다.
| Value | Description |
|---|---|
| DemandResponse | 수요반응(DR) 제어를 위한 충전 프로파일. ChargePointMaxProfile과 동일하게 동작합니다. |
ReasonEnumType
각 사유(Reason)는 충전 종료 상황에 맞추어 정확하게 전송해야 하며, OCPP 표준 버전별 정의된 Enumeration 값을 준수해야 합니다.
| Value | Description | Standard |
|---|---|---|
| EmergencyStop | 비상 정지 버튼이 눌렸을 때 (실패) | v1.6 |
| EVDisconnected | 케이블 분리 또는 차량과의 통신이 비정상 종료된 경우 (성공) | v1.6 |
| HardReset | [Deprecated in 2.0] 하드웨어 리셋 명령 수신 (실패) | v1.6 |
| Local | 사용자가 충전기 화면 등 로컬에서 직접 충전 중지 요청 (성공) | v1.6 |
| Other | 기타 사유 (사용 전 SK일렉링크와 협의 필요) (실패) | v1.6 |
| PowerLoss | 입력 전원 상실 (실패) | v1.6 |
| Reboot | 충전기 로컬 재부팅 발생 (실패) | v1.6 |
| Remote | CSMS에서 원격 중지 요청 (성공) | v1.6 |
| SoftReset | [Deprecated in 2.0] 소프트웨어 리셋 명령 수신 (실패) | v1.6 |
| UnlockCommand | [Deprecated in 2.0] 커넥터 잠금 해제 명령 수신 (성공) | v1.6 |
| DeAuthorized | 인증 취소/만료로 인해 트랜잭션 중단 (실패) | v2.0.1 |
| EnergyLimitReached | 최대 충전 전력량 한도 도달 (성공) | v2.0.1 |
| GroundFault | 접지 오류 발생 (실패) | v2.0.1 |
| ImmediateReset | 즉시 리셋 명령 수신 (실패) | v2.0.1 |
| LocalOutOfCredit | 로컬 크레딧 한도 초과 (성공) | v2.0.1 |
| MasterPass | 마스터 패스 그룹 토큰으로 트랜잭션 중지 (성공) | v2.0.1 |
| OvercurrentFault | 과전류 발생 (실패) | v2.0.1 |
| PowerQuality | 전력 품질 저하(전압 이상, 위상 불균형 등) (실패) | v2.0.1 |
| SOCLimitReached | 목표 배터리 충전 상태(SoC) 도달 (성공) | v2.0.1 |
| StoppedByEV | 차량에서 직접 트랜잭션 중지 요청 (성공) | v2.0.1 |
| TimeLimitReached | 최대 충전 시간 한도 도달 (성공) | v2.0.1 |
| Timeout | 제한 시간 내 차량 미연결 (실패) | v2.0.1 |
| ReqEnergyTransferRejected | 요청한 에너지 전송 타입을 CSMS가 수락 불가 (실패) | v2.1 |
UnitPriceEnumType
단가 구분을 명시하는 열거형입니다. GetUnitPrice에서 사용됩니다.
| Value | Description |
|---|---|
| Member | 회원단가 |
| NonMember | 비회원단가 |
| Proportional | 상태비례단가 |
PaymentMethodEnumType
결제 방식을 구분하는 열거형입니다. PaymentInfo DataTransfer에서 사용됩니다.
| Value | Description |
|---|---|
| kWh | 전력량 단위 결제 (Wh 단위) |
| Money | 금액 단위 결제 (KRW 단위) |
PaymentInfoEnumType
결제 정보 처리 유형을 구분하는 열거형입니다. PaymentInfo DataTransfer에서 사용됩니다.
| Value | Description |
|---|---|
| Prepaid | 선결제 |
| PostPaid | 실결제 |
| PartialCancel | 부분 취소 |
| FullCancel | 전체 취소 |
| Finalize | 확정 (최종 결제 확정) |
| PG_Prepaid | Offline-PG 선결제 |
| PG_PartialCancel | Offline-PG 부분 취소 |
| PG_Finalize | Offline-PG 확정 (최종 결제 확정) |
AdditionalInfoEnumType
AdditionalInfoType의 type 필드에서 사용됩니다.
| Value | Description | Usage |
|---|---|---|
| ManualCardNumber | 카드번호 직접 입력 시 비밀번호 | 카드번호 직접 입력 인증 |
| VehiclePassword | 차량번호 인증 시 사용자 비밀번호 | 차량번호 2단계 인증 |
| CarPayAction | CarPay 수동 인증 동작 구분 | CarPay 수동 조회/확정 |
| TempAuthKey | 임시 인증키 | 차량번호 2단계 인증, CarPay 수동 확정 |
CarPayAction 사용 시 additionalIdToken 값은 다음 중 하나여야 합니다.
| additionalIdToken | Description |
|---|---|
| CarPayManualLookup | 차량번호 뒷 4자리 조회 요청 |
| CarPayManualConfirm | 전체 차량번호 확인 요청 |
SmartChargeCertificateInstallEnumType
인증서 설치 타입을 구분하는 열거형입니다.
| Value | Description |
|---|---|
| Initial | 초기 설치 |
| Renewal | 갱신 |
| Delete | 폐기 |
MemberEnumType
사용자 인증 회원 멤버십 종류를 구분하는 열거형입니다.
| Value | Description |
|---|---|
| MEMBER | 회원 |
| NON_MEMBER | 비회원 |
| ROAMING | 로밍 |
DayOfWeekEnumType
운영 스케줄 항목의 적용 요일을 구분하는 열거형입니다. SetOperatingSchedule DataTransfer에서 사용됩니다.
| Value | Description |
|---|---|
| MON | 월요일 |
| TUE | 화요일 |
| WED | 수요일 |
| THU | 목요일 |
| FRI | 금요일 |
| SAT | 토요일 |
| SUN | 일요일 |
| ALL | 전체 요일 |
Datatypes
VehicleListResponseType
차량번호 인증 1단계에서 조회된 차량번호 목록을 전달하기 위해 사용됩니다. personalMessage.content에 JSON 문자열로 전송됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| type | String | Required | 고정값: "vehicleList" |
| vehicles | Array<String> | Required | 조회된 차량번호 목록 |
| tempAuthKey | String | Required | 임시 인증키 (1분간 유효) |
CarPayManualLookupResponseType
CarPay 수동 인증에서 차량번호 뒷 4자리로 조회된 전체 차량번호를 전달하기 위해 사용됩니다. personalMessage.content에 JSON 문자열로 전송됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| type | String | Required | 고정값: "carPayManualLookup" |
| vehicles | Array<String> | Required | 조회된 차량번호 목록 |
| tempAuthKey | String | Required | 임시 인증키 (1분간 유효) |
SmartChargeCertificateInfoType
스마트 충전(VAS) 인증서 정보를 나타내는 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| chargerCertificate | String | Required | 충전기 공개 인증서 (PEM) |
| chargerPrivateKey | String | Required | 충전기 개인키 (PEM) |
| kecoServerCertificate | String | Required | KECO 서버 공개 인증서 (PEM) |
SmartChargeBatteryDataSetType
VAS 배터리 데이터를 나타내는 데이터 타입입니다. BatteryInfo DataTransfer에서 사용됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| timeStamp | DateTime | Optional | 배터리 정보 취득 시간 |
| sessionDuration | String | Optional | 배터리 정보교환 TCP 세션 연결 지속시간 |
| counter | String | Optional | 배터리 정보교환 프레임 전송 횟수 (일련번호) |
| batteryData | String | Required | 암호화된 배터리 정보 (base64 인코딩) |
RemoteStartTransactionAdditionalInfoType
OCPP v1.6 RemoteStartTransaction.additionalInfo에서 사용하는 데이터 타입입니다. OCPP v2.1에서는 이 객체를 그대로 전송하지 않고, OCPP 2.1 표준 메시지 조합의 대응 필드를 우선 사용합니다.
memberType이NON_MEMBER일 경우에만paymentMethod,demandValue필드가 포함됩니다.- K-VAS 충전기일 경우에만
userTargetSoC,consented필드가 포함됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| currency | String | Required | 고정값: "KRW" |
| unitPrice | String | Required | 원/kWh 단가 |
| memberType | MemberEnumType | Required | 사용자 멤버십 종류 |
| paymentMethod | PaymentMethodEnumType | Optional | 결제 방식 |
| demandValue | Number | Optional | 요구 값 (paymentMethod - kWh: Wh 단위, Money: KRW 단위) |
| userTargetSoC | String | Optional | 사용자 설정 SoC (0~100) |
| consented | Boolean | Optional | 개인정보 수집 및 제공 동의 여부 |
| memberInfo | MemberInfoType | Optional | 회원 유형 상세 정보 |
MemberInfoType
회원 유형 상세 정보를 나타내는 데이터 타입입니다. GetUnitPrice 응답의 Proportional 타입과 RemoteStartTransaction의 additionalInfo에서 사용됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| memberType | MemberEnumType | Required | 회원 유형 (MEMBER, NON_MEMBER, ROAMING) |
| roamingCompanyCode | String | Optional | 로밍 기관 코드 (memberType이 ROAMING인 경우) |
| roamingCompanyName | String | Optional | 로밍 기관명 (memberType이 ROAMING인 경우) |
AdProfileType
GetAdProfile 응답의 profile 객체 데이터 타입입니다. 하나의 광고 그룹이 하나의 프로파일로 수신됩니다.
| Field | Type | Required | Description |
|---|---|---|---|
| version | String | Required | 프로파일 버전 |
| validUntil | String | Required | 프로파일 유효 만료 시각. 이 시각 이후 재요청 필요 |
| items | Array<AdProfileItemType> | Required | 모든 유효 스케줄의 미디어 아이템을 합산한 목록 |
AdProfileItemType
AdProfileType의 items 배열에서 사용되는 개별 미디어 아이템 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| mediaKey | String | Required | 미디어 파일 식별 키 (UUID) |
| displayOrder | Number | Required | 재생 순서 |
| durationSec | Number | Required | 재생 시간 (초) |
AdMediaType
GetAdMedia 응답에서 사용되는 광고 미디어 파일 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| mediaKey | String | Required | 미디어 파일 식별 키 (UUID) |
| fileName | String | Required | 원본 파일명 |
| contentType | String | Required | MIME 타입 (예: image/jpeg) |
| fileSize | Number | Required | 파일 크기 (bytes) |
| uri | String | Required | 미디어 파일 다운로드 URL |
OperatingScheduleEntryType
SetOperatingSchedule DataTransfer에서 사용되는 운영 스케줄 항목 데이터 타입입니다.
| Field | Type | Required | Description |
|---|---|---|---|
| connectorId | Number | Optional | 적용 대상 커넥터 번호. null이면 전체 커넥터에 적용 |
| dayOfWeek | DayOfWeekEnumType | Required | 적용 요일 |
| startTime | String | Required | 운영 시작 시간 (HH:mm 형식, utcOffset 기준 로컬 시간) |
| endTime | String | Required | 운영 종료 시간 (HH:mm 형식, utcOffset 기준 로컬 시간) |