Переход с Bid Manager API версии 1.1 на версию 2.

В марте 2022 года мы выпустили версию 2 API Bid Manager. В связи с выпуском этой новой версии мы планируем в ближайшее время объявить дату прекращения поддержки версии 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.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, используйте самую последнюю версию клиентской библиотеки и обновите конфигурацию, чтобы использовать версию 2.

Внесите необходимые изменения

В версии 2 мы вносим ряд существенных изменений. Ознакомьтесь со следующими инструкциями и внесите необходимые изменения, соответствующие вашему текущему использованию API менеджера заявок.

Обновить вызовы службы queries

  • В ресурсе Query , первоначально представленном общими вложенными объектами, следующие поля были изменены и теперь используют следующие типы объектов:
    поле v1.1 Эквивалентный тип объекта v2
    metadata QueryMetadata
    params Parameters
    params.options Options
    params.options.pathQueryOptions Удаленный
    params.options.pathQueryOptions.channelGrouping Удаленный
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[].dimensionFilter Удаленный
    params.options.pathQueryOptions.pathFilters[].eventFilters[].dimensionFilter Удаленный
    schedule QuerySchedule
  • В ресурсе Query первоначально представленном в виде общих объектов-списков, следующие поля были преобразованы в списки объектов следующих новых типов:
    v1.1 поле списка тип объекта v2
    params.filters[] FilterPair
    params.options.pathQueryOptions.channelGrouping.rules[] Удаленный
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[] Удаленный
    params.options.pathQueryOptions.channelGrouping.rules[].disjunctiveMatchStatements[].eventFilters[] Удаленный
    params.options.pathQueryOptions.pathFilters[] Удаленный
    params.options.pathQueryOptions.pathFilters[].eventFilters[] Удаленный
  • Следующие поля в ресурсе Query , первоначально представленные строками, в версии 2 представлены типами перечисления (enum types) и включают следующие изменения:
    • В версии 2 эквивалент объекта metadata.dataRange теперь использует перечисление 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
    • Все остальные значения были обновлены, чтобы лучше отражать их эквивалентные значения в пользовательском интерфейсе:
      значения v1.1 Эквивалентное значение ReportType
      TYPE_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
  • Поля metadata.dataRange , reportDataStartTimeMs и reportDataEndTimeMs были заменены полями range , customStartDate и customEndDate . В новых полях даты используются объекты Date вместо миллисекунд с начала эпохи Unix. Эти заменяющие поля были перемещены в объект DataRange назначенный полю dataRange в объекте QueryMetadata .
  • Поля schedule.startTimeMs и schedule.endTimeMs в объекте QuerySchedule заменены полями startDate и endDate . В новых полях даты используются объекты 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.create следует вызывать queries.run .
  • Метод queries.run был обновлен следующим образом:
    • Параметр asynchronous запроса был заменен параметром synchronous запроса. Новый параметр запроса работает по обратной логике и считается ложным, если не указан. В связи с этим, в версии 2 queries.run по умолчанию генерирует отчеты асинхронно, в отличие от синхронного режима, который был по умолчанию в версии 1.1.
    • В тело запроса внесены изменения: поле timezoneCode удалено, а поля dataRange , reportDataStartTimeMs и reportDataEndTimeMs заменены объектом DataRange , присвоенным полю dataRange .
    • Метод возвращает результирующий объект Report вместо пустого тела ответа.
  • Поле kind в теле ответа queries.list было удалено.

Обновить вызовы службы reports

Обновить логику обработки ошибок

В версии 2 обновлены сообщения об ошибках в API. Новые сообщения об ошибках более конкретны и в некоторых случаях содержат информацию о значениях в запросе API, которые вызывают ошибку. Если ваша существующая логика обработки ошибок основана на конкретном тексте сообщения об ошибке, обобщите обработку ошибок перед переходом на версию 2.