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 desactivación para la versión 1.1. Te recomendamos que comiences la migración de la versión 1.1 a la versión 2 lo antes posible.
Migra tu aplicación
La migración de la versión 1.1 a la versión 2 requiere actualizar las URLs de extremo para llamar a la versión 2 y actualizar la aplicación a fin de que tenga en cuenta los cambios rotundos.
Actualizar tus llamadas a la API de la versión 1.1 a la versión 2
Si quieres usar v2 en lugar de v1.1, debes actualizar tus solicitudes para usar extremos nuevos de v2.
Identificar métodos equivalentes
Para actualizar las 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 las versiones 1.1 y 2:
- Los servicios
Queries
yReports
en la versión 1.1 se conocen comoqueries
yqueries.reports
en la versión 2. - En v2, se cambió el nombre de los métodos por lo siguiente:
Nombre del método v1.1 Método v2 equivalente 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
Actualizar a extremos nuevos
Una vez que identificaste los métodos equivalentes, debes actualizar tus solicitudes. Por ejemplo, para llamar al método queries.getquery
con la versión 1.1, debes usar la siguiente URL:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
Para llamar al método equivalente en la versión 2, conocido como queries.get
, actualiza la URL de la siguiente manera:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Si usas una biblioteca cliente para realizar solicitudes a la API, utiliza la versión más reciente de la biblioteca cliente y actualiza tu configuración para usar v2.
Realiza los cambios necesarios
Incorporaremos varios cambios rotundos en la versión 2. Revisa las siguientes instrucciones y realiza los cambios necesarios que sean relevantes para tu uso actual de la API de Bid Manager.
Actualiza las llamadas al servicio de queries
- Los siguientes campos del recurso
Query
representados en un principio por objetos anidados generales cambiaron para usar los siguientes tipos de objetos: - Los siguientes campos del recurso
Query
que en un principio representaban los objetos de lista general cambiaron para ser listas de los siguientes tipos de objetos nuevos: - Los siguientes campos del recurso
Query
, originalmente representados por strings, están representados por tipos de enumeración en la versión 2 y, además, incluyen los siguientes cambios:- El equivalente v2 de
metadata.dataRange
ahora usa la enumeraciónRange
. Para convertir a esta enumeración, se quitó el valorPREVIOUS_HALF_MONTH
y se cambió el valorTYPE_NOT_SUPPORTED
aRANGE_UNSPECIFIED
. metadata.format
ahora usa la enumeraciónFormat
. Para convertir a esta enumeración, se quitó el valorEXCEL_CSV
y se agregó el valorFORMAT_UNSPECIFIED
.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
yparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
ahora usan la enumMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
ahora usa la enumeraciónPathMatchPosition
. Para convertir a esta enumeración, se agregó el valorPATH_MATCH_POSITION_UNSPECIFIED
.schedule.frequency
ahora usa la enumeraciónFrequency
. En la conversión a esta enumeración, se agregó el valorFREQUENCY_UNSPECIFIED
.params.type
ahora usa la enumeraciónReportType
. En la conversión a esta enumeración, se realizaron los siguientes cambios:- Los siguientes valores dejaron de estar disponibles:
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 los valores restantes se actualizaron para reflejar mejor sus valores equivalentes en la IU:
Valores de la versión 1.1 Valor ReportType
equivalenteTYPE_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
- El equivalente v2 de
- Los campos
metadata.dataRange
,reportDataStartTimeMs
yreportDataEndTimeMs
se reemplazaron por los camposrange
,customStartDate
ycustomEndDate
. Los campos de fecha nuevos usan objetosDate
en lugar de milisegundos desde Unix Epoch. Estos campos de reemplazo se movieron al objetoDataRange
asignado al campodataRange
en el objetoQueryMetadata
. - Los campos
schedule.startTimeMs
yschedule.endTimeMs
se reemplazaron por los camposstartDate
yendDate
en el objetoQuerySchedule
. Los campos de fecha nuevos usan objetosDate
en lugar de milisegundos desde Unix Epoch. - Se quitaron los campos
metadata.running
,metadata.reportCount
,metadata.googleCloudStoragePathForLatestReport
,metadata.googleDrivePathForLatestReport
ymetadata.latestReportRunTimeMs
. En cambio, la información sobre los informes generados más recientes de una consulta se debe recuperar mediante el métodoqueries.reports.list
con el parámetro de consultaorderBy
“key.reportId desc” para garantizar que la solicitud enumere los informes más recientes primero. - Se quitaron los campos
kind
,timezoneCode
,metadata.locale
,params.includeInviteData
yschedule.nextRunMinuteOfDay
. queries.create
ya no ejecuta consultas automáticamente después de la creación y se quitó el parámetro de consultaasynchronous
. Llama aqueries.run
después dequeries.create
para generar informes de búsquedas nuevas.- El método
queries.run
se actualizó de las siguientes maneras:- El parámetro de consulta
asynchronous
se reemplazó por el parámetro de consultasynchronous
. El nuevo parámetro de consulta opera con una lógica inversa y se considera falso si no se especifica. Por lo tanto,queries.run
genera informes de forma asíncrona y predeterminada en la versión 2, a diferencia de síncrona, que es la configuración predeterminada de la versión 1.1. - Se actualizó el cuerpo de la solicitud para quitar el campo
timezoneCode
y reemplazar los camposdataRange
,reportDataStartTimeMs
yreportDataEndTimeMs
con un objetoDataRange
asignado al campodataRange
. - El método muestra el objeto
Report
resultante en lugar de un cuerpo de respuesta vacío.
- El parámetro de consulta
- Se quitó el campo
kind
del cuerpo de la respuestaqueries.list
.
Actualiza las llamadas al servicio de reports
- Los siguientes campos del recurso
Report
que en un principio representaban los objetos anidados generales cambiaron para usar los siguientes tipos de objetos: - Los siguientes campos del recurso
Report
que, en un principio, representaban los objetos de lista generales, cambiaron a listas de los siguientes tipos de objetos nuevos: - Los siguientes campos del recurso
Report
que originalmente estaban representados por strings cambiaron, por lo que sus campos equivalentes en la versión 2 se representan con tipos de enumeración nuevos y, además, incluyen cambios en los valores aceptables:metadata.status.format
ahora usa la enumeraciónFormat
. Para convertir a esta enumeración, se quitó el valorEXCEL_CSV
y se agregóFORMAT_UNSPECIFIED
.metadata.status.state
ahora usa la enumeraciónState
. Durante la conversión a esta enumeración, se agregaron los valoresQUEUED
ySTATE_UNSPECIFIED
.params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.match
yparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.match
ahora usan la enumMatch
.params.options.pathQueryOptions.pathFilters[].pathMatchPosition
ahora usa la enumeraciónPathMatchPosition
. Para convertir a esta enumeración, se agregó el valorPATH_MATCH_POSITION_UNSPECIFIED
.params.type
ahora usa la enumeraciónReportType
. Para 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 llamadas de servicio de consultas.
- Los campos
metadata.reportDataStartTimeMs
ymetadata.reportDataEndTimeMs
se reemplazaron por los camposreportDataStartDate
yreportDataEndDate
en el objetoReportMetadata
. Los campos nuevos usan objetosDate
en lugar de milisegundos desde Unix Epoch. metadata.status.finishTimeMs
se reemplazó por el campofinishTime
en el objetoReportStatus
. Este nuevo campo de hora representa la fecha y la hora como una marca de tiempo en el formato RFC3339 UTC “Zulú” en lugar de milisegundos desde Unix Epoch.- Se quitaron los campos
metadata.status.failure
yparams.includeInviteData
. - Se quitó el campo
kind
del cuerpo de la respuestareports.list
.
Actualiza la lógica de manejo de errores
Los mensajes de error en la API se actualizaron en la versión 2. 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 el error. Si tu lógica de manejo de errores existente se basa en un texto específico del mensaje de error, generaliza tu manejo de errores antes de migrar a v2.