Mutasi

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 akhir. 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 mengubah kampanye, hapus ID resource di akhir dan tambahkan :mutate:

https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/campaigns:mutate

Pesan Mutate berisi objek JSON level atas dengan array operations yang dapat berisi banyak objek operation. Setiap operasi, selanjutnya, dapat berupa salah satu dari: create, update, atau remove. Ini adalah satu-satunya operasi mutasi yang memungkinkan.

POST /v16/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 permintaan API tunggal dijalankan sebagai satu kumpulan tindakan secara default, yang berarti semuanya berhasil secara bersamaan atau keseluruhan batch gagal jika ada operasi tunggal yang gagal. Beberapa layanan mendukung atribut partialFailure untuk mengubah perilaku ini. Lihat Mengubah 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 /v16/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": {}
      }
    }
  ]
}

Update

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 objek yang sepenuhnya terbentuk (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 di updateMask dan mengirim seluruh objek JSON.

Contoh di bawah mengubah name dan status dari kampanye yang ada yang memiliki resourceName yang ditentukan.

POST /v16/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 secara efektif menghapus objek, dengan menetapkan status Google Ads-nya ke REMOVED. Hanya resourceName yang akan dihapus yang diperlukan.

POST /v16/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"
    }
  ]
}