거래 메시지 개요

거래 메시지는 객실, 가격, 패키지 관련 데이터를 Google로 전송합니다. 거래 메시지에는 두 가지 기본 유형이 있습니다.

  1. 여행 일정 데이터: 다음을 포함한 객실 패키지 및 운항 일정 데이터를 정의합니다.

    • 호텔 가격 및 인벤토리: 특정 요구사항을 충족하는 숙박 일정의 최저 가격을 설정합니다. 자세한 내용은 가격 업데이트를 참고하세요. 인벤토리에서 회의실을 삭제할 수도 있습니다. 자세한 내용은 인벤토리 삭제를 참고하세요.

    • 객실 패키지: 실제 객실과 추가 서비스 패키지의 조합에 대한 여행 일정 가격을 설정합니다. 자세한 내용은 객실 패키지를 참고하세요. Google은 가격을 항상 확인할 수 있도록 거래 메시지의 콘텐츠를 캐시합니다. 때에 따라 Google은 캐시의 값이 최신이 아니라고 판단하므로 추가 <Query> 메시지 (또는 일부 경우에는 실시간 가격 쿼리)를 전송하여 업데이트된 가격을 가져올 수 있습니다. 이 데이터는 일반적으로 매우 자주 변경됩니다. 트랜잭션 메시지의 가격 및 사용 가능 여부를 정의하려면 <Result>를 사용하세요.

  2. 객실 및 패키지 메타데이터: 설명, 사진, 최대 숙박 인원과 같은 객실 및 패키지 관련 세부정보를 지정합니다. 이 데이터는 자주 변경되지 않습니다. 메타데이터 트랜잭션 메시지를 정의하려면 <PropertyDataSet>를 사용합니다. Google은 모든 객실 및 패키지에 대한 반복적인 정보를 포함하는 대신 가격 메시지에서 참조할 수 있도록 이 메타데이터를 저장합니다. 자세한 내용은 객실 및 패키지 메타데이터 정의를 참고하세요.

트랜잭션 메시지의 루트 요소는 <Transaction>입니다. <Transaction> 요소를 루트 요소로 사용하는 메시지에는 하나 이상의 하위 요소가 필요합니다. 총 메시지 크기가 100MB를 넘지 않는 한 트랜잭션 메시지에 하위 요소를 원하는 만큼 포함할 수 있습니다.

Google의 요청에 응답하는 거래 메시지의 예는 가격 및 객실 인벤토리 (거래) XML 참조를 참고하세요.

전송 모드

거래 메시지를 보내는 유형과 빈도는 전송 모드에 따라 다릅니다.

  • 가져오기 전송 모드의 경우 Google에서 <Query>를 수신할 때 트랜잭션 메시지를 보냅니다.
  • 변동된 가격 게재 모드의 경우 <HintRequest><Query>를 수신하고 여기에 응답한 후 트랜잭션 메시지를 전송합니다.

자세한 내용은 가격 게재 모드를 참고하세요.

실시간 가격 쿼리

Google은 전송 모드에 관계없이 실시간 가격 쿼리라는 요청을 보낼 수도 있습니다. 이러한 쿼리 메시지는 현재 검색에 대한 응답으로 가격을 찾습니다. 지정된 시간(일반적으로 수백 밀리초) 내에 응답하면 광고가 입찰에 참여할 수 있습니다. 또한 국가 및 기기 유형, 지정한 손님 수를 포함하여 고객과 더 잘 일치하는 결과를 얻을 수 있습니다. 자세한 내용은 실시간 가격 쿼리를 참조하세요.

메시지 크기

단일 트랜잭션 메시지에 데이터 업데이트 조합을 포함할 수 있지만 각 메시지의 크기는 100MB로 제한됩니다. 일반적으로 모든 pull 및 힌트 요청의 응답 시간 제한은 100초입니다. 제한 시간은 Google에서 요청에 따라 조정할 수 있는 구성 가능한 필드입니다. 매우 큰 메시지의 경우 제한 시간을 10분으로 설정하는 것이 좋습니다.

메시지 크기를 크게 줄이고 메시지 크기 및 타임아웃 문제를 방지하려면 트랜잭션 메시지를 사용하여 객실 및 패키지 메타데이터를 미리 정의하세요. 메시지 헤더에 Content-Encoding: gzip를 추가하여 GNU 압축 콘텐츠를 메시지에 추가할 수도 있습니다.