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'lerindecustomerId)operationskoleksiyonupartial_failure,validate_onlyveresponse_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_idCampaignOperationnesneden oluşan bir koleksiyon (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 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.