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

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

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

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

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

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

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

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

Операции

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

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

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

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

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

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

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

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

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

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