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.11.1'
DEFAULT_VERSION =

Set defaults

:v201402
DEFAULT_ENVIRONMENT =
:PRODUCTION
LATEST_VERSION =
:v201402
API_NAME =

Set other constants

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

Configure the services available to each version

{
  :v201306 => [
      :AdExtensionOverrideService,
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :AlertService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignAdExtensionService,
      :CampaignCriterionService,
      :CampaignFeedService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :ExperimentService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :GeoLocationService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :MutateJobService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService
  ],
  :v201309 => [
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :AlertService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignAdExtensionService,
      :CampaignCriterionService,
      :CampaignFeedService,
      :CampaignService,
      :CampaignSharedSetService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :ExperimentService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :GeoLocationService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :MutateJobService,
      :OfflineConversionFeedService,
      :ReportDefinitionService,
      :SharedCriterionService,
      :SharedSetService,
      :TargetingIdeaService,
      :TrafficEstimatorService
  ],
  :v201402 => [
      :AdGroupAdService,
      :AdGroupBidModifierService,
      :AdGroupCriterionService,
      :AdGroupFeedService,
      :AdGroupService,
      :AdParamService,
      :AdwordsUserListService,
      :AlertService,
      :BiddingStrategyService,
      :BudgetOrderService,
      :BudgetService,
      :CampaignAdExtensionService,
      :CampaignCriterionService,
      :CampaignFeedService,
      :CampaignService,
      :ConstantDataService,
      :ConversionTrackerService,
      :CustomerFeedService,
      :CustomerService,
      :CustomerSyncService,
      :DataService,
      :ExperimentService,
      :FeedItemService,
      :FeedMappingService,
      :FeedService,
      :GeoLocationService,
      :LocationCriterionService,
      :ManagedCustomerService,
      :MediaService,
      :MutateJobService,
      :OfflineConversionFeedService,
      :ReportDefinitionService,
      :TargetingIdeaService,
      :TrafficEstimatorService
  ]
}
@@environment_config =

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

{
  :PRODUCTION => {
    :oauth_scope => 'https://adwords.google.com/api/adwords/',
    :header_ns => 'https://adwords.google.com/api/adwords/cm/',
    :v201306 => 'https://adwords.google.com/api/adwords/',
    :v201309 => 'https://adwords.google.com/api/adwords/',
    :v201402 => '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.

{
  # v201306
  [:v201306, :AdExtensionOverrideService] => 'cm/',
  [:v201306, :AdGroupAdService] => 'cm/',
  [:v201306, :AdGroupBidModifierService] => 'cm/',
  [:v201306, :AdGroupCriterionService] => 'cm/',
  [:v201306, :AdGroupFeedService] => 'cm/',
  [:v201306, :AdGroupService] => 'cm/',
  [:v201306, :AdParamService] => 'cm/',
  [:v201306, :AlertService] => 'mcm/',
  [:v201306, :BudgetOrderService] => 'billing/',
  [:v201306, :CampaignAdExtensionService] => 'cm/',
  [:v201306, :CampaignCriterionService] => 'cm/',
  [:v201306, :CampaignFeedService] => 'cm/',
  [:v201306, :CampaignService] => 'cm/',
  [:v201306, :CampaignSharedSetService] => 'cm/',
  [:v201306, :ConstantDataService] => 'cm/',
  [:v201306, :ConversionTrackerService] => 'cm/',
  [:v201306, :CustomerSyncService] => 'ch/',
  [:v201306, :DataService] => 'cm/',
  [:v201306, :ExperimentService] => 'cm/',
  [:v201306, :FeedItemService] => 'cm/',
  [:v201306, :FeedMappingService] => 'cm/',
  [:v201306, :FeedService] => 'cm/',
  [:v201306, :GeoLocationService] => 'cm/',
  [:v201306, :LocationCriterionService] => 'cm/',
  [:v201306, :MediaService] => 'cm/',
  [:v201306, :MutateJobService] => 'cm/',
  [:v201306, :ReportDefinitionService] => 'cm/',
  [:v201306, :SharedCriterionService] => 'cm/',
  [:v201306, :SharedSetService] => 'cm/',
  [:v201306, :TargetingIdeaService] => 'o/',
  [:v201306, :TrafficEstimatorService] => 'o/',
  [:v201306, :ManagedCustomerService] => 'mcm/',
  [:v201306, :CustomerService] => 'mcm/',
  [:v201306, :BudgetService] => 'cm/',
  [:v201306, :BiddingStrategyService] => 'cm/',
  [:v201306, :AdwordsUserListService] => 'rm/',
  # v201309
  [:v201309, :AdGroupAdService] => 'cm/',
  [:v201309, :AdGroupBidModifierService] => 'cm/',
  [:v201309, :AdGroupCriterionService] => 'cm/',
  [:v201309, :AdGroupFeedService] => 'cm/',
  [:v201309, :AdGroupService] => 'cm/',
  [:v201309, :AdParamService] => 'cm/',
  [:v201309, :AlertService] => 'mcm/',
  [:v201309, :BudgetOrderService] => 'billing/',
  [:v201309, :CampaignAdExtensionService] => 'cm/',
  [:v201309, :CampaignCriterionService] => 'cm/',
  [:v201309, :CampaignFeedService] => 'cm/',
  [:v201309, :CampaignService] => 'cm/',
  [:v201309, :CampaignSharedSetService] => 'cm/',
  [:v201309, :ConstantDataService] => 'cm/',
  [:v201309, :ConversionTrackerService] => 'cm/',
  [:v201309, :CustomerSyncService] => 'ch/',
  [:v201309, :DataService] => 'cm/',
  [:v201309, :ExperimentService] => 'cm/',
  [:v201309, :FeedItemService] => 'cm/',
  [:v201309, :FeedMappingService] => 'cm/',
  [:v201309, :FeedService] => 'cm/',
  [:v201309, :GeoLocationService] => 'cm/',
  [:v201309, :LocationCriterionService] => 'cm/',
  [:v201309, :MediaService] => 'cm/',
  [:v201309, :MutateJobService] => 'cm/',
  [:v201309, :OfflineConversionFeedService] => 'cm/',
  [:v201309, :ReportDefinitionService] => 'cm/',
  [:v201309, :SharedCriterionService] => 'cm/',
  [:v201309, :SharedSetService] => 'cm/',
  [:v201309, :TargetingIdeaService] => 'o/',
  [:v201309, :TrafficEstimatorService] => 'o/',
  [:v201309, :ManagedCustomerService] => 'mcm/',
  [:v201309, :CustomerService] => 'mcm/',
  [:v201309, :BudgetService] => 'cm/',
  [:v201309, :BiddingStrategyService] => 'cm/',
  [:v201309, :AdwordsUserListService] => 'rm/',
  # v201402
  [:v201402, :AdGroupAdService] => 'cm/',
  [:v201402, :AdGroupBidModifierService] => 'cm/',
  [:v201402, :AdGroupCriterionService] => 'cm/',
  [:v201402, :AdGroupFeedService] => 'cm/',
  [:v201402, :AdGroupService] => 'cm/',
  [:v201402, :AdParamService] => 'cm/',
  [:v201402, :AlertService] => 'mcm/',
  [:v201402, :BudgetOrderService] => 'billing/',
  [:v201402, :CampaignAdExtensionService] => 'cm/',
  [:v201402, :CampaignCriterionService] => 'cm/',
  [:v201402, :CampaignFeedService] => 'cm/',
  [:v201402, :CampaignService] => 'cm/',
  [:v201402, :ConstantDataService] => 'cm/',
  [:v201402, :ConversionTrackerService] => 'cm/',
  [:v201402, :CustomerSyncService] => 'ch/',
  [:v201402, :DataService] => 'cm/',
  [:v201402, :ExperimentService] => 'cm/',
  [:v201402, :FeedItemService] => 'cm/',
  [:v201402, :FeedMappingService] => 'cm/',
  [:v201402, :FeedService] => 'cm/',
  [:v201402, :GeoLocationService] => 'cm/',
  [:v201402, :LocationCriterionService] => 'cm/',
  [:v201402, :MediaService] => 'cm/',
  [:v201402, :MutateJobService] => 'cm/',
  [:v201402, :OfflineConversionFeedService] => 'cm/',
  [:v201402, :ReportDefinitionService] => 'cm/',
  [:v201402, :TargetingIdeaService] => 'o/',
  [:v201402, :TrafficEstimatorService] => 'o/',
  [:v201402, :ManagedCustomerService] => 'mcm/',
  [:v201402, :CustomerService] => 'mcm/',
  [:v201402, :CustomerFeedService] => 'cm/',
  [:v201402, :BudgetService] => 'cm/',
  [:v201402, :BiddingStrategyService] => 'cm/',
  [:v201402, :AdwordsUserListService] => 'rm/'
}
@@client_login_config =

Auth constants for ClientLogin method.

{
  :AUTH_SERVER => 'https://www.google.com',
  :LOGIN_SERVICE_NAME => 'adwords'
}

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)



346
347
348
349
350
351
352
# File 'lib/adwords_api/api_config.rb', line 346

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



308
309
310
# File 'lib/adwords_api/api_config.rb', line 308

def self.api_name
  API_NAME
end

.client_login_config(key) ⇒ Object



325
326
327
# File 'lib/adwords_api/api_config.rb', line 325

def self.(key)
  return @@client_login_config[key]
end

.default_config_filenameObject



329
330
331
# File 'lib/adwords_api/api_config.rb', line 329

def self.default_config_filename
  DEFAULT_CONFIG_FILENAME
end

.default_environmentObject



300
301
302
# File 'lib/adwords_api/api_config.rb', line 300

def self.default_environment
  DEFAULT_ENVIRONMENT
end

.default_versionObject

Getters for constants and module variables.



296
297
298
# File 'lib/adwords_api/api_config.rb', line 296

def self.default_version
  DEFAULT_VERSION
end

.environment_config(environment, key) ⇒ Object



316
317
318
319
# File 'lib/adwords_api/api_config.rb', line 316

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

.headers_configObject



333
334
335
# File 'lib/adwords_api/api_config.rb', line 333

def self.headers_config
  @@headers_config
end

.latest_versionObject



304
305
306
# File 'lib/adwords_api/api_config.rb', line 304

def self.latest_version
  LATEST_VERSION
end

.service_configObject



312
313
314
# File 'lib/adwords_api/api_config.rb', line 312

def self.service_config
  @@service_config
end

.subdir_configObject



321
322
323
# File 'lib/adwords_api/api_config.rb', line 321

def self.subdir_config
  @@subdir_config
end