Em março de 2022, lançamos a versão 2 da API Bid Manager. Com o lançamento dessa nova versão, planejamos anunciar em breve uma data de desativação para a v1.1. Recomendamos que você inicie a migração da v1.1 para a v2 assim que possível.
Migrar o aplicativo
A migração da v1.1 para a v2 exige a atualização dos URLs de endpoint para chamar a v2 e a atualização do aplicativo para considerar mudanças significativas.
Atualizar as chamadas de API da v1.1 para a v2
Para usar a v2 em vez da v1.1, atualize suas solicitações para usar novos endpoints da v2.
Identificar métodos equivalentes
Para atualizar suas chamadas de API da v1.1 para a v2, primeiro identifique os métodos equivalentes da v1.1 na v2.
Os nomes a seguir de todos os serviços e métodos mudaram um pouco 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 os métodos equivalentes, atualize suas solicitações. Por exemplo, para chamar o método queries.getquery com a v1.1, use 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 e atualize sua configuração para usar a v2.
Faça as alterações necessárias
Estamos introduzindo várias mudanças interruptivas na v2. Leia as instruções a seguir e faça as mudanças necessárias relevantes para seu uso atual da API Bid Manager.
Atualizar chamadas para o serviço queries
- Os seguintes campos no recurso
Query, originalmente representados por objetos aninhados gerais, foram alterados para usar os seguintes tipos de objetos:Campo v1.1 Tipo de objeto equivalente da v2 metadataQueryMetadataparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsRemovido params.options.pathQueryOptions.channelGroupingRemovido params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterRemovido params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterRemovido scheduleQuerySchedule - Os seguintes campos no recurso
Query, originalmente representados por objetos de lista geral, foram alterados para listas dos seguintes novos tipos de objetos: - Os seguintes campos 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 da v2 de
metadata.dataRangeagora usa a enumeraçãoRange. Ao converter para esse enum, o valorPREVIOUS_HALF_MONTHfoi removido, e o valorTYPE_NOT_SUPPORTEDfoi alterado paraRANGE_UNSPECIFIED. - O
metadata.formatagora usa a enumeraçãoFormat. Ao converter 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 usam a enumeraçãoMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionagora usa a enumeraçãoPathMatchPosition. Ao converter para essa enumeração, o valorPATH_MATCH_POSITION_UNSPECIFIEDfoi adicionado.- O
schedule.frequencyagora usa a enumeraçãoFrequency. Ao converter para essa enumeração, o valorFREQUENCY_UNSPECIFIEDfoi adicionado. - O
params.typeagora usa a enumeraçãoReportType. Ao converter para essa enumeração, as seguintes mudanças 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 os 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 da v2 de
- Os campos
metadata.dataRange,reportDataStartTimeMsereportDataEndTimeMsforam substituídos porrange,customStartDateecustomEndDate. Os novos campos de data usam objetosDateem vez de milissegundos desde a época Unix. Esses campos de substituição foram movidos para o objetoDataRangeatribuído ao campodataRangeno objetoQueryMetadata. - Os campos
schedule.startTimeMseschedule.endTimeMsforam substituídos porstartDateeendDateno objetoQuerySchedule. Os novos campos de data usam objetosDateem vez de milissegundos desde a época Unix. - Os campos
metadata.running,metadata.reportCount,metadata.googleCloudStoragePathForLatestReport,metadata.googleDrivePathForLatestReportemetadata.latestReportRunTimeMsforam removidos. Em vez disso, as informações sobre os relatórios gerados mais recentemente de uma consulta devem ser recuperadas usando o métodoqueries.reports.listcom o parâmetro de consultaorderByde "key.reportId desc" para garantir que a solicitação liste os relatórios mais recentes primeiro. - Os campos
kind,timezoneCode,metadata.locale,params.includeInviteDataeschedule.nextRunMinuteOfDayforam removidos. - O
queries.createnão executa mais consultas automaticamente após a criação, e o parâmetro de consultaasynchronousfoi removido. Chamequeries.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 pelo parâmetrosynchronous. O novo parâmetro de consulta opera com lógica inversa e é considerado falso se não for especificado. Por isso, oqueries.rungera relatórios de forma assíncrona por padrão na v2, ao contrário da v1.1, em que a geração é síncrona. - O corpo da solicitação foi atualizado para remover o campo
timezoneCodee substituir os camposdataRange,reportDataStartTimeMsereportDataEndTimeMspor um objetoDataRangeatribuído ao campodataRange. - O método retorna o objeto
Reportresultante em vez de um corpo de 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
Report, originalmente representados por objetos aninhados gerais, foram alterados para usar os seguintes tipos de objeto:Campo v1.1 Tipo de objeto equivalente da v2 keyReportKeymetadataReportMetadatametadata.statusReportStatusparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsRemovido params.options.pathQueryOptions.channelGroupingRemovido params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterRemovido params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterRemovido - Os seguintes campos no recurso
Report, originalmente representados por objetos de lista geral, foram alterados para listas dos seguintes novos tipos de objetos: - Os campos a seguir no recurso
Reportoriginalmente representados por strings mudaram para que os campos equivalentes na v2 sejam representados por novos tipos de enumeração e incluam mudanças nos valores aceitáveis:- O
metadata.status.formatagora usa a enumeraçãoFormat. Ao converter para essa enumeração, o valorEXCEL_CSVfoi removido eFORMAT_UNSPECIFIEDfoi adicionado. - O
metadata.status.stateagora usa a enumeraçãoState. Ao converter para esse enum, os valoresQUEUEDeSTATE_UNSPECIFIEDforam adicionados. params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matcheparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchagora usam a enumeraçãoMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionagora usa a enumeraçãoPathMatchPosition. Ao converter para essa enumeração, o valorPATH_MATCH_POSITION_UNSPECIFIEDfoi adicionado.- O
params.typeagora usa a enumeraçãoReportType. Ao converter para essa enumeração, várias mudanças foram feitas e estão listadas em detalhe na seção anterior sobre a atualização das chamadas de serviço de consultas.
- O
- Os campos
metadata.reportDataStartTimeMsemetadata.reportDataEndTimeMsforam substituídos pelos camposreportDataStartDateereportDataEndDateno objetoReportMetadata. Os novos campos usam objetosDateem vez de milissegundos desde a era Unix. metadata.status.finishTimeMsfoi substituído pelo campofinishTimeno objetoReportStatus. Esse novo campo de hora representa a data e hora como um carimbo de data/hora no formato UTC "Zulu" RFC3339, em vez de milissegundos desde a época Unix.- Os campos
metadata.status.failureeparams.includeInviteDataforam removidos. - O campo
kindno corpo da respostareports.listfoi removido.
Atualizar a lógica de tratamento de erros
As mensagens de erro em toda a API foram atualizadas na v2. Essas novas mensagens de erro são mais específicas e, em alguns casos, fornecem informações sobre os valores na solicitação de API que estão causando o retorno do erro. Se a lógica de tratamento de erros atual depender de um texto específico de mensagem de erro, generalize o tratamento de erros antes de migrar para a v2.