Kaynakların çoğu Mutate
yöntemi kullanılarak değiştirilir (oluşturulur, güncellenir veya kaldırılır). Mutate
yöntemi, kaynak adına özel bir URL'ye HTTP POST
olarak çağrılır. Bu URL, kaynak adı kalıbıyla eşleşir ve sonunda kaynak kimliği bulunmaz.
Değiştirilecek kaynakların kimlikleri bunun yerine JSON isteği 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
Kampanyaları değiştirme için kullanılan URL'yi elde etmek üzere sondaki kaynak kimliğini atlayın ve :mutate
ekleyin:
https://googleads.googleapis.com/v20/customers/CUSTOMER_ID/campaigns:mutate
Bir Mutate
mesajı, birçok operation
nesnesi içerebilen bir operations
dizisine sahip üst düzey bir JSON nesnesi içerir. Her işlem sırayla create
, update
veya remove
olabilir. Olası tek mutasyon işlemleri bunlardır.
POST /v20/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ılavuzunda istek boyutlarıyla ilgili sınırlamalar açıklanmaktadır.
Tek bir API isteğindeki işlemler varsayılan olarak tek bir işlem grubu şeklinde yürütülür. Bu nedenle, tek bir işlem başarısız olursa tüm toplu işlem başarısız olur. Bazı hizmetler, bu davranışı değiştirmek için partialFailure
özelliğini destekler. Değiştirme işlemi semantiği hakkında daha ayrıntılı bilgi için Kaynakları Değiştirme bölümüne bakın.
Oluştur
Oluşturma işlemleri yeni öğeler oluşturur ve oluşturmak istediğiniz kaynağın tam JSON gösterimini içermelidir.
POST /v20/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 gerekir.
Güncellemek istediğiniz alanları belirtmek için updateMask
özelliğini virgülle ayrılmış alan adları listesi olarak ayarlayın. Bu, özellikle bir nesnenin tam olarak oluşturulmuş bir JSON gösterimine (örneğin, önceki bir API çağrısı tarafından döndürüldüğü gibi) sahipseniz ancak yalnızca belirli alanları değiştirmek istiyorsanız kullanışlıdır.
JSON nesnesini budamak yerine, updateMask
içinde değiştirilecek alan adlarını listeleyip JSON nesnesinin tamamını gönderebilirsiniz.
Aşağıdaki örnekte, belirli bir resourceName
değerine sahip mevcut bir kampanyanın name
ve status
değerleri değiştirilmektedir.
POST /v20/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 /v20/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" } ] }