Kaynak hizmeti mutasyonları

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

Değişiklik uç noktaları

Değiştirilebilir her kaynağın karşılık gelen bir hizmeti ve işlem türü vardır. Özel hizmetini kullanarak bir kaynağı değiştirmek için işlemdeki 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.
  • Remove (remove): Kaldırılacak hedef kaynağın resource_name dizesi.

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

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

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

Aşağıdaki REST JSON yükü, CampaignService.MutateCampaigns için bir isteği göstermektedir:

{
  "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 çok işlem ve sınırlama

Kaynağa özgü değişiklik isteklerinin çoğu yinelenen bir operations alanı kabul eder. Bu nedenle, tek bir istek ilgili kaynak türü için birden fazla işlem içerebilir (istek başına en fazla 10.000 işlem veya AdGroupCriterionService.MutateAdGroupCriteria için 20.000 işlem; CustomerService.MutateCustomer tekil bir operation alanını kabul eder). Hizmet partial_failure özelliğini desteklemediği ve siz bu özelliği true olarak ayarlamadığınız sürece istekteki tüm işlemler varsayılan olarak atomik şekilde yürütülür.

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

  • Tek kaynak türü: Bir kaynak hizmetine gönderilen istek, yalnızca o hizmet tarafından yönetilen kaynakları değiştirebilir.
  • Kaynaklar arası geçici kimlikler kullanılamaz: Kaynağa özel bir mutate çağrısı yalnızca tek bir kaynak türünü kabul ettiğinden, bir üst kaynağa (ör. customers/CUSTOMER_ID/campaigns/-1) geçici bir negatif kimlik atayamaz ve aynı istekte farklı türdeki bir alt kaynaktan (ör. AdGroup) bu kimliğe referans veremezsiniz. (Aynı kaynak türü içindeki kendi kendine referans veren geçici kimlikler, AdGroupCriterion listeleme grupları ve AssetGroupListingGroupFilter düğümleri gibi hiyerarşik ağaçlar için desteklenir.)

Tek bir istekte birden fazla kaynak türünü değiştirmeniz veya farklı kaynak türleri arasında geçici kaynak adlarına referans vermeniz gerekiyorsa bunun yerine GoogleAdsService.Mutate kullanın.

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

Kaynakları değiştirirken desteklenen Google Ads API sürümleri arasındaki aşağıdaki farkı göz önünde bulundurun:

  • Yaşam döngüsü hedefi hizmetleri: Müşteriyi elde tutma hedefleri, standart bir yinelenen operations alanı kullanılarak GoalService.MutateGoals (retention_goal_settings) ve CampaignGoalConfigService.MutateCampaignGoalConfigs (campaign_retention_settings) aracılığıyla desteklenen tüm sürümlerde değiştirilir. v25 ve sonraki sürümlerde, yeni müşteri edinme (new_customer_acquisition_goal_settings / campaign_new_customer_acquisition_settings) ve bağlılık elde tutma (loyalty_retention_goal_settings / campaign_loyalty_retention_settings) de GoalService.MutateGoals ve CampaignGoalConfigService.MutateCampaignGoalConfigs aracılığıyla değiştirilir. Bu, 23 ve 24 sürümlerinde yeni müşteri edinme için kullanılan ve tek bir operation alanı kabul eden CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals ve CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals alanlarının yerini alır.