En marzo de 2022, lanzamos la versión 2 de la API de Bid Manager. Debido al lanzamiento de esta nueva versión, planeamos anunciar pronto una fecha de baja para la v1.1. Te recomendamos que comiences la migración de la v1.1 a la v2 lo antes posible.
Migra tu aplicación
Para migrar de la v1.1 a la v2, debes actualizar las URLs de tus extremos para llamar a la v2 y actualizar tu aplicación para tener en cuenta los cambios rotundos.
Actualiza tus llamadas a la API de la v1.1 a la v2
Para usar la v2 en lugar de la v1.1, debes actualizar tus solicitudes para usar los nuevos extremos de la v2.
Identifica los métodos equivalentes
Para actualizar tus llamadas a la API de la v1.1 a la v2, primero debes identificar los métodos equivalentes de la v1.1 en la v2.
Los siguientes nombres de todos los servicios y métodos cambiaron ligeramente entre la v1.1 y la v2:
- Los servicios
QueriesyReportsde la v1.1 se conocen comoqueriesyqueries.reportsen la v2. - Los métodos cambiaron de nombre de la siguiente manera en la v2:
Nombre del método de la v1.1 Método equivalente de la v2 Queries.createqueryqueries.createQueries.deletequeryqueries.deleteQueries.getqueryqueries.getQueries.listqueriesqueries.listQueries.runqueryqueries.runReports.listreportsqueries.reports.list
Actualiza a los extremos nuevos
Una vez que hayas identificado los métodos equivalentes, deberás actualizar tus solicitudes. Por
ejemplo, para llamar al queries.getquery método con la v1.1, usarías
la siguiente URL:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
Para llamar al método equivalente en la v2, conocido como queries.get, actualiza la
URL a lo siguiente:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Si usas una biblioteca cliente para realizar solicitudes a la API, usa la versión más reciente de la biblioteca cliente y actualiza tu configuración para usar la v2.
Realiza los cambios necesarios
Presentamos varios cambios rotundos en la v2. Revisa las siguientes instrucciones y realiza los cambios necesarios pertinentes a tu uso existente de la API de Bid Manager.
Actualiza las llamadas al servicio queries
- Los siguientes campos del recurso
Queryque originalmente estaban representados por objetos anidados generales cambiaron para usar los siguientes tipos de objetos:Campo de la v1.1 Tipo de objeto equivalente de la v2 metadataQueryMetadataparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsQuitado params.options.pathQueryOptions.channelGroupingQuitado params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterQuitado params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterQuitado scheduleQuerySchedule - Los siguientes campos del recurso
Queryque originalmente estaban representados por objetos de lista generales cambiaron para ser listas de los siguientes tipos de objetos nuevos:Campo de lista de la v1.1 Tipo de objeto de la v2 params.filters[]FilterPairparams.options.pathQueryOptions.channelGrouping.rules[]Quitado params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[]Quitado params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[]Quitado params.options.pathQueryOptions.pathFilters[]Quitado params.options.pathQueryOptions.pathFilters[].eventFilters[]Quitado - Los siguientes campos del recurso
Query, que originalmente estaban representados por cadenas, ahora están representados por tipos de enumeración en la v2 e incluyen los siguientes cambios:- El equivalente de
metadata.dataRangeen la v2 ahora usa laRangeenumeración. Al realizar la conversión a esta enumeración, se quitó el valorPREVIOUS_HALF_MONTHy se cambió el valorTYPE_NOT_SUPPORTEDaRANGE_UNSPECIFIED. metadata.formatahora usa la enumeraciónFormat. Al realizar la conversión a esta enumeración, se quitó el valorEXCEL_CSVy se agregó el valorFORMAT_UNSPECIFIED.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchyparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchahora usan la enumeraciónMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionahora usa la enumeraciónPathMatchPosition. Al realizar la conversión a esta enumeración, se agregó el valorPATH_MATCH_POSITION_UNSPECIFIED.schedule.frequencyahora usa la enumeraciónFrequency. Al realizar la conversión a esta enumeración, se agregó el valorFREQUENCY_UNSPECIFIED.params.typeahora usa la enumeraciónReportType. Al realizar la conversión a esta enumeración, se realizaron los siguientes cambios:- Se dejaron de usar los siguientes valores:
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
- Se actualizaron todos los valores restantes para reflejar mejor sus valores equivalentes en la IU:
Valores de la 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
- El equivalente de
- Los campos
metadata.dataRange,reportDataStartTimeMsyreportDataEndTimeMsse reemplazaron por los camposrange,customStartDateycustomEndDate. Los nuevos campos de fecha usanDateobjetos en lugar de milisegundos desde la época de Unix. Estos campos de reemplazo se movieron al objetoDataRangeasignado al campodataRangeen el objetoQueryMetadata. - Los campos
schedule.startTimeMsyschedule.endTimeMsse reemplazaron por los camposstartDateyendDateen el objetoQuerySchedule. Los nuevos campos de fecha usanDateobjetos en lugar de milisegundos desde la época de Unix. - Se quitaron los campos
metadata.running,metadata.reportCount,metadata.googleCloudStoragePathForLatestReport,metadata.googleDrivePathForLatestReportymetadata.latestReportRunTimeMs. En su lugar, la información sobre los informes generados más recientemente de una consulta se debe recuperar con el métodoqueries.reports.listcon el parámetro de consultaorderByde “key.reportId desc” para garantizar que la solicitud enumere primero los informes más recientes. - Se quitaron los campos
kind,timezoneCode,metadata.locale,params.includeInviteDatayschedule.nextRunMinuteOfDay. queries.createya no ejecuta automáticamente las consultas después de la creación y se quitó el parámetro de consultaasynchronous. Llamaqueries.rundespués dequeries.createpara generar informes para las consultas nuevas.- El método
queries.runse actualizó de las siguientes maneras:- El parámetro de consulta
asynchronousse reemplazó por el parámetro de consultasynchronous. El nuevo parámetro de consulta opera con lógica inversa y se considera falso si no se especifica. Por lo tanto, esto,queries.rungenera informes de forma asíncrona de forma predeterminada en la v2, en lugar de síncrona, que es el valor predeterminado en la v1.1. - Se actualizó el cuerpo de la solicitud para quitar el
timezoneCodecampo y reemplazar losdataRange,reportDataStartTimeMsyreportDataEndTimeMscampos por un objetoDataRangeasignado al campodataRange. - El método muestra el objeto
Reportresultante en lugar de un cuerpo de respuesta vacío.
- El parámetro de consulta
- Se quitó el campo
kinddel cuerpo de respuesta dequeries.list.
Actualiza las llamadas al servicio reports
- Los siguientes campos del recurso
Reportque originalmente estaban representados por objetos anidados generales cambiaron para usar los siguientes tipos de objetos:Campo de la v1.1 Tipo de objeto equivalente de la v2 keyReportKeymetadataReportMetadatametadata.statusReportStatusparamsParametersparams.optionsOptionsparams.options.pathQueryOptionsQuitado params.options.pathQueryOptions.channelGroupingQuitado params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilterQuitado params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilterQuitado - Los siguientes campos del recurso
Reportque originalmente estaban representados por objetos de lista generales cambiaron para ser listas de los siguientes tipos de objetos nuevos:Campo de lista de la v1.1 Tipo de objeto de la v2 params.filters[]FilterPairparams.options.pathQueryOptions.channelGrouping.rules[]Quitado params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[]Quitado params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[]Quitado params.options.pathQueryOptions.pathFilters[]Quitado params.options.pathQueryOptions.pathFilters[].eventFilters[]Quitado - Los siguientes campos del recurso
Reportque originalmente estaban representados por cadenas cambiaron para que sus campos equivalentes en la v2 estén representados por tipos de enumeración nuevos e incluyan cambios en los valores aceptables:metadata.status.formatahora usa la enumeraciónFormat. Al realizar la conversión a esta enumeración, se quitó el valorEXCEL_CSVy se agregó el valorFORMAT_UNSPECIFIED.metadata.status.stateahora usa la enumeraciónState. Al realizar la conversión a esta enumeración, se agregaron los valoresQUEUEDySTATE_UNSPECIFIED.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchyparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchahora usan la enumeraciónMatch.params.options.pathQueryOptions.pathFilters[].pathMatchPositionahora usa la enumeraciónPathMatchPosition. Al realizar la conversión a esta enumeración, se agregó el valorPATH_MATCH_POSITION_UNSPECIFIED.params.typeahora usa la enumeraciónReportType. Al realizar la conversión a esta enumeración, se realizaron varios cambios que se enumeran en detalle en la sección anterior sobre la actualización de las llamadas al servicio de consultas.
- Los campos
metadata.reportDataStartTimeMsymetadata.reportDataEndTimeMsse reemplazaron por los camposreportDataStartDateyreportDataEndDateen elReportMetadataobjeto. Los nuevos campos usanDateobjetos en lugar de milisegundos desde la época de Unix. metadata.status.finishTimeMsse reemplazó por el campofinishTimeen el objetoReportStatus. Este nuevo campo de hora representa la fecha y hora como una marca de tiempo en formato RFC3339 UTC “Zulu” en lugar de en milisegundos desde la época de Unix.- Se quitaron los campos
metadata.status.failureyparams.includeInviteData. - Se quitó el campo
kinddel cuerpo de respuesta dereports.listque se quitó.
Actualiza la lógica de manejo de errores
Se actualizaron los mensajes de error en toda la API en la v2. Estos nuevos mensajes de error son más específicos y, en algunos casos, proporcionan información sobre los valores de la solicitud a la API que causan que se muestre el error. Si tu lógica de manejo de errores existente se basa en texto específico del mensaje de error, generaliza el manejo de errores antes de migrar a la v2.