Em março de 2022, lançamos a versão 2 da API Bid Manager. Considerando da nova versão, mas planejamos anunciar uma data de desativação para a v1.1 em breve. Qa é recomendável iniciar a migração da v1.1 para a v2 assim que possível.
Migrar seu aplicativo
Migrar da v1.1 para a v2 requer a atualização dos URLs dos endpoints para chamar a v2 e atualizando o aplicativo para considerar alterações interruptivas.
Atualizar suas chamadas de API da v1.1 para a v2
Para usar a v2 em vez da v1.1, atualize suas solicitações para usar a nova v2 endpoints.
Identificar métodos equivalentes
Para atualizar suas chamadas de API de usar a v1.1 para a v2, primeiro é necessário identificar os métodos equivalentes da v1.1 na v2.
Os nomes de todos os serviços e métodos a seguir foram um pouco alterados entre v1.1 e v2:
- Os serviços
QuerieseReportsna v1.1 são conhecidos comoqueriesequeries.reportsna v2. - Os métodos foram renomeados da seguinte forma na v2:
Nome do método da v1.1 Método equivalente da v2 Queries.createqueryqueries.createQueries.deletequeryqueries.deleteQueries.getqueryqueries.getQueries.listqueriesqueries.listQueries.runqueryqueries.runReports.listreportsqueries.reports.list
Atualizar para novos endpoints
Depois de identificar métodos equivalentes, é necessário atualizar suas solicitações. Para
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 linguagem versão mais recente da biblioteca de cliente e atualizar sua configuração para usar a v2.
Faça as alterações necessárias
Estamos introduzindo várias alterações interruptivas na v2. Analise o seguinte e faça as alterações necessárias relevantes ao seu uso atual do a API Bid Manager.
Atualizar chamadas para o serviço queries
- Os seguintes campos no recurso
Queryoriginalmente representados por Os objetos aninhados foram alterados para usar os seguintes tipos de objetos: - Os seguintes campos no recurso
Queryoriginalmente representados por Os objetos list foram alterados para serem listas dos seguintes novos tipos de objeto: - Os seguintes campos no recurso
Query, originalmente representados por são representadas por tipos de tipo enumerado na v2 e incluem o seguinte mudanças:- O equivalente v2 de
metadata.dataRangeagora usa oRangetipo enumerado. Ao converter para esse tipo enumerado, o valorPREVIOUS_HALF_MONTHfoi removido, e o valorTYPE_NOT_SUPPORTEDmudou paraRANGE_UNSPECIFIED metadata.formatagora usa o tipo enumeradoFormat. Na conversão para esse tipo enumerado, o valorEXCEL_CSVfoi removido, e o valorFORMAT_UNSPECIFIEDfoi adicionado.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matcheparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchAgora use o tipo enumeradoMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionagora usa o tipo enumeradoPathMatchPosition. Ao converter para este tipo enumerado, o valorPATH_MATCH_POSITION_UNSPECIFIEDfoi adicionado.schedule.frequencyagora usa o tipo enumeradoFrequency. Em convertendo para esse tipo enumerado, o valorFREQUENCY_UNSPECIFIEDfoi adicionado.params.typeagora usa o tipo enumeradoReportType. Em convertendo para esse tipo enumerado, as seguintes alterações foram feitas:- Os seguintes valores foram descontinuados:
TYPE_ACTIVE_GRPTYPE_AUDIENCE_PERFORMANCETYPE_CLIENT_SAFETYPE_COMSCORE_VCETYPE_CROSS_FEETYPE_CROSS_PARTNERTYPE_CROSS_PARTNER_THIRD_PARTY_DATA_PROVIDERTYPE_ESTIMATED_CONVERSIONTYPE_FEETYPE_KEYWORDTYPE_LINEAR_TV_SEARCH_LIFTTYPE_NIELSEN_AUDIENCE_PROFILETYPE_NIELSEN_DAILY_REACH_BUILDTYPE_NIELSEN_ONLINE_GLOBAL_MARKETTYPE_PAGE_CATEGORYTYPE_PETRA_NIELSEN_DAILY_REACH_BUILDTYPE_PETRA_NIELSEN_ONLINE_GLOBAL_MARKETTYPE_PIXEL_LOADTYPE_THIRD_PARTY_DATA_PROVIDERTYPE_TRUEVIEW_IARTYPE_VERIFICATIONTYPE_YOUTUBE_VERTICAL
- Os valores restantes foram atualizados para refletir melhor
valores equivalentes na interface:
Valores da v1.1 Valor ReportTypeequivalenteTYPE_NOT_SUPPORTEDREPORT_TYPE_UNSPECIFIEDTYPE_GENERALSTANDARDTYPE_INVENTORY_AVAILABILITYINVENTORY_AVAILABILITYTYPE_AUDIENCE_COMPOSITIONAUDIENCE_COMPOSITIONTYPE_ORDER_IDFLOODLIGHTTYPE_TRUEVIEWYOUTUBETYPE_NIELSEN_SITEGRPTYPE_PETRA_NIELSEN_AUDIENCE_PROFILEYOUTUBE_PROGRAMMATIC_GUARANTEEDTYPE_REACH_AND_FREQUENCYREACHTYPE_REACH_AUDIENCEUNIQUE_REACH_AUDIENCETYPE_PATHFULL_PATHTYPE_PATH_ATTRIBUTIONPATH_ATTRIBUTION
- O equivalente v2 de
- Campos
metadata.dataRange,reportDataStartTimeMsereportDataEndTimeMsforam substituídos por camposrange,customStartDateecustomEndDate. Os novos campos de data usamDate. em vez de milissegundos desde a Era Unix. Esses campos de substituição foram movidos para o objetoDataRangeatribuído ao No campodataRangena objetoQueryMetadata. - Campos
schedule.startTimeMseschedule.endTimeMsforam substituídos por camposstartDateeendDateem objetoQuerySchedule. Os novos campos de data usamDate. em vez de milissegundos desde a Era Unix. - Campos
metadata.running,metadata.reportCount,metadata.googleCloudStoragePathForLatestReport,metadata.googleDrivePathForLatestReportmetadata.latestReportRunTimeMsforam removidos. As informações relativas aos relatórios gerados mais recentemente de uma consulta devem ser recuperados usando o métodoqueries.reports.listcom oorderByde "key.reportId desc" para garantir que a solicitação liste os relatórios mais recentes primeiro. - Campos
kind,timezoneCode,metadata.locale,params.includeInviteDataschedule.nextRunMinuteOfDayforam removidos. - O
queries.createnão executa mais consultas automaticamente após a criação e o parâmetro de consultaasynchronousfoi removido. Ligaçãoqueries.rundepois dequeries.createpara gerar relatórios de novas consultas. - O método
queries.runfoi atualizado das seguintes maneiras:- O parâmetro de consulta
asynchronousfoi substituído pelosynchronous. O novo parâmetro de consulta opera com lógica inversa e é considerado falso se não for especificado. Dado Isso, oqueries.rungera relatórios de forma assíncrona por padrão v2 em vez de síncrona, que é o padrão na v1.1. - O corpo da solicitação foi atualizado para remover a
timezoneCodee substituadataRangeereportDataStartTimeMsreportDataEndTimeMscom umDataRangeatribuído aodataRange. - O método retorna o objeto
Reportresultante em vez de uma corpo da resposta vazio.
- O parâmetro de consulta
- O campo
kindno corpo da respostaqueries.listfoi removido.
Atualizar chamadas para o serviço reports
- Os seguintes campos no recurso
Reportoriginalmente representado por objetos aninhados gerais foram alterados para usar os seguintes tipos de objeto: - Os seguintes campos no recurso
Reportoriginalmente representado por Os objetos da lista geral foram alterados para serem listas dos seguintes novos objetos: tipos: - Os seguintes campos no recurso
Reportoriginalmente representado por as strings foram alteradas, portanto, seus campos equivalentes na v2 são representados por novas tipos de enum e incluem mudanças em valores aceitáveis:metadata.status.formatagora usa o tipo enumeradoFormat. Em convertendo para esse tipo enumerado, o valorEXCEL_CSVfoi removido eFORMAT_UNSPECIFIEDfoi adicionado.metadata.status.stateagora usa o tipo enumeradoState. Em convertendo para esse tipo enumerado, os valoresQUEUEDeSTATE_UNSPECIFIEDtêm foi adicionado.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matcheparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchAgora use o tipo enumeradoMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionagora usa o tipo enumeradoPathMatchPosition. Ao converter para este tipo enumerado, o valorPATH_MATCH_POSITION_UNSPECIFIEDfoi adicionado.params.typeagora usa o tipo enumeradoReportType. Em este enum foi convertido, várias mudanças foram feitas e estão listadas em na seção anterior sobre atualização de chamadas de serviço de consultas.
- Campos
metadata.reportDataStartTimeMsemetadata.reportDataEndTimeMsforam substituídos por camposreportDataStartDateereportDataEndDatenoReportMetadata. Os novos campos usam ObjetosDateem vez de milissegundos desde a época do Unix. metadata.status.finishTimeMsfoi substituído por no campofinishTimena objetoReportStatus. Esse novo campo de hora representa datetime como um carimbo de data/hora em RFC3339 UTC "Zulu" em vez de milésimos de segundo desde a Era Unix.metadata.status.failuree Os camposparams.includeInviteDataforam removidos.- O campo
kindno corpo da respostareports.listtem tenha sido removido.
Atualizar a lógica de tratamento de erros
As mensagens de erro na API foram atualizadas na v2. Essas novas mensagens de erro são mais específicos e, em alguns casos, fornecem informações sobre os valores no campo solicitação de API que estão fazendo com que o erro seja retornado. Se o erro já existente a lógica de processamento depende do texto da mensagem de erro, generalize o erro processamento antes de migrar para a v2.