Module: AdwordsApi::ApiConfig

Extended by:
AdsCommon::ApiConfig
Defined in:
lib/adwords_api/api_config.rb,
lib/adwords_api/version.rb

Overview

Contains helper methods for loading and managing the available services.

Constant Summary collapse

CLIENT_LIB_VERSION =
'0.21.1'
DEFAULT_VERSION =

Set defaults

:v201609
DEFAULT_ENVIRONMENT =
:PRODUCTION
LATEST_VERSION =
:v201609
API_NAME =

Set other constants

'AdwordsApi'
DEFAULT_CONFIG_FILENAME =
'adwords_api.yml'
@@service_config =

Configure the services available to each version

{
  :v201603 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftService,
      :DraftAsyncErrorService,
      :ExperimentService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineConversionFeedService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialService,
      :TrialAsyncErrorService
  ],
  :v201605 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftService,
      :DraftAsyncErrorService,
      :ExperimentService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineConversionFeedService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialService,
      :TrialAsyncErrorService
  ],
  :v201607 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftService,
      :DraftAsyncErrorService,
      :ExperimentService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineConversionFeedService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialService,
      :TrialAsyncErrorService
  ],
  :v201609 => [
      :AccountLabelService,
      :AdCustomizerFeedService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupExtensionSettingService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :BatchJobService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignCriterionService,
      :CampaignExtensionSettingService,
      :CampaignFeedService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerExtensionSettingService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :DraftService,
      :DraftAsyncErrorService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :LabelService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :OfflineConversionFeedService,
      :OfflineCallConversionFeedService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService,
      :TrialService,
      :TrialAsyncErrorService
  ]
}
@@environment_config =

Configure the different environments, with the base URL for each one

{
  :PRODUCTION => {
    :oauth_scope => 'https://www.googleapis.com/auth/adwords',
    :header_ns => 'https://adwords.google.com/api/adwords/cm/',
    :v201603 => 'https://adwords.google.com/api/adwords/',
    :v201605 => 'https://adwords.google.com/api/adwords/',
    :v201607 => 'https://adwords.google.com/api/adwords/',
    :v201609 => 'https://adwords.google.com/api/adwords/'
  }
}
@@subdir_config =

Configure the subdirectories for each version / service pair. A missing pair means that only the base URL is used.

{
  # v201603
  [:v201603, :AccountLabelService] => 'mcm/',
  [:v201603, :AdCustomizerFeedService] => 'cm/',
  [:v201603, :AdGroupAdService] => 'cm/',
  [:v201603, :AdGroupBidModifierService] => 'cm/',
  [:v201603, :AdGroupCriterionService] => 'cm/',
  [:v201603, :AdGroupExtensionSettingService] => 'cm/',
  [:v201603, :AdGroupFeedService] => 'cm/',
  [:v201603, :AdGroupService] => 'cm/',
  [:v201603, :AdParamService] => 'cm/',
  [:v201603, :BatchJobService] => 'cm/',
  [:v201603, :BudgetOrderService] => 'billing/',
  [:v201603, :CampaignCriterionService] => 'cm/',
  [:v201603, :CampaignExtensionSettingService] => 'cm/',
  [:v201603, :CampaignFeedService] => 'cm/',
  [:v201603, :CampaignService] => 'cm/',
  [:v201603, :CampaignSharedSetService] => 'cm/',
  [:v201603, :ConstantDataService] => 'cm/',
  [:v201603, :ConversionTrackerService] => 'cm/',
  [:v201603, :CustomerExtensionSettingService] => 'cm/',
  [:v201603, :CustomerSyncService] => 'ch/',
  [:v201603, :DataService] => 'cm/',
  [:v201603, :ExperimentService] => 'cm/',
  [:v201603, :FeedItemService] => 'cm/',
  [:v201603, :FeedMappingService] => 'cm/',
  [:v201603, :FeedService] => 'cm/',
  [:v201603, :LocationCriterionService] => 'cm/',
  [:v201603, :MediaService] => 'cm/',
  [:v201603, :OfflineConversionFeedService] => 'cm/',
  [:v201603, :ReportDefinitionService] => 'cm/',
  [:v201603, :SharedCriterionService] => 'cm/',
  [:v201603, :SharedSetService] => 'cm/',
  [:v201603, :TargetingIdeaService] => 'o/',
  [:v201603, :TrafficEstimatorService] => 'o/',
  [:v201603, :ManagedCustomerService] => 'mcm/',
  [:v201603, :CustomerService] => 'mcm/',
  [:v201603, :CustomerFeedService] => 'cm/',
  [:v201603, :BudgetService] => 'cm/',
  [:v201603, :BiddingStrategyService] => 'cm/',
  [:v201603, :AdwordsUserListService] => 'rm/',
  [:v201603, :LabelService] => 'cm/',
  [:v201603, :DraftService] => 'cm/',
  [:v201603, :DraftAsyncErrorService] => 'cm/',
  [:v201603, :TrialService] => 'cm/',
  [:v201603, :TrialAsyncErrorService] => 'cm/',
  # v201605
  [:v201605, :AccountLabelService] => 'mcm/',
  [:v201605, :AdCustomizerFeedService] => 'cm/',
  [:v201605, :AdGroupAdService] => 'cm/',
  [:v201605, :AdGroupBidModifierService] => 'cm/',
  [:v201605, :AdGroupCriterionService] => 'cm/',
  [:v201605, :AdGroupExtensionSettingService] => 'cm/',
  [:v201605, :AdGroupFeedService] => 'cm/',
  [:v201605, :AdGroupService] => 'cm/',
  [:v201605, :AdParamService] => 'cm/',
  [:v201605, :BatchJobService] => 'cm/',
  [:v201605, :BudgetOrderService] => 'billing/',
  [:v201605, :CampaignCriterionService] => 'cm/',
  [:v201605, :CampaignExtensionSettingService] => 'cm/',
  [:v201605, :CampaignFeedService] => 'cm/',
  [:v201605, :CampaignService] => 'cm/',
  [:v201605, :CampaignSharedSetService] => 'cm/',
  [:v201605, :ConstantDataService] => 'cm/',
  [:v201605, :ConversionTrackerService] => 'cm/',
  [:v201605, :CustomerExtensionSettingService] => 'cm/',
  [:v201605, :CustomerSyncService] => 'ch/',
  [:v201605, :DataService] => 'cm/',
  [:v201605, :ExperimentService] => 'cm/',
  [:v201605, :FeedItemService] => 'cm/',
  [:v201605, :FeedMappingService] => 'cm/',
  [:v201605, :FeedService] => 'cm/',
  [:v201605, :LocationCriterionService] => 'cm/',
  [:v201605, :MediaService] => 'cm/',
  [:v201605, :OfflineConversionFeedService] => 'cm/',
  [:v201605, :ReportDefinitionService] => 'cm/',
  [:v201605, :SharedCriterionService] => 'cm/',
  [:v201605, :SharedSetService] => 'cm/',
  [:v201605, :TargetingIdeaService] => 'o/',
  [:v201605, :TrafficEstimatorService] => 'o/',
  [:v201605, :ManagedCustomerService] => 'mcm/',
  [:v201605, :CustomerService] => 'mcm/',
  [:v201605, :CustomerFeedService] => 'cm/',
  [:v201605, :BudgetService] => 'cm/',
  [:v201605, :BiddingStrategyService] => 'cm/',
  [:v201605, :AdwordsUserListService] => 'rm/',
  [:v201605, :LabelService] => 'cm/',
  [:v201605, :DraftService] => 'cm/',
  [:v201605, :DraftAsyncErrorService] => 'cm/',
  [:v201605, :TrialService] => 'cm/',
  [:v201605, :TrialAsyncErrorService] => 'cm/',
  # v201607
  [:v201607, :AccountLabelService] => 'mcm/',
  [:v201607, :AdCustomizerFeedService] => 'cm/',
  [:v201607, :AdGroupAdService] => 'cm/',
  [:v201607, :AdGroupBidModifierService] => 'cm/',
  [:v201607, :AdGroupCriterionService] => 'cm/',
  [:v201607, :AdGroupExtensionSettingService] => 'cm/',
  [:v201607, :AdGroupFeedService] => 'cm/',
  [:v201607, :AdGroupService] => 'cm/',
  [:v201607, :AdParamService] => 'cm/',
  [:v201607, :BatchJobService] => 'cm/',
  [:v201607, :BudgetOrderService] => 'billing/',
  [:v201607, :CampaignCriterionService] => 'cm/',
  [:v201607, :CampaignExtensionSettingService] => 'cm/',
  [:v201607, :CampaignFeedService] => 'cm/',
  [:v201607, :CampaignService] => 'cm/',
  [:v201607, :CampaignSharedSetService] => 'cm/',
  [:v201607, :ConstantDataService] => 'cm/',
  [:v201607, :ConversionTrackerService] => 'cm/',
  [:v201607, :CustomerExtensionSettingService] => 'cm/',
  [:v201607, :CustomerSyncService] => 'ch/',
  [:v201607, :DataService] => 'cm/',
  [:v201607, :ExperimentService] => 'cm/',
  [:v201607, :FeedItemService] => 'cm/',
  [:v201607, :FeedMappingService] => 'cm/',
  [:v201607, :FeedService] => 'cm/',
  [:v201607, :LocationCriterionService] => 'cm/',
  [:v201607, :MediaService] => 'cm/',
  [:v201607, :OfflineConversionFeedService] => 'cm/',
  [:v201607, :ReportDefinitionService] => 'cm/',
  [:v201607, :SharedCriterionService] => 'cm/',
  [:v201607, :SharedSetService] => 'cm/',
  [:v201607, :TargetingIdeaService] => 'o/',
  [:v201607, :TrafficEstimatorService] => 'o/',
  [:v201607, :ManagedCustomerService] => 'mcm/',
  [:v201607, :CustomerService] => 'mcm/',
  [:v201607, :CustomerFeedService] => 'cm/',
  [:v201607, :BudgetService] => 'cm/',
  [:v201607, :BiddingStrategyService] => 'cm/',
  [:v201607, :AdwordsUserListService] => 'rm/',
  [:v201607, :LabelService] => 'cm/',
  [:v201607, :DraftService] => 'cm/',
  [:v201607, :DraftAsyncErrorService] => 'cm/',
  [:v201607, :TrialService] => 'cm/',
  [:v201607, :TrialAsyncErrorService] => 'cm/',
  # v201609
  [:v201609, :AccountLabelService] => 'mcm/',
  [:v201609, :AdCustomizerFeedService] => 'cm/',
  [:v201609, :AdGroupAdService] => 'cm/',
  [:v201609, :AdGroupBidModifierService] => 'cm/',
  [:v201609, :AdGroupCriterionService] => 'cm/',
  [:v201609, :AdGroupExtensionSettingService] => 'cm/',
  [:v201609, :AdGroupFeedService] => 'cm/',
  [:v201609, :AdGroupService] => 'cm/',
  [:v201609, :AdParamService] => 'cm/',
  [:v201609, :BatchJobService] => 'cm/',
  [:v201609, :BudgetOrderService] => 'billing/',
  [:v201609, :CampaignCriterionService] => 'cm/',
  [:v201609, :CampaignExtensionSettingService] => 'cm/',
  [:v201609, :CampaignFeedService] => 'cm/',
  [:v201609, :CampaignService] => 'cm/',
  [:v201609, :CampaignSharedSetService] => 'cm/',
  [:v201609, :ConstantDataService] => 'cm/',
  [:v201609, :ConversionTrackerService] => 'cm/',
  [:v201609, :CustomerExtensionSettingService] => 'cm/',
  [:v201609, :CustomerSyncService] => 'ch/',
  [:v201609, :DataService] => 'cm/',
  [:v201609, :FeedItemService] => 'cm/',
  [:v201609, :FeedMappingService] => 'cm/',
  [:v201609, :FeedService] => 'cm/',
  [:v201609, :LocationCriterionService] => 'cm/',
  [:v201609, :MediaService] => 'cm/',
  [:v201609, :OfflineConversionFeedService] => 'cm/',
  [:v201609, :OfflineCallConversionFeedService] => 'cm/',
  [:v201609, :ReportDefinitionService] => 'cm/',
  [:v201609, :SharedCriterionService] => 'cm/',
  [:v201609, :SharedSetService] => 'cm/',
  [:v201609, :TargetingIdeaService] => 'o/',
  [:v201609, :TrafficEstimatorService] => 'o/',
  [:v201609, :ManagedCustomerService] => 'mcm/',
  [:v201609, :CustomerService] => 'mcm/',
  [:v201609, :CustomerFeedService] => 'cm/',
  [:v201609, :BudgetService] => 'cm/',
  [:v201609, :BiddingStrategyService] => 'cm/',
  [:v201609, :AdwordsUserListService] => 'rm/',
  [:v201609, :LabelService] => 'cm/',
  [:v201609, :DraftService] => 'cm/',
  [:v201609, :DraftAsyncErrorService] => 'cm/',
  [:v201609, :TrialService] => 'cm/',
  [:v201609, :TrialAsyncErrorService] => 'cm/'
}

Class Method Summary collapse

Class Method Details

.adhoc_report_download_url(environment, version) ⇒ Object

Get the download URL for Ad Hoc reports.

Args:

  • environment: the service environment to be used

  • version: the API version (as a symbol)

Returns:

  • The endpoint URL (as a string)



478
479
480
481
482
483
484
# File 'lib/adwords_api/api_config.rb', line 478

def self.adhoc_report_download_url(environment, version)
  base = get_wsdl_base(environment, version)
  if base
    base += 'reportdownload/%s' % version.to_s
  end
  return base
end

.api_nameObject



444
445
446
# File 'lib/adwords_api/api_config.rb', line 444

def self.api_name
  API_NAME
end

.default_config_filenameObject



461
462
463
# File 'lib/adwords_api/api_config.rb', line 461

def self.default_config_filename
  DEFAULT_CONFIG_FILENAME
end

.default_environmentObject



436
437
438
# File 'lib/adwords_api/api_config.rb', line 436

def self.default_environment
  DEFAULT_ENVIRONMENT
end

.default_versionObject

Getters for constants and module variables.



432
433
434
# File 'lib/adwords_api/api_config.rb', line 432

def self.default_version
  DEFAULT_VERSION
end

.environment_config(environment, key) ⇒ Object



452
453
454
455
# File 'lib/adwords_api/api_config.rb', line 452

def self.environment_config(environment, key)
  return @@environment_config.include?(environment) ?
      @@environment_config[environment][key] : nil
end

.headers_configObject



465
466
467
# File 'lib/adwords_api/api_config.rb', line 465

def self.headers_config
  @@headers_config
end

.latest_versionObject



440
441
442
# File 'lib/adwords_api/api_config.rb', line 440

def self.latest_version
  LATEST_VERSION
end

.service_configObject



448
449
450
# File 'lib/adwords_api/api_config.rb', line 448

def self.service_config
  @@service_config
end

.subdir_configObject



457
458
459
# File 'lib/adwords_api/api_config.rb', line 457

def self.subdir_config
  @@subdir_config
end