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

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

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

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

Каждая служба, специфичная для типа ресурса, будет иметь метод mutate , который принимает запрос mutate. Этот запрос состоит из:

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

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

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

Операции

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

create
Создает новый экземпляр ресурса.
update
Обновляет ресурс для соответствия атрибутам ресурса update . Когда это поле установлено, вы также должны установить update_mask операции, которая сообщает Google Ads API, какие атрибуты следует изменить во время операции обновления. Каждая клиентская библиотека имеет утилиту или вспомогательный метод, который сгенерирует update_mask для вас, как показано в наших клиентских библиотеках .
remove
Удаляет ресурс.

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

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

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

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

Мутировать ответы

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

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

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