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 .

Поле date обязательно. Все остальные поля являются необязательными.

Ниже приведены примеры допустимых условий:

  • advanceBookingWindow = 2
  • advanceBookingWindow >= 0
  • advanceBookingWindow <= 5
  • advanceBookingWindow between 1 and 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
  • lengthOfStayDays between 1 and 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

Указывает, как сегментировать метрики, возвращаемые запросом. Например, если userRegionCode указан как значениеaggregateBy, participationResult предоставит метрики, aggregateBy по региону пользователя.

Строковое значение представляет собой список полей, разделенных запятыми. Допустимые поля: date , userRegionCode , deviceType , partnerHotelId , hotelRegionCode , advanceBookingWindow , lengthOfStayDays , checkinDate и occupancy . Поля, которые не указаны, не включаются в PartitionResult.

Использование aggregateBy , создающей большое количество строк, вызовет ошибку. Это особенно актуально при агрегировании по partnerHotelId или более чем по двум полям. Чтобы уменьшить вероятность ошибки, отфильтруйте по partnerHotelId и date , чтобы включить только выбранное количество отелей и дат. Аккаунтам с большим количеством отелей потребуется дополнительно сократить данные с помощью дополнительной фильтрации.

pageSize

integer

Максимальное количество возвращаемых результатов участия. Служба может вернуть меньшее значение, чем это значение. Если не указано, будет возвращено не более 10 000 результатов. Максимальное значение — 10 000; значения выше 10 000 будут приведены к 10 000.

pageToken

string

Маркер страницы, полученный из предыдущего запроса memberReportViews.query. Укажите это, чтобы получить следующую страницу.

При разбиении на страницы все остальные параметры, предоставленные для участияReportViews.query, должны соответствовать вызову, предоставившему токен страницы.

Тело запроса

Тело запроса должно быть пустым.

Тело ответа

В случае успеха тело ответа содержит данные со следующей структурой:

Ответное сообщение для ParticipationReportService.QueryParticipationReport .

Представление JSON
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
Поля
results[]

object ( ParticipationResult )

Список результатов, соответствующих запросу.

nextPageToken

string

Токен разбивки на страницы, используемый для получения следующей страницы результатов.

Области авторизации

Требуется следующая область действия OAuth:

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

Дополнительные сведения см. в обзоре OAuth 2.0 .

УчастиеРезультат

Представляет результат запроса статистики участия для учетной записи.

Представление 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 Реклама.

participationPercent

number

Процент участия, при котором количество успешно использованных возможностей делится на общее количество возможностей. Например, если недвижимость имела право участвовать в аукционе Google Реклама 90 раз из 100, коэффициент участия составляет 90 %.

missedParticipationCount

string ( int64 format)

Общее количество возможностей, не подходящих для аукциона Google Рекламы. Состоит из следующего:

  • Отсутствует целевая страница
  • Цена отсутствует
  • Проблема с ценой
  • Цена недоступна
  • Другой
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

Идентификатор отеля партнера.

Если 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 .

Пропущенное участиеCountDetails

Количество пропущенных участников с разбивкой по причинам.

Представление 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)

Общее количество пропущенных участников из-за технических проблем с текущими ценами по любой из следующих причин:

  • Вы ответили недостаточно быстро и превысили срок ответа (около 4000 миллисекунд).
  • Вы вернули ошибку.
  • Ваш ответ был искажен.
livePricingNotTriggeredCount

string ( int64 format)

Общее количество пропущенных участников из-за того, что цены в реальном времени не активировались по любой из следующих причин:

  • Вы не установили ставку.
  • У вас не было действительной целевой страницы.
  • В кэше не хватило цен.
livePricingConfigIssueCount

string ( int64 format)

Общее количество пропущенных участников из-за того, что цены в реальном времени не активировались по любой из следующих причин:

  • Для этих поисковых запросов у вас не настроены цены в реальном времени.
  • Вы запретили Google доступ к указанному маршруту отеля.
livePricingNotAvailableCount

string ( int64 format)

Общее количество пропущенных участников из-за недоступности цен в реальном времени. Текущие цены не будут активированы для определенных маршрутов или интерфейсов по умолчанию. В этом случае для участия партнерам потребуется кешированная цена.

livePricingOtherReasonCount

string ( int64 format)

Количество пропущенных посещений из-за других проблем с ценообразованием в реальном времени.

ЦенаMissingCountDetails

Причины, которые способствовали отсутствию цены, и общее количество по каждой причине.

Представление 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)

Цена для этого маршрута не была кэширована. Время ожидания оперативного запроса не истекло, но ваша система вернула ошибку.

ЦенаПроблемаКоличествоПодробности

Причины, которые способствовали подсчету проблем с ценой, и общее количество по каждой причине.

Представление JSON
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string
}
Поля
hotelSuspendedCount

string ( int64 format)

Отель был приостановлен. Это может быть связано с постоянными проблемами в таких областях, как неправильные налоги и сборы.

priceUnusuallyHighCount

string ( int64 format)

Цена, указанная за этот маршрут, показалась странно высокой по сравнению с региональными тенденциями.

priceUnusuallyLowCount

string ( int64 format)

Цена, указанная за этот маршрут, казалась странно низкой по сравнению с региональными тенденциями.

taxesAndFeesMissingCount

string ( int64 format)

Налоги и сборы отсутствовали в ценообразовании.

ЦенаНедоступноКоличествоПодробности

Причины, повлиявшие на цену, недоступную, учитываются, а также общее количество по каждой причине.

Представление JSON
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
Поля
priceUnavailableCount

string ( int64 format)

Отель не участвовал, потому что он не был доступен на даты маршрута.

participationNotLikelyCount

string ( int64 format)

Цена для этого маршрута не кэшировалась, и запрос в реальном времени не выполнялся, потому что ваш сервер обычно сообщает нам, что отель недоступен или распродан.