Method: accounts.participationReportViews.query

특정 계정의 참여 보고서를 쿼리 (가져오기, 필터링, 분류)할 수 있는 기능을 제공합니다.

HTTP 요청

GET https://travelpartner.googleapis.com/v3/{name=accounts/*}/participationReportViews:query

URL은 gRPC 트랜스코딩 구문을 사용합니다.

경로 매개변수

매개변수
name

string

쿼리되는 계정의 리소스 이름입니다. 형식은 accounts/{account_id}입니다.

쿼리 매개변수

매개변수
filter

string

쿼리되는 계정의 참여 측정항목을 필터링하는 데 사용되는 조건 (필드 및 표현식)입니다. 구문에는 in 연산자 주변에 공백이 필요합니다. 그렇지 않으면 공백을 생략할 수 있습니다. AND 연산자를 사용하여 조건을 결합할 수 있습니다.

중요: 여러 조건을 추가하는 올바른 문법은 "?filter=<condition>=<value>%20AND%20<condition>=<value>..."입니다.

date 필드는 필수 입력란입니다. 다른 입력란은 선택사항입니다.

유효한 조건의 예는 다음과 같습니다.

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 5
  • checkinDate = '2020-10-01'
  • checkinDate >= '2020-10-01'
  • checkinDate <= '2020-10-01'
  • checkinDate between '2020-10-01' and '2020-10-05'
  • date = '2020-02-04'
  • date between '2020-02-04' and '2020-02-09'
  • deviceType = 'TABLET'
  • deviceType in ('MOBILE', 'TABLET')
  • hotelRegionCode = 'US'
  • hotelRegionCode in ('US', 'CA')
  • lengthOfStayDays = 2
  • lengthOfStayDays >= 0
  • lengthOfStayDays <= 5
  • occupancy = 2
  • occupancy >= 0
  • occupancy <= 5
  • occupancy between 1 and 5
  • partnerHotelId = 'AAA'
  • partnerHotelId in ('AAA', 'BBB')
  • userRegionCode = 'US'
  • userRegionCode in ('US', 'CA')
aggregateBy

string

쿼리에서 반환된 측정항목을 분류하는 방법을 지정합니다. 예를 들어 userRegionCodeaggregateBy 값으로 지정되면 participationResult은 사용자 지역별로 집계된 측정항목을 제공합니다.

문자열 값은 쉼표로 구분된 필드 목록입니다. 유효한 필드는 date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate, occupancy입니다. 지정되지 않은 필드는 ParticipationResult에 포함되지 않습니다.

중요: partnerHotelId 또는 두 개 이상의 값과 함께 aggregateBy 매개변수를 사용하면 오류가 발생할 수 있습니다. partnerHotelIddate로 필터링하여 행 수를 줄이면 오류 발생을 방지할 수 있습니다.

pageSize

integer

반환할 참여 결과의 최대 수입니다. 서비스가 이 값보다 더 적게 반환할 수 있습니다. 지정하지 않으면 최대 10,000개의 결과가 반환됩니다. 최댓값은 10,000이며, 10,000을 초과하는 값은 10,000으로 변환됩니다.

pageToken

string

이전 participationReportViews.query 요청에서 수신된 페이지 토큰입니다. 후속 페이지를 수신하려면 이를 제공합니다.

페이지로 나누는 경우 participationReportViews.query에 제공하는 다른 모든 매개변수가 페이지 토큰을 제공한 호출과 일치해야 합니다.

요청 본문

요청 본문은 비어 있어야 합니다.

응답 본문

ParticipationReportService.QueryParticipationReport의 응답 메시지입니다.

성공한 경우 응답 본문은 다음과 같은 구조의 데이터를 포함합니다.

JSON 표현
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
필드
results[]

object (ParticipationResult)

쿼리와 일치하는 결과 목록입니다.

nextPageToken

string

결과의 다음 페이지를 가져오는 데 사용되는 페이지로 나누기 토큰입니다.

승인 범위

다음 OAuth 범위가 필요합니다.

  • https://www.googleapis.com/auth/travelpartner

자세한 내용은 OAuth 2.0 Overview를 참조하세요.

ParticipationResult

계정의 참여 통계를 쿼리한 결과를 나타냅니다.

JSON 표현
{
  "key": {
    object (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
필드
key

object (Key)

결과의 키입니다.

opportunityCount

string (int64 format)

특정 호텔에 있었던 기회의 총 횟수입니다. 기회란 호텔 광고가 사용자에게 표시될 수 있었던 경우의 총 횟수입니다.

participationCount

string (int64 format)

Google Ads 입찰 절차에 참여할 수 있었던 총 기회 수입니다.

participationPercent

number

성공적으로 참여한 기회의 수를 총 기회의 수로 나누어 얻은 참여율입니다. 예를 들어 어떤 숙박 시설이 100번의 기회 중 Google Ads 입찰에 90번 참여할 수 있었다면 참여율은 90%입니다.

missedParticipationCount

string (int64 format)

Google Ads 입찰 절차에 참여할 수 없었던 총 기회 수입니다. 다음으로 구성됩니다.

  • 방문 페이지 누락
  • 가격 누락
  • 가격 문제
  • 가격 확인 불가
  • 기타
missedParticipationCountDetails

object (MissedParticipationCountDetails)

미참여 횟수에 영향을 준 이유 (예: 사용 가능 여부 없음)와 이유별 총 횟수입니다.

partnerHotelDisplayName

string

파트너의 호텔 표시 이름입니다. 이 필드는 결과가 partnerHotelId로 집계된 경우에만 채워집니다.

결과의 키입니다.

JSON 표현
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string,
  "advanceBookingWindow": integer,
  "lengthOfStayDays": integer,
  "checkinDate": {
    object (Date)
  },
  "occupancy": integer
}
필드
date

object (Date)

측정항목을 요청하는 날짜입니다.

date이 요청 호출의 aggregateBy 매개변수 값이 아니면 date 필드가 Key에 반환되지 않습니다.

userRegionCode

string

사용자의 국가/지역의 ISO 3116 지역 코드입니다.

userRegionCode이 요청 호출의 aggregateBy 매개변수 값이 아니면 userRegionCode 필드가 Key에 반환되지 않습니다.

deviceType

enum (Device)

사용자의 기기 유형입니다.

deviceType이 요청 호출의 aggregateBy 매개변수 값이 아니면 deviceType 필드가 Key에 반환되지 않습니다.

partnerHotelId

string

파트너의 호텔 ID입니다.

partnerHotelId이 요청 호출의 aggregateBy 매개변수 값이 아니면 partnerHotelId 필드가 Key에 반환되지 않습니다.

hotelRegionCode

string

호텔의 국가/지역에 해당하는 CLDR 지역 코드입니다.

hotelRegionCode이 요청 호출의 aggregateBy 매개변수 값이 아니면 hotelRegionCode 필드가 Key에 반환되지 않습니다.

advanceBookingWindow

integer

사용자가 숙박 일정을 미리 예약하려는 기간(일수)입니다.

advanceBookingWindow이 요청 호출의 aggregateBy 매개변수 값이 아니면 advanceBookingWindow 필드가 Key에 반환되지 않습니다.

lengthOfStayDays

integer

숙박 일정의 일수입니다.

lengthOfStayDays이 요청 호출의 aggregateBy 매개변수 값이 아니면 lengthOfStayDays 필드가 Key에 반환되지 않습니다.

checkinDate

object (Date)

숙박 일정의 체크인 날짜입니다.

checkinDate이 요청 호출의 aggregateBy 매개변수 값이 아니면 checkinDate 필드가 Key에 반환되지 않습니다.

occupancy

integer

여행 일정의 총 숙박 인원입니다.

occupancy이 요청 호출의 aggregateBy 매개변수 값이 아니면 occupancy 필드가 Key에 반환되지 않습니다.

MissedParticipationCountDetails

이유별 미참여 입찰 수입니다.

JSON 표현
{
  "noAvailabilityCount": string,
  "hotelSuspendedCount": string,
  "noTaxBreakdownCount": string,
  "noLandingPageCount": string,
  "noPriceCount": string,
  "noPriceCountDetails": {
    object (NoPriceCountDetails)
  },
  "otherReasonCount": string,
  "priceMissingCount": string,
  "priceMissingCountDetails": {
    object (PriceMissingCountDetails)
  },
  "priceProblemCount": string,
  "priceProblemCountDetails": {
    object (PriceProblemCountDetails)
  },
  "priceUnavailableCount": string,
  "priceUnavailableCountDetails": {
    object (PriceUnavailableCountDetails)
  }
}
필드
noAvailabilityCount
(deprecated)

string (int64 format)

호텔/여행 일정 조합을 사용할 수 없거나 여행자가 요금을 사용할 수 없어 발생한 미참여 입찰 횟수의 총합입니다. 이러한 입찰에 참여하려면 가격 정보를 더 제공해야 할 수 있습니다.

hotelSuspendedCount
(deprecated)

string (int64 format)

가격 정확도 위반으로 인해 하나 이상의 호텔이 정지되어 발생한 미참여 입찰 횟수의 총합입니다.

noTaxBreakdownCount
(deprecated)

string (int64 format)

하나 이상의 호텔에서 세금 및 수수료를 별도로 지정하지 않아 발생한 미참여 입찰 횟수의 총합입니다.

noLandingPageCount

string (int64 format)

사용자와 일치하는 방문 페이지가 없었습니다.

noPriceCount
(deprecated)

string (int64 format)

요청된 여행 일정에 가격이 제공되지 않아 발생한 미참여 입찰 횟수의 총합입니다.

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

가격 없음 수에 영향을 미친 이유 (예: 실시간 가격을 사용할 수 없음)와 각 이유의 총수입니다.

otherReasonCount

string (int64 format)

알 수 없는 이유로 호텔이 참여하지 않았습니다.

priceMissingCount

string (int64 format)

가격이 Google의 캐시에 없거나 실시간 가격 요청에 성공적으로 응답하지 못하여 발생한 미참여 입찰 횟수의 총합입니다. 다음으로 구성됩니다.

  • 대역폭 고갈
  • 캐시 비율 누락
  • 숙박 일정이 차단됨
  • 실시간 가격이 설정되지 않음
  • 실시간 가격 책정 시간 초과
  • 실시간 가격 책정 오류
priceMissingCountDetails

object (PriceMissingCountDetails)

가격 누락 수에 영향을 준 이유입니다.

priceProblemCount

string (int64 format)

여행 일정에 제공된 가격의 정확성 문제로 인해 발생한 미참여 입찰 횟수의 총합입니다. 다음으로 구성됩니다.

  • 호텔이 정지됨
  • 가격이 비정상적으로 높음
  • 가격이 비정상적으로 낮음
  • 세금 및 피드가 누락됨
priceProblemCountDetails

object (PriceProblemCountDetails)

가격 문제 수에 영향을 준 이유입니다.

priceUnavailableCount

string (int64 format)

요청된 여행 일정에 대한 가격이 확인 불가 (-1)로 표시되어 발생한 미참여 입찰 횟수의 총합입니다. 다음으로 구성됩니다.

  • 가격 확인 불가
  • 참여 가능성이 낮음
  • 기타
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

가격이 제공되지 않는 수에 영향을 미친 이유입니다.

NoPriceCountDetails

가격이 없는 수에 영향을 미친 이유와 각 이유의 총수입니다.

JSON 표현
{
  "livePricingTechnicalIssueCount": string,
  "livePricingNotTriggeredCount": string,
  "livePricingConfigIssueCount": string,
  "livePricingNotAvailableCount": string,
  "livePricingOtherReasonCount": string
}
필드
livePricingTechnicalIssueCount

string (int64 format)

다음 중 한 가지 이유로 실시간 가격 관련 기술 문제가 생겨 발생한 미참여 입찰 횟수의 총합입니다.

  • 응답 속도가 충분히 빠르지 않아 응답 기한 (약 4,000밀리초)을 초과했습니다.
  • 오류가 반환되었습니다.
  • 대답 형식이 잘못되었습니다.
livePricingNotTriggeredCount

string (int64 format)

다음과 같은 이유로 실시간 가격이 트리거되지 않아 발생한 미참여 입찰 횟수의 총합입니다.

  • 입찰가를 설정하지 않았습니다.
  • 유효한 방문 페이지가 없습니다.
  • 캐시에 가격이 충분하지 않았습니다.
livePricingConfigIssueCount

string (int64 format)

다음과 같은 이유로 실시간 가격이 트리거되지 않아 발생한 미참여 입찰 횟수의 총합입니다.

  • 해당 검색에 대한 실시간 가격이 구성되지 않았습니다.
  • 해당 호텔 숙박 일정에 Google이 접근하지 못하도록 제한했습니다.
livePricingNotAvailableCount

string (int64 format)

실시간 가격을 사용할 수 없어 발생한 미참여 입찰 횟수의 총합입니다. 특정 기본 숙박 일정 또는 UI의 경우 실시간 가격이 트리거되지 않습니다. 이 경우 파트너는 캐시된 가격이 있어야 참여할 수 있습니다.

livePricingOtherReasonCount

string (int64 format)

실시간 가격에 다른 문제가 있어 발생한 미참여 입찰 횟수입니다.

PriceMissingCountDetails

가격 누락 수에 영향을 미친 이유와 각 이유의 총수입니다.

JSON 표현
{
  "cacheRateMissingCount": string,
  "itineraryBlockedCount": string,
  "livePricingNotSetupCount": string,
  "bandwidthDepletedCount": string,
  "livePricingTimeoutCount": string,
  "livePricingErrorCount": string
}
필드
cacheRateMissingCount

string (int64 format)

이 여행 일정의 캐시에 가격이 없습니다. 페이지 제약 조건으로 인해 실시간 쿼리가 완료되지 않았습니다.

itineraryBlockedCount

string (int64 format)

여행 일정이 기본 매개변수 범위를 벗어나기 때문에 실시간 쿼리 또는 캐시 저장분에서 해당 여행 일정에 대한 가격을 가져오지 못했습니다.

livePricingNotSetupCount

string (int64 format)

이 여행 일정의 가격이 캐시되지 않았으며 이 계정에 실시간 쿼리가 구성되지 않았습니다.

bandwidthDepletedCount

string (int64 format)

이 여행 일정의 가격이 캐시되지 않았으며 실시간 쿼리 할당량이 남아 있지 않습니다.

livePricingTimeoutCount

string (int64 format)

이 여행 일정의 가격이 캐시되지 않았으며 시스템에 전송된 실시간 쿼리의 시간이 초과되었습니다.

livePricingErrorCount

string (int64 format)

이 여행 일정의 가격이 캐시되지 않았습니다. 실시간 쿼리의 시간이 초과되지는 않았지만 시스템에서 오류가 반환되었습니다.

PriceProblemCountDetails

가격 문제 수에 영향을 미친 이유와 각 이유의 총수입니다.

JSON 표현
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string,
  "basePriceViolationsCount": string,
  "priceAccuracyIssueCount": string
}
필드
hotelSuspendedCount

string (int64 format)

호텔이 정지되었습니다. 부정확한 세금 및 수수료 등의 영역에서 지속적으로 문제가 있었기 때문일 수 있습니다.

priceUnusuallyHighCount

string (int64 format)

이 여행 일정에 책정된 가격이 지역 추세에 비해 비정상적으로 높았습니다.

priceUnusuallyLowCount

string (int64 format)

이 여행 일정에 책정된 가격이 지역 추세에 비해 비정상적으로 낮았습니다.

taxesAndFeesMissingCount

string (int64 format)

가격 정보에서 세금 및 수수료가 누락되었습니다.

basePriceViolationsCount

string (int64 format)

기본 가격이 총 가격에 비해 너무 낮습니다.

priceAccuracyIssueCount

string (int64 format)

가격 정확성 문제입니다.

PriceUnavailableCountDetails

가격 이용 불가 수에 영향을 미친 이유와 각 이유의 총수입니다.

JSON 표현
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
필드
priceUnavailableCount

string (int64 format)

여행 일정 중 호텔이 사용 가능하지 않아 참여하지 않았습니다.

participationNotLikelyCount

string (int64 format)

이 여행 일정의 가격이 캐시되지 않았으며 서버에 따르면 호텔이 대부분 이용 가능하지 않거나 만실이기 때문에 실시간 쿼리가 이루어지지 않았습니다.