В марте 2022 года мы выпустили вторую версию Bid Manager API. Учитывая выпуск этой новой версии, мы планируем вскоре объявить дату прекращения поддержки версии 1.1. Мы рекомендуем вам начать миграцию с версии 1.1 на версию 2 как можно скорее.
Перенесите свое приложение
Для перехода с версии 1.1 на версию 2 необходимо обновить URL-адреса конечных точек для вызова версии 2 и обновить приложение для учета критических изменений.
Обновите вызовы API с версии 1.1 до версии 2.
Чтобы использовать версию 2 вместо версии 1.1, вам необходимо обновить свои запросы для использования новых конечных точек версии 2.
Определите эквивалентные методы
Чтобы обновить вызовы API с версии 1.1 на версию 2, сначала необходимо определить эквивалентные методы версии 1.1 в версии 2.
Следующие имена всех служб и методов немного изменились между версией 1.1 и версией 2:
-  QueriesиReportsслужб в версии 1.1 известны какqueriesиqueries.reportsв версии 2.
-  В версии 2 методы были переименованы следующим образом:имя метода v1.1 Эквивалентный метод v2 Queries.createqueryqueries.createQueries.deletequeryqueries.deleteQueries.getqueryqueries.getQueries.listqueriesqueries.listQueries.runqueryqueries.runReports.listreportsqueries.reports.list
Обновление до новых конечных точек
 После того как вы определили эквивалентные методы, вам необходимо обновить свои запросы. Например, чтобы вызвать метод queries.getquery в версии 1.1, вы должны использовать следующий URL-адрес:
https://www.googleapis.com/doubleclickbidmanager/v1.1/query/queryId
 Чтобы вызвать эквивалентный метод в версии 2, известный как queries.get , обновите URL-адрес следующим образом:
GET https://doubleclickbidmanager.googleapis.com/v2/queries/queryId
Если вы используете клиентскую библиотеку для отправки запросов к API, используйте самую последнюю версию клиентской библиотеки и обновите свою конфигурацию, чтобы использовать v2.
Внесите необходимые изменения
Мы вносим ряд серьезных изменений в v2. Прочтите следующие инструкции и внесите необходимые изменения, соответствующие вашему текущему использованию Bid Manager API.
 Обновление вызовов в службу queries
-  Следующие поля в ресурсе Query, первоначально представленные общими вложенными объектами, были изменены и теперь используют следующие типы объектов:
-  Следующие поля в ресурсе Query, первоначально представленные объектами общего списка, изменились и стали списками следующих новых типов объектов:
-  Следующие поля в ресурсе Query, первоначально представленные строками, в версии 2 представлены перечислимыми типами и включают следующие изменения:-  Эквивалент metadata.dataRangeверсии 2 теперь использует перечислениеRange. При преобразовании в это перечисление значениеPREVIOUS_HALF_MONTHбыло удалено, а значениеTYPE_NOT_SUPPORTEDбыло изменено наRANGE_UNSPECIFIED.
-  metadata.formatтеперь использует перечислениеFormat. При преобразовании в это перечисление значениеEXCEL_CSVбыло удалено и добавлено значениеFORMAT_UNSPECIFIED.
-  params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchиparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchтеперь используют перечислениеMatch.
-  params.options.pathQueryOptions.pathFilters[].pathMatchPositionтеперь использует перечислениеPathMatchPosition. При преобразовании в это перечисление было добавлено значениеPATH_MATCH_POSITION_UNSPECIFIED.
-  schedule.frequencyтеперь использует перечислениеFrequency. При преобразовании в это перечисление было добавлено значениеFREQUENCY_UNSPECIFIED.
-  params.typeтеперь использует перечислениеReportType. При преобразовании в это перечисление были внесены следующие изменения:
-  Следующие значения устарели:-  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
 
-  
-  Остальные значения были обновлены, чтобы лучше отражать их эквивалентные значения в пользовательском интерфейсе:значения версии 1.1 Эквивалентное значение ReportTypeTYPE_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
 
-  Эквивалент 
-  Поля metadata.dataRange,reportDataStartTimeMsиreportDataEndTimeMsбыли заменены полямиrange,customStartDateиcustomEndDate. Новые поля даты используют объектыDateвместо миллисекунд, начиная с эпохи Unix. Эти поля замены были перемещены в объектDataRange, назначенный полюdataRangeв объектеQueryMetadata.
-  Поля schedule.startTimeMsиschedule.endTimeMsзаменены полямиstartDateиendDateв объектеQuerySchedule. Новые поля даты используют объектыDateвместо миллисекунд, начиная с эпохи Unix.
-  Поля metadata.running,metadata.reportCount,metadata.googleCloudStoragePathForLatestReport,metadata.googleDrivePathForLatestReportиmetadata.latestReportRunTimeMsбыли удалены. Вместо этого информацию о последних созданных отчетах запроса следует получать с помощью методаqueries.reports.listс параметром запросаorderBy«key.reportId desc», чтобы гарантировать, что в запросе сначала будут перечислены самые последние отчеты.
-  Поля kind,timezoneCode,metadata.locale,params.includeInviteDataиschedule.nextRunMinuteOfDayбыли удалены.
-  queries.createбольше не запускает автоматически запросы после создания, а параметрasynchronousзапроса был удален. Вызовитеqueries.runпослеqueries.create, чтобы создать отчеты для новых запросов.
-  Метод queries.runбыл обновлен следующим образом:-  Параметр asynchronousзапроса был заменен параметромsynchronousзапроса. Новый параметр запроса работает с обратной логикой и считается ложным, если не указан. Учитывая это,queries.runпо умолчанию генерирует отчеты асинхронно в версии 2, а не синхронно, что используется по умолчанию в версии 1.1.
-  Тело запроса было обновлено: было удалено поле timezoneCodeи заменены поляdataRange,reportDataStartTimeMs,reportDataEndTimeMsобъектомDataRange, назначенным полюdataRange.
-  Метод возвращает результирующий объект Reportвместо пустого тела ответа.
 
-  Параметр 
-  Поле kindв теле ответаqueries.listбыло удалено.
 Обновление обращений в службу reports
-  Следующие поля в ресурсе Report, первоначально представленные общими вложенными объектами, были изменены и теперь используют следующие типы объектов:
-  Следующие поля в ресурсе Report, первоначально представленные объектами общего списка, были изменены и стали списками следующих новых типов объектов:
-  Следующие поля в ресурсе Report, первоначально представленные строками, были изменены, поэтому их эквивалентные поля в версии 2 представлены новыми типами перечислений и включают изменения допустимых значений:-  metadata.status.formatтеперь использует перечислениеFormat. При преобразовании в это перечисление значениеEXCEL_CSVбыло удалено и добавленоFORMAT_UNSPECIFIED.
-  metadata.status.stateтеперь использует перечислениеState. При преобразовании в это перечисление были добавлены значенияQUEUEDиSTATE_UNSPECIFIED.
-  params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter.matchиparams.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter.matchтеперь используют перечислениеMatch.
-  params.options.pathQueryOptions.pathFilters[].pathMatchPositionтеперь использует перечислениеPathMatchPosition. При преобразовании в это перечисление было добавлено значениеPATH_MATCH_POSITION_UNSPECIFIED.
-  params.typeтеперь использует перечислениеReportType. При преобразовании в это перечисление были внесены многочисленные изменения, которые подробно перечислены в предыдущем разделе, посвященном обновлению вызовов службы запросов.
 
-  
-  Поля metadata.reportDataStartTimeMsиmetadata.reportDataEndTimeMsбыли заменены полямиreportDataStartDateиreportDataEndDateв объектеReportMetadata. В новых полях используются объектыDateвместо миллисекунд, начиная с эпохи Unix.
-  metadata.status.finishTimeMsзаменено полемfinishTimeв объектеReportStatus. Это новое поле времени представляет дату и время в виде метки времени в формате RFC3339 UTC «Zulu», а не в миллисекундах, как в эпоху Unix.
-  Поля metadata.status.failureиparams.includeInviteDataбыли удалены.
-  Поле kindв теле ответаreports.listбыло удалено.
Обновить логику обработки ошибок
Сообщения об ошибках в API были обновлены в версии 2. Эти новые сообщения об ошибках более конкретны и в некоторых случаях предоставляют информацию о значениях в запросе API, из-за которых возвращается ошибка. Если существующая логика обработки ошибок основана на конкретном тексте сообщения об ошибке, обобщите обработку ошибок перед переходом на версию 2.