Kaynak hizmeti mutasyonları

Bir kaynağın özel hizmetini kullanmak, Google Ads API'de tek bir kaynak türündeki varlıkları oluşturmanın, güncellemenin veya kaldırmanın en doğrudan yoludur.

Değiştirme uç noktaları

Değiştirilebilir her kaynağın karşılık gelen bir hizmeti ve işlem türü vardır. Bir kaynağı özel hizmetini kullanarak değiştirmek için işlemde aşağıdaki alanlardan birini doldurun ve hizmetin değiştirme uç noktasına gönderin:

  • Oluştur (create): Oluşturulacak yeni bir kaynak nesnesi.
  • Güncelleme (update): Değiştirilen kaynak nesnesi ve değiştirilen alanları belirten bir update_mask.
  • Kaldır (remove): Kaldırılacak hedef kaynağın resource_name dizesi.

Örneğin, yeni bir Campaign oluşturmak için aşağıdaki adımları tamamlayın:

  1. Seçtiğiniz özelliklerle bir Campaign nesnesi oluşturun.
  2. Bu değeri bir CampaignOperation öğesinin create alanına atayın.
  3. İşlemi MutateCampaignsRequest biçiminde CampaignService.MutateCampaigns adresine gönderin.

Aynı kalıp, Google Ads API'deki tüm kaynağa özgü hizmetler için geçerlidir:

Aşağıdaki REST JSON yükü, CampaignService.MutateCampaigns isteğini gösterir:

{
  "customerId": "CUSTOMER_ID",
  "operations": [
    {
      "create": {
        "name": "Interplanetary Cruise #1",
        "advertisingChannelType": "SEARCH",
        "status": "PAUSED",
        "manualCpc": {},
        "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
        "containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
      }
    }
  ],
  "partialFailure": false,
  "validateOnly": false
}

Birden fazla işlem ve sınırlama

Bir değişiklik isteğinin operations alanı tekrarlandığı için tek bir istek, söz konusu kaynak türü için birden fazla işlem (istek başına en fazla 10.000 işlem) içerebilir. Varsayılan olarak, partial_failure değerini true olarak ayarlamadığınız sürece, isteğin tüm işlemleri atomik olarak yürütülür.

Ancak, bireysel kaynak hizmetlerinin iki önemli sınırlaması vardır:

  • Tek kaynak türü: Bir kaynak hizmetine yapılan istek yalnızca söz konusu hizmet tarafından yönetilen kaynakları değiştirebilir.
  • Geçici kaynak kimlikleri veya çapraz referans yok: Kaynağa özel bir değiştirme çağrısındaki işlemler bağımsız olarak işlenir. Geçici negatif kimlikler (ör. customers/CUSTOMER_ID/campaigns/-1) atayamaz veya aynı istekteki diğer işlemlerden yeni oluşturulan öğelere referans veremezsiniz.

Tek bir istekte birden fazla kaynak türünü değiştirmeniz veya bağımlı işlemler genelinde geçici kaynak adlarına başvurmanız gerekiyorsa bunun yerine GoogleAdsService.Mutate kullanın.

Sürüme özgü farklılıklar

Kaynaklarda değişiklik yaparken desteklenen Google Ads API sürümleri arasındaki aşağıdaki farkları göz önünde bulundurun:

  • Yaşam döngüsü hedefi hizmetleri: 25. sürüm ve sonraki sürümlerde, Yeni Müşteri Edinme (new_customer_acquisition_goal_settings), Müşteri Elde Tutma (retention_goal_settings) ve Bağlılık Elde Tutma (loyalty_retention_goal_settings) dahil olmak üzere tüm yaşam döngüsü hedefleri, standart bir tekrarlanan operations alanı kullanılarak GoalService.MutateGoals ve CampaignGoalConfigService.MutateCampaignGoalConfigs aracılığıyla değiştirilir. Bu, CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals ve CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals'nin (v24 ve önceki sürümlerde yeni müşteri edinme için kullanılan ve tek bir operation alanını kabul eden) yerini alır.
  • Kampanya tarihi ve saati alanları: Bir Campaign oluşturulurken veya güncellenirken v23 ve sonraki sürümlerde, v22'de kullanılan yalnızca tarihli start_date ve end_date alanlarının yerine start_date_time ve end_date_time (yyyy-MM-dd HH:mm:ss) alanları kullanılır.
  • Yapay içerik onayının değiştirilebilirliği: Asset.synthetic_content_info ve Ad.synthetic_content_info, v22 ve sonraki sürümlerin şemasında görünse de synthetic_content_info.advertiser_attestation.status ve synthetic_content_info.advertiser_attestation.source alanları yalnızca v23 ve sonraki sürümlerde değiştirilebilir (system_attestation her zaman OUTPUT_ONLY'dir). v22'de advertiser_attestation alt alanlarını değiştirmeye çalışmak değiştirilemez alan hatası ("The field attempted to be mutated is immutable" veya "Field cannot be set") döndürür.