Em março de 2022, lançamos a versão 2 da API Bid Manager. Considerando o lançamento dessa nova versão, planejamos anunciar uma data de desativação para a v1.1 em breve. Recomendamos que você inicie a migração da v1.1 para a v2 assim que possível.
Migrar seu aplicativo
Migrar da v1.1 para a v2 exige a atualização dos URLs do endpoint para chamar a v2 e a atualização do aplicativo para considerar as alterações interruptivas.
Atualizar suas chamadas de API da v1.1 para a v2
Para usar a v2 em vez da v1.1, é necessário atualizar suas solicitações para usar os novos endpoints da v2.
Identificar métodos equivalentes
Para atualizar suas chamadas de API de v1.1 para v2, você primeiro precisa identificar os métodos de v1.1 equivalentes na v2.
Os seguintes nomes de todos os serviços e métodos mudaram um pouco entre a v1.1 e a v2:
- Os serviços
Queries
eReports
na v1.1 são conhecidos comoqueries
equeries.reports
na v2. - Os métodos foram renomeados da seguinte forma na v2:
Nome do método v1.1 Método equivalente à v2 Queries.createquery
queries.create
Queries.deletequery
queries.delete
Queries.getquery
queries.get
Queries.listqueries
queries.list
Queries.runquery
queries.run
Reports.listreports
queries.reports.list
Atualizar para novos endpoints
Depois de identificar métodos equivalentes, é necessário atualizar suas solicitações. Por
exemplo, para chamar o método queries.getquery
com a v1.1, você usaria
o seguinte URL:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
Para chamar o método equivalente na v2, conhecido como queries.get
, atualize o
URL para o seguinte:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Se você estiver usando uma biblioteca de cliente para fazer solicitações à API, use a versão mais recente da biblioteca de cliente e atualize sua configuração para usar a v2.
Faça as alterações necessárias
Lançamos várias alterações interruptivas na v2. Revise as instruções a seguir e faça as alterações necessárias relevantes ao seu uso atual da Bid Manager API.
Atualizar chamadas para o serviço queries
- Os campos a seguir no recurso
Query
originalmente representados por objetos aninhados gerais foram alterados para usar os seguintes tipos de objeto: - Os seguintes campos no recurso
Query
, originalmente representados por objetos de lista geral, foram alterados para listas dos novos tipos de objeto a seguir: - Os campos a seguir no recurso
Query
, originalmente representados por strings, são representados por tipos de enumeração na v2 e incluem as seguintes mudanças:- O equivalente na v2 de
metadata.dataRange
agora usa o enumRange
. Na conversão para essa enumeração, o valorPREVIOUS_HALF_MONTH
foi removido e o valorTYPE_NOT_SUPPORTED
mudou paraRANGE_UNSPECIFIED
. metadata.format
agora usa o tipo enumeradoFormat
. Na conversão para essa enumeração, o valorEXCEL_CSV
foi removido e o valorFORMAT_UNSPECIFIED
foi adicionado.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
eparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
agora usam o tipo enumeradoMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
agora usa a enumeraçãoPathMatchPosition
. Ao converter para esse tipo enumerado, o valorPATH_MATCH_POSITION_UNSPECIFIED
foi adicionado.schedule.frequency
agora usa o tipo enumeradoFrequency
. Ao converter para essa enumeração, o valorFREQUENCY_UNSPECIFIED
foi adicionado.params.type
agora usa o tipo enumeradoReportType
. Na conversão para esse tipo enumerado, as seguintes mudanças foram feitas:- Os seguintes valores foram descontinuados:
TYPE_ACTIVE_GRP
TYPE_AUDIENCE_PERFORMANCE
TYPE_CLIENT_SAFE
TYPE_COMSCORE_VCE
TYPE_CROSS_FEE
TYPE_CROSS_PARTNER
TYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDER
TYPE_ESTIMATED_CONVERSION
TYPE_FEE
TYPE_KEYWORD
TYPE_LINEAR_TV_SEARCH_LIFT
TYPE_NIELSEN_AUDIENCE_PROFILE
TYPE_NIELSEN_DAILY_REACH_BUILD
TYPE_NIELSEN_ONLINE_GLOBAL_MARKET
TYPE_PAGE_CATEGORY
TYPE_PETRA_NIELSEN_DAILY_REACH_BUILD
TYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKET
TYPE_PIXEL_LOAD
TYPE_THIRD_PARTY_DATA_PROVIDER
TYPE_TRUEVIEW_IAR
TYPE_VERIFICATION
TYPE_YOUTUBE_VERTICAL
- Todos os valores restantes foram atualizados para refletir melhor os
valores equivalentes na interface:
Valores da v1.1 Valor equivalente de ReportType
TYPE_NOT_SUPPORTED
REPORT_TYPE_UNSPECIFIED
TYPE_GENERAL
STANDARD
TYPE_INVENTORY_AVAILABILITY
INVENTORY_AVAILABILITY
TYPE_AUDIENCE_COMPOSITION
AUDIENCE_COMPOSITION
TYPE_ORDER_ID
FLOODLIGHT
TYPE_TRUEVIEW
YOUTUBE
TYPE_NIELSEN_SITE
GRP
TYPE_PETRA_NIELSEN_AUDIENCE_PROFILE
YOUTUBE_PROGRAMMATIC_GUARANTEED
TYPE_REACH_AND_FREQUENCY
REACH
TYPE_REACH_AUDIENCE
UNIQUE_REACH_AUDIENCE
TYPE_PATH
FULL_PATH
TYPE_PATH_ATTRIBUTION
PATH_ATTRIBUTION
- O equivalente na v2 de
- Os campos
metadata.dataRange
,reportDataStartTimeMs
ereportDataEndTimeMs
foram substituídos pelos camposrange
,customStartDate
ecustomEndDate
. Os novos campos de data usam objetosDate
em vez de milissegundos desde a época Unix. Esses campos substitutos foram movidos para o objetoDataRange
atribuído ao campodataRange
no objetoQueryMetadata
. - Os campos
schedule.startTimeMs
eschedule.endTimeMs
foram substituídos pelos camposstartDate
eendDate
no objetoQuerySchedule
. Os novos campos de data usam objetosDate
em vez de milissegundos desde a época Unix. - Os campos
metadata.running
,metadata.reportCount
,metadata.googleCloudStoragePathForLatestReport
,metadata.googleDrivePathForLatestReport
emetadata.latestReportRunTimeMs
foram removidos. As informações sobre os relatórios gerados mais recentemente de uma consulta devem ser recuperadas usando o métodoqueries.reports.list
com o parâmetro de consultaorderBy
de "key.reportId desc" para garantir que a solicitação liste primeiro os relatórios mais recentes. - Os campos
kind
,timezoneCode
,metadata.locale
,params.includeInviteData
eschedule.nextRunMinuteOfDay
foram removidos. queries.create
não executa mais consultas automaticamente após a criação, e o parâmetro de consultaasynchronous
foi removido. Chamequeries.run
apósqueries.create
para gerar relatórios para novas consultas.- O método
queries.run
foi atualizado das seguintes maneiras:- O parâmetro de consulta
asynchronous
foi substituído pelo parâmetro de consultasynchronous
. O novo parâmetro de consulta opera com lógica inversa e é considerado falso se não for especificado. Por isso,queries.run
gera relatórios de forma assíncrona por padrão na v2, e não de maneira síncrona, que é o padrão na v1.1. - O corpo da solicitação foi atualizado para remover o campo
timezoneCode
e substituir os camposdataRange
,reportDataStartTimeMs
ereportDataEndTimeMs
por um objetoDataRange
atribuído ao campodataRange
. - O método retorna o objeto
Report
resultante em vez de um corpo de resposta vazio.
- O parâmetro de consulta
- O campo
kind
no corpo da respostaqueries.list
foi removido.
Atualizar chamadas para o serviço reports
- Os seguintes campos no recurso
Report
, originalmente representados por objetos aninhados gerais, foram alterados para usar os seguintes tipos de objetos: - Os seguintes campos no recurso
Report
, originalmente representados por objetos de lista geral, foram alterados para listas dos novos tipos de objeto a seguir: - Os seguintes campos no recurso
Report
, originalmente representados por strings, mudaram para que os campos equivalentes na v2 sejam representados por novos tipos de enum e incluam mudanças em valores aceitáveis:metadata.status.format
agora usa o tipo enumeradoFormat
. Ao converter para essa enumeração, o valorEXCEL_CSV
foi removido eFORMAT_UNSPECIFIED
foi adicionado.metadata.status.state
agora usa o tipo enumeradoState
. Ao converter para essa enumeração, os valoresQUEUED
eSTATE_UNSPECIFIED
foram adicionados.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
eparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
agora usam o tipo enumeradoMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
agora usa a enumeraçãoPathMatchPosition
. Ao converter para esse tipo enumerado, o valorPATH_MATCH_POSITION_UNSPECIFIED
foi adicionado.params.type
agora usa o tipo enumeradoReportType
. Ao converter para essa enumeração, várias mudanças foram feitas e estão listadas em detalhes na seção anterior sobre a atualização de chamadas do serviço de consultas.
- Os campos
metadata.reportDataStartTimeMs
emetadata.reportDataEndTimeMs
foram substituídos pelos camposreportDataStartDate
ereportDataEndDate
no objetoReportMetadata
. Os novos campos usam objetosDate
em vez de milissegundos desde a Era Unix. metadata.status.finishTimeMs
foi substituído pelo campofinishTime
no objetoReportStatus
. Esse novo campo de hora representa a data e hora como um carimbo de data/hora no formato UTC "Zulu" RFC3339, e não em milissegundos, desde a época Unix.- Os campos
metadata.status.failure
eparams.includeInviteData
foram removidos. - O campo
kind
no corpo da respostareports.list
foi removido.
Atualizar a lógica de tratamento de erros
As mensagens de erro na API foram atualizadas na v2. Essas novas mensagens são mais específicas e, em alguns casos, fornecem informações sobre os valores na solicitação de API que estão fazendo o erro ser retornado. Se a lógica de tratamento de erros atual depender de um texto de mensagem de erro específico, generalize o tratamento de erros antes de migrar para a v2.