일정에 대한 API 제공
일정를 사용하면 고객의 예약 정보를 확인하고, 고객이 booking-related 에서 제공하는 투어나 체험과 같은 상품이나 서비스를 찾을 수 있도록 도와줄 수 있습니다. 또한 이 데이터를 활용하여 예약 동향을 분석하고 이해관계자를 위한 보고서를 작성할 수도 있습니다.
배송 옵션
일정 데이터의 API 전송에는 푸시 방식이나 풀 방식 중 하나를 사용할 수 있습니다.
푸시 메커니즘
푸시 서비스는 일정 관련 업데이트가 발생하면 즉시 이를 전송합니다. 거래가 완료된 지 몇 분 이내에 핵심 예약 필트를 확인할 수 있으며, 부가 및 보강 필트는 2~4시간 이내에 제공됩니다. 이 옵션을 사용하면 다음과 같은 작업을 수행할 수 있습니다:
- 웹사이트나 앱에 고객의 예약 정보를 표시하세요
- 여행객들이 여행을 위해 구매할 수 있는 추가 상품 및 서비스를 제공하세요
푸시 이벤트는 웹훅을 통해 귀하가 지정한 URL로, HTTP POST 형식의 메시지로 전달됩니다. 이러한 메시지는 순서대로 도착하지 않을 수 있으므로, 순서를 확인하려면 creation_date 및 update_date_time 요소를 참조하십시오.
푸시 이벤트 처리하기
일정 데이터는 확보되는 대로 제공되므로, 동일한 일정에 대해 여러 개의 이벤트를 수신할 수 있습니다. 즉, 핵심 필드가 포함된 초기 이벤트에 이어, 보조 데이터가 보강되거나 일정가 업데이트됨에 따라 후속 이벤트가 전송될 수 있습니다.
>> 필드별 시간 배분에 대한 자세한 내용은 ‘사용 가능한 필드’ 섹션을 참조하십시오.
해야 할 일:
- 일정 에서는 여러 건의 이벤트가 발생할 것으로 예상됩니다.
itinerary_id를 사용하여 이벤트 간 상관관계를 파악하고, 항상 최신update_date_time를 기준으로 삼으십시오. - ****의 업데이트 처리 방식을 선택하세요: 기존 일정에 대한 새로운 이벤트를 수신하면, 이전 레코드를 최신 데이터로 덮어쓰거나, 각 이벤트를 끝에 추가하여 변경 내역을 유지할 수 있습니다.
- 누락된 필드를 적절히 처리하기: 초기 이벤트에서는 보조 필드가 누락될 수 있으므로, 처리 전에 필드 존재 여부를 확인해야 합니다.
하지 말아야 할 것
- 첫 번째 이벤트에 전체 페이로드가 포함되어 있다고 가정합시다: 보조 필드는 이후 이벤트에 이어집니다.
- 동일한 일정에 대한 여러 이벤트를 오류로 처리합니다: 이는 예상되는 동작입니다.
- real-time 의 재무 수치를 최종치로 간주하십시오: 해당 수치는 24시간 이내에 수정될 수 있습니다.
풀 메커니즘
이 풀 서비스는 다음을 지원하기 위해 상세한 일정 데이터를 제공합니다:
- 데이터 분석
- Expedia Group 데이터와 예약 내역의 대조
- 푸시 전송에 실패한 시간 범위에 대한 데이터 검색
- 헬프데스크 조사
푸시 전달과 마찬가지로, 일정 데이터는 풀 전달의 경우에도 두 단계로 제공됩니다. 핵심 필드(itinerary_ID, status, gross_booking_value, checkin_date, checkout_date)는 예약 또는 업데이트 후 몇 분 이내에 확인할 수 있으며, 부가 및 보강 필드는 2~4시간 이내에 제공됩니다.
>> 필드별 상세 내역을 보려면 ‘사용 가능한 필드’를 참조하세요.
이 서비스는 두 개의 HTTP GET 엔드포인트로 구성되어 있으며, 이를 통해 다음을 수행할 수 있습니다:
creation_date_start,creation_date_end,update_date_time_start,update_date_time_end변수를 사용하여 지정된 기간 내에 생성되거나 업데이트된 일정 목록을 생성합니다.- 특정 일정를 다음을 기준으로 검색합니다.
itinerary_id
>> 인증 절차에 대한 자세한 내용은 API 설정 항목을 참조하십시오.
시간 창별로 일정 데이터 가져오기
특정 시간 창에 대한 일정 데이터를 가져오려면, GET /itineraries 및 update_date_time_start 를 쿼리 창으로 지정하여 update_date_time_end 엔드포인트를 폴링하십시오.
권장 접근 방식:
- 쿼리 창에는 update_date_time 필드를 사용하십시오: 특정 기간 동안 생성되거나 업데이트된 일정를 조회하려면
update_date_time_start및update_date_time_end을 쿼리 창으로 사용하십시오.creation_date만 사용하면 일정 업데이트를 놓치게 됩니다. - 마지막으로 성공한 폴링 타임스탬프를 저장하세요: 이를 다음
update_date_time_start로 사용하고, 창을 점진적으로 늘려가세요. - 중복 제거: 쿼리 시
itinerary_id+update_date_time를 사용하세요. 보조 필드가 보강됨에 따라 동일한 일정가 여 러 투표 기간에 걸쳐 나타날 수 있습니다. 항상 최신update_date_time에 수록된 기록을 표준으로 삼으십시오.
사용 사례에 가장 완벽하고 시의적절한 일정 데이터가 필요한 경우, 푸시 전송을 권장합니다.
사용 가능한 필드
아래 표에는 중첩된 개체를 포함하여 푸시 및 풀 제공 방식을 통해 사용 가능한 필드가 나열되어 있습니다. '사용 가능 여부' 열은 예약 이벤트 또는 업데이트 후 각 필드를 일반적으로 언제부터 이용할 수 있는지를 나타냅니다:
- 실시간: 예약 또는 정보 업데이트 후 몇 분 이내에 확인 가능
- Near-real-time: 예약 또는 정보 변경 후 2~4시간 이내에 이용 가능
이름과 그 뒤의 마침표로 시작하는 필드 이름(예: <variable>.<nested variable>)은 중첩 관계를 나타냅니다.
화이트 레이블 여행 플랫폼
| 필드 이름 | 정의 | 예 | 예약 가능 객실 |
|---|---|---|---|
itinerary_id | 일정 번호 또는 POS 주문 참조 번호입니다. | 72622069245694 | 실시간 |
status | 일정 및 개별 항목의 상태입니다. | 가능한 값: 확인됨 취소됨 | 실시간 |
creation_date* | 예약이 처음 이루어진 날짜로, ISO 8601 날짜 형식으로 표시된 (YYYY-MM-DD). | 2023-02-05 | 실시간 |
update_date_time* | ISO 8601 날짜 형식으로 표시된 일정의 마지막 업데이트 날짜 및 시간 (YYYY-MM-dd'T"HH:mm:ss.SSSZ). | 2023-10-21T00:00:00.000Z | 실시간 |
online | 일정가 온라인으로 예약되었는지(true) 아니면 여행사를 통해 예약되었는지(false)를 나타냅니다. 부울 값으로 표시됩니다. | true | Near-real-time |
package | 일정가 패키지의 일부인지, 아니면 단독 예약인지 여부를 나타냅니다. 부울 값으로 표시됩니다. | false | Near-real-time |
payment_type | 결제 페이지에서 사용한 결제 수단입니다. | 가능한 값: 신용카드 포인트 분할 결제 | 실시간 |
point_of_sale_country_code | 고객이 예약을 한 POS의 국가 코드입니다. ISO 3166-1 alpha-2 형식의 두 글자로 표시됩니다. | GB | Near-real-time |
purchaser | 예약한 사람의 신원 정보입니다. 중첩된 항목의 목록은 purchaser 표를 참조해 주세요. | ||
property_booking_items | 일정의 일부로 예약된 숙박 시설 구성 요소입니다. 중첩된 항목의 목록은 property_booking_items 표를 참조해 주세요. | ||
flight_booking_items | 일정의 일부로 예약된 항공 구성 요소입니다. 중첩된 항목의 목록은 flight_booking_items 표를 참조해 주세요. | ||
car_booking_items | 일정의 일부로 예약된 렌터카 구성 요소입니다. 중첩된 항목의 목록은 car_booking_items 표를 참조해 주세요. | ||
activity_booking_items | 일정의 일부로 예 약된 즐길거리 구성 요소입니다. 중첩된 항목의 목록은 activity_booking_items 표를 참조해 주세요. | ||
insurance_booking_items | 일정의 일부로 예약된 보험 구성 요소입니다. 중첩된 항목의 목록은 insurance_booking_items 표를 참조해 주세요. | ||
rate | 예약 항목 또는 전체 일정의 요금 및 가격 세부 정보입니다. 중첩된 항목의 목록은 rate 표를 참조해 주세요. | ||
coupon | 해당되는 경우 일정에 적용된 쿠폰입니다. 중첩된 항목의 목록은 coupon 표를 참조해 주세요. |