Nesneleri değiştirme

API yapısı kılavuzunda belirtildiği gibi, Google Ads API'deki her üst düzey kaynağın, kaynak örneklerinin değiştirilmesini destekleyen, kaynak türüne özgü bir hizmeti vardır. Tek bir istekte birden fazla kaynak türünü atomik olarak değiştirmek için GoogleAdsService.Mutate öğesini de kullanabilirsiniz.

Bu kılavuzda, CampaignService kullanılarak Campaign nesnelerinin nasıl değiştirileceği gösterilmektedir ancak aynı kavramlar, kaynağa özgü diğer tüm hizmetler için de geçerlidir.

Değişiklik istekleri

Her kaynağa özgü hizmetin, mutate isteğini kabul eden bir mutate yöntemi vardır. Bu istek şunlardan oluşur:

  • customer_id (veya REST URL'lerinde customerId)
  • operations koleksiyonu
  • partial_failure, validate_only ve response_content_type gibi isteğe bağlı yürütme ayarları (değiştirilebilir kaynağın mı yoksa yalnızca kaynak adının mı değişiklikten sonra döndürüleceğini belirler)

Örneğin, CampaignService yönteminin MutateCampaigns işlevi, aşağıdakilerden oluşan bir MutateCampaignsRequest kabul eder:

  • customer_id
  • CampaignOperation nesne koleksiyonu (operations)
  • İsteğe bağlı yürütme ayarları (partial_failure, validate_only ve response_content_type tercih edilen yanıt türünü gösterir)

İşlemler

CampaignOperation gibi bir işlem nesnesi, operation alanını ayarlayarak tek bir kaynakta gerçekleştirmek istediğiniz işlemi belirtmenize olanak tanır. Bu alan, aşağıdaki özelliklerden oluşan bir oneof alanıdır:

create
Kaynağın yeni bir örneğini oluşturur.
update
Kaynağı, update kaynağının özellikleriyle eşleşecek şekilde günceller. Bu alan ayarlandığında, işlemin update_mask değerini de ayarlamanız gerekir. Bu değer, güncelleme işlemi sırasında hangi özelliklerin değiştirileceğini Google Ads API'ye bildirir. Her istemci kitaplığı, sizin için update_mask oluşturan bir alan maskesi yardımcı programı veya yardımcı yöntem içerir.
remove
Kaynak adı dizesiyle (örneğin, customers/1234567890/campaigns/987654321) belirtilen kaynağı kaldırır.

operation alanı bir oneof alanı olduğundan birden fazla nesneyi tek bir işlemle değiştiremezsiniz. Örneğin, bir kampanya oluşturup başka bir kampanyayı kaldırmak istiyorsanız isteğinize CampaignOperation öğesinin iki örneğini ekleyin: biri create ayarlanmış, diğeri ise remove ayarlanmış olsun.

Toplu işlemler

Tek bir işlem yalnızca tek bir kaynağı oluşturabilir, güncelleyebilir veya kaldırabilir. Ancak tek bir değişiklik isteği birden fazla işlem içerebilir. Her biri tek bir işlem içeren birden fazla değişiklik isteği göndermek yerine işlemlerinizi tek bir değişiklik isteğinde birleştirmelisiniz.

Örneğin, on kampanya oluşturmak istiyorsanız on CampaignOperation nesnesi içeren tek bir MutateCampaignsRequest göndermeniz gerekir. Farklı kaynak türlerindeki işlemleri tek bir istekte gruplandırmak için GoogleAdsService.Mutate veya mutating resources kullanın.

Yanıtları değiştirme

Yanıtın ne döndüreceği, değişiklik isteğinin response_content_type alanında gönderilenlere bağlıdır. Örneğin, MUTABLE_RESOURCE belirtilirse yanıt hem kaynağın resource_name hem de kampanyanın campaign içindeki değiştirilebilir alanlarını içerir. Varsayılan olarak (RESOURCE_NAME_ONLY), her MutateCampaignResult içinde yalnızca resource_name doldurulur.

Değişiklik hataları

Varsayılan olarak (partial_failure = false), bir değişiklik isteğindeki işlemler yalnızca istekteki her işlem başarılı olursa Google Ads hesabınıza uygulanır. Herhangi bir işlem başarısız olursa isteğin tamamı geri alınır. Kısmi hatayı destekleyen mutate istekleri (istek mesajında partial_failure alanı olanlar) için partial_failure = true ayarlandığında geçerli işlemler işlenir. Başarısız olan işlemler ise yanıttaki partial_failure_error alanında işleme özgü hatalar döndürür. Hataları ele alma hakkında ayrıntılı bilgi için kısmi başarısızlık kılavuzuna ve sık karşılaşılan hatalar kılavuzuna bakın.

Değişiklikleri izleme

Google Ads hesabınızdaki nesnelerde yapılan değişiklikleri izlemek veya nesnelerin mevcut durumunu almak için change_status ve change_event kaynaklarını kullanabilirsiniz.

  • change_status, belirli bir dönemde hangi kaynakların değiştiğinin özetini sağlar.
  • change_event, değiştirilen alanların eski ve yeni değerleri de dahil olmak üzere değişikliklerin ayrıntılı geçmişini sağlar.

Bu kaynakları sorgulamak için GoogleAdsService.SearchStream veya GoogleAdsService.Search yöntemini kullanın. GoogleAdsService kullanarakrapor akışı hakkında daha fazla bilgi edinin.