AdapterClient
GDS/NDC 어댑터 API를 호출하는 클라이언트. 항공편 검색, 운임 상세, 운임 규정 조회를 담당한다.
상속
ClientSupport 상속
설정
- endpoint:
infrastructureProperties.adapter.internalEndpoint - timeout:
infrastructureProperties.adapter.fuelTimeout
헤더
| 헤더 | 값 |
|---|---|
Content-Type | application/json |
X-Triple-Api-Origin | 고정값 |
X-Triple-Sales-Channel | MDCHolder에서 조회 |
X-Triple-Sales-Funnel | MDCHolder에서 조회 |
메서드
getFareItineraries
fun getFareItineraries(
supplier: String,
originDestinationLocationInfos: List<OriginDestinationLocationInfo>,
cabins: Set<CabinType>,
airlines: Set<String>,
sotoAirlines: Set<String>,
onlyDirect: Boolean,
onlyFreeBaggageInclude: Boolean,
useCache: Boolean = true,
preferences: List<SearchPreferenceInfo>,
advancedOption: AdvancedSearchOptionInfo?,
useMultiTicket: Boolean,
): List<FareItineraryResponse>항공편 검색. POST /{supplier}/search
| Caller | Callee |
|---|---|
| FlightSearchService.searchFlightsBySearchConditions | Adapter API |
getFareItinerary
fun getFareItinerary(
key: String,
supplier: String,
adult: Int,
child: Int,
infant: Int,
): FareItineraryDetailResponse운임 상세 조회. GET /{supplier}/search?key=&adult=&child=&infant=
| Caller | Callee |
|---|---|
| FlightDetailService.getFlightDetail | Adapter API |
에러 처리:
| 에러 코드 | 예외 |
|---|---|
INVALID_CACHE_KEY | CacheKeyInvalidException |
NO_QUOTA | NOT_ENOUGH_CAPPINGS |
INVALID_PASSENGER_TYPE | INVALID_PASSENGERS_CHANGE |
MAINTENANCE | SystemMaintenanceException |
getFareRules
fun getFareRules(
key: String,
supplier: String,
adult: Int,
child: Int,
infant: Int,
): List<FareRule>운임 규정 조회. GET /{supplier}/fare-rules
| Caller | Callee |
|---|---|
| FareRuleService.getFareRules | Adapter API |
getFareRulesGroups
fun getFareRulesGroups(
detailKey: String,
adult: Int,
child: Int,
infant: Int,
): FareRuleGroup운임 규정 그룹 조회. detailKey에서 supplier 추출.
| Caller | Callee |
|---|---|
| FareRuleService.getFareRulesGroups | Adapter API |
getStructuredFareRules
fun getStructuredFareRules(detailKey: String): StructuredFareRuleDetail구조화된 운임 규정 조회. GET /{supplier}/fare-rules/structured
| Caller | Callee |
|---|---|
| FareRuleService.getStructuredFareRules | Adapter API |
getFareItinerariesByPnr
fun getFareItinerariesByPnr(
supplier: String,
pnr: String,
supplierIdentificationKey: String?,
adult: Int,
child: Int,
infant: Int,
...
): List<FareItineraryResponse>재발행용 PNR 기반 검색. POST /{supplier}/search/reissue
| Caller | Callee |
|---|---|
| ReissueFlightSearchUseCase.searchFlights | Adapter API |
getFareItineraryByPnr
fun getFareItineraryByPnr(
key: String,
pnr: String,
supplier: String,
): FareItineraryDetailResponse재발행용 PNR 기반 상세 조회. GET /{supplier}/search/reissue
| Caller | Callee |
|---|---|
| FlightDetailService.getFlightDetailByPnr | Adapter API |
특징
- Fuel HTTP 클라이언트: Fuel 라이브러리 사용
- 에러 파싱: AdapterErrorResponse로 에러 코드 파싱
- MDC 전달: Sales Channel/Funnel 헤더 자동 전달