화이트 라벨 템플릿용 자동 완성 API
여행자에게 검색 시 제안 사항 제공
타입헤드(GET /suggestions
)는 여행자에게 지역, 관련 위치, 사용 가능한 숙박 시설를 기반으로 추천 검색 환경을 제공할 수 있는 새로운 API 엔드포인트입니다. 이 엔드포인트는 부분 검색 문자열과 입력한 모든 요청 매개변수를 기반으로 한 제안 목록을 반환합니다. 계정에 자동 완성를 추가하려면 계정 관리자에게 문의하세요.
작동 방식
자동 완성 API는 언어 예측 도구로, 자동 완성 또는 자동 제안이라고도 합니다. 검색창에 입력한 부분 정보를 기반으로 지역, 위치 또는 숙박 시설의 목록을 반환합니다. 사용자가 검색창에 입력하면 자동 완성 API는 도시, 지역, 숙박 시설 또는 우편번호 정보를 사용하여 최대 10개의 결과를 반환하기 시작합니다. 그런 다음 여행자는 이 목록에서 선택하여 검색을 시작하거나 계속 입력하여 자동으로 추천된 결과를 계속 구체화할 수 있습니다.
예를 들어, 'Memp'로 시작하는 검색은 미국 테네시주 멤피스와 관련된 지역, 기차역, 공항 등 여러 지리적 옵션이 표시되고 그 뒤에 미국 미주리주 멤피스가 표시됩니다.
시작 가이드
API에 대해 알아보려면 담당 계정 관리자, 기술 계정 관리자(TAM) 또는 파트너 솔루션 관리자(PSM)에게 문의해야 합니다. 액세스 승인을 요청하고 승인을 받으면 자동 완성를 포함하도록 계약을 수정합니다. 조직에서 자동 완성를 사용하도록 설정하면 TAM 또는 PSM이 필요한 개발을 지원합니다.
출시 요구 사항:
- 인증을 위해 불투명 액세스 토큰 프로세스를 채택하고 사용해야 합니다.
- 액세스 토큰은 토큰을 요청한 것과 동일한 서킷 ID 또는 API 키만 사용할 수 있습니다.
- 액세스 토큰은 25분 동안만 존재할 수 있습니다.
- 새 액세스 토큰에 대한 요청은 해당 일정에 따라 지속적으로 갱신되도록 구축되어야 하며 너무 자주 업데이트되지 않아야 합니다.
- 언어와 요청 텍스트는 필수 매개 변수입니다. 화이트 라벨 템플릿의 지원 언어 목록은 을 참조하세요 .
권한 부여 및 액세스
버전 3을 온보딩한 파트너는 API 엔드포인트에서 자동 완성 API를 요청할 수 있습니다. 승인을 받으면 API를 성공적으로 사용하는 데 필요한 권한이 포함된 새 프로필이 생성됩니다.
권한 설정
자동 완성 API를 인증하려면 액세스 키가 필요합니다. 인증 헤더를 사용하여 EPS 게이트웨이를 호출하여 액세스 키를 가져올 수 있도록 아피키를 제공합니다. 그런 다음 인증 헤더로 액세스 키를 전달하여 자동 완성 API 엔드포인트를 호출할 수 있습니다.
예시: API 키를 base64 형식으로 인코딩
var api_key = postman.getEnvironmentVariable("api_key");
var shared_secret= postman.getEnvironmentVariable("shared_secret");
var base64Hash = CryptoJS.enc.Utf8.parse(api_key + ":" + shared_secret);
var base64 = CryptoJS.enc.Base64.stringify(base64Hash);
postman.setEnvironmentVariable("base64",base64);
불투명 액세스 토큰 받기
불투명 액세스 토큰(사용자 또는 리소스에 대한 정보를 포함하지 않는 토큰)은 자동 완성 API를 사용하려면 필요합니다.
샘플 요청
POST – https://api.ean.com/identity/oauth2/v3/token
Header:
Key: ‘Authorization’
Value: ‘Basic {base64}’
샘플 응답
{
"access_token": "p1xy6rxahicQPUIX_Sq6a52yFnHXpX3ImaSX9sKiUI4:XM8qZiTr1HPDc8FgBE5HLvFTFdICuRFV0-l7gFWI-WU",
"token_type": "bearer",
"expires_in": 1800,
"scope": "demand-solutions.demand-api-wrappers-playground.all"
}
자동 완성 요청하기
요청 헤더와 쿼리 매개변수에 몇 가지 필수 정보를 포함해야 합니다. 응답을 더욱 강력하게 만들려면 선택적 쿼리 매개변수를 포함할 수도 있습니다.
요청 헤더
필수 여부
Accept
클라이언트가 다시 수신할 응답 형식을 지정합니다. 이 값은 반드시application/json
.Accept-Encoding
클라이언트가 다시 수신할 응답 인코딩을 지정합니다. 이 값은 반드시gzip
.User-Agent
통합에서 캡처한 고객 요청의 헤더 문자열입니다. 애플리케이션을 빌드하는 경우User-Agent
값은{app name}/{app version}
. 예:TravelNow/3.30.112
.
쿼리 매개변수
필수 여부
language
는 two-digit 언어와 국가 코드의 하이픈으로 연결된 쌍만 사용하는 BCP47 형식의 하위 집합으로 응답에 원하는 언어를 지정합니다. #에 설명된 대로 ISO639-1 알파 2 언어 코드와 ISO3166-1 알파 2 국가 코드만 사용하세요.w3.org(예:language=en-US
). 지원 언어 목록 을 참조하세요.text
쿼리할 입력 문자열로, 150자로 제한됩니다(예:text=Springfie
).feature
를 누르면 제안 결과 계산이 변경됩니다. 값은hierarchy
,nearby_airport
,postal_code
입니다.line_of_business
: 이 매개변수는 검색 휴리스틱을 제공하며, 유효한 값일수록 응답의 연관성이 높아집니다. 사용 가능한 옵션은 아래 허용되는 값 표를 참조하세요.
Optional
type
: 사용자가 찾고 있는 장소를 설명합니다. 이 매개변수는 서로 다른 값으로 여러 번 입력할 수 있습니다(예:type=AIRPORT&type=CITY
). 제공하지 않으면 기본값은 모든 유형을 포함합니다. 사용 가능한 옵션은 아래 허용되는 값 표를 참조하세요.region_id
는 지정된 지역이 포함된 숙박 시설로 결과를 필터링합니다.origin
는 쿼리 텍스트가 출발지가 아닌 도착지인지 여부를 지정합니다. 기본 검색은 목적지만 찾습니다.package_type
사용자가 지정한 패키지 유형별로 필터링합니다. 사용 가능한 옵션은 아래 허용되는 값 표를 참조하세요.limit
는 응답에서 반환되는 최대 제안 수를 지정합니다. 이 값은 1에서 10 사이여야 합니다(예:limit=5
). 이 매개 변수를 제공하지 않으면 기본값은 10입니다.
허용되는 값
type | line_of_business | package_type |
---|---|---|
airport | properties (기본값) | flight_property |
city | flights | flight_property_car |
multi_city_vicinity | packages | flight_car |
neighborhood | cars | property_car |
point_of_interest | activities | |
airport_metro_code | ||
multi_region | ||
train_station | ||
metro_station | ||
address | ||
property | ||
bus_station |
위 표에 포함되지 않은 값은 오류가 발생합니다.
데이터 요청
access_token
, GET
요청을 설정합니다.
샘플 요청
GET - https://api.ean.com/v3/suggestions?language=en-US&line_of_business=properties&limit=3&text=chicago&type=city&type=neighborhood
Header :
Authorization: Bearer {{access_token}}
샘플 응답
[
{
"related_id": "4477519",
"type": "airport",
"name": "Chicago, IL (ORD-O'Hare Intl.)",
"name_full": "Chicago, IL, United States of America (ORD-O'Hare Intl.)",
"name_display": "<B>Chicago</B>, IL, United States of America (ORD-O'Hare Intl.)",
"country_code": "US",
"country_code_3": "USA",
"iata_airport_code": "ORD",
"iata_airport_metro_code": "CHI",
"coordinates": {
"latitude": 41.976977,
"longitude": -87.90481
}
},
{
"related_id": "829",
"type": "city",
"name": "Chicago",
"name_full": "Chicago, Illinois, United States of America",
"name_display": "<B>Chicago</B>, Illinois, United States of America",
"country_code": "US",
"country_code_3": "USA",
"iata_airport_code": "CHI",
"iata_airport_metro_code": "CHI",
"coordinates": {
"latitude": 41.878113,
"longitude": -87.629799
}
},
{
"related_id": "6350699",
"type": "neighborhood",
"name": "Downtown Chicago",
"name_full": "Downtown Chicago, Chicago, Illinois, United States of America",
"name_display": "Downtown <B>Chicago</B>, <B>Chicago</B>, Illinois, United States of America",
"country_code": "US",
"country_code_3": "USA",
"iata_airport_code": "CHI",
"iata_airport_metro_code": "CHI",
"coordinates": {
"latitude": 41.885969845574834,
"longitude": -87.62933540465228
}
}
]
API 세부 정보
이 페이지에서 관련 엔드포인트 정의를 살펴본 후 API Explorer 또는 다른 테스트 소프트웨어를 사용하여 예시 및 스키마 정의가 실제 출력과 어떤 차이가 있는지 확인해 보세요.