Değişim

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

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

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

Değişen kampanyalarda kullanılan URL'yi türetmek için sondaki kaynak kimliğini çıkarıp :mutate ekleyin:

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

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

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

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

Tek bir API isteği içindeki işlemler, varsayılan olarak bir dizi işlem şeklinde yürütülür. Diğer bir deyişle, hepsi birlikte başarılı olur veya herhangi bir işlem başarısız olursa grubun tamamı başarısız olur. Bazı hizmetler, bu davranışı değiştirmek için partialFailure özelliğini destekler. Değişim işlemi semantiği hakkında daha ayrıntılı bilgi için Kaynakları Değiştirme bölümüne bakın.

Üret

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

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

Güncelle

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

Güncellemek istediğiniz alanları belirtmek için updateMask özelliğini, alan adlarının virgülle ayrılmış bir listesine ayarlayın. Bu, özellikle bir nesnenin tam olarak biçimlendirilmiş bir JSON gösterimine sahipseniz (örneğin, önceki bir API çağrısının döndürdüğü gibi) ancak yalnızca belirli alanları değiştirmek istiyorsanız yararlı olur. JSON nesnesini budamak yerine, updateMask içinde değiştirilecek alan adlarını listeleyebilir ve JSON nesnesinin tamamını gönderebilirsiniz.

Aşağıdaki örnekte, belirtilen resourceName değerine sahip mevcut bir kampanyanın name ve status özellikleri değiştirilmiştir.

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

Kaldır

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

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