Mutasi

Sebagian besar resource diubah (dibuat, diperbarui, atau dihapus) menggunakan Mutate . Metode Mutate dipanggil sebagai POST HTTP ke metode URL yang cocok dengan pola nama resource, tanpa ID resource di akhir. Sebagai gantinya, ID resource yang akan dimutasi dikirim dalam permintaan JSON {i>body <i}itu. Hal ini memungkinkan Anda mengirim satu panggilan API yang berisi beberapa operasi di berbagai resource.

Misalnya, nama resource kampanye menggunakan format berikut:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

Untuk mendapatkan URL yang digunakan untuk memutasikan kampanye, hilangkan ID aset 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, bisa menjadi satu dari: create, update, atau remove. Ini adalah satu-satunya kemungkinan mutasi operasional bisnis.

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. Sistem Batas akan memandu mendokumentasikan batasan terkait ukuran permintaan.

Operasi dalam permintaan API tunggal dijalankan sebagai satu set tindakan oleh default, yang berarti mereka semua berhasil secara bersamaan atau seluruh batch gagal jika kegagalan operasi tunggal. Beberapa layanan mendukung Atribut partialFailure untuk mengubah perilaku ini. Lihat Mengubah Resource untuk informasi lebih mendetail tentang semantik operasi mutate.

Buat

Operasi pembuatan akan menghasilkan entity baru dan harus menyertakan JSON lengkap yang mewakili 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 untuk menentukan kolom yang ingin Anda ubah.

Untuk menentukan kolom yang ingin diperbarui, tetapkan atribut updateMask ke daftar nama {i>field<i} yang dipisahkan koma. Hal ini sangat berguna jika Anda sudah memiliki representasi JSON yang sepenuhnya terbentuk dari suatu objek (misalnya, oleh panggilan API sebelumnya), tetapi hanya ingin mengubah kolom tertentu. Alih-alih memangkas objek JSON, Anda cukup mencantumkan nama kolom untuk diubah di updateMask dan mengirim seluruh objek JSON.

Contoh di bawah ini mengubah name dan status kampanye yang ada yang memiliki resourceName yang diberikan.

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, dengan menetapkan status Google Ads-nya 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"
    }
  ]
}