Seperti yang dibahas dalam panduan struktur API, setiap
resource tingkat atas di Google Ads API memiliki layanan khusus jenis resource yang sesuai
yang mendukung pengubahan instance resource. Anda juga dapat menggunakan
GoogleAdsService.Mutate untuk mengubah
beberapa jenis resource secara atomik dalam satu permintaan.
Panduan ini menggunakan CampaignService untuk
mendemonstrasikan pengubahan objek Campaign, tetapi konsep yang sama
berlaku untuk semua layanan khusus jenis resource lainnya.
Mengubah permintaan
Setiap layanan khusus jenis resource memiliki metode mutate yang menerima permintaan mutate. Permintaan ini terdiri dari:
customer_id(ataucustomerIddi URL REST)- Kumpulan
operations - Setelan eksekusi opsional seperti
partial_failure,validate_only, danresponse_content_type(yang menentukan apakah resource yang dapat diubah atau hanya nama resource yang ditampilkan setelah mutasi)
Misalnya, metode MutateCampaigns dari CampaignService menerima
MutateCampaignsRequest yang terdiri
dari:
customer_id- Kumpulan objek
CampaignOperation(operations) - Setelan eksekusi opsional (
partial_failure,validate_only, danresponse_content_typeyang menunjukkan jenis respons yang diinginkan)
Operasi
Objek operasi seperti CampaignOperation memungkinkan Anda menentukan tindakan yang ingin dilakukan pada satu resource dengan menetapkan kolom operation.
Kolom ini adalah kolom oneofyang terdiri dari atribut berikut:
create- Membuat instance resource baru.
update- Memperbarui resource agar sesuai dengan atribut resource
update. Saat kolom ini ditetapkan, Anda juga harus menetapkanupdate_maskoperasi, yang memberi tahu Google Ads API atribut mana yang akan diubah selama operasi pembaruan. Setiap library klien menyertakan utilitas mask kolom atau helper metode yang membuatupdate_maskuntuk Anda. remove- Menghapus resource yang ditentukan oleh string nama resource-nya (misalnya,
customers/1234567890/campaigns/987654321).
Karena kolom operation adalah kolom oneof, Anda tidak dapat menggunakan satu operasi untuk mengubah beberapa objek. Misalnya, jika Anda ingin membuat satu kampanye dan menghapus kampanye lain, tambahkan dua instance CampaignOperation ke permintaan Anda: satu dengan create yang ditetapkan, dan satu lagi dengan remove yang ditetapkan.
Operasi batch
Meskipun satu operasi hanya dapat membuat, memperbarui, atau menghapus satu resource, satu permintaan modifikasi dapat berisi beberapa operasi. Anda harus menggabungkan operasi ke dalam satu permintaan modifikasi, bukan mengirim beberapa permintaan modifikasi yang masing-masing berisi satu operasi.
Misalnya, jika Anda ingin membuat sepuluh kampanye, Anda harus mengirim satu
MutateCampaignsRequest yang memiliki sepuluh objek CampaignOperation. Untuk mengelompokkan
operasi di berbagai jenis resource ke dalam satu permintaan, gunakan
GoogleAdsService.Mutate atau
resource yang diubah.
Mengubah respons
Apa yang ditampilkan dalam respons bergantung pada apa yang dikirim di kolom
response_content_type permintaan modifikasi.
Misalnya, jika MUTABLE_RESOURCE ditentukan, respons akan berisi
resource_name resource dan kolom kampanye yang dapat diubah di campaign. Secara
default (RESOURCE_NAME_ONLY), hanya resource_name yang diisi di setiap
MutateCampaignResult.
Mengubah error
Secara default (partial_failure = false), operasi dalam permintaan modifikasi hanya diterapkan ke akun Google Ads Anda jika setiap operasi dalam permintaan berhasil; jika ada operasi yang gagal, seluruh permintaan akan di-roll back. Untuk permintaan mutate
yang mendukung kegagalan sebagian (yang memiliki kolom partial_failure pada
pesan permintaan), menetapkan partial_failure = true akan melakukan operasi yang valid,
sedangkan operasi yang gagal akan menampilkan error khusus operasi di kolom
partial_failure_error respons. Lihat panduan
kegagalan sebagian dan panduan
error umum untuk mengetahui detail tentang penanganan error.
Melacak perubahan
Untuk melacak perubahan yang dilakukan pada objek di akun Google Ads Anda, atau untuk mengambil status objek saat ini, Anda dapat menggunakan resource change_status dan change_event.
change_statusmemberikan ringkasan resource mana yang telah berubah dalam jangka waktu tertentu.change_eventmemberikan histori perubahan yang mendetail, termasuk nilai lama dan baru dari kolom yang diubah.
Untuk membuat kueri resource ini, gunakan metode
GoogleAdsService.SearchStream atau
GoogleAdsService.Search. Baca lebih lanjut tentang streaming laporan
menggunakan GoogleAdsService.