Mengubah resource

Google Ads API menyediakan beberapa cara untuk mengubah resource, bergantung pada kasus penggunaan Anda:

  • Mutasi layanan resource: Setiap resource yang dapat diubah memiliki layanan khusus yang menjalankan operasi untuk jenis resource tertentu tersebut. Misalnya, resource Campaign menggunakan endpoint CampaignService.MutateCampaigns untuk membuat, memperbarui, atau menghapus kampanye.
  • Mutasi massal: Endpoint GoogleAdsService.Mutate membungkus urutan operasi mutasi di beberapa jenis resource (dan, di v23 dan yang lebih baru, operasi tindakan yang didukung seperti kampanye pemesanan atau penawaran harga) dalam satu permintaan sinkron.
  • Pekerjaan batch asinkron: Untuk mutasi skala besar atau beban kerja yang berjalan lama, BatchJobService menjalankan operasi secara asinkron tanpa risiko waktu tunggu permintaan sinkron. Tidak seperti GoogleAdsService.Mutate, BatchJobService selalu dieksekusi dengan semantik kegagalan parsial dan tidak mendukung mode validate_only atau operasi tindakan (book_campaigns_operation, quote_campaigns_operation). Karena kegagalan parsial selalu aktif, BatchJobService menolak operasi resource yang layanan dasarnya tidak mendukung kegagalan parsial (seperti CustomerOperation, CampaignConversionGoalOperation, ConversionGoalCampaignConfigOperation, CustomConversionGoalOperation, dan CustomerConversionGoalOperation) dengan MutateError.OPERATION_DOES_NOT_SUPPORT_PARTIAL_FAILURE.

Manfaat mutasi massal

Penggunaan GoogleAdsService.Mutate memberikan manfaat berikut (lihat Praktik terbaik mutasi untuk panduan penerapan):

  • Tindakan yang dikelompokkan di berbagai layanan resource: Jika panggilan layanan resource individual hanya menerima operasi untuk satu jenis resource, GoogleAdsService.Mutate memungkinkan Anda mengubah beberapa jenis resource dalam satu panggilan.
  • Nama resource sementara: Anda dapat menetapkan ID bilangan bulat negatif (seperti customers/CUSTOMER_ID/campaigns/-1) ke entitas induk yang baru dibuat dan mereferensikan ID sementara tersebut dalam operasi turunan dalam permintaan yang sama.

Dengan kemampuan ini, Anda dapat menggunakan GoogleAdsService.Mutate untuk membuat seluruh hierarki kampanye secara atomik sehingga semua operasi berhasil atau gagal bersama-sama, atau menetapkan partial_failure ke true untuk melakukan operasi yang valid secara independen.