# 타인차량 이력요약 조회



타인차량 이력요약은 조회자 본인의 생년월일 8자리와 주민등록번호 뒷자리를 입력하고 간편인증을 승인해야 합니다. 차주의 주민등록번호는 입력하지 않습니다. 17자리 차대번호는 확인된 경우에만 제공됩니다.



인증: Authorization: Bearer $APICK_API_KEY

본문 있는 REST 요청: multipart/form-data. GET 본문 및 MCP JSON-RPC 규격은 해당 명세를 따릅니다.

인증키는 서버에 보관하세요. 모든 예제는 정적 자료입니다.



## POST /rest/req_vehicle_third_party 응답 필드

- `data` (object): 요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.

- `data.schemaVersion` (string): 응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.

- `data.transactionId` (string): 간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.

- `data.product` (string): 조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.

- `data.status` (string): 현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.

- `data.resultAvailable` (boolean): 결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.

- `data.charged` (boolean): 이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.

- `data.sources` (array): 자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.

- `data.message` (string): 상태 메시지 (고정값: "인증 대기중입니다."). 안내 문구입니다. 오류 원인과 다음 행동을 설명합니다.

- `data.approvals` (integer): 사용자가 휴대폰에서 승인해야 하는 횟수. 같은 인증으로 처리되는 조회는 묶음이어도 1회입니다.

- `data.expiresAt` (string): 이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.

- `data.success` (integer): 업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.

- `api` (object): API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.

- `api.success` (boolean): API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.

- `api.cost` (integer): 이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.

- `api.ms` (integer): 서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.

- `api.pl_id` (integer): 포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.

## 인증 요청: POST /rest/req_vehicle_third_party



### 입력

- `name` (string, 필수): 조회 대상의 이름입니다. 간편인증·개인 조회에서는 성명, 기업 조회에서는 법인명·상호를 뜻합니다. 생년월일·전화번호 같은 보조 식별자와 함께 확인하세요.

- `birthDate` (string, 필수): 대상자의 생년월일 8자리입니다. 예: 19900101. 주민등록상 생년월일과 같아야 하며, 하이픈·공백은 넣지 않습니다.

- `phone` (string, 필수): 본인 명의 휴대전화 번호입니다. 하이픈 없이 숫자만 입력하며(예: 01012341234), 인증 문자를 받을 수 있는 번호여야 합니다.

- `authProvider` (string, 필수): 사용할 간편인증 수단의 식별자입니다. 예: kakao, naver, toss, pass. 지원 값과 표시 이름은 이 문서의 간편인증 목록을 확인하세요.

- `carNumber` (string, 필수): 조회할 차량의 자동차등록번호입니다. 예: 12가3456, 123가4567. 띄어쓰기와 하이픈 없이 입력하며, 차대번호(VIN) 조회와 구분합니다.

- `rrn` (string, 필수): 조회자 본인의 주민등록번호 뒤 7자리 또는 전체 13자리. 타인차량을 조회할 때도 조회자 본인의 값을 입력합니다.



### 응답 명세

```json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string",
          "description": "결과 스키마 버전 (고정값: \"1.0\")"
        },
        "transactionId": {
          "type": "string",
          "description": "결과 조회에 사용하는 트랜잭션 ID"
        },
        "product": {
          "type": "string",
          "description": "조회 항목 코드. 결과조회에도 같은 값이 오므로 어느 항목의 결과인지 대조할 수 있습니다."
        },
        "status": {
          "type": "string",
          "description": "처리 상태 (AUTH_REQUESTED: 인증 요청 완료)"
        },
        "resultAvailable": {
          "type": "boolean",
          "description": "결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다."
        },
        "charged": {
          "type": "boolean",
          "description": "이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다."
        },
        "sources": {
          "type": "array",
          "items": {}
        },
        "message": {
          "type": "string",
          "description": "상태 메시지 (고정값: \"인증 대기중입니다.\")"
        },
        "approvals": {
          "type": "integer",
          "description": "사용자가 휴대폰에서 승인해야 하는 횟수. 같은 인증으로 처리되는 조회는 묶음이어도 1회입니다."
        },
        "expiresAt": {
          "type": "string",
          "description": "인증 유효 기한(ISO 8601). 이 시각까지 승인하지 못하면 인증 실패 처리됩니다."
        },
        "success": {
          "type": "integer",
          "description": "과금 여부0: 실패 또는 재사용(무과금)1: 발송 성공(과금)"
        }
      },
      "description": "인증 요청 결과"
    },
    "api": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "API 서버 정상 응답 여부"
        },
        "cost": {
          "type": "integer",
          "description": "API 호출 요금"
        },
        "ms": {
          "type": "integer",
          "description": "API 응답 시간"
        },
        "pl_id": {
          "type": "integer",
          "description": "API 결제 로그 ID"
        }
      },
      "description": "API 호출 공통 데이터"
    }
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "vehicle_third_party",
    "status": "AUTH_REQUESTED",
    "resultAvailable": false,
    "charged": true,
    "sources": [],
    "message": "인증 대기중입니다.",
    "approvals": 1,
    "expiresAt": "2026-09-20T05:24:07+09:00",
    "success": 1
  },
  "api": {
    "success": true,
    "cost": 20,
    "ms": 1284,
    "pl_id": 4902
  }
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/req_vehicle_third_party' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'name=홍길동' \
  --form-string 'birthDate=19900101' \
  --form-string 'phone=01011112222' \
  --form-string 'authProvider=kakao' \
  --form-string 'carNumber=12가1234' \
  --form-string 'rrn=1234567'

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("name", "홍길동");
form.append("birthDate", "19900101");
form.append("phone", "01011112222");
form.append("authProvider", "kakao");
form.append("carNumber", "12가1234");
form.append("rrn", "1234567");
const response = await fetch("https://apick.app/rest/req_vehicle_third_party", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("name", (None, "홍길동")),
    ("birthDate", (None, "19900101")),
    ("phone", (None, "01011112222")),
    ("authProvider", (None, "kakao")),
    ("carNumber", (None, "12가1234")),
    ("rrn", (None, "1234567")),
]
response = requests.request("POST", "https://apick.app/rest/req_vehicle_third_party",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'name' => '홍길동',
    'birthDate' => '19900101',
    'phone' => '01011112222',
    'authProvider' => 'kakao',
    'carNumber' => '12가1234',
    'rrn' => '1234567',
];
$curl = curl_init('https://apick.app/rest/req_vehicle_third_party');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## POST /rest/get_vehicle_third_party 응답 필드

- `data` (object): 요청 처리 결과 묶음입니다. 조회한 값·작업 상태·오류 설명이 이 안에 들어 있으며, 실제 하위 필드 구성은 서비스마다 다릅니다. 값이 없으면 null·빈 배열·필드 생략 중 해당 서비스의 규칙을 따릅니다.

- `data.schemaVersion` (string): 응답 스키마의 버전입니다. 현재 "1.0"으로 고정되어 있으며, 필드 구조가 바뀌면 값이 올라갑니다. 클라이언트는 이 값을 저장해 두고 파싱 로직을 분기할 수 있습니다.

- `data.transactionId` (string): 간편인증 요청에서 발급된 거래 ID입니다. 인증요청 응답의 transactionId와 같으며, 같은 거래의 결과를 조회하거나 문의할 때 사용합니다. 인증이 만료되면 새 거래를 만들어야 합니다.

- `data.product` (string): 조회한 상품 코드입니다. 인증요청 때 보낸 product와 같은 값이며, 응답의 result 구조를 해석할 때 기준이 됩니다.

- `data.status` (string): 현재 처리 상태 코드입니다. 괄호 안 설명은 이 서비스에서의 상태 의미이며, 값별 다음 행동은 이 문서의 상태 표를 확인하세요. 상태가 바뀌면 같은 경로를 다시 조회합니다. 가능한 값은 9가지입니다. AUTH_REQUESTED = 인증 요청만 접수되어 사용자 승인을 기다리는 상태, AUTH_WAITING = 승인 전 대기, AUTH_COMPLETED = 승인은 끝났고 결과 준비 전, COLLECTING = 결과 준비 중, SUCCESS = 정상 완료되어 결과 사용 가능, PARTIAL_SUCCESS = 일부 자료만 준비되어 sources의 항목별 status 확인 필요, FAILED = 서버 처리 실패, AUTH_REJECTED = 사용자가 인증 거부, AUTH_EXPIRED = 승인 유효시간(300초) 만료입니다.

- `data.resultAvailable` (boolean): 실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 결과를 지금 사용할 수 있는 경우, false = 아직 처리 중이거나 실패·만료되어 결과가 없는 경우입니다. false면 data.status를 확인하세요.

- `data.charged` (boolean): 이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다. true/false로 오며, 값이 없으면 필드가 생략되거나 null일 수 있습니다. true = 이번 조회에서 포인트가 실제로 차감된 경우(유료 결과를 처음 받은 때), false = 이미 차감된 결과를 다시 조회했거나 무료 응답인 경우입니다. api.cost가 0이면 false입니다.

- `data.sources` (array): 자료 항목별 처리 결과 목록입니다. 항목별 성공·실패를 구분하므로 일부만 성공한 응답을 판단할 때 사용합니다.

- `data.sources[].source` (string): 자료 항목의 표시 이름입니다. type과 함께 어떤 자료인지 구분할 때 사용합니다.

- `data.sources[].type` (string): 자료 유형 구분자입니다. 같은 상품 안에서 여러 종류의 자료를 묶어 받을 때 종류를 구분합니다.

- `data.sources[].status` (string): 해당 자료 항목의 처리 상태입니다. SUCCESS는 정상, 그 외 값은 그 항목만 실패했거나 자료가 없음을 뜻합니다. 가능한 값은 2가지입니다. SUCCESS = 해당 자료 항목을 정상적으로 받은 경우, FAILED = 그 항목만 실패해 result에 그 자료가 빠진 경우입니다. 전체 status가 SUCCESS여도 항목별 FAILED가 있을 수 있습니다.

- `data.message` (string): 안내 문구입니다. 오류 원인과 다음 행동을 설명합니다. 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.expiresAt` (string): 이 응답이나 인증 요청의 유효 만료 시각입니다. 한국시간(UTC+09:00) ISO 8601 형식이며, 이 시각을 넘기면 같은 요청을 다시 접수해야 합니다.

- `data.success` (integer): 업무 처리 결과 코드입니다. 1은 정상 결과, 0은 실패 또는 무료 응답입니다. 서비스에 따라 2·3처럼 추가 코드를 쓰므로 같은 응답의 status·msg·error 필드도 함께 확인하세요.

- `data.progress` (object): 결과 준비 진행 상태 묶음입니다. 전체 자료 수와 완료된 자료 수를 담습니다.

- `data.progress.total` (integer): 이번 조회에서 준비할 전체 자료 항목 수입니다. 여러 자료를 묶은 상품에서 진행률 계산의 분모로 사용합니다.

- `data.progress.completed` (integer): 현재까지 준비를 마친 자료 항목 수입니다. total과 같아지면 모든 항목의 처리가 끝난 것입니다.

- `data.checkedAt` (string): 실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다.

- `data.resultExpiresAt` (string): 결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다.

- `data.result` (object): 조회 결과 본문입니다. 서비스가 찾은 실제 데이터가 들어 있으며, 자료가 없거나 조회에 실패하면 null이거나 필드가 생략됩니다.

- `data.result.vehicleThirdParty` (object): 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.vehicleThirdParty.차량번호` (string): 조회에 사용한 자동차등록번호입니다. 요청 값을 그대로 반환하며, 하이픈·공백 없이 숫자만 올 수 있습니다.

- `data.result.vehicleThirdParty.조회구분` (string): 이 결과가 어떤 조회 조건으로 만들어졌는지 나타내는 구분 값입니다. 요청에서 선택한 조회 범위를 반영합니다. null 허용.

- `data.result.vehicleThirdParty.기본정보` (object): 타인차량(미동의) 경로가 주는 자동차 기본정보. 본인·동의 경로와 달리 연식·색상·검사유효기간은 오지 않는다. 차대번호는 확보된 경우에만 실린다. 조회 결과가 없으면 null이다. null 허용.

- `data.result.vehicleThirdParty.기본정보.자동차등록번호` (string): 자동차등록증에 기재된 등록번호입니다. 차량을 식별하는 값이며, 같은 차량이면 조회마다 같은 번호가 옵니다.

- `data.result.vehicleThirdParty.기본정보.차대번호` (string): 차량 제조사가 부여한 차대번호(VIN)입니다. 17자리 전체 값으로 제공되며, 도난·사고 이력·부품 조회의 기준이 됩니다.

- `data.result.vehicleThirdParty.기본정보.차명` (string): 차량의 모델 이름입니다. 예: K5, 쏘나타. 제조사·연식·등급과 함께 차량을 식별합니다.

- `data.result.vehicleThirdParty.기본정보.차종` (string): 자동차의 차종 코드입니다. 승용·승합·화물·특수 등 차량 분류를 나타내며, 차명과 다릅니다.

- `data.result.vehicleThirdParty.기본정보.용도` (string): 자동차의 사용 용도 코드입니다. 비사업용·사업용·영업용 등록 구분을 나타냅니다.

- `data.result.vehicleThirdParty.기본정보.양도연월일` (string): 차량 소유권이 양도된 연월일입니다. 최초 등록일 이후 소유자 변경 이력을 해석할 때 사용합니다.

- `data.result.vehicleThirdParty.기본정보.최초 등록일` (string): 차량이 처음 등록된 날짜입니다. 연식·모델과 함께 차량의 사용 연한을 가늠하는 값입니다.

- `data.result.vehicleThirdParty.제3자조회요약` (object): 차량 이력의 요약입니다. 세부 이력은 각 항목의 배열을 함께 확인하세요.

- `data.result.vehicleThirdParty.제3자조회요약.검사이력` (array): 차량 검사 이력의 요약 값입니다. 최근 검사일·검사 결과·건수를 한눈에 보여 주며, 상세 내역은 검사이력 배열을 확인하세요.

- `data.result.vehicleThirdParty.제3자조회요약.정비이력횟수` (object): 차량 정비·수리 이력의 건수입니다. 0이면 정비 이력이 없으며, 값이 클수록 사고·정비 가능성이 높으므로 상세 내역을 함께 확인하세요.

- `data.result.vehicleThirdParty.제3자조회요약.중고차성능점검횟수` (object): 중고차 성능·상태 점검을 받은 횟수입니다. 0이면 점검 이력이 없으며, 점검일·업체는 상세 배열에서 확인하세요.

- `data.result.vehicleThirdParty.제3자조회요약.의무보험가입여부` (object): 의무보험 가입 여부입니다. Y/N 또는 true/false 표기를 따릅니다.

- `data.result.vehicleThirdParty.제3자조회요약.자동차세체납횟수` (object): 자동차세를 체납한 횟수입니다. 0이면 체납 이력이 없으며, 금액·연월은 자동차세체납이력 배열을 확인하세요.

- `data.result.vehicleThirdParty.제3자조회요약.압류건수` (object): 조회 시점의 압류 건수입니다. 0이면 압류 이력이 없으며, 상세 내역은 압류등록이력에서 확인하세요.

- `data.result.vehicleThirdParty.제3자조회요약.저당건수` (object): 조회 시점의 저당 설정 건수입니다. 0이면 저당 이력이 없습니다. 하위 필드에 코드·이름·상태 같은 세부 값이 들어 있으며, 자료가 없으면 빈 객체이거나 생략됩니다.

- `data.result.vehicleThirdParty.제3자조회요약.폐차인수증명서발급여부` (object): 폐차 인수증명서가 발급됐는지 여부입니다. true면 폐차업체가 차량을 인수한 사실이 증명된 상태입니다.

- `data.result.vehicleThirdParty.제3자조회요약.공식인정정보` (object): 공식 기관이 인정한 차량 정보의 요약입니다. 사고·침수·리콜 등 공식 이력이 포함될 수 있으며, 상세 항목은 함께 제공되는 배열을 확인하세요.

- `data.result.vehicleThirdParty.제원` (object): 차명·연식·등급으로 찾은 제조사·연식·등급별 제원(배기량·연료·연비·치수·타이어 등). 마스터에 없으면 null. null 허용.

- `data.result.vehicleThirdParty.제원.제조사` (string): 차량을 제조한 회사 이름입니다. 예: 현대, 기아, BMW. 같은 차명이라도 제조사가 다르면 다른 차량입니다.

- `data.result.vehicleThirdParty.제원.차명` (string): 차량의 모델 이름입니다. 예: K5, 쏘나타. 제조사·연식·등급과 함께 차량을 식별합니다.

- `data.result.vehicleThirdParty.제원.연식` (integer): 차량의 모델 연식(4자리)입니다. 최초 등록일과 다를 수 있으며, 제원·가격 조회의 기준이 됩니다.

- `data.result.vehicleThirdParty.제원.등급` (string): 트림·등급 이름입니다. 같은 차명·연식에서도 등급에 따라 엔진·사양·가격이 달라지며, 하나로 정하지 못하면 등급후보를 함께 확인하세요.

- `data.result.vehicleThirdParty.제원.배기량` (integer): 엔진의 총 배기량(cc)입니다. 전기차처럼 배기량이 없는 차량은 0이거나 필드가 생략됩니다.

- `data.result.vehicleThirdParty.제원.연료` (string): 차량의 연료 종류입니다. 예: 가솔린, 디젤, 하이브리드, 전기. 연료에 따라 세금·주행 가능 거리가 달라집니다.

- `data.result.vehicleThirdParty.제원.차체형상` (string): 차량의 차체 형태입니다. 세단·SUV·MPV·트럭 같은 표준 표기로 내려가며, 제조사별 명칭과 다를 수 있습니다.

- `data.result.vehicleThirdParty.제원.변속기` (string): 변속기 종류와 단수 표기입니다. 예: 자동 6단, DCT 7단, CVT. 전기차는 단일 감속기로 표기될 수 있습니다.

- `data.result.vehicleThirdParty.제원.변속기단수` (integer): 전진 기어 단수입니다. CVT·전기차처럼 고정 단수가 없는 차량은 값이 없거나 생략됩니다.

- `data.result.vehicleThirdParty.제원.엔진형식` (string): 엔진의 실린더 배열·형식 표기입니다. 예: 직렬 4기통, V6, 전기 모터. 차량에 따라 출력·토크 정보와 함께 제공됩니다.

- `data.result.vehicleThirdParty.제원.구동방식` (string): 동력을 전달하는 바퀴와 방식입니다. 전륜(FF)·후륜(FR)·4WD·AWD 같은 표준 표기로 내려갑니다.

- `data.result.vehicleThirdParty.제원.최고출력` (number): 엔진이 낼 수 있는 최고 출력입니다. 단위는 ps이며, 자료에 따라 rpm 표기가 함께 올 수 있습니다.

- `data.result.vehicleThirdParty.제원.최대토크` (number): 엔진이 낼 수 있는 최대 토크입니다. 단위는 N·m이며, 자료에 따라 kgf·m로 표기될 수 있습니다.

- `data.result.vehicleThirdParty.제원.승차정원` (integer): 법정 승차 정원(명)입니다. 운전자를 포함한 인원이며, 차량 등록증의 승차정원과 같습니다.

- `data.result.vehicleThirdParty.제원.전장` (integer): 차량의 앞범퍼부터 뒤범퍼까지 길이(mm)입니다. 주차·적재 공간을 가늠할 때 사용합니다.

- `data.result.vehicleThirdParty.제원.전폭` (integer): 차량의 좌우 바깥쪽 폭(mm)입니다. 사이드미러를 제외한 차체 기준입니다.

- `data.result.vehicleThirdParty.제원.전고` (integer): 차량의 지붕까지 높이(mm)입니다. 지하 주차장·세차장 진입 높이를 확인할 때 사용합니다.

- `data.result.vehicleThirdParty.제원.축거` (integer): 앞바퀴와 뒷바퀴 중심 사이 거리(mm)입니다. 실내 공간과 승차감을 가늠하는 지표입니다.

- `data.result.vehicleThirdParty.제원.공차중량` (integer): 승객·짐 없이 연료·냉각수 등을 채운 상태의 무게(kg)입니다. 적재 가능 중량과 연비에 영향을 줍니다.

- `data.result.vehicleThirdParty.제원.총중량상한` (integer): 이 차종이 실제로 넘지 않을 것으로 보는 보수적 상한 무게(kg)입니다. 공차중량에 승차정원과 수하물을 반영해 여유 있게 계산한 값이며, 법정 총중량이 아니라 기계식 주차설비 입고 판단처럼 무게를 넉넉히 봐야 하는 곳에 쓰는 참고값입니다. 설비 정격하중과 실측 계근값을 대신하지 않습니다.

- `data.result.vehicleThirdParty.제원.복합연비` (number): 도심·고속도로를 가중 평균한 공인 복합연비입니다. 내연기관은 km/L, 전기차는 km/kWh 단위를 씁니다.

- `data.result.vehicleThirdParty.제원.도심연비` (number): 도심 주행 조건에서 측정한 공인 연비입니다. 단위는 복합연비와 같으며, 실제 주행과 차이가 날 수 있습니다.

- `data.result.vehicleThirdParty.제원.고속도로연비` (number): 고속도로 주행 조건에서 측정한 공인 연비입니다. 단위는 복합연비와 같으며, 속도·적재량에 따라 달라집니다.

- `data.result.vehicleThirdParty.제원.에너지효율등급` (string): 에너지소비효율 등급(1~5등급)입니다. 숫자가 낮을수록 효율이 좋으며, 차량·연료에 따라 산정 기준이 다릅니다.

- `data.result.vehicleThirdParty.제원.이산화탄소배출량` (number): 공인 주행 기준 이산화탄소 배출량(g/km)입니다. 전기차는 0이거나 필드가 생략될 수 있습니다.

- `data.result.vehicleThirdParty.제원.연간유류비` (integer): 연간 예상 유류비(원)입니다. 공인 연비와 연간 주행거리 가정으로 계산한 추정치이며, 유가에 따라 달라집니다.

- `data.result.vehicleThirdParty.제원.전기주행거리` (number): 1회 완전 충전으로 주행할 수 있는 거리(km)입니다. 인증 기준과 실제 주행 거리가 다를 수 있으며, 전기·플러그인 하이브리드 차량에만 제공됩니다.

- `data.result.vehicleThirdParty.제원.배터리용량` (number): 구동 배터리의 용량(kWh)입니다. 클수록 1회 충전 주행 거리가 길며, 전동화 차량에만 제공됩니다.

- `data.result.vehicleThirdParty.제원.충전시간` (string): 충전에 걸리는 시간 표기입니다. 완속·급속 구분이 있으면 완속충전시간·급속충전시간을 우선 확인하세요.

- `data.result.vehicleThirdParty.제원.전륜타이어` (string): 전륜에 장착되는 순정 타이어 규격입니다. 예: 235/45R18. 교체 시 같은 규격을 권장합니다.

- `data.result.vehicleThirdParty.제원.후륜타이어` (string): 후륜에 장착되는 순정 타이어 규격입니다. 예: 235/45R18. 앞뒤 규격이 다를 수 있습니다.

- `data.result.vehicleThirdParty.제원.판매가격` (integer): 해당 등급의 신차 판매 가격(원)입니다. 옵션·지역·시점에 따라 실제 견적과 다를 수 있습니다.

- `data.result.vehicleThirdParty.제원.최고속도` (integer): 차량이 낼 수 있는 최고 속도(km/h)입니다. 제조사 공인 값이며, 도로·적재 조건에 따라 제한됩니다.

- `data.result.vehicleThirdParty.제원.가속시간` (number): 정지 상태에서 시속 100km까지 도달하는 데 걸리는 시간(초)입니다. 제조사 측정 조건에 따라 실제와 다를 수 있습니다.

- `data.result.vehicleThirdParty.제원.휠크기` (string): 순정 휠의 지름(인치)입니다. 타이어 규격과 함께 확인해야 하며, 튜닝 시 간섭 여부를 확인하세요.

- `data.result.vehicleThirdParty.제원.전륜타이어규격` (string): 전륜 타이어의 상세 규격입니다. 하중지수·속도지수가 포함될 수 있으며, 교체 시 같은 규격을 사용해야 합니다.

- `data.result.vehicleThirdParty.제원.후륜타이어규격` (string): 후륜 타이어의 상세 규격입니다. 하중지수·속도지수가 포함될 수 있으며, 앞뒤 규격이 다르면 각각 확인하세요.

- `data.result.vehicleThirdParty.제원.전륜서스펜션` (string): 전륜 서스펜션 형식입니다. 예: 맥퍼슨 스트럿, 더블 위시본. 승차감·조향 특성을 가늠하는 값입니다.

- `data.result.vehicleThirdParty.제원.후륜서스펜션` (string): 후륜 서스펜션 형식입니다. 예: 멀티링크, 토션빔. 승차감·하중 지지 특성을 가늠하는 값입니다.

- `data.result.vehicleThirdParty.제원.전륜브레이크` (string): 전륜 브레이크 형식입니다. 예: 디스크, 벤틸레이티드 디스크. 제동 성능의 기초 정보입니다.

- `data.result.vehicleThirdParty.제원.후륜브레이크` (string): 후륜 브레이크 형식입니다. 예: 디스크, 드럼. 차량·등급에 따라 전륜과 형식이 다를 수 있습니다.

- `data.result.vehicleThirdParty.제원.배터리종류` (string): 구동 배터리의 화학 종류입니다. 예: 리튬이온, LFP. 전동화 차량에만 제공되며, 내연기관 차량은 생략됩니다.

- `data.result.vehicleThirdParty.제원.완속충전시간` (string): 완속 충전기 기준 충전 시간입니다. 배터리 잔량·충전기 출력에 따라 실제 시간이 달라질 수 있습니다.

- `data.result.vehicleThirdParty.제원.급속충전시간` (string): 급속 충전기 기준 충전 시간입니다. 충전기 출력·배터리 온도에 따라 실제 시간이 달라질 수 있습니다.

- `data.result.vehicleThirdParty.제원.보증기간` (integer): 제조사 기본 보증 기간(년)입니다. 주행거리 조건이 함께 적용되며, 소모품은 별도 보증을 따릅니다.

- `data.result.vehicleThirdParty.제원.보증거리` (integer): 제조사 기본 보증이 적용되는 주행거리(km)입니다. 보증기간과 함께 충족해야 하는 조건입니다.

- `data.result.vehicleThirdParty.제원.정비주기` (integer): 권장 정기 정비(엔진오일 교환 등) 주기(km)입니다. 실제 교환 시점은 주행 환경·오일 종류에 따라 달라질 수 있습니다.

- `data.result.vehicleThirdParty.제원.연료탱크용량` (number): 연료탱크의 용량(L)입니다. 전기차·수소차는 해당 값이 없거나 다른 단위로 표시됩니다.

- `data.result.vehicleThirdParty.제원.배터리규격` (string): 12V 보조 배터리의 규격입니다. 하이브리드·전기차도 보조 배터리를 사용하며, 교체 시 규격을 확인하세요.

- `data.result.vehicleThirdParty.제원.운전석와이퍼` (integer): 운전석 와이퍼 블레이드 길이(mm)입니다. 교체품 선택에 사용합니다. 숫자로 오며, 단위·범위는 같은 응답의 다른 필드나 이 문서의 설명을 확인하세요.

- `data.result.vehicleThirdParty.제원.조수석와이퍼` (integer): 조수석 와이퍼 블레이드 길이(mm)입니다. 운전석과 길이가 다를 수 있습니다.

- `data.result.vehicleThirdParty.제원.엔진오일용량` (number): 엔진오일 교환 시 필요한 용량(L)입니다. 오일 필터 교환 여부에 따라 실제 주입량이 달라질 수 있습니다.

- `data.result.vehicleThirdParty.제원.엔진오일점도` (string): 제조사 권장 엔진오일 점도입니다. 예: 0W-20, 5W-30. 계절·주행 조건에 따라 달라질 수 있습니다.

- `data.result.vehicleThirdParty.제원.사양` (object): 등급의 기본·선택 사양 목록 {기본: [...], 선택: [...]}. 없으면 항목이 없다

- `data.result.vehicleThirdParty.제원.등급후보` (array): 같은 차명·연식에 등급이 여럿이라 하나로 정하지 못했을 때의 후보 [{연식, 등급}]. 정했으면 항목이 없다

- `data.result.vehicleThirdParty.제원.제원기준일` (string): 제원을 마지막으로 갱신한 시각. 갱신 이력이 없으면 없음 문자열로 오며, 값이 없으면 빈 문자열이거나 필드가 생략됩니다. 같은 응답의 다른 필드와 함께 해석하세요.

- `data.errorCode` (string): 오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED / SERVICE_MAINTENANCE(기관이 서비스 점검·중지 중) 가능한 값은 5가지입니다. RESULT_EXPIRED = 결과 재조회 기간이 지난 경우(새로 인증해야 함), AUTH_EXPIRED = 승인 유효시간이 지난 경우, AUTH_REJECTED = 사용자가 인증을 거부한 경우, COLLECT_FAILED = 승인 뒤 결과 준비가 실패한 경우, SERVICE_MAINTENANCE = 기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우입니다. SERVICE_MAINTENANCE 는 요청 오류가 아니므로 입력값을 고칠 필요가 없습니다. 오류가 없으면 null입니다.

- `data.maintenance` (boolean): 기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우에만 true 입니다. 요청 오류가 아니므로 입력값을 고칠 필요가 없고, 점검 시간이 끝난 뒤 다시 요청하세요. 값이 없거나 false 면 점검 때문이 아닙니다. 이때는 message 에 같은 안내가 들어옵니다.

- `api` (object): API 호출 메타데이터입니다. 이번 요청의 서버 처리 성공 여부(api.success), 실제 차감 포인트(api.cost), 결제 기록 ID(api.pl_id)를 담습니다. 처리 시간(api.ms)은 응답에 포함된 경우에만 제공됩니다. 업무 결과는 data에서 확인합니다.

- `api.success` (boolean): API 서버가 이번 요청을 정상 처리했는지 여부입니다. true여도 업무 결과가 실패일 수 있으므로 data.success·data.status와 함께 판단합니다. 인증 실패·잘못된 입력·서버 오류 응답에서는 false입니다.

- `api.cost` (integer): 이번 호출에서 실제로 차감된 포인트입니다. 유료 성공 응답에서만 단가만큼 차감되며, 실패·무료 조회·같은 요청의 멱등 재전송은 0입니다. 화면의 표시 단가와 실제 차감액이 다를 수 있으므로 정산은 이 값을 기준으로 합니다.

- `api.ms` (integer): 서버가 요청을 받아 응답 본문을 만들기까지 걸린 처리 시간(밀리초)입니다. 네트워크 왕복 시간과 클라이언트 대기 시간은 포함되지 않습니다.

- `api.pl_id` (integer): 포인트 차감 기록 ID입니다. 차감이 발생한 호출에만 값이 있으며, 과금 내역을 문의할 때 이 번호를 사용합니다. 무과금 응답은 -1·null이거나 필드가 생략됩니다.

## 결과 조회: POST /rest/get_vehicle_third_party



### 입력

- `transactionId` (string, 필수): /rest/req_vehicle_third_party 가 반환한 트랜잭션 ID



### 응답 명세

```json

{
  "type": "object",
  "properties": {
    "data": {
      "type": "object",
      "properties": {
        "schemaVersion": {
          "type": "string",
          "description": "결과 스키마 버전 (고정값: \"1.0\")"
        },
        "transactionId": {
          "type": "string",
          "description": "트랜잭션 ID"
        },
        "product": {
          "type": "string",
          "description": "조회 항목 코드. 인증요청 응답과 같은 값입니다."
        },
        "status": {
          "type": "string",
          "description": "처리 상태 (위 표 참고)"
        },
        "resultAvailable": {
          "type": "boolean",
          "description": "실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다."
        },
        "charged": {
          "type": "boolean",
          "description": "이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다."
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "source": {
                "type": "string"
              },
              "type": {
                "type": "string"
              },
              "status": {
                "type": "string"
              }
            }
          },
          "description": "항상 포함됩니다. 값이 없으면 빈 배열 [] 입니다. 항목이 여러 개인 상품에서 어느 것이 성공·실패했는지 알려줍니다. 각 항목은 source(자료 이름), type(데이터 종류), status(SUCCESS/FAILED). 결과 준비가 끝나기 전에는 아직 확정되지 않은 항목이 FAILED 로 보일 수 있습니다."
        },
        "message": {
          "type": "string",
          "description": "상태 메시지"
        },
        "expiresAt": {
          "type": "string"
        },
        "success": {
          "type": "integer",
          "description": "과금 여부0: 결과 없음 또는 재조회(무과금)1: 최초 결과 반환(과금)"
        },
        "progress": {
          "type": "object",
          "properties": {
            "total": {
              "type": "integer"
            },
            "completed": {
              "type": "integer"
            }
          },
          "description": "진행률(COLLECTING 일 때). total(전체 항목), completed(완료 항목)"
        },
        "checkedAt": {
          "type": "string",
          "description": "실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다."
        },
        "resultExpiresAt": {
          "type": "string",
          "description": "결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다."
        },
        "result": {
          "type": "object",
          "properties": {
            "vehicleThirdParty": {
              "type": "object",
              "additionalProperties": true,
              "properties": {
                "차량번호": {
                  "type": "string",
                  "description": "조회한 자동차등록번호"
                },
                "조회구분": {
                  "type": "string",
                  "description": "본인차량이면 \"본인차량\", 소유자가 조회 주체가 아닌 차량(법인차 등)은 \"타인차량\". 타인차량 조회는 요청자 본인인증이 필요하다. 조회가 안 되면 null.",
                  "nullable": true
                },
                "기본정보": {
                  "type": "object",
                  "description": "타인차량(미동의) 경로가 주는 자동차 기본정보. 본인·동의 경로와 달리 연식·색상·검사유효기간은 오지 않는다. 차대번호는 확보된 경우에만 실린다. 조회 결과가 없으면 null이다.",
                  "nullable": true,
                  "properties": {
                    "자동차등록번호": {
                      "type": "string",
                      "description": "등록번호"
                    },
                    "차대번호": {
                      "type": "string",
                      "description": "차대번호(VIN). 확보하지 못하면 항목이 생략된다."
                    },
                    "차명": {
                      "type": "string",
                      "description": "차명"
                    },
                    "차종": {
                      "type": "string",
                      "description": "차종 코드"
                    },
                    "용도": {
                      "type": "string",
                      "description": "용도 코드"
                    },
                    "양도연월일": {
                      "type": "string",
                      "description": "양도 연월일"
                    },
                    "최초 등록일": {
                      "type": "string",
                      "description": "최초 등록일"
                    }
                  }
                },
                "제3자조회요약": {
                  "type": "object",
                  "description": "타인차량(미동의) 경로가 주는 건수·여부 요약. 화면이 주는 제목을 그대로 키로 쓴다. 자료가 없는 항목은 키가 빠진다.",
                  "properties": {
                    "검사이력": {
                      "type": "array",
                      "description": "타인차량 경로의 검사 이력. 없으면 키가 빠진다.",
                      "items": {
                        "type": "object"
                      }
                    },
                    "정비이력횟수": {
                      "type": "object",
                      "description": "정비 이력 건수",
                      "properties": {}
                    },
                    "중고차성능점검횟수": {
                      "type": "object",
                      "description": "중고차 성능점검 건수",
                      "properties": {}
                    },
                    "의무보험가입여부": {
                      "type": "object",
                      "description": "의무보험 가입 여부",
                      "properties": {}
                    },
                    "자동차세체납횟수": {
                      "type": "object",
                      "description": "자동차세 체납 이력. 없으면 키가 빠진다.",
                      "properties": {}
                    },
                    "압류건수": {
                      "type": "object",
                      "description": "압류 건수",
                      "properties": {}
                    },
                    "저당건수": {
                      "type": "object",
                      "description": "저당 건수",
                      "properties": {}
                    },
                    "폐차인수증명서발급여부": {
                      "type": "object",
                      "description": "폐차 인수증명서 발급 여부",
                      "properties": {}
                    },
                    "공식인정정보": {
                      "type": "object",
                      "description": "공식 인정 정보(튜닝 횟수·전손 처리 구분)",
                      "properties": {}
                    }
                  }
                },
                "제원": {
                  "type": "object",
                  "description": "차명·연식·등급으로 찾은 제조사·연식·등급별 제원(배기량·연료·연비·치수·타이어 등). 마스터에 없으면 null.",
                  "nullable": true,
                  "properties": {
                    "제조사": {
                      "type": "string",
                      "description": "표준 제조사명"
                    },
                    "차명": {
                      "type": "string",
                      "description": "표준 차명"
                    },
                    "연식": {
                      "type": "integer",
                      "description": "모델 연식(4자리)"
                    },
                    "등급": {
                      "type": "string",
                      "description": "등급·트림. 없으면 null"
                    },
                    "배기량": {
                      "type": "integer",
                      "description": "배기량(cc)"
                    },
                    "연료": {
                      "type": "string",
                      "description": "사용 연료"
                    },
                    "차체형상": {
                      "type": "string",
                      "description": "차체 형상"
                    },
                    "변속기": {
                      "type": "string",
                      "description": "변속기"
                    },
                    "변속기단수": {
                      "type": "integer",
                      "description": "변속기 단수"
                    },
                    "엔진형식": {
                      "type": "string",
                      "description": "엔진 형식"
                    },
                    "구동방식": {
                      "type": "string",
                      "description": "구동 방식"
                    },
                    "최고출력": {
                      "type": "number",
                      "description": "최고 출력(ps)"
                    },
                    "최대토크": {
                      "type": "number",
                      "description": "최대 토크(N·m)"
                    },
                    "승차정원": {
                      "type": "integer",
                      "description": "승차 정원(인)"
                    },
                    "전장": {
                      "type": "integer",
                      "description": "전장(mm)"
                    },
                    "전폭": {
                      "type": "integer",
                      "description": "전폭(mm)"
                    },
                    "전고": {
                      "type": "integer",
                      "description": "전고(mm)"
                    },
                    "축거": {
                      "type": "integer",
                      "description": "축거(mm)"
                    },
                    "공차중량": {
                      "type": "integer",
                      "description": "공차 중량(kg)"
                    },
                    "총중량상한": {
                      "type": "integer",
                      "description": "승차정원·수하물을 반영한 보수적 중량 상한(kg). 공차중량이 없으면 null"
                    },
                    "복합연비": {
                      "type": "number",
                      "description": "복합 연비(km/ℓ)"
                    },
                    "도심연비": {
                      "type": "number",
                      "description": "도심 연비(km/ℓ)"
                    },
                    "고속도로연비": {
                      "type": "number",
                      "description": "고속도로 연비(km/ℓ)"
                    },
                    "에너지효율등급": {
                      "type": "string",
                      "description": "에너지 효율 등급"
                    },
                    "이산화탄소배출량": {
                      "type": "number",
                      "description": "CO2 배출량(g/km)"
                    },
                    "연간유류비": {
                      "type": "integer",
                      "description": "연간 유류비(원)"
                    },
                    "전기주행거리": {
                      "type": "number",
                      "description": "전기 주행거리(km). 전기·플러그인 하이브리드만"
                    },
                    "배터리용량": {
                      "type": "number",
                      "description": "배터리 용량(kWh). 전동화 차량만"
                    },
                    "충전시간": {
                      "type": "string",
                      "description": "충전 시간"
                    },
                    "전륜타이어": {
                      "type": "string",
                      "description": "전륜 순정 타이어 규격"
                    },
                    "후륜타이어": {
                      "type": "string",
                      "description": "후륜 순정 타이어 규격"
                    },
                    "판매가격": {
                      "type": "integer",
                      "description": "신차 판매가격(원)"
                    },
                    "최고속도": {
                      "type": "integer",
                      "description": "최고 속도(km/h)"
                    },
                    "가속시간": {
                      "type": "number",
                      "description": "정지에서 시속 100km 까지 걸리는 시간(초)"
                    },
                    "휠크기": {
                      "type": "string",
                      "description": "순정 휠 크기"
                    },
                    "전륜타이어규격": {
                      "type": "string",
                      "description": "전륜 타이어 상세 규격(하중·속도 지수 포함)"
                    },
                    "후륜타이어규격": {
                      "type": "string",
                      "description": "후륜 타이어 상세 규격(하중·속도 지수 포함)"
                    },
                    "전륜서스펜션": {
                      "type": "string",
                      "description": "전륜 서스펜션 형식"
                    },
                    "후륜서스펜션": {
                      "type": "string",
                      "description": "후륜 서스펜션 형식"
                    },
                    "전륜브레이크": {
                      "type": "string",
                      "description": "전륜 브레이크 형식"
                    },
                    "후륜브레이크": {
                      "type": "string",
                      "description": "후륜 브레이크 형식"
                    },
                    "배터리종류": {
                      "type": "string",
                      "description": "구동 배터리 종류. 전동화 차량만"
                    },
                    "완속충전시간": {
                      "type": "string",
                      "description": "완속 충전 시간"
                    },
                    "급속충전시간": {
                      "type": "string",
                      "description": "급속 충전 시간"
                    },
                    "보증기간": {
                      "type": "integer",
                      "description": "기본 보증 기간(년)"
                    },
                    "보증거리": {
                      "type": "integer",
                      "description": "기본 보증 거리(km)"
                    },
                    "정비주기": {
                      "type": "integer",
                      "description": "권장 정비(엔진오일 교환) 주기(km)"
                    },
                    "연료탱크용량": {
                      "type": "number",
                      "description": "연료 탱크 용량(ℓ)"
                    },
                    "배터리규격": {
                      "type": "string",
                      "description": "12V 보조 배터리 규격"
                    },
                    "운전석와이퍼": {
                      "type": "integer",
                      "description": "운전석 와이퍼 길이(mm)"
                    },
                    "조수석와이퍼": {
                      "type": "integer",
                      "description": "조수석 와이퍼 길이(mm)"
                    },
                    "엔진오일용량": {
                      "type": "number",
                      "description": "엔진오일 용량(ℓ)"
                    },
                    "엔진오일점도": {
                      "type": "string",
                      "description": "권장 엔진오일 점도"
                    },
                    "사양": {
                      "type": "object",
                      "description": "등급의 기본·선택 사양 목록 {기본: [...], 선택: [...]}. 없으면 항목이 없다",
                      "properties": {}
                    },
                    "등급후보": {
                      "type": "array",
                      "description": "같은 차명·연식에 등급이 여럿이라 하나로 정하지 못했을 때의 후보 [{연식, 등급}]. 정했으면 항목이 없다",
                      "items": {
                        "type": "object"
                      }
                    },
                    "제원기준일": {
                      "type": "string",
                      "description": "제원을 마지막으로 갱신한 시각. 갱신 이력이 없으면 없음"
                    }
                  }
                }
              },
              "description": "이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요."
            }
          },
          "description": "조회된 결과 묶음. 실제 데이터가 있을 때만 포함됩니다."
        },
        "errorCode": {
          "type": "string",
          "description": "오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED / SERVICE_MAINTENANCE(기관이 서비스 점검·중지 중)"
        },
        "maintenance": {
          "type": "boolean",
          "description": "기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우에만 true 입니다. 요청 오류가 아니므로 입력값을 고칠 필요가 없고, 점검 시간이 끝난 뒤 다시 요청하세요. 값이 없거나 false 면 점검 때문이 아닙니다. 이때는 message 에 같은 안내가 들어옵니다."
        }
      },
      "description": "상태·결과"
    },
    "api": {
      "type": "object",
      "properties": {
        "success": {
          "type": "boolean",
          "description": "API 서버 정상 응답 여부"
        },
        "cost": {
          "type": "integer",
          "description": "API 호출 요금"
        },
        "ms": {
          "type": "integer",
          "description": "API 응답 시간"
        },
        "pl_id": {
          "type": "integer",
          "description": "API 결제 로그 ID"
        }
      },
      "description": "API 호출 공통 데이터"
    }
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "vehicle_third_party",
    "status": "AUTH_WAITING",
    "resultAvailable": false,
    "charged": false,
    "sources": [],
    "message": "인증 대기중입니다.",
    "expiresAt": "2026-09-20T05:24:07+09:00",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 42,
    "pl_id": -1
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "vehicle_third_party",
    "status": "COLLECTING",
    "resultAvailable": false,
    "charged": false,
    "sources": [],
    "progress": {
      "total": 1,
      "completed": 0
    },
    "message": "정보를 조회하고 있습니다.",
    "success": 0
  },
  "api": {
    "success": true,
    "cost": 0,
    "ms": 38,
    "pl_id": -1
  }
}

```

### 정적 응답 예시

```json

{
  "data": {
    "schemaVersion": "1.0",
    "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a",
    "product": "vehicle_third_party",
    "status": "SUCCESS",
    "resultAvailable": true,
    "charged": true,
    "sources": [
      {
        "source": "타인차량 이력요약 조회",
        "type": "CAR365_VEHICLE_HISTORY",
        "status": "SUCCESS"
      }
    ],
    "checkedAt": "2026-09-20T04:47:33+09:00",
    "resultExpiresAt": "2026-09-21T04:47:33+09:00",
    "result": {
      "vehicleThirdParty": {
        "차량번호": "12가3456",
        "조회구분": "타인차량",
        "기본정보": {
          "자동차등록번호": "12가3456",
          "차대번호": "KPBPA3AT1TP112237",
          "차명": "토레스",
          "차종": "1",
          "용도": "2",
          "양도연월일": "2025-04-28",
          "최초 등록일": "2025-05-07"
        },
        "제3자조회요약": {
          "검사이력": [],
          "정비이력횟수": {
            "정비이력횟수": "0 건"
          },
          "중고차성능점검횟수": {
            "중고차성능점검횟수": "0 건"
          },
          "의무보험가입여부": {
            "의무보험가입여부": "있음"
          },
          "자동차세체납횟수": {},
          "압류건수": {
            "압류건수": "0 건"
          },
          "저당건수": {
            "저당건수": "0 건"
          },
          "폐차인수증명서발급여부": {
            "폐차인수증명서발급여부": "없음"
          },
          "공식인정정보": {
            "튜닝횟수": "0건",
            "전손처리구분": "-"
          }
        },
        "제원": {
          "제조사": "현대",
          "차명": "아반떼",
          "연식": 2020,
          "등급": "스마트",
          "배기량": 1598,
          "연료": "가솔린",
          "차체형상": "세단 4도어",
          "변속기": "7단 DCT",
          "변속기단수": 7,
          "엔진형식": "가솔린 터보",
          "구동방식": "전륜",
          "최고출력": 180,
          "최대토크": 27,
          "승차정원": 5,
          "전장": 4650,
          "전폭": 1825,
          "전고": 1420,
          "축거": 2720,
          "공차중량": 1255,
          "총중량상한": 1910,
          "복합연비": 15.2,
          "도심연비": 13.1,
          "고속도로연비": 18,
          "에너지효율등급": "2등급",
          "이산화탄소배출량": 106,
          "연간유류비": 1120000,
          "전기주행거리": 58,
          "배터리용량": 13.8,
          "충전시간": "완속 3시간 30분",
          "전륜타이어": "205/55R16",
          "후륜타이어": "205/55R16",
          "판매가격": 23560000,
          "최고속도": 210,
          "가속시간": 8.9,
          "휠크기": "17인치",
          "전륜타이어규격": "225/45R17 91W",
          "후륜타이어규격": "225/45R17 91W",
          "전륜서스펜션": "맥퍼슨 스트럿",
          "후륜서스펜션": "멀티링크",
          "전륜브레이크": "V디스크",
          "후륜브레이크": "디스크",
          "배터리종류": "리튬이온",
          "완속충전시간": "7시간 20분",
          "급속충전시간": "18분(10→80%)",
          "보증기간": 3,
          "보증거리": 60000,
          "정비주기": 10000,
          "연료탱크용량": 47,
          "배터리규격": "AGM 70Ah",
          "운전석와이퍼": 650,
          "조수석와이퍼": 400,
          "엔진오일용량": 4.2,
          "엔진오일점도": "0W-20",
          "사양": "{\"기본\": [\"스마트키\"], \"선택\": [\"선루프\"]}",
          "등급후보": "[{\"연식\": 2020, \"등급\": \"스마트\"}]",
          "제원기준일": "2026-10-16T04:00:00.000Z"
        }
      }
    },
    "message": "인증이 완료되었습니다.",
    "success": 1
  },
  "api": {
    "success": true,
    "cost": 60,
    "ms": 318,
    "pl_id": 4903
  }
}

```

### curl

```curl

curl --fail-with-body --request POST 'https://apick.app/rest/get_vehicle_third_party' \
  --header "Authorization: Bearer $APICK_API_KEY" \
  --form-string 'transactionId=9f2c4a7b1d8e35c60a4f7b2d1e9c803a'

```

### Node.js (서버 ESM)

```javascript

const form = new FormData();
form.append("transactionId", "9f2c4a7b1d8e35c60a4f7b2d1e9c803a");
const response = await fetch("https://apick.app/rest/get_vehicle_third_party", {
  method: "POST",
  headers: { Authorization: "Bearer " + process.env.APICK_API_KEY },
  body: form,
  signal: AbortSignal.timeout(120_000),
});
if (!response.ok) throw new Error(`HTTP ${response.status}: ${await response.text()}`);
const result = await response.json();
console.log(result);

```

### python

```python

import os
import requests
parts = [
    ("transactionId", (None, "9f2c4a7b1d8e35c60a4f7b2d1e9c803a")),
]
response = requests.request("POST", "https://apick.app/rest/get_vehicle_third_party",
    headers={"Authorization": "Bearer " + os.environ["APICK_API_KEY"]},
    files=parts,
    timeout=(10, 120))
response.raise_for_status()
result = response.json()
print(result)

```

### php

```php

<?php
$headers = ["Authorization: Bearer " . getenv("APICK_API_KEY")];
$form = [
    'transactionId' => '9f2c4a7b1d8e35c60a4f7b2d1e9c803a',
];
$curl = curl_init('https://apick.app/rest/get_vehicle_third_party');
curl_setopt_array($curl, [
    CURLOPT_CUSTOMREQUEST => 'POST',
    CURLOPT_HTTPHEADER => $headers,
    CURLOPT_POSTFIELDS => $form,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_TIMEOUT => 120,
]);
$body = curl_exec($curl);
if ($body === false) { throw new RuntimeException(curl_error($curl)); }
$status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
curl_close($curl);
if ($status >= 400) { throw new RuntimeException($body); }
$result = json_decode($body, true, 512, JSON_THROW_ON_ERROR);
print_r($result);

```

## 코드·오류

## 상세 기능·요금

본인차량과 타인차량 모두 조회자 본인의 주민등록번호 뒷자리(rrn)가 필요합니다. 타인차량도 차주의 번호 대신 조회자의 번호를 보냅니다. 조회자의 이름·생년월일 8자리·휴대전화번호·간편인증 방식과 차량번호도 필요합니다. 본인 소유 차량의 등록정보와 차대번호를 뒷자리 입력 없이 확인하려면 자동차등록원부 등본 발급을 이용하세요. 한 번 인증으로 차량 통합이력조회 전체를 받으려면 차량 통합이력조회를 쓰세요. 묶음 조회는 결과 단가 488P이고, 지금 이 조회는 60P입니다. 한 번 인증으로 차량 매물 확인 통합조회 전체를 받으려면 차량 매물 확인 통합조회를 쓰세요. 묶음 조회는 결과 단가 168P이고, 지금 이 조회는 60P입니다. 인증요청 → 사용자 승인 → 정보조회 → 정보제공 4단계이며, 과금은 인증요청 발송 성공과 결과 최초 제공 두 번만 발생합니다. 그 사이 반복 조회는 무과금입니다. 1단계 · 조회 인증 요청 /rest/req_vehicle_third_party20P · 인증요청 5분 유효 2단계 · 결과조회 /rest/get_vehicle_third_party60P · 결과 24시간 보관 요금과 포인트 상태와 성공 판정 호출 제한과 재시도 공통 오류 응답 자주 묻는 질문 공통 가이드 전체 보기 이용 전 확인 인증 요청이 사용자에게 발송되면 20P, 결과가 처음 반환될 때 결과 단가 60P가 차감됩니다. 입력 오류로 거절된 요청, 인증 거부·만료, 조회 실패는 결과 단가가 차감되지 않고, 결과를 받은 뒤 24시간 안의 재조회는 무료입니다. 사용자는 인증 요청 후 5분 안에 휴대폰에서 승인해야 합니다. 같은 계정·같은 상품으로 진행 중이거나 30초 안에 접수한 요청이 있으면 인증을 다시 보내지 않고 기존 transactionId를 돌려주며 과금하지 않습니다. 승인 뒤 결과가 준비되는 동안 COLLECTING 이 이어집니다. 결과조회는 5초 → 10초 → 20초 → 30초 간격으로 반복하고 resultAvailable=true 를 받으면 멈추세요. 인증키는 서버 환경변수에 보관하고 브라우저·앱에 넣지 마세요. 공통 규칙은 연동 전에 확인하세요를 참고하세요. 타인차량 이력요약 자료를 조회하기 위한 인증 요청입니다. 사용자에게 간편인증을 요청하고, 결과 조회에 쓸 transactionId 를 바로 돌려줍니다. 인증요청과 결과조회는 완전히 분리되어 있습니다. 이 호출은 인증요청만 보내고 transactionId 를 즉시 반환합니다. 결과는 사용자가 승인한 뒤 /rest/get_vehicle_third_party 에 transactionId 를 넣어 확인합니다. 조회 항목은 엔드포인트로 정해지므로 별도로 지정하는 파라미터가 없습니다. 이 응답의 expiresAt 까지만 승인할 수 있습니다. 남은 시간을 화면에 표시하고, 만료되면 사용자가 다시 요청할 수 있게 해 주세요. 2단계 · 결과조회 엔드포인트 Method URL POST https://apick.app/rest/get_vehicle_third_party 이 API 는 polling 용도입니다. 호출 자체는 언제든 무료이며, 실제 결과가 최초로 반환되는 1회에만 과금됩니다. 같은 transactionId 로 다시 조회하면 charged=false 로 추가 과금이 없습니다. 인증 대기(AUTH_WAITING)·조회 중(COLLECTING)·실패(FAILED)·만료(AUTH_EXPIRED) 응답은 과금되지 않습니다. 결과를 받을 때까지 안심하고 반복 조회하세요. 결과가 준비된 뒤에는 조회 시각 기준 24시간 동안 재조회할 수 있습니다. 이 기간의 재조회는 무과금입니다. 응답에는 실제 정보를 확인한 시각이 checkedAt 으로 포함됩니다. 저장해 둔 값을 돌려주는 것이 아니라 그 시점에 확인한 값입니다. 폴링은 resultAvailable=true 를 받는 순간 멈추세요. 최대 시간은 expiresAt(인증 대기)까지이고, 그 뒤로는 결과가 나올 때까지입니다. 자세한 값은 호출 제한과 재시도를 참고하세요. 조회 항목이 여러 개인 상품은 일부만 성공하면 PARTIAL_SUCCESS 로 반환하며, 이때도 실제 조회된 데이터가 있으면 최초 1회 과금됩니다. 기본은 결과 단가 전액이지만, 선택형 묶음은 요청에서 고른 조회 중 실제 받은 항목의 단가만 합산하고, 발급형 증명은 문서를 받은 항목만 청구합니다. 문서 미수신·기관 거절·PDF 파싱 실패는 무과금이며, 받은 항목이 하나도 없으면 charged=false·cost 0 으로 응답합니다. 어느 항목이 성공·실패했는지는 sources 에 표시됩니다. 결과조회를 호출할 때마다 보유 포인트가 이 상품의 결과 단가 이상인지 먼저 확인합니다. 모자라면 인증 대기 중이어도 HTTP 200 과 result.error(사용 가능한 포인트이 부족합니다.)로 거절되고 과금되지 않으므로, 충전한 뒤 같은 transactionId 로 다시 조회하세요. 결과 단가는 건당 60P입니다. 이 상품은 조회 기간 입력이 없어 기간 배수가 적용되지 않습니다.

## 상세 요청

1단계 · 조회 인증 요청 Method URL POST https://apick.app/rest/req_vehicle_third_party Header 이름 필수 설명 Authorization O Bearer 인증키 모든 입력은 하위 객체 없이 최상위 이름 그대로 보냅니다. user·requestData·options 같은 묶음은 쓰지 않습니다. 형식별 예시는 요청 본문 형식을 참고하세요. 조회 항목마다 필요한 추가 입력 이 다릅니다. 값이 비어 있으면 인증을 보내지 않고 무과금으로 거절하며, 이때는 결과 단가도 발생하지 않습니다. 간편인증 방식(authProvider) 값 인증 방식 kakao 카카오톡 naver 네이버 toss 토스 pass 통신사 PASS samsung 삼성패스 kb KB국민은행 shinhan 신한은행 hana 하나은행 woori 우리은행 ibk IBK기업은행 nh NH농협은행 kakaobank 카카오뱅크 banksalad 뱅크샐러드 Header 이름 필수 설명 Authorization O Bearer 인증키 본문은 transactionId 하나입니다. 결과조회 엔드포인트는 인증요청과 짝이 되는 /rest/get_vehicle_third_party 이며, 다른 항목의 엔드포인트로 조회하면 실패합니다. 조회 시각 기준 24시간이 지나면 RESULT_EXPIRED 가 반환됩니다. 이때는 인증요청부터 다시 시작해야 하며, 인증요청 단가(20P)가 다시 발생합니다. 요청 예시 form-data 전체 예제 보기

## 상세 응답

Body 이름 타입 설명 data Object 인증 요청 결과 schemaVersion String 결과 스키마 버전 (고정값: "1.0") transactionId String 결과 조회에 사용하는 트랜잭션 ID product String 조회 항목 코드. 결과조회에도 같은 값이 오므로 어느 항목의 결과인지 대조할 수 있습니다. status String 처리 상태 (AUTH_REQUESTED: 인증 요청 완료) message String 상태 메시지 (고정값: "인증 대기중입니다.") approvals Integer 사용자가 휴대폰에서 승인해야 하는 횟수. 같은 인증으로 처리되는 조회는 묶음이어도 1회입니다. resultAvailable Boolean 결과 데이터 포함 여부. 인증 요청 응답은 항상 false 입니다. charged Boolean 이번 호출의 과금 발생 여부. 실제 발송에 성공하면 true 입니다. expiresAt String 인증 유효 기한(ISO 8601). 이 시각까지 승인하지 못하면 인증 실패 처리됩니다. success Integer 과금 여부0: 실패 또는 재사용(무과금)1: 발송 성공(과금) api Object API 호출 공통 데이터 success Boolean API 서버 정상 응답 여부 cost Integer API 호출 요금 ms Integer API 응답 시간 pl_id Integer API 결제 로그 ID 처리 상태(status) 값 의미 과금 AUTH_REQUESTED 조회 인증 요청 (/rest/req_vehicle_third_party 응답) 인증요청 시 과금 AUTH_WAITING 사용자 인증 대기중 무과금 AUTH_COMPLETED 승인 완료, 조회 시작 전 무과금 COLLECTING 조회 결과를 준비하는 중 무과금 SUCCESS 모든 항목 조회 완료 최초 1회만 PARTIAL_SUCCESS 일부 항목만 조회 완료 (sources 참고) 최초 1회 — 선택형 묶음·발급형은 받은 항목 단가만, 받은 항목이 없으면 무과금 AUTH_REJECTED 사용자가 인증을 거부 무과금 AUTH_EXPIRED 제한 시간 안에 승인하지 않음 무과금 FAILED 조회 실패 (기관 서비스 점검·중지 포함) 무과금 Body 이름 타입 설명 data Object 상태·결과 schemaVersion String 결과 스키마 버전 (고정값: "1.0") transactionId String 트랜잭션 ID product String 조회 항목 코드. 인증요청 응답과 같은 값입니다. status String 처리 상태 (위 표 참고) resultAvailable Boolean 실제 결과 포함 여부. 과금 여부도 이 값으로 결정됩니다. charged Boolean 이번 호출의 과금 발생 여부. 최초 결과 반환에서만 true 입니다. sources Array 항상 포함됩니다. 값이 없으면 빈 배열 [] 입니다. 항목이 여러 개인 상품에서 어느 것이 성공·실패했는지 알려줍니다. 각 항목은 source(자료 이름), type(데이터 종류), status(SUCCESS/FAILED). 결과 준비가 끝나기 전에는 아직 확정되지 않은 항목이 FAILED 로 보일 수 있습니다. progress Object 진행률(COLLECTING 일 때). total(전체 항목), completed(완료 항목) checkedAt String 실제 정보를 확인한 시각. 한국시간(UTC+09:00) ISO 8601 이며 재조회 유효기간의 기준입니다. resultExpiresAt String 결과 재조회 만료 시각. 한국시간(UTC+09:00) ISO 8601 입니다. errorCode String 오류 구분. RESULT_EXPIRED(재조회 기간 만료) / AUTH_EXPIRED / AUTH_REJECTED / COLLECT_FAILED / SERVICE_MAINTENANCE(기관이 서비스 점검·중지 중) maintenance Boolean 기관이 서비스 점검(중지) 중이라 결과를 만들지 못한 경우에만 true 입니다. 요청 오류가 아니므로 입력값을 고칠 필요가 없고, 점검 시간이 끝난 뒤 다시 요청하세요. 값이 없거나 false 면 점검 때문이 아닙니다. 이때는 message 에 같은 안내가 들어옵니다. result Object 조회된 결과 묶음. 실제 데이터가 있을 때만 포함됩니다. vehicleThirdParty Object 이 조회 항목의 결과입니다. 항목은 결과 규격을 참고하세요. message String 상태 메시지 success Integer 과금 여부0: 결과 없음 또는 재조회(무과금)1: 최초 결과 반환(과금) api Object API 호출 공통 데이터 success Boolean API 서버 정상 응답 여부 cost Integer API 호출 요금 ms Integer API 응답 시간 pl_id Integer API 결제 로그 ID 결과 규격 result.vehicleThirdParty 경로 타입 값 존재 설명 예시 차량번호 String O 조회한 자동차등록번호 12가3456 조회구분 String | null O 본인차량이면 "본인차량", 소유자가 조회 주체가 아닌 차량(법인차 등)은 "타인차량". 타인차량 조회는 요청자 본인인증이 필요하다. 조회가 안 되면 null. 타인차량 기본정보 Object | null O 타인차량(미동의) 경로가 주는 자동차 기본정보. 본인·동의 경로와 달리 연식·색상·검사유효기간은 오지 않는다. 차대번호는 확보된 경우에만 실린다. 조회 결과가 없으면 null이다. 자동차등록번호 String O 등록번호 12가3456 차대번호 String O 차대번호(VIN). 확보하지 못하면 항목이 생략된다. KPBPA3AT1TP112237 차명 String O 차명 토레스 차종 String O 차종 코드 1 용도 String O 용도 코드 2 양도연월일 String O 양도 연월일 2025-04-28 최초 등록일 String O 최초 등록일 2025-05-07 제3자조회요약 Object O 타인차량(미동의) 경로가 주는 건수·여부 요약. 화면이 주는 제목을 그대로 키로 쓴다. 자료가 없는 항목은 키가 빠진다. 검사이력 Array<Object> O 타인차량 경로의 검사 이력. 없으면 키가 빠진다. [] 정비이력횟수 Object O 정비 이력 건수 {"정비이력횟수":"0 건"} 중고차성능점검횟수 Object O 중고차 성능점검 건수 {"중고차성능점검횟수":"0 건"} 의무보험가입여부 Object O 의무보험 가입 여부 {"의무보험가입여부":"있음"} 자동차세체납횟수 Object O 자동차세 체납 이력. 없으면 키가 빠진다. 압류건수 Object O 압류 건수 {"압류건수":"0 건"} 저당건수 Object O 저당 건수 {"저당건수":"0 건"} 폐차인수증명서발급여부 Object O 폐차 인수증명서 발급 여부 {"폐차인수증명서발급여부":"없음"} 공식인정정보 Object O 공식 인정 정보(튜닝 횟수·전손 처리 구분) {"튜닝횟수":"0건","전손처리구분":"-"} 제원 Object | null O 차명·연식·등급으로 찾은 제조사·연식·등급별 제원(배기량·연료·연비·치수·타이어 등). 마스터에 없으면 null. 제조사 String O 표준 제조사명 현대 차명 String O 표준 차명 아반떼 연식 Integer O 모델 연식(4자리) 2020 등급 String O 등급·트림. 없으면 null 스마트 배기량 Integer O 배기량(cc) 1598 연료 String O 사용 연료 가솔린 차체형상 String O 차체 형상 세단 4도어 변속기 String O 변속기 7단 DCT 변속기단수 Integer O 변속기 단수 7 엔진형식 String O 엔진 형식 가솔린 터보 구동방식 String O 구동 방식 전륜 최고출력 Number O 최고 출력(ps) 180 최대토크 Number O 최대 토크(N·m) 27 승차정원 Integer O 승차 정원(인) 5 전장 Integer O 전장(mm) 4650 전폭 Integer O 전폭(mm) 1825 전고 Integer O 전고(mm) 1420 축거 Integer O 축거(mm) 2720 공차중량 Integer O 공차 중량(kg) 1255 총중량상한 Integer O 승차정원·수하물을 반영한 보수적 중량 상한(kg). 공차중량이 없으면 null 1910 복합연비 Number O 복합 연비(km/ℓ) 15.2 도심연비 Number O 도심 연비(km/ℓ) 13.1 고속도로연비 Number O 고속도로 연비(km/ℓ) 18 에너지효율등급 String O 에너지 효율 등급 2등급 이산화탄소배출량 Number O CO2 배출량(g/km) 106 연간유류비 Integer O 연간 유류비(원) 1120000 전기주행거리 Number O 전기 주행거리(km). 전기·플러그인 하이브리드만 58 배터리용량 Number O 배터리 용량(kWh). 전동화 차량만 13.8 충전시간 String O 충전 시간 완속 3시간 30분 전륜타이어 String O 전륜 순정 타이어 규격 205/55R16 후륜타이어 String O 후륜 순정 타이어 규격 205/55R16 판매가격 Integer O 신차 판매가격(원) 23560000 최고속도 Integer O 최고 속도(km/h) 210 가속시간 Number O 정지에서 시속 100km 까지 걸리는 시간(초) 8.9 휠크기 String O 순정 휠 크기 17인치 전륜타이어규격 String O 전륜 타이어 상세 규격(하중·속도 지수 포함) 225/45R17 91W 후륜타이어규격 String O 후륜 타이어 상세 규격(하중·속도 지수 포함) 225/45R17 91W 전륜서스펜션 String O 전륜 서스펜션 형식 맥퍼슨 스트럿 후륜서스펜션 String O 후륜 서스펜션 형식 멀티링크 전륜브레이크 String O 전륜 브레이크 형식 V디스크 후륜브레이크 String O 후륜 브레이크 형식 디스크 배터리종류 String O 구동 배터리 종류. 전동화 차량만 리튬이온 완속충전시간 String O 완속 충전 시간 7시간 20분 급속충전시간 String O 급속 충전 시간 18분(10→80%) 보증기간 Integer O 기본 보증 기간(년) 3 보증거리 Integer O 기본 보증 거리(km) 60000 정비주기 Integer O 권장 정비(엔진오일 교환) 주기(km) 10000 연료탱크용량 Number O 연료 탱크 용량(ℓ) 47 배터리규격 String O 12V 보조 배터리 규격 AGM 70Ah 운전석와이퍼 Integer O 운전석 와이퍼 길이(mm) 650 조수석와이퍼 Integer O 조수석 와이퍼 길이(mm) 400 엔진오일용량 Number O 엔진오일 용량(ℓ) 4.2 엔진오일점도 String O 권장 엔진오일 점도 0W-20 사양 Object O 등급의 기본·선택 사양 목록 {기본: [...], 선택: [...]}. 없으면 항목이 없다 {"기본": ["스마트키"], "선택": ["선루프"]} 등급후보 Array<Object> O 같은 차명·연식에 등급이 여럿이라 하나로 정하지 못했을 때의 후보 [{연식, 등급}]. 정했으면 항목이 없다 [{"연식": 2020, "등급": "스마트"}] 제원기준일 String(Date) O 제원을 마지막으로 갱신한 시각. 갱신 이력이 없으면 없음 2026-10-16T04:00:00.000Z 타입 읽는 법 — String 은 문자열, Integer 는 소수점 없는 정수(원 단위 금액 포함), Boolean 은 true/false, Object 는 이름이 있는 하위 항목 묶음, Array<Object> 는 같은 구조가 여러 건 오는 목록, Array<String> 은 문자열 목록입니다. String(YYYY-MM-DD) 처럼 괄호가 붙으면 그 형식의 문자열이라는 뜻이고 날짜 타입이 아닙니다. 값 존재 — O는 정상 결과에 있는 항목, 조건부는 해당 정보가 있을 때 제공하는 항목입니다. 누락·빈 문자열·빈 배열·0·null의 의미는 항목별 설명을 따릅니다. 부모 항목이 없으면 그 하위 항목도 없습니다. 예시 — 응답에 들어오는 형태 그대로의 값입니다. 실제 조회 결과가 아니며 개인을 특정할 수 없는 가상의 값입니다. 이 열이 비어 있으면 하위 항목이 있는 묶음이거나 값이 빠질 수 있는 항목입니다. 들여쓰기된 항목은 바로 위 부모 안에 들어 있는 하위 항목입니다. 경로 표기에서 . 는 하위 항목, [ ] 를 붙인 항목은 그 안에 여러 건이 오는 목록이라는 뜻입니다.

## 상세 코드·정책

오류와 복구 입력 오류와 처리 중 거절은 data.error 에 안내 문구가 오고 과금되지 않습니다(api.cost 0). 실패 응답은 표의 HTTP 상태 코드와 함께 옵니다. 인증 거부·만료·조회 실패처럼 진행이 끝난 상태는 HTTP 200 으로 오며 data.status·data.errorCode 로 구분합니다. 상황HTTPdata.error해결 이름·생년월일·휴대전화 번호가 비었거나 형식이 틀림400입력 항목이 잘못됐습니다.(이름) — 괄호 안에 항목 이름(생년월일 8자리·휴대전화 번호)이 표시됩니다.값을 고쳐 인증 요청을 다시 보냅니다. 인증이 발송되지 않아 과금되지 않습니다. authProvider 가 허용값이 아니거나 지금 쓸 수 없는 인증방식400입력 항목이 잘못됐습니다.(인증방식)간편인증 방식 표의 값(예: kakao)으로 보냅니다. 같은 상품의 앞선 요청을 처리하는 중429앞선 요청을 처리하고 있습니다. 잠시 후 다시 시도해 주세요.인증 요청을 다시 보내지 말고 잠시 뒤 받은 transactionId 로 결과를 조회합니다. 보유 포인트가 이번 호출 단가보다 적음200data 대신 result.error 에 사용 가능한 포인트이 부족합니다.충전한 뒤 다시 호출합니다. 결과조회는 같은 transactionId 를 그대로 씁니다. 결과를 청구하는 순간 포인트가 부족함402결제 금액보다 보유 포인트이 부족합니다.충전한 뒤 같은 transactionId 로 다시 조회합니다. 결과는 24시간 보관됩니다. 결과조회에 transactionId 가 없음400입력 항목이 잘못됐습니다.(transactionId)인증 요청 응답의 transactionId 를 보냅니다. 없는 transactionId 또는 다른 상품의 결과조회 경로404요청을 찾을 수 없습니다.인증 요청한 상품의 /rest/get_vehicle_third_party 로 조회합니다. 사용자가 승인을 거부함200없음 — status=AUTH_REJECTED, errorCode=AUTH_REJECTED다시 시도할지 사용자에게 묻고 인증 요청부터 다시 합니다(인증 요청 단가가 다시 발생). 5분 안에 승인하지 않음200없음 — status=AUTH_EXPIRED, errorCode=AUTH_EXPIRED인증 요청부터 다시 합니다. 결과 단가는 발생하지 않습니다. 조회하지 못함(대상이 아니거나 일시적으로 처리하지 못함)200없음 — status=FAILED, errorCode=COLLECT_FAILED. 원인이 분명하면 data.message 에 조치 문구가 옵니다(예: 입력값이 잘못됨, 조회 조건에 맞는 자료 없음, 기관 서비스 점검·중지).결과 단가는 발생하지 않습니다. data.message 가 있으면 그 안내대로 고칩니다. 입력값을 확인한 뒤 잠시 후 인증 요청부터 다시 합니다. 기관이 서비스 점검(중지) 중이라 결과를 만들지 못함200없음 — status=FAILED, errorCode=SERVICE_MAINTENANCE, maintenance=true. data.message 에 점검 안내가 옵니다.요청 오류가 아닙니다. 입력값을 고칠 필요가 없고 결과 단가도 발생하지 않습니다. 점검 시간이 끝난 뒤 인증 요청부터 다시 합니다. 결과 재조회 기간(24시간)이 지남200없음 — errorCode=RESULT_EXPIRED받은 결과는 바로 저장해 두세요. 다시 받으려면 인증 요청부터 합니다. HTTP 상태만으로 성공을 판단하지 말고 data.resultAvailable 과 data.status 를 함께 보세요. 공통 규칙은 공통 오류 응답에 있습니다.

## 상세 예제

요청 예시 form-data 전체 예제 보기 응답 예시 { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "vehicle_third_party", "status": "AUTH_REQUESTED", "resultAvailable": false, "charged": true, "sources": [], "message": "인증 대기중입니다.", "approvals": 1, "expiresAt": "2026-09-20T05:24:07+09:00", "success": 1 }, "api": { "success": true, "cost": 20, "ms": 1284, "pl_id": 4902 } } 인증 대기중 (무과금) { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "vehicle_third_party", "status": "AUTH_WAITING", "resultAvailable": false, "charged": false, "sources": [], "message": "인증 대기중입니다.", "expiresAt": "2026-09-20T05:24:07+09:00", "success": 0 }, "api": { "success": true, "cost": 0, "ms": 42, "pl_id": -1 } } 조회 중 (무과금) { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "vehicle_third_party", "status": "COLLECTING", "resultAvailable": false, "charged": false, "sources": [], "progress": { "total": 1, "completed": 0 }, "message": "정보를 조회하고 있습니다.", "success": 0 }, "api": { "success": true, "cost": 0, "ms": 38, "pl_id": -1 } } 조회 완료 (과금) { "data": { "schemaVersion": "1.0", "transactionId": "9f2c4a7b1d8e35c60a4f7b2d1e9c803a", "product": "vehicle_third_party", "status": "SUCCESS", "resultAvailable": true, "charged": true, "sources": [ { "source": "타인차량 이력요약 조회","type": "CAR365_VEHICLE_HISTORY", "status": "SUCCESS" } ], "checkedAt": "2026-09-20T04:47:33+09:00", "resultExpiresAt": "2026-09-21T04:47:33+09:00", "result": { "vehicleThirdParty": { "차량번호": "12가3456", "조회구분": "타인차량", "기본정보": { "자동차등록번호": "12가3456", "차대번호": "KPBPA3AT1TP112237", "차명": "토레스", "차종": "1", "용도": "2", "양도연월일": "2025-04-28", "최초 등록일": "2025-05-07" }, "제3자조회요약": { "검사이력": [], "정비이력횟수": { "정비이력횟수": "0 건" }, "중고차성능점검횟수": { "중고차성능점검횟수": "0 건" }, "의무보험가입여부": { "의무보험가입여부": "있음" }, "자동차세체납횟수": {}, "압류건수": { "압류건수": "0 건" }, "저당건수": { "저당건수": "0 건" }, "폐차인수증명서발급여부": { "폐차인수증명서발급여부": "없음" }, "공식인정정보": { "튜닝횟수": "0건", "전손처리구분": "-" } }, "제원": { "제조사": "현대", "차명": "아반떼", "연식": 2020, "등급": "스마트", "배기량": 1598, "연료": "가솔린", "차체형상": "세단 4도어", "변속기": "7단 DCT", "변속기단수": 7, "엔진형식": "가솔린 터보", "구동방식": "전륜", "최고출력": 180, "최대토크": 27, "승차정원": 5, "전장": 4650, "전폭": 1825, "전고": 1420, "축거": 2720, "공차중량": 1255, "총중량상한": 1910, "복합연비": 15.2, "도심연비": 13.1, "고속도로연비": 18, "에너지효율등급": "2등급", "이산화탄소배출량": 106, "연간유류비": 1120000, "전기주행거리": 58, "배터리용량": 13.8, "충전시간": "완속 3시간 30분", "전륜타이어": "205/55R16", "후륜타이어": "205/55R16", "판매가격": 23560000, "최고속도": 210, "가속시간": 8.9, "휠크기": "17인치", "전륜타이어규격": "225/45R17 91W", "후륜타이어규격": "225/45R17 91W", "전륜서스펜션": "맥퍼슨 스트럿", "후륜서스펜션": "멀티링크", "전륜브레이크": "V디스크", "후륜브레이크": "디스크", "배터리종류": "리튬이온", "완속충전시간": "7시간 20분", "급속충전시간": "18분(10→80%)", "보증기간": 3, "보증거리": 60000, "정비주기": 10000, "연료탱크용량": 47, "배터리규격": "AGM 70Ah", "운전석와이퍼": 650, "조수석와이퍼": 400, "엔진오일용량": 4.2, "엔진오일점도": "0W-20", "사양": "{\"기본\": [\"스마트키\"], \"선택\": [\"선루프\"]}", "등급후보": "[{\"연식\": 2020, \"등급\": \"스마트\"}]", "제원기준일": "2026-10-16T04:00:00.000Z" } } }, "message": "인증이 완료되었습니다.", "success": 1 }, "api": { "success": true, "cost": 60, "ms": 318, "pl_id": 4903 } } 위 값은 응답 구조를 보여주기 위한 예시입니다. 값은 가상이지만 필드 구성과 타입은 실제 응답과 같습니다. 전체 항목은 결과 규격을 참고하세요. expiresAt 은 SUCCESS 응답에 없습니다. 인증 대기 기한(AUTH_WAITING)에만 있고, 결과를 받은 뒤에는 resultExpiresAt 이 그 역할을 대신합니다. 둘 중 어느 것이 오는지로 "지금이 승인 대기인지 결과 보관 기간인지"를 구분할 수 있습니다.
