API yapısı kılavuzunda açıklandığı gibi, Google Ads API'deki her üst düzey kaynağın, kaynağın örneklerini değiştirmeyi destekleyen, kaynağa özgü bir hizmeti vardır. Tek bir istekte birden fazla kaynak türünü atomik olarak değiştirmek için GoogleAdsService.Mutate yöntemini de kullanabilirsiniz.
Bu kılavuzda, Campaign nesnelerinin değiştirilmesi CampaignService kullanılarak gösterilmektedir 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 şunları içerir:
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 sınıfının MutateCampaigns yöntemi, aşağıdakilerden oluşan bir MutateCampaignsRequest kabul eder:
customer_idCampaignOperationnesnelik bir koleksiyon (operations)- İsteğe bağlı yürütme ayarları (
partial_failure,validate_onlyveresponse_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ğı,
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, Google Ads API'ye güncelleme işlemi sırasında hangi özelliklerin değiştirileceğini 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 (ör.
customers/1234567890/campaigns/987654321) belirtilen kaynağı kaldırır.
operation alanı bir oneof alanı olduğundan, birden fazla nesneyi değiştirmek için tek bir işlem kullanamazsınız. Ö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 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 mutating resources kullanın.
Değişiklik yanıtları
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 campaign içindeki kampanyanın 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 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 sunar.change_event, değiştirilen alanların eski ve yeni değerleri de dahil olmak üzere değişikliklerin ayrıntılı bir geçmişini sağlar.
Bu kaynakları sorgulamak için GoogleAdsService.SearchStream veya GoogleAdsService.Search yöntemini kullanın. GoogleAdsService kullanarak rapor akışı oluşturma hakkında daha fazla bilgi edinin.