상품 - 투어상품 상세정보 조회
- 1 1. Product Detail
- 1.1 1) Purpose
- 1.2 2) Detail
- 2 2. API spec
- 2.1 1) Request
- 2.2 2) Path Parameter
- 2.3 3) Response
- 2.3.1 (1) Required Traveler Information
- 2.3.2 (2) Contents
- 2.3.3 (3) Options
- 2.4 4) Response Example
- 2.5 5) Error Spec
- 3 3. Request Example
- 3.1 1) CURL
1. Product Detail
1) Purpose
Channel에서 판매 가능한 수준으로 Product Detail을 확인하기 위한 API입니다.
2) Detail
Product List API 상품 - 투어상품 조회 를 통해 확인한 Product 중 하나의 Product Code를 이용하여 Product Detail을 확인합니다.
Channel에 Product를 등록하기 위해 사용합니다.
유효한 API Key를 request Header에 토큰으로 입력해야만 호출 가능합니다.
2. API spec
1) Request
Endpoint | product environment: https://prod.ax-cloud.com/v1/channel/products/tour/{product_code} test environment: https://test.ax-cloud.com/v1/channel/products/tour/{product_code} |
---|---|
Method | GET |
Description | 특정 Product Detail을 조회합니다. |
Content-Type | application/json |
Headers > Authorization | Token {api_key} |
2) Path Parameter
Name | Required | Type | Description | Example |
---|---|---|---|---|
product_code | O | String | Product ID(UUID) |
|
3) Response
아래 항목 중 빈 값은 “Void“[String] 으로 표기됩니다.
Name | Type | Description | Example |
---|---|---|---|
status_code | Integer | 정상 처리 시 200 |
|
required_traveler_information | Object | 주문 발생 시 전달이 필요한 Traveler의 개인 정보 |
|
contents | Object | Product의 내용 |
|
options | List[Object] | Product의 판매 단위 |
|
(1) Required Traveler Information
Supplier는 Traveler의 정보가 필요합니다.
Product에는 필요한 Traveler 정보가 명시되어 있기 때문에, Channel에서 주문 발생 시 이 정보들을 전달해야 합니다.
Type은 Object로 전송 해야 합니다.
만약, required_traveler_information이 {“english_name”: true, “chinese_name”: false”}인 경우에는, Order 발생 시 Traveler의 english_name 정보를 함께 보내주어야 합니다. - 주문 - 투어상품 주문 생성(representative.additional Object)
Name | Type | Description | Example |
---|---|---|---|
english_name | Boolean |
|
|
chinese_name | Boolean |
|
|
nationality | Boolean |
|
|
language | Boolean |
|
|
gender | Boolean |
|
|
date_of_birth | Boolean |
|
|
passport_id | Boolean |
|
|
passport_expiry | Boolean |
|
|
drivers_license_id | Boolean |
|
|
drivers_license_expiry | Boolean |
|
|
weights | Boolean |
|
|
heights | Boolean |
|
|
vegetarian | Boolean |
|
|
sns_for_communication | Boolean |
|
|
arrival_flight_detail_airline | Boolean |
|
|
arrival_flight_detail_flight_number | Boolean |
|
|
arrival_flight_detail_arrival_date | Boolean |
|
|
arrival_flight_detail_arrival_time | Boolean |
|
|
departure_flight_detail_airline_name | Boolean |
|
|
departure_flight_detail_flight_number | Boolean |
|
|
departure_flight_detail_departure_date | Boolean |
|
|
departure_flight_detail_departure_time | Boolean |
|
|
pickup_hotel_details_pickup_hotel_name | Boolean |
|
|
pickup_hotel_details_pickup_hotel_address | Boolean |
|
|
pickup_hotel_details_pickup_hotel_room_number | Boolean |
|
|
drop_off_hotel_details_drop_off_hotel_name | Boolean |
|
|
drop_off_hotel_details_drop_off_hotel_address | Boolean |
|
|
drop_off_hotel_details_drop_off_hotel_room_number | Boolean |
|
|
arrival_ship_details_arrival_ship_name | Boolean |
|
|
arrival_ship_details_arrival_ship_disembarkation_time | Boolean |
|
|
departure_ship_details_departure_ship_name | Boolean |
|
|
departure_ship_details_departure_ship_boarding_time | Boolean |
|
|
shore_excursion_details_shore_excursion_ship_name | Boolean |
|
|
shore_excursion_details_arrival_ship_disembarkation_time | Boolean |
|
|
shore_excursion_details_departure_ship_boarding_time | Boolean |
|
|
arrival_train_details_arrival_rail_line | Boolean |
|
|
arrival_train_details_arrival_rail_station | Boolean |
|
|
arrival_train_details_rail_arrival_time | Boolean |
|
|
departure_train_details_departure_rail_line | Boolean |
|
|
departure_train_details_departure_rail_station | Boolean |
|
|
departure_train_details_rail_departure_time | Boolean |
|
|
(2) Contents
아래 항목 중 빈 값은 [String] “Void“로 표기됩니다.
Key | Type | Description | Example |
---|---|---|---|
product_listing_language | String | 상품을 작성하는 언어 |
|
tour_guide_certification | String | 투어 가이드의 자격증 소지 여부 |
|
separate_driver_included | String | 투어 가이드가 운전사 역할도 하는지 여부 |
|
main_country_and_city | String | 투어가 진행되는 대표 국가 및 도시 요청 - 표준 데이터 |
|
country_and_city | String | 투어 진행되는 모든 국가 및 도시 요청 - 표준 데이터 |
|
keyword_city | String | 투어 대표 도시 요청 - 표준 데이터 |
|
keyword_others | List[String] | 도시 및 POIs 외의 시즌 키워드, 시설 특징, 연관 키워드를 입력 |
|
course_main_title | String | 코스를 대표하는 이름 | "Paris City Tour" |
departure_city | String | 투어 출발 도시 요청 - 표준 데이터 |
|
transportation | String | 투어 교통 수단으로 도보, 차량 분류 된다. |
|
poi | List[String] |
|
"The Louvre Museum", "Le Café Marly" ] |
product_name | String |
|
|
product_title_type_1 | String |
|
|
product_title_type_2 | String |
|
|
product_title_type_3 | String |
|
|
product_title_type_4 | String |
|
|
product_title_type_5 | String |
|
|
product_sub_title | String | 채널에 등록하기 위한 케치프레이즈 |
|
event_special_giving | String | 채널에 등록하기 위한 이벤트 혹은 특전 정보 |
|
tour_guide_strength | String |
|
|
product_differentiation | String | 상품에 대한 차별점으로 토픽 1개씩 만 명시 |
|
target_customer | String |
|
|
thumbnail_type_1 | String |
|
|
thumbnail_type_2 | String |
|
|
thumbnail_type_3 | String |
|
|
thumbnail_type_4 | String |
|
|
thumbnail_type_5 | String |
|
|
thumbnail_type_6 | String |
|
|
thumbnail_type_7 | String |
|
|
sub_thumbnail_type_1 | String |
|
|
sub_thumbnail_type_2 | String |
|
|
sub_thumbnail_type_3 | String |
|
|
sub_thumbnail_type_4 | String |
|
|
sub_thumbnail_type_5 | String |
|
|
how_to_meet_travelers | String | 여행자를 만나는 방법 |
|
meeting_point_address | String |
|
|
meeting_point_country | String |
|
|
meeting_point_city | String |
|
|
meeting_point_post_code | String |
|
|
meeting_point_description | String |
|
|
how_to_find_the_meeting_point | String | 미팅 포인트를 찾아오는 방법 |
|
pickup_support | Boolean | 픽업 지원 여부 |
|
pickup_location_type_hotel | Boolean | 픽업 장소 유형이 호텔인지 여부 |
|
pickup_location_type_airport | Boolean | 픽업 장소 유형이 공항인지 여부 |
|
pickup_location_type_port | Boolean | 픽업 장소 유형이 항구인지 여부 |
|
pickup_location_type_other | Boolean | 픽업 장소 유형이 기타 인지 |
|
pickup_start_time_before_tour | Integer | 투어 시작 몇분 전에 도착해야 하는지 |
|
additional_pickup_details | String | 추가 적인 픽업 정보 |
|
how_to_enter_hotel_information_for_pickup | String | 픽업할 호텔의 정보 기입 방법 |
|
central_location_address_for_the_general_area_of_hotel_pickup | String |
|
|
radius_from_central_location_for_hotel_pickup | Integer | 호텔 픽업 지역의 중심으로부터 반경 |
|
hotel_pickup_radius_unit | String | 호텔 픽업 지역의 중심으로부터 반경 측정 단위 |
|
hotel_name_you_identified_for_pickup | String | 픽업을 위해 지명한 호텔 이름 |
|
hotel_address_you_identified_for_pickup | String |
|
|
port_name_you_identified_for_pickup | String | 픽업을 위해 지명한 항구 이름 |
|
port_address_you_identified_for_pickup | String |
|
|
airport_name_you_identified_for_pickup | String | 픽업을 위해 지명한 공항 이름 |
|
airport_address_you_identified_for_pickup | String |
|
|
default_duration_hour | Integer | 기본 코스 소요 시간 |
|
inclusion_which_traveler_cannot_choose | String | 여행자가 선택할 수 없는 포함 사항 |
|
exclusion | String | 불포함 사항 |
|
know_before_you_go | String | 주의 사항 |
|
covid_19_safety_updates | String | 코로나 안전 조치 |
|
additionally_safety_measures_for_covid | String | 추가 안전 조치 |
|
frequently_asked_questions_q | List[String] | 자주 묻는 질의응답의 질문 |
|
frequently_asked_questions_a | List[String] | 자주 묻는 질의응답의 답변 |
|
what_to_bring | String | 준비물 |
|
adult_min_age | Integer | 성인 최소 연령 |
|
adult_max_age | Integer | 성인 최대 연령 |
|
youth_min_age | Integer | 청소년 최소 연령 |
|
youth_max_age | Integer | 청소년 최대 연령 |
|
child_min_age | Integer | 아동 최소 연령 |
|
child_max_age | Integer | 아동 최대 연령 |
|
infant_min_age | Integer | 유아 최소 연령 |
|
infant_max_age | Integer | 유아 최대 연령 |
|
senior_min_age | Integer | 노인 최소 연령 |
|
senior_max_age | Integer | 노인 최대 연령 |
|
reorder_limit_per_person | Choose from {Limit, Unlimited} | 1인당 재주문 제한 |
|
maximum_purchase_allowed_quantity | Integer | 최대 구매 허용 수량 |
|
purchase_under_the_age_of_19 | String | 19세 미만 구매 가능 여부 |
|
booking_cutoff_deadline_before_tour_start | Integer |
|
|
booking_payment_confirmation_time | Integer |
|
|
cancellation_type | String | 가능한 취소 종류 |
|
cancel_confirmation_method | String | 취소 확정 방법 |
|
weekend_cancellation_confirmed | String | 주말 취소 확정 여부 |
|
refund_confirmation_time | Choose from { | 취소 확정까지 걸리는 시간 |
|
refund_policy_comments | String |
|
|
automatic_order_approval | String | 파트너가 주문을 자동 승인할지 여부 |
|
how_to_check_traveler_on_site | String | 고객 본인 확인 방법 |
|
how_to_use_vouchers | String | 바우처 사용 방법 |
|
voucher_type | String | 바우처의 형태 |
|
voucher_per_participant | String | 바우처 생성하는 단위 |
|
maximum_lead_time_for_sending_voucher | Integer | 바우처 발송 최대 소요 시간 |
|
how_to_redemption | String | 사용 완료 처리 방법 |
|
(3) Options
아래 항목에서 value가 비어있는 경우 “Void“[String] 로 표기됩니다.
Key | Type | Description | Example |
---|---|---|---|
option_code | String | 옵션에 대한 식별자 (UUID) |
|
sales_period_name | String | 판매 기간 이름 |
|
start_date_of_the_sale | Date | 판매 기간 시작 날짜 |
|
end_date_of_the_sale | Date | 판매 기간 종료 날짜 |
|
start_of_use_date | Date | 사용 시작 날짜 |
|
end_of_use_date | Date | 사용 종료 날짜 |
|
transportation | String | 이동 수단 |
|
tour_guide_type | String | 투어 가이드 타입 |
|
guide_language | String | 가이드 언어 |
|
time_zone_utc | Timezone UTC | 출발 시각 타임존 |
|
default_departure_time | Time | 출발 시각 |
|
purchase_unit | String | 구매 단위 |
|
number_of_people_per_purchase_unit | Integer | 판매 단위당 사람 수 |
|
meal_and_drinks | String | 식사와 음료 제공 여부 |
|
another_activity_ticket | String | 다른 액티비티 티켓 제공 여부 |
|
minimum_of_people_available_for_departure | Integer | 최소 출발 인원 |
|
inventory_quantity | Integer | 인벤토리 재고 |
|
unit_selling_price_usd | Float | 유닛당 판매 가격 USD |
|
selling_price_per_person_usd | Float | 인당 판매 가격 USD |
|
unit_selling_price_krw | Float | 유닛당 판매 가격 KRW |
|
selling_price_per_person_krw | Float | 인당 판매 가격 KRW |
|
age | String | 구매 대상의 연령 |
|
operation_day | String | 투어 운영 요일 |
|
4) Response Example
5) Error Spec
3. Request Example
1) CURL