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, Campaign nesnelerinin değiştirilmesini göstermek için CampaignService kullanılmıştır ancak aynı kavramlar, kaynağa özgü diğer tüm hizmetler için de geçerlidir.

Değişiklik istekleri

Kaynağa özgü her hizmetin, değişiklik isteği 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 (değişiklikten sonra değiştirilebilir kaynağın mı yoksa yalnızca kaynak adının mı döndürüleceğini belirler) gibi isteğe bağlı yürütme ayarları

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

  • customer_id
  • CampaignOperation nesneden oluşan bir koleksiyon (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 belirtilen kaynağı kaldırır (ör. customers/1234567890/campaigns/987654321).

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

Toplu işlemler

Tek bir işlem yalnızca tek bir kaynak 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ştirmeniz gerekir.

Ö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 kaynakları değiştirme yöntemini kullanın.

Yanıtları değiştirme

Yanıtta döndürülenler, 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 değerini hem de kampanyanın campaign içindeki değiştirilebilir alanlarını içerir. Varsayılan olarak (RESOURCE_NAME_ONLY), her MutateCampaignResult için 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 değişiklik isteklerinde (istek mesajında partial_failure alanı bulunanlar) partial_failure = true ayarı, geçerli işlemleri işlerken başarısız işlemler, yanıtın 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 hata 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.