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'lerindecustomerId)operationskoleksiyonupartial_failure,validate_onlyveresponse_content_typegibi 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_idCampaignOperationnesne koleksiyonu (operations)- İsteğe bağlı yürütme ayarları (
partial_failure,validate_onlyveresponse_content_typetercih 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ğı,
updatekaynağının özellikleriyle eşleşecek şekilde günceller. Bu alan ayarlandığında, işleminupdate_maskdeğ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çinupdate_maskoluş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.