Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 70 Next »


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

product_code

O

UUID

Product ID(UUID)

3) Response

아래 항목 중 빈 값은 [String] “Void“로 표기됩니다.

Name

Type

Description

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

english_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 영어 이름

chinese_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 중국어 이름

nationality

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 국적

language

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 사용 언어

gender

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 성별

date_of_birth

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 생년월일

passport_id

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 생년월일

passport_expiry

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 여권 만기일

drivers_license_id

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 운전 면허 번호

drivers_license_expiry

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 운전 면허 만기일

weights

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 체중

heights

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 키

vegetarian

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 채식 여부

sns_for_communication

Boolean

  • Supplier가 투어 진행을 위해 여행자와 소통 가능한 Supplier 의 SNS

arrival_flight_detail_airline

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착 항공사

arrival_flight_detail_flight_number

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착 항공편명

arrival_flight_detail_arrival_date

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착날짜(도착 국가 기준)

arrival_flight_detail_arrival_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착시각(도착 국가 기준)

departure_flight_detail_airline_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 항공사

departure_flight_detail_flight_number

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 항공편명

departure_flight_detail_departure_date

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 날짜(출발 국가 기준)

departure_flight_detail_departure_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 시각(출발 국가 기준)

pickup_hotel_details_pickup_hotel_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 픽업 호텔 이름

pickup_hotel_details_pickup_hotel_address

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 픽업 호텔 구글 기반 주소

pickup_hotel_details_pickup_hotel_room_number

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 픽업 호텔 룸 넘버

drop_off_hotel_details_drop_off_hotel_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 드랍오프 호텔 이름

drop_off_hotel_details_drop_off_hotel_address

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 드랍오프 호텔 구글 기반 주소

drop_off_hotel_details_drop_off_hotel_room_number

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 드랍오프 호텔 룸 넘버

arrival_ship_details_arrival_ship_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착 선박 이름

arrival_ship_details_arrival_ship_disembarkation_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착 선박 하선 시각

departure_ship_details_departure_ship_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 선박 이름

departure_ship_details_departure_ship_boarding_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 선박 탑승 시각

shore_excursion_details_shore_excursion_ship_name

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 해변 유람선 이름

shore_excursion_details_arrival_ship_disembarkation_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 해변 유람선 도착선박 하선 시각

shore_excursion_details_departure_ship_boarding_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 해변 유람선 출발선박 탑승 시각

arrival_train_details_arrival_rail_line

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착 기차 철도 이름

arrival_train_details_arrival_rail_station

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 도착 기차역

arrival_train_details_rail_arrival_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 기차 도착 시각

departure_train_details_departure_rail_line

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 기차 철도 이름

departure_train_details_departure_rail_station

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 기차역

departure_train_details_rail_departure_time

Boolean

  • Supplier가 투어 진행을 위해 여행자에게 필요한 정보중 출발 도착 시각

(2) Contents

Key

Type

Description

product_listing_language

String

상품을 작성하는 언어

tour_guide_certification

Choose from {
Yes,
No
}

투어 가이드의 자격증 소지 여부

separate_driver_included

Choose from {
Yes,
No
}

투어 가이드가 운전사 역할도 하는지 여부

main_country_and_city

요청 - 표준 데이터의 ‘국가 - 도시’

투어가 진행되는 대표 국가 및 도시

country_and_city

요청 - 표준 데이터의 ‘국가 - 도시’

투어 진행되는 모든 국가 및 도시

keyword_city

요청 - 표준 데이터의 ‘국가 - 도시’

투어 대표 도시

keyword_others

List[String]

도시 및 POIs 외의 시즌 키워드, 시설 특징, 연관 키워드를 입력

course_main_title

String

코스를 대표하는 이름

departure_city

요청 - 표준 데이터의 ‘국가 - 도시’

투어 출발 도시

transportation

Choose from {
On Foot,
Vehicle
}

투어 교통 수단으로 도보, 차량 분류 된다.

poi

List[String]

  • Point of Interest 로 유명한 Point 지역을 의미

  • Course 를 의미하는 것이 아니라 채널에서 여행자가 검색할 유명한 지역

  • Course 자체가 POI 가 될수도 있으나 모든 Course 는 POI는 아님

  • 단, 관련 있는 지역으로 선택

product_name

String

  • AX Cloud 에서 상품을 부르는 이름

  • 채널과는 무관하다.

product_title_type_1

String

  • 채널에 등록하기 위한 타입 1의 상품 타이틀

  • city-course name 의 형태로 한국어 25자 이내

product_title_type_2

String

  • 채널에 등록하기 위한 타입 2 상품 타이틀

  • city-course name-tour type 의 형태로 한국어 40자 이내

product_title_type_3

String

  • 채널에 등록하기 위한 타입 3 상품 타이틀

  • city-course name-tour type-ndays 의 형태로 한국어 50자 이내

product_title_type_4

String

  • 채널에 등록하기 위한 타입 4 상품 타이틀

  • country-city-course name-tour type 의 형태로 한국어 50자 이내

product_title_type_5

String

  • 채널에 등록하기 위한 타입 5 상품 타이틀

  • course name-tour type-ndays 의 형태로 한국어 50자 이내

product_sub_title

String

채널에 등록하기 위한 케치프레이즈

event_special_giving

String

채널에 등록하기 위한 이벤트 혹은 특전 정보

tour_guide_strength

String

  • 투어 가이드 및 회사의 특장점 소개

  • 회사 이름은 넣으면 안됨 블럭 처리 해야 함

product_differentiation

String

상품에 대한 차별점으로 토픽 1개씩 만 명시

target_customer

String

대상이 되는 고객에 대한 설명

thumbnail_type_1

String

  • 대표 이미지 타입 1 URL

  • 채널에서 원하는 해상도가 다르다

thumbnail_type_2

String

  • 대표 이미지 타입 2 URL

  • 채널에서 원하는 해상도가 다르다

thumbnail_type_3

String

  • 대표 이미지 타입 3 URL

  • 채널에서 원하는 해상도가 다르다

thumbnail_type_4

String

  • 대표 이미지 타입 4 URL

  • 채널에서 원하는 해상도가 다르다

thumbnail_type_5

String

  • 대표 이미지 타입 5 URL

  • 채널에서 원하는 해상도가 다르다

thumbnail_type_6

String

  • 대표 이미지 타입 6 URL

  • 채널에서 원하는 해상도가 다르다

thumbnail_type_7

String

  • 대표 이미지 타입 7 URL

  • 채널에서 원하는 해상도가 다르다

sub_thumbnail_type_1

String

  • 서브 섬네일 타입 1 URL

  • 채널에서 원하는 해상도가 다르다

sub_thumbnail_type_2

String

  • 서브 섬네일 타입 2 URL

  • 채널에서 원하는 해상도가 다르다

sub_thumbnail_type_3

String

  • 서브 섬네일 타입 3 URL

  • 채널에서 원하는 해상도가 다르다

sub_thumbnail_type_4

String

  • 서브 섬네일 타입 4 URL

  • 채널에서 원하는 해상도가 다르다

sub_thumbnail_type_5

String

  • 서브 섬네일 타입 5 URL

  • 채널에서 원하는 해상도가 다르다

how_to_meet_travelers

Choose from {
Meet on location,
Pick-up only,
Meet on location or Pick-up
}

여행자를 만나는 방법

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

Choose from {
I want to define a general area of hotels I pick up from,
I want enter locations one at a time(I will add hotels individually),
Allow travelers to enter their own pickup location
}

픽업할 호텔의 정보 기입 방법

central_location_address_for_the_general_area_of_hotel_pickup

String

호텔 픽업 지역의 중심 위치 구글 기반 주소

radius_from_central_location_for_hotel_pickup

Integer

호텔 픽업 지역의 중심으로부터 반경

hotel_pickup_radius_unit

Choose from {Km,M}

호텔 픽업 지역의 중심으로부터 반경 측정 단위

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

Choose from {
Yes,
No
}

19세 미만 구매 가능 여부

booking_cutoff_deadline_before_tour_start

Integer

  • 투어 시작 전 예약 마감 시간

  • 타임존은 supplier company 의 operating hours 를 따른다

booking_payment_confirmation_time

Integer

  • 예약 결제 확인 시간(단위 분)

  • 예약후 n 분 이내에 결제하지 않으면 취소됨

cancellation_type

Choose from {
Anytime cancellation,
Cancellation in according to rules,
Non-refundable
}

가능한 취소 종류

cancel_confirmation_method

Choose from {
Automatic,Manual
}

취소 확정 방법

weekend_cancellation_confirmed

Choose from {
Available,Not Available
}

주말 취소 확정 여부

refund_confirmation_time

Choose from {
0, 8, 16, 24, 72
}

취소 확정까지 걸리는 시간

refund_policy_comments

String

  • 원하는 취소 환불 정책으로 참고용으로만 받는다.

  • 작성한 내용이 그대로 적용되지 않고 채널의 규칙으로 적용된다.

automatic_order_approval

Choose from {
Yes,
No
}

파트너가 주문을 자동 승인할지 여부

how_to_check_traveler_on_site

String

고객 본인 확인 방법

how_to_use_vouchers

String

바우처 사용 방법

voucher_type

Choose from {
Email,
QR Code,
Bar Code
}

바우처의 형태

voucher_per_participant

Choose from {
One per booking,
One per traveler
}

바우처 생성하는 단위

maximum_lead_time_for_sending_voucher

Integer

바우처 발송 최대 소요 시간

how_to_redemption

Choose from {
Automatic redeemed after date,
Supplier handles redeem
}

사용 완료 처리 방법

(3) Options

Key

Type

Description

option_code

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

Choose from {
On Foot,
Vehicle Sedan,
Vehicle Van,
Vehicle Limousine,
Vehicle Bus
}

이동 수단

tour_guide_type

Choose from {
In Person,
Audio,
Written
}

투어 가이드 타입

guide_language

String

가이드 언어

time_zone_utc

Timezone UTC

출발 시각 타임존

default_departure_time

Time

출발 시각

purchase_unit

Choose from {
Join Tour,
Private Tour
}

구매 단위

number_of_people_per_purchase_unit

Integer

판매 단위당 사람 수

meal_and_drinks

Choose from {Included , Not Included}

식사와 음료 제공 여부

another_activity_ticket

Choose from {Included , Not Included}

다른 액티비티 티켓 제공 여부

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

Choose from {Child , Adult}

구매 대상

operation_day

Choose from {Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday, Weekday, Weekend, Every day}

요일

4) Response Example

  • Void

    • 해당 필드의 유효한 값이 없는 상태 입니다.

 Status Code: 200 Cause: 정상 처리 시
{
  "status_code": 200,
  "required_traveler_information": {
    "english_name": false,
    "chinese_name": false,
    ...
  },
  "contents": {
    "product_listing_language": "Korean",
    "tour_guide_certification": "Yes",
    ...
  },
  "options": [
    {
      "option_code": "d327bbf7-2052-4ebb-893a-ee952b694029",
      "sales_period_name": "The first half",
      "start_date_of_the_sale": "2023-03-01",
      "end_date_of_the_sale": "2024-03-31",
      "transportation": "Vehicle",
      ...
    }
  ]
}

5) Error Spec

 Status Code : 404 Cause: 유효하지 않은 요청 값
{'message': '찾을 수 없습니다.'}
 Status Code : 403 Cause: 유효하지 않은 API Key 혹은 Channel Code
{'detail': ErrorDetail(string='이 작업을 수행할 권한(permission)이 없습니다.', code='permission_denied')}

3. Request Example

1) CURL

curl --location --request GET \
'https://prod.ax-cloud.com/v1/channel/products/tour/eed2bc48-c774-4c14-b32e-9f0e83d8a17f' \
--header 'Authorization: Token 0Xtz44lX3JGkaRaFTdQsE8lKZqlzTLg45i9nJU7K' \
--data ''

 

  • No labels