Method: accounts.participationReportViews.query

Permite consultar (receber, filtrar e segmentar) um relatório de participação de uma conta específica.

Solicitação HTTP

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

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
name

string

O nome do recurso da conta que está sendo consultada. O formato é accounts/{account_id}.

Parâmetros de consulta

Parâmetros
filter

string

As condições (campos e expressões) usadas para filtrar as métricas de participação da conta consultada. A sintaxe exige espaços ao redor do operador in. Caso contrário, os espaços podem ser omitidos. As condições podem ser combinadas usando o operador AND.

Importante:a sintaxe correta para adicionar várias condições é: "?filter=<condition>=<value>%20AND%20<condition>=<value>..."

O campo date é obrigatório. Todos os outros campos são opcionais.

Confira alguns exemplos de condições válidas:

  • 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

Especifica como segmentar as métricas retornadas pela consulta. Por exemplo, se userRegionCode for especificado como o valor de aggregateBy, o participationResult vai fornecer métricas agregadas por região do usuário.

O valor da string é uma lista de campos separada por vírgulas. Os campos válidos são: date, userRegionCode, deviceType, partnerHotelId, hotelRegionCode, advanceBookingWindow, lengthOfStayDays, checkinDate e occupancy. Os campos não especificados não são incluídos no ParticipationResult.

Importante: usar o parâmetro aggregateBy com partnerHotelId ou mais de dois valores pode resultar em um erro. Filtrar com partnerHotelId e date para reduzir o número de linhas pode evitar a ocorrência de erros.

pageSize

integer

O número máximo de resultados de participação a serem retornados. O serviço pode retornar um valor inferior a este. Se não for especificado, no máximo 10.000 resultados serão retornados. O valor máximo é 10.000. Valores maiores serão revertidos para 10.000.

pageToken

string

Um token de página recebido de uma solicitação participationReportViews.query anterior. Forneça isso para receber a página seguinte.

Na paginação, todos os outros parâmetros fornecidos para "participationReportViews.query" precisam corresponder à chamada que forneceu o token da página.

Corpo da solicitação

O corpo da solicitação precisa estar vazio.

Corpo da resposta

Mensagem de resposta para ParticipationReportService.QueryParticipationReport.

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

Representação JSON
{
  "results": [
    {
      object (ParticipationResult)
    }
  ],
  "nextPageToken": string
}
Campos
results[]

object (ParticipationResult)

A lista de resultados que correspondem à consulta.

nextPageToken

string

Token de paginação usado para recuperar a próxima página de resultados.

Escopos de autorização

Requer o seguinte escopo OAuth:

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

Para mais informações, consulte OAuth 2.0 Overview.

ParticipationResult

Representa um resultado da consulta de estatísticas de participação de uma conta.

Representação JSON
{
  "key": {
    object (Key)
  },
  "opportunityCount": string,
  "participationCount": string,
  "participationPercent": number,
  "missedParticipationCount": string,
  "missedParticipationCountDetails": {
    object (MissedParticipationCountDetails)
  },
  "partnerHotelDisplayName": string
}
Campos
key

object (Key)

Chave do resultado.

opportunityCount

string (int64 format)

O número total de oportunidades disponíveis para um hotel específico. As oportunidades são o número total de instâncias em que um anúncio de hotel pode ter sido exibido a um usuário.

participationCount

string (int64 format)

O número total de oportunidades em que você teve qualificação para entrar no processo de leilão do Google Ads.

participationPercent

number

A taxa de participação percentual em que o número de oportunidades de participação é dividido pelo número total de oportunidades. Por exemplo, se uma propriedade estiver qualificada para participar do leilão do Google Ads 90 vezes de 100 oportunidades, a taxa de participação será de 90%.

missedParticipationCount

string (int64 format)

O número total de oportunidades não qualificadas para o processo de leilão do Google Ads. Ter o seguinte:

  • Página de destino ausente
  • Preço ausente
  • Problema no preço
  • Preço indisponível
  • Outro
missedParticipationCountDetails

object (MissedParticipationCountDetails)

Os motivos que contribuíram para a contagem de participações perdidas (por exemplo, sem disponibilidade) e uma contagem total para cada motivo.

partnerHotelDisplayName

string

Nome de exibição do hotel do parceiro. Esse campo só é preenchido quando o resultado é agregado por partnerHotelId.

Chave

Chave de um resultado.

Representação JSON
{
  "date": {
    object (Date)
  },
  "userRegionCode": string,
  "deviceType": enum (Device),
  "partnerHotelId": string,
  "hotelRegionCode": string,
  "advanceBookingWindow": integer,
  "lengthOfStayDays": integer,
  "checkinDate": {
    object (Date)
  },
  "occupancy": integer
}
Campos
date

object (Date)

A data para a qual você está solicitando métricas.

Se date não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo date não será retornado no Key.

userRegionCode

string

Código da região ISO 3116 do país/região do usuário.

Se userRegionCode não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo userRegionCode não será retornado no Key.

deviceType

enum (Device)

O tipo de dispositivo do usuário.

Se deviceType não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo deviceType não será retornado no Key.

partnerHotelId

string

ID do hotel do parceiro.

Se partnerHotelId não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo partnerHotelId não será retornado no Key.

hotelRegionCode

string

Código regional do CLDR do país/região do hotel.

Se hotelRegionCode não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo hotelRegionCode não será retornado no Key.

advanceBookingWindow

integer

O número de dias de antecedência com que o usuário quer reservar o itinerário.

Se advanceBookingWindow não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo advanceBookingWindow não será retornado no Key.

lengthOfStayDays

integer

O número de diárias do itinerário.

Se lengthOfStayDays não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo lengthOfStayDays não será retornado no Key.

checkinDate

object (Date)

A data de check-in do itinerário.

Se checkinDate não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo checkinDate não será retornado no Key.

occupancy

integer

A ocupação total do itinerário.

Se occupancy não for um valor do parâmetro aggregateBy na chamada de solicitação, o campo occupancy não será retornado no Key.

MissedParticipationCountDetails

Contagem de participações perdidas dividida por motivo.

Representação 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)
  }
}
Campos
noAvailabilityCount
(deprecated)

string (int64 format)

O número total de participações perdidas devido à indisponibilidade do hotel/itinerário ou porque o viajante não estava qualificado para as tarifas. Para participar desses leilões, forneça mais informações sobre os preços.

hotelSuspendedCount
(deprecated)

string (int64 format)

O número total de participações perdidas devido à suspensão de um ou mais hotéis por violações de precisão de preços.

noTaxBreakdownCount
(deprecated)

string (int64 format)

O número total de participantes perdidos devido a um ou mais hotéis que não especificam tributos e taxas separadamente.

noLandingPageCount

string (int64 format)

Nenhuma página de destino correspondeu ao usuário.

noPriceCount
(deprecated)

string (int64 format)

O número total de participações perdidas devido a um preço que não foi oferecido para o itinerário solicitado.

noPriceCountDetails
(deprecated)

object (NoPriceCountDetails)

Os motivos que contribuíram para a contagem de "sem preço" (por exemplo, preço em tempo real não disponível) e a contagem total de cada motivo.

otherReasonCount

string (int64 format)

O hotel não participou por um motivo desconhecido.

priceMissingCount

string (int64 format)

O número total de participações perdidas devido a um preço que não está presente no cache do Google ou à falta de resposta ao preço ativo. Ter o seguinte:

  • Largura de banda esgotada
  • Taxa de cache ausente
  • Itinerário bloqueado
  • Preço em tempo real não foi configurado
  • Preço em tempo real atingiu o tempo limite
  • Erro no preço em tempo real
priceMissingCountDetails

object (PriceMissingCountDetails)

Os motivos que contribuíram para a contagem de preços ausentes.

priceProblemCount

string (int64 format)

O número total de participações perdidas devido a um problema na precisão do preço fornecido para o itinerário. Ter o seguinte:

  • Hotel suspenso
  • Preço excepcionalmente alto
  • Preço excepcionalmente baixo
  • Tributos e feeds ausentes
priceProblemCountDetails

object (PriceProblemCountDetails)

Os motivos que contribuíram para a contagem de problemas de preço.

priceUnavailableCount

string (int64 format)

O número total de participações perdidas devido ao preço listado como indisponível (-1) para o itinerário solicitado. Ter o seguinte:

  • Preço indisponível
  • Participação pouco provável
  • Outro
priceUnavailableCountDetails

object (PriceUnavailableCountDetails)

Os motivos que contribuíram para a contagem de preços indisponíveis.

NoPriceCountDetails

Os motivos que contribuíram para a contagem de "sem preço" e a contagem total de cada motivo.

Representação JSON
{
  "livePricingTechnicalIssueCount": string,
  "livePricingNotTriggeredCount": string,
  "livePricingConfigIssueCount": string,
  "livePricingNotAvailableCount": string,
  "livePricingOtherReasonCount": string
}
Campos
livePricingTechnicalIssueCount

string (int64 format)

É o número total de participantes perdidos devido a problemas técnicos com o preço em tempo real por um destes motivos:

  • Você não respondeu rápido o suficiente e excedeu o prazo de resposta (cerca de 4.000 milissegundos).
  • Você retornou um erro.
  • Sua resposta estava incorreta.
livePricingNotTriggeredCount

string (int64 format)

O número total de participações perdidas devido a preços em tempo real que não estão sendo acionados por um dos motivos a seguir:

  • Você não definiu um lance.
  • Você não tinha uma página de destino válida.
  • Não havia preços suficientes no cache.
livePricingConfigIssueCount

string (int64 format)

O número total de participações perdidas devido a preços em tempo real que não estão sendo acionados por um dos motivos a seguir:

  • Os preços ativos não estão configurados para essas pesquisas.
  • Você restringiu o Google a acessar o itinerário do hotel em questão.
livePricingNotAvailableCount

string (int64 format)

O número total de participantes perdidos devido à indisponibilidade dos preços em tempo real. O preço em tempo real não será acionado para alguns itinerários ou IUs padrão. Nesse cenário, os parceiros precisam de um preço em cache para participar.

livePricingOtherReasonCount

string (int64 format)

O número de participações perdidas devido a outros problemas com os preços em tempo real.

PriceMissingCountDetails

Os motivos que contribuíram para a contagem de preços ausentes e a contagem total de cada motivo.

Representação JSON
{
  "cacheRateMissingCount": string,
  "itineraryBlockedCount": string,
  "livePricingNotSetupCount": string,
  "bandwidthDepletedCount": string,
  "livePricingTimeoutCount": string,
  "livePricingErrorCount": string
}
Campos
cacheRateMissingCount

string (int64 format)

Não há preço no cache para esse itinerário. Não foi possível fazer uma consulta ao vivo devido a restrições de página.

itineraryBlockedCount

string (int64 format)

O itinerário não faz parte dos seus parâmetros básicos. Por isso, ele não extrai nenhum preço da consulta ativa ou do preenchimento de cache.

livePricingNotSetupCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e a consulta em tempo real não foi configurada para esta conta.

bandwidthDepletedCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e não restou uma cota de consulta ativa.

livePricingTimeoutCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e uma consulta em tempo real enviada para seu sistema expirou.

livePricingErrorCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário. Uma consulta em tempo real não expirou, mas seu sistema retornou um erro.

PriceProblemCountDetails

Os motivos que contribuíram para a contagem de problemas de preço e a contagem total de cada motivo.

Representação JSON
{
  "hotelSuspendedCount": string,
  "priceUnusuallyHighCount": string,
  "priceUnusuallyLowCount": string,
  "taxesAndFeesMissingCount": string,
  "basePriceViolationsCount": string,
  "priceAccuracyIssueCount": string
}
Campos
hotelSuspendedCount

string (int64 format)

O hotel foi suspenso. Isso pode ser devido a problemas persistentes em áreas como tributos e taxas incorretos.

priceUnusuallyHighCount

string (int64 format)

O preço fornecido para esse itinerário parecia estranho em comparação com as tendências regionais.

priceUnusuallyLowCount

string (int64 format)

O preço fornecido para esse itinerário parecia estranho em comparação com as tendências regionais.

taxesAndFeesMissingCount

string (int64 format)

Faltavam tributos e taxas no preço.

basePriceViolationsCount

string (int64 format)

O preço base está muito baixo em relação ao preço total.

priceAccuracyIssueCount

string (int64 format)

Problema de exatidão do preço.

PriceUnavailableCountDetails

Os motivos que contribuíram para a contagem de preços indisponíveis e a contagem total de cada motivo.

Representação JSON
{
  "priceUnavailableCount": string,
  "participationNotLikelyCount": string
}
Campos
priceUnavailableCount

string (int64 format)

O hotel não participou porque não estava disponível para as datas do itinerário.

participationNotLikelyCount

string (int64 format)

Nenhum preço foi armazenado em cache para esse itinerário, e nenhuma consulta em tempo real foi feita porque seu servidor normalmente nos informa que o hotel está indisponível ou esgotado.