Изменить объекты

Как обсуждалось в руководстве по структуре API , каждый ресурс верхнего уровня в Google Ads API имеет соответствующий сервис, специфичный для типа ресурса, который поддерживает изменение экземпляров этого ресурса.

В этом руководстве для демонстрации изменения объектов Campaign будет использоваться CampaignService , но те же принципы применимы ко всем другим службам, специфичным для определенных типов ресурсов.

Изменить объекты

Для каждого сервиса, специфичного для определенного типа ресурса, будет существовать метод ` mutate` , принимающий запрос на изменение. Этот запрос состоит из:

  • customerId
  • Набор операций
  • Параметр content-type ответа, определяющий, следует ли возвращать изменяемый ресурс или только имя ресурса после изменения.

Например, метод MutateCampaigns класса CampaignService принимает запрос MutateCampaignsRequest , состоящий из:

  • customerId
  • Набор объектов CampaignOperation
  • Поле response_content_type указывает предпочтительный тип ответа.

Операции

Объект операции, такой как CampaignOperation позволяет указать действие, которое вы хотите выполнить над отдельным ресурсом, задав поле operation . Это поле представляет собой поле типа «один из» , состоящее из следующих атрибутов, тип которых совпадает с типом ресурса:

create
Создает новый экземпляр ресурса.
update

Обновляет ресурс в соответствии с атрибутами update .

ресурс. Если это поле задано, необходимо также задать update_mask операции, который указывает API Google Ads, какие атрибуты следует изменить во время операции обновления. В каждой клиентской библиотеке есть утилита или вспомогательный метод, который сгенерирует update_mask за вас, как показано в наших клиентских библиотеках .

remove

Удаляет ресурс.

Поскольку поле operation является полем oneof , вы не можете использовать одну операцию для изменения нескольких объектов. Например, если вы хотите создать одну кампанию и удалить другую, добавьте в свой запрос два экземпляра CampaignOperation : один с параметром create , а другой с параметром remove .

Пакетные операции

Хотя одна операция может создать, обновить или удалить только один ресурс, один запрос на изменение может содержать несколько операций. Вам следует объединять операции в один запрос на изменение, вместо того чтобы отправлять несколько запросов, каждый из которых содержит одну операцию.

Например, если вы хотите создать десять кампаний, вам следует отправить один запрос MutateCampaignsRequest , содержащий десять объектов CampaignOperation .

Мутационные реакции

То, что возвращается в ответе, зависит от того, что было указано в response_content_type запроса на изменение. Например, если был указан параметр MUTABLE_RESOURCE , то ответ будет содержать только изменяемые поля в кампании. Затем вы можете вносить последующие изменения в этот ресурсный объект, не перестраивая его.

Ошибки мутации

Операции в запросе на изменение будут применены к вашему аккаунту Google Ads только в том случае, если все операции в запросе будут выполнены успешно. Список распространенных ошибок и способы их устранения см. в руководстве по распространенным ошибкам .

Отслеживать изменения

Для отслеживания изменений, внесенных в объекты в вашем аккаунте Google Ads, или для получения текущего состояния объектов, вы можете использовать ресурсы change_status и change_event .

  • change_status предоставляет сводную информацию о том, какие ресурсы изменились за определенный период времени.
  • change_event предоставляет подробную историю изменений, включая старые и новые значения измененных полей.

Для запроса этих ресурсов используйте методы GoogleAdsService.SearchStream или GoogleAdsService.Search . Подробнее о потоковой передаче отчетов с помощью GoogleAdsService можно прочитать здесь.