Değişim

Çoğu kaynak Mutate yöntemi kullanılarak değiştirilir (oluşturulur, güncellenir veya kaldırılır). Mutate yöntemi, kaynak adı kalıbıyla eşleşen kaynağa özgü URL'ye, sondaki kaynak kimliği olmadan HTTP POST olarak çağrılır. Dönüştürülecek kaynakların kimlikleri, bunun yerine JSON istek gövdesinde gönderilir. Bu, farklı kaynaklarda birden fazla işlem içeren tek bir API çağrısı gönderebilmenizi sağlar.

Örneğin, bir kampanyanın kaynak adı aşağıdaki biçimi kullanır:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

Kampanyaları değiştirmek amacıyla kullanılan URL'yi elde etmek için sondaki kaynak kimliğini çıkarın ve :mutate ekleyin:

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

Bir Mutate mesajı, birçok operation nesnesi içerebilen operations dizisine sahip üst düzey JSON nesnesi içerir. Buna karşılık her işlem, şunlardan biri olabilir: create, update veya remove. Olası tek değiştirme işlemleri bunlardır.

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": [
    ...
  ]
}

Çoğu hizmet, tek bir API çağrısında binlerce işlemi destekler. Sistem Sınırları kılavuzu, istek boyutlarıyla ilgili sınırlamaları belgeler.

Tek bir API isteğindeki işlemler, varsayılan olarak tek bir işlem grubu olarak yürütülür. Yani ya tüm işlemler birlikte başarılı olur ya da herhangi bir tek işlem başarısız olursa toplu işlem başarısız olur. Bazı hizmetler, bu davranışı değiştirmek için bir partialFailure özelliğini destekler. Değişim işlemi semantiği hakkında daha ayrıntılı bilgi için Kaynakları Yoksayma bölümüne bakın.

Oluştur

Oluşturma işlemleri yeni varlıklar üretir ve oluşturmak istediğiniz kaynağın tam JSON temsilini içermelidir.

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": {}
      }
    }
  ]
}

Güncelle

Güncelleme işlemleri, mevcut bir kaynakta seyrek güncelleme gerçekleştirir. Yalnızca değiştirmek istediğiniz alanları belirtmeniz gerekir.

Güncellemek istediğiniz alanları belirtmek için updateMask özelliğini, alan adlarının virgülle ayrılmış listesine ayarlayın. Bu, özellikle bir nesnenin tam olarak oluşturulmuş JSON temsiline sahipseniz (örneğin, önceki bir API çağrısı tarafından döndürülen) ancak yalnızca belirli alanları değiştirmek istiyorsanız faydalıdır. JSON nesnesini ayıklamak yerine, updateMask aracında değiştirilecek alan adlarını listeleyip tüm JSON nesnesini gönderebilirsiniz.

Aşağıdaki örnekte, resourceName verilen mevcut bir kampanyanın name ve status değerleri değiştirilmektedir.

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",
      }
    }
  ]
}

Kaldır

Kaldırma işlemleri bir nesneyi etkili bir şekilde siler ve nesnenin Google Ads durumunu REMOVED olarak ayarlar. Yalnızca kaldırılacak resourceName gerekli.

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"
    }
  ]
}