Sebagian besar resource diubah (dibuat, diperbarui, atau dihapus) menggunakan metode
Mutate
. Metode Mutate
dipanggil sebagai POST
HTTP ke URL khusus resource yang cocok dengan pola nama resource, tanpa ID resource di bagian akhir.
Sebagai gantinya, ID resource yang akan dimutasi akan dikirim dalam isi permintaan
JSON. Hal ini memungkinkan Anda mengirim satu panggilan API yang berisi beberapa operasi pada
resource yang berbeda.
Misalnya, nama resource kampanye menggunakan format berikut:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
Untuk mendapatkan URL yang digunakan untuk memutasikan kampanye, hapus ID resource di bagian akhir dan
tambahkan :mutate
:
https://googleads.googleapis.com/v17/customers/CUSTOMER_ID/campaigns:mutate
Pesan Mutate
berisi objek JSON tingkat atas dengan array operations
yang dapat berisi banyak objek operation
. Setiap operasi, secara bergantian, dapat berupa salah satu dari: create
, update
, atau remove
. Ini adalah satu-satunya operasi mutasi
yang memungkinkan.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ ... ] }
Sebagian besar layanan mendukung ribuan operasi dalam satu panggilan API. Panduan Batas Sistem mendokumentasikan batasan ukuran permintaan.
Operasi dalam satu permintaan API dijalankan sebagai satu rangkaian tindakan secara default, yang berarti semuanya berhasil secara bersamaan atau seluruh batch akan gagal jika ada satu operasi yang gagal. Beberapa layanan mendukung
atribut partialFailure
untuk mengubah perilaku ini. Lihat Memutus Resource
untuk mengetahui informasi selengkapnya tentang semantik operasi mutasi.
Buat
Operasi pembuatan akan menghasilkan entity baru dan harus menyertakan representasi JSON lengkap dari resource yang ingin Anda buat.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
Perbarui
Operasi update melakukan update sparse pada resource yang ada. Anda hanya perlu menentukan kolom yang ingin diubah.
Untuk menentukan kolom yang ingin diperbarui, tetapkan atribut updateMask
ke daftar nama kolom yang dipisahkan koma. Hal ini sangat berguna jika Anda sudah memiliki representasi JSON yang sepenuhnya terbentuk dari sebuah objek (misalnya, seperti yang ditampilkan oleh panggilan API sebelumnya), tetapi hanya ingin mengubah kolom tertentu.
Daripada memangkas objek JSON, Anda cukup mencantumkan nama kolom yang akan
diubah dalam updateMask
dan mengirim seluruh objek JSON.
Contoh di bawah ini mengubah name
dan status
kampanye yang ada yang memiliki resourceName
yang ditentukan.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
Hapus
Operasi penghapusan akan menghapus objek secara efektif, sehingga status Google Ads-nya ditetapkan ke REMOVED
. Hanya resourceName
yang perlu dihapus yang diperlukan.
POST /v17/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }