package go.kr.project.api.service;

import go.kr.project.api.model.request.NewBasicRequest;
import go.kr.project.api.model.request.NewLedgerRequest;
import go.kr.project.api.model.response.NewBasicResponse;
import go.kr.project.api.model.response.NewLedgerResponse;

/**
 * 외부 VMIS-interface API 호출 서비스 인터페이스
 * VMIS-interface 프로그램의 API를 호출하여 차량 정보를 조회하는 서비스
 */
public interface ExternalVehicleApiService {

    /**
     * 기본정보 조회 (YAML 설정에 따라 old/new 자동 선택)
     * vmis.external.api.url.basic.old-or-new 설정 값에 따라 자동 분기
     * @param request 신규 포맷 요청 (내부에서 old/new 변환)
     */
    NewBasicResponse getBasicInfo(NewBasicRequest request);

    /**
     * 등록원부(갑) 조회 (YAML 설정에 따라 old/new 자동 선택)
     * vmis.external.api.url.ledger.old-or-new 설정 값에 따라 자동 분기
     * @param request 신규 포맷 요청 (내부에서 old/new 변환)
     */
    NewLedgerResponse getLedgerInfo(NewLedgerRequest request);
}
