From e6312299e23a744678d58be553dabc3a5f149d43 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Tue, 10 May 2022 19:46:27 +1000 Subject: [PATCH 01/24] WIP adding V13 --- .ruby-version | 1 + Dockerfile | 10 + Gemfile.lock | 56 +++--- bing_ads_api_v9.gemspec | 2 +- docker-compose.yaml | 6 + lib/bing_ads_api/api_config.rb | 28 ++- lib/bing_ads_api/v13/ad_insight_service.rb | 118 ++++++++++++ .../v13/ad_insight_service_registry.rb | 30 +++ lib/bing_ads_api/v13/bulk_service.rb | 54 ++++++ lib/bing_ads_api/v13/bulk_service_registry.rb | 30 +++ .../v13/campaign_management_service.rb | 66 +++++++ .../campaign_management_service_registry.rb | 30 +++ .../v13/customer_billing_service.rb | 66 +++++++ .../v13/customer_billing_service_registry.rb | 30 +++ .../v13/customer_management_service.rb | 178 ++++++++++++++++++ .../customer_management_service_registry.rb | 30 +++ lib/bing_ads_api/v13/reporting_service.rb | 38 ++++ .../v13/reporting_service_registry.rb | 30 +++ rakefile.rb | 2 +- 19 files changed, 769 insertions(+), 36 deletions(-) create mode 100644 .ruby-version create mode 100644 Dockerfile create mode 100644 docker-compose.yaml create mode 100644 lib/bing_ads_api/v13/ad_insight_service.rb create mode 100644 lib/bing_ads_api/v13/ad_insight_service_registry.rb create mode 100644 lib/bing_ads_api/v13/bulk_service.rb create mode 100644 lib/bing_ads_api/v13/bulk_service_registry.rb create mode 100644 lib/bing_ads_api/v13/campaign_management_service.rb create mode 100644 lib/bing_ads_api/v13/campaign_management_service_registry.rb create mode 100644 lib/bing_ads_api/v13/customer_billing_service.rb create mode 100644 lib/bing_ads_api/v13/customer_billing_service_registry.rb create mode 100644 lib/bing_ads_api/v13/customer_management_service.rb create mode 100644 lib/bing_ads_api/v13/customer_management_service_registry.rb create mode 100644 lib/bing_ads_api/v13/reporting_service.rb create mode 100644 lib/bing_ads_api/v13/reporting_service_registry.rb diff --git a/.ruby-version b/.ruby-version new file mode 100644 index 0000000..743af5e --- /dev/null +++ b/.ruby-version @@ -0,0 +1 @@ +2.6.8 diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..6b4a0c7 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,10 @@ +FROM ruby:2.6.9-slim-bullseye +RUN DEBIAN_FRONTEND=noninteractive apt-get -y -q update && apt-get -y -q install build-essential + +ENV APP_HOME /usr/share/dgvz +WORKDIR $APP_HOME + +# load the app +COPY . $APP_HOME + +RUN bundle install diff --git a/Gemfile.lock b/Gemfile.lock index dfc5cce..c8d7fe5 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -10,20 +10,21 @@ PATH GEM remote: http://rubygems.org/ specs: - activesupport (4.2.6) - i18n (~> 0.7) - json (~> 1.7, >= 1.7.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) + activesupport (6.1.6) + concurrent-ruby (~> 1.0, >= 1.0.2) + i18n (>= 1.6, < 2) + minitest (>= 5.1) + tzinfo (~> 2.0) + zeitwerk (~> 2.3) addressable (2.3.8) akami (1.2.2) gyoku (>= 0.4.0) nokogiri - builder (3.2.2) - diff-lcs (1.2.5) + builder (3.2.4) + concurrent-ruby (1.1.10) + diff-lcs (1.5.0) extlib (0.9.16) - faraday (0.9.2) + faraday (0.17.5) multipart-post (>= 1.2, < 3) google-ads-common (0.9.9) httpi (~> 1.1.0) @@ -33,20 +34,18 @@ GEM builder (>= 2.1.2) httpi (1.1.1) rack - i18n (0.7.0) - json (1.8.3) - jwt (1.5.4) - mini_portile2 (2.4.0) - minitest (5.9.0) - multi_json (1.12.1) - multipart-post (2.0.0) - nokogiri (1.10.8) - mini_portile2 (~> 2.4.0) - nokogiri (1.10.8-x86-mingw32) - mini_portile2 (~> 2.4.0) + i18n (1.10.0) + concurrent-ruby (~> 1.0) + jwt (1.5.6) + minitest (5.15.0) + multi_json (1.15.0) + multipart-post (2.1.1) + nokogiri (1.13.6-x86_64-linux) + racc (~> 1.4) nori (1.1.5) - rack (1.6.12) - rake (10.4.2) + racc (1.6.0) + rack (2.2.3) + rake (10.5.0) rspec (2.99.0) rspec-core (~> 2.99.0) rspec-expectations (~> 2.99.0) @@ -54,7 +53,7 @@ GEM rspec-core (2.99.2) rspec-expectations (2.99.2) diff-lcs (>= 1.1.3, < 2.0) - rspec-mocks (2.99.3) + rspec-mocks (2.99.4) savon (1.2.0) akami (~> 1.2.0) builder (>= 2.1.2) @@ -69,22 +68,21 @@ GEM faraday (~> 0.9) jwt (~> 1.5) multi_json (~> 1.10) - thread_safe (0.3.5) - tzinfo (1.2.2) - thread_safe (~> 0.1) + tzinfo (2.0.4) + concurrent-ruby (~> 1.0) wasabi (2.5.1) httpi (~> 1.0) nokogiri (>= 1.4.0) + zeitwerk (2.5.4) PLATFORMS ruby - x86-mingw32 DEPENDENCIES bing_ads_api_v9! rack (>= 1.6.12) - rake + rake (< 11.0) rspec (~> 2.8) BUNDLED WITH - 1.16.6 + 1.17.2 diff --git a/bing_ads_api_v9.gemspec b/bing_ads_api_v9.gemspec index c71cd1c..d837234 100644 --- a/bing_ads_api_v9.gemspec +++ b/bing_ads_api_v9.gemspec @@ -40,6 +40,6 @@ Gem::Specification.new do |s| # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_development_dependency('rack', '>= 1.6.12') - s.add_development_dependency 'rake' + s.add_development_dependency 'rake', '< 11.0' s.add_development_dependency 'rspec', '~> 2.8' end diff --git a/docker-compose.yaml b/docker-compose.yaml new file mode 100644 index 0000000..74c394c --- /dev/null +++ b/docker-compose.yaml @@ -0,0 +1,6 @@ +version: "3.7" +services: + api: + build: . + volumes: + - .:/usr/share/dgvz diff --git a/lib/bing_ads_api/api_config.rb b/lib/bing_ads_api/api_config.rb index dd385e6..16a46eb 100644 --- a/lib/bing_ads_api/api_config.rb +++ b/lib/bing_ads_api/api_config.rb @@ -14,9 +14,9 @@ class << ApiConfig end # Set defaults - DEFAULT_VERSION = :v9 + DEFAULT_VERSION = :v13 DEFAULT_ENVIRONMENT = :PRODUCTION - LATEST_VERSION = :v10 + LATEST_VERSION = :v13 # Set other constants API_NAME = 'BingAdsApi' @@ -48,6 +48,14 @@ class << ApiConfig :AdInsightService, :BulkService, :CampaignManagementService + ], + :v13 => [ + :AdInsightService, + :BulkService, + :CampaignManagementService, + :CustomerBillingService, + :CustomerManagementService, + :ReportingService ] } @@ -58,14 +66,16 @@ class << ApiConfig :header_ns => 'https://adcenter.microsoft.com/api/adcenter/', :v8 => '', :v9 => '', - :v10 => '' + :v10 => '', + :v13 => '' }, :SANDBOX => { :oauth_scope => '', :header_ns => 'https://adcenter.microsoft.com/api/adcenter/', :v8 => '', :v9 => '', - :v10 => '' + :v10 => '', + :v13 => '' } } @@ -74,6 +84,14 @@ class << ApiConfig @@subdir_config = {} @@address_config = { + :v13 => { + :AdInsightService => {:PRODUCTION => "https://adinsight.api.bingads.microsoft.com/Api/Advertiser/AdInsight/v13/AdInsightService.svc?singleWsdl", :SANDBOX => "https://adinsight.api.sandbox.bingads.microsoft.com/Api/Advertiser/AdInsight/v13/AdInsightService.svc?singleWsdl"}, + :BulkService => {:PRODUCTION => "https://bulk.api.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/BulkService.svc?singleWsdl", :SANDBOX => "https://bulk.api.sandbox.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/BulkService.svc?singleWsdl"}, + :CampaignManagementService => {:PRODUCTION => "https://clientcenter.api.bingads.microsoft.com/Api/Billing/v13/CustomerBillingService.svc?singleWsdl", :SANDBOX => "https://campaign.api.sandbox.bingads.microsoft.com/Api/Advertiser/CampaignManagement/V13/CampaignManagementService.svc?wsdl"}, + :CustomerBillingService => {:PRODUCTION => "https://clientcenter.api.bingads.microsoft.com/Api/Billing/v13/CustomerBillingService.svc?wsdl", :SANDBOX => "https://clientcenter.api.sandbox.bingads.microsoft.com/Api/Billing/v13/CustomerBillingService.svc?singleWsdl"}, + :CustomerManagementService => {:PRODUCTION => "https://clientcenter.api.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?singleWsdl", :SANDBOX => "https://clientcenter.api.sandbox.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?singleWsdl"}, + :ReportingService => {:PRODUCTION => "https://reporting.api.bingads.microsoft.com/Api/Advertiser/Reporting/v13/ReportingService.svc?singleWsdl", :SANDBOX => "https://reporting.api.sandbox.bingads.microsoft.com/Api/Advertiser/Reporting/v13/ReportingService.svc?singleWsdl"} + }, :v10 => { :AdInsightService => {:PRODUCTION => "https://adinsight.api.bingads.microsoft.com/Api/Advertiser/AdInsight/V10/AdInsightService.svc?wsdl", :SANDBOX => "https://adinsight.api.sandbox.bingads.microsoft.com/Api/Advertiser/AdInsight/V10/AdInsightService.svc?wsdl"}, :BulkService => {:PRODUCTION => "https://bulk.api.bingads.microsoft.com/Api/Advertiser/CampaignManagement/V10/BulkService.svc?wsdl", :SANDBOX => "https://bulk.api.sandbox.bingads.microsoft.com/Api/Advertiser/CampaignManagement/V10/BulkService.svc?wsdl"}, @@ -173,4 +191,4 @@ def self.adhoc_report_download_url(environment, version) return base end end -end \ No newline at end of file +end diff --git a/lib/bing_ads_api/v13/ad_insight_service.rb b/lib/bing_ads_api/v13/ad_insight_service.rb new file mode 100644 index 0000000..90e5b17 --- /dev/null +++ b/lib/bing_ads_api/v13/ad_insight_service.rb @@ -0,0 +1,118 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:44. + +require 'ads_common/savon_service' +require 'bing_ads_api/v13/ad_insight_service_registry' + +module BingAdsApi; module V13; module AdInsightService + class AdInsightService < AdsCommon::SavonService + def initialize(config, endpoint) + namespace = 'https://bingads.microsoft.com/AdInsight/v13' + super(config, endpoint, namespace, :v13) + end + + def get_bid_opportunities(*args, &block) + return execute_action('get_bid_opportunities', args, &block) + end + + def get_budget_opportunities(*args, &block) + return execute_action('get_budget_opportunities', args, &block) + end + + def get_keyword_opportunities(*args, &block) + return execute_action('get_keyword_opportunities', args, &block) + end + + def get_estimated_bid_by_keyword_ids(*args, &block) + return execute_action('get_estimated_bid_by_keyword_ids', args, &block) + end + + def get_estimated_position_by_keyword_ids(*args, &block) + return execute_action('get_estimated_position_by_keyword_ids', args, &block) + end + + def get_estimated_bid_by_keywords(*args, &block) + return execute_action('get_estimated_bid_by_keywords', args, &block) + end + + def get_estimated_position_by_keywords(*args, &block) + return execute_action('get_estimated_position_by_keywords', args, &block) + end + + def get_bid_landscape_by_ad_group_ids(*args, &block) + return execute_action('get_bid_landscape_by_ad_group_ids', args, &block) + end + + def get_bid_landscape_by_keyword_ids(*args, &block) + return execute_action('get_bid_landscape_by_keyword_ids', args, &block) + end + + def get_historical_keyword_performance(*args, &block) + return execute_action('get_historical_keyword_performance', args, &block) + end + + def get_historical_search_count(*args, &block) + return execute_action('get_historical_search_count', args, &block) + end + + def get_keyword_categories(*args, &block) + return execute_action('get_keyword_categories', args, &block) + end + + def get_keyword_demographics(*args, &block) + return execute_action('get_keyword_demographics', args, &block) + end + + def get_keyword_locations(*args, &block) + return execute_action('get_keyword_locations', args, &block) + end + + def suggest_keywords_for_url(*args, &block) + return execute_action('suggest_keywords_for_url', args, &block) + end + + def suggest_keywords_from_existing_keywords(*args, &block) + return execute_action('suggest_keywords_from_existing_keywords', args, &block) + end + + def get_auction_insight_data(*args, &block) + return execute_action('get_auction_insight_data', args, &block) + end + + def get_domain_categories(*args, &block) + return execute_action('get_domain_categories', args, &block) + end + + def put_metric_data(*args, &block) + return execute_action('put_metric_data', args, &block) + end + + def get_keyword_idea_categories(*args, &block) + return execute_action('get_keyword_idea_categories', args, &block) + end + + def get_keyword_ideas(*args, &block) + return execute_action('get_keyword_ideas', args, &block) + end + + def get_keyword_traffic_estimates(*args, &block) + return execute_action('get_keyword_traffic_estimates', args, &block) + end + + private + + def get_service_registry() + return AdInsightServiceRegistry + end + + def get_module() + return BingAdsApi::V13::AdInsightService + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/ad_insight_service_registry.rb b/lib/bing_ads_api/v13/ad_insight_service_registry.rb new file mode 100644 index 0000000..88bb192 --- /dev/null +++ b/lib/bing_ads_api/v13/ad_insight_service_registry.rb @@ -0,0 +1,30 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:44. + +require 'bing_ads_api/errors' + +module BingAdsApi; module V13; module AdInsightService + class AdInsightServiceRegistry + ADINSIGHTSERVICE_METHODS = {:get_bid_opportunities=>{:input=>[], :output=>{:name=>"get_bid_opportunities_response", :fields=>[]}, :original_name=>"GetBidOpportunities"}, :get_budget_opportunities=>{:input=>[], :output=>{:name=>"get_budget_opportunities_response", :fields=>[]}, :original_name=>"GetBudgetOpportunities"}, :get_keyword_opportunities=>{:input=>[], :output=>{:name=>"get_keyword_opportunities_response", :fields=>[]}, :original_name=>"GetKeywordOpportunities"}, :get_estimated_bid_by_keyword_ids=>{:input=>[], :output=>{:name=>"get_estimated_bid_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetEstimatedBidByKeywordIds"}, :get_estimated_position_by_keyword_ids=>{:input=>[], :output=>{:name=>"get_estimated_position_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetEstimatedPositionByKeywordIds"}, :get_estimated_bid_by_keywords=>{:input=>[], :output=>{:name=>"get_estimated_bid_by_keywords_response", :fields=>[]}, :original_name=>"GetEstimatedBidByKeywords"}, :get_estimated_position_by_keywords=>{:input=>[], :output=>{:name=>"get_estimated_position_by_keywords_response", :fields=>[]}, :original_name=>"GetEstimatedPositionByKeywords"}, :get_bid_landscape_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_bid_landscape_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetBidLandscapeByAdGroupIds"}, :get_bid_landscape_by_keyword_ids=>{:input=>[], :output=>{:name=>"get_bid_landscape_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetBidLandscapeByKeywordIds"}, :get_historical_keyword_performance=>{:input=>[], :output=>{:name=>"get_historical_keyword_performance_response", :fields=>[]}, :original_name=>"GetHistoricalKeywordPerformance"}, :get_historical_search_count=>{:input=>[], :output=>{:name=>"get_historical_search_count_response", :fields=>[]}, :original_name=>"GetHistoricalSearchCount"}, :get_keyword_categories=>{:input=>[], :output=>{:name=>"get_keyword_categories_response", :fields=>[]}, :original_name=>"GetKeywordCategories"}, :get_keyword_demographics=>{:input=>[], :output=>{:name=>"get_keyword_demographics_response", :fields=>[]}, :original_name=>"GetKeywordDemographics"}, :get_keyword_locations=>{:input=>[], :output=>{:name=>"get_keyword_locations_response", :fields=>[]}, :original_name=>"GetKeywordLocations"}, :suggest_keywords_for_url=>{:input=>[], :output=>{:name=>"suggest_keywords_for_url_response", :fields=>[]}, :original_name=>"SuggestKeywordsForUrl"}, :suggest_keywords_from_existing_keywords=>{:input=>[], :output=>{:name=>"suggest_keywords_from_existing_keywords_response", :fields=>[]}, :original_name=>"SuggestKeywordsFromExistingKeywords"}, :get_auction_insight_data=>{:input=>[], :output=>{:name=>"get_auction_insight_data_response", :fields=>[]}, :original_name=>"GetAuctionInsightData"}, :get_domain_categories=>{:input=>[], :output=>{:name=>"get_domain_categories_response", :fields=>[]}, :original_name=>"GetDomainCategories"}, :put_metric_data=>{:input=>[], :output=>{:name=>"put_metric_data_response", :fields=>[]}, :original_name=>"PutMetricData"}, :get_keyword_idea_categories=>{:input=>[], :output=>{:name=>"get_keyword_idea_categories_response", :fields=>[]}, :original_name=>"GetKeywordIdeaCategories"}, :get_keyword_ideas=>{:input=>[], :output=>{:name=>"get_keyword_ideas_response", :fields=>[]}, :original_name=>"GetKeywordIdeas"}, :get_keyword_traffic_estimates=>{:input=>[], :output=>{:name=>"get_keyword_traffic_estimates_response", :fields=>[]}, :original_name=>"GetKeywordTrafficEstimates"}} + ADINSIGHTSERVICE_TYPES = {} + ADINSIGHTSERVICE_NAMESPACES = [] + + def self.get_method_signature(method_name) + return ADINSIGHTSERVICE_METHODS[method_name.to_sym] + end + + def self.get_type_signature(type_name) + return ADINSIGHTSERVICE_TYPES[type_name.to_sym] + end + + def self.get_namespace(index) + return ADINSIGHTSERVICE_NAMESPACES[index] + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/bulk_service.rb b/lib/bing_ads_api/v13/bulk_service.rb new file mode 100644 index 0000000..af3f8ab --- /dev/null +++ b/lib/bing_ads_api/v13/bulk_service.rb @@ -0,0 +1,54 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:47. + +require 'ads_common/savon_service' +require 'bing_ads_api/v13/bulk_service_registry' + +module BingAdsApi; module V13; module BulkService + class BulkService < AdsCommon::SavonService + def initialize(config, endpoint) + namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' + super(config, endpoint, namespace, :v13) + end + + def download_campaigns_by_account_ids(*args, &block) + return execute_action('download_campaigns_by_account_ids', args, &block) + end + + def download_campaigns_by_campaign_ids(*args, &block) + return execute_action('download_campaigns_by_campaign_ids', args, &block) + end + + def get_bulk_download_status(*args, &block) + return execute_action('get_bulk_download_status', args, &block) + end + + def get_bulk_upload_url(*args, &block) + return execute_action('get_bulk_upload_url', args, &block) + end + + def get_bulk_upload_status(*args, &block) + return execute_action('get_bulk_upload_status', args, &block) + end + + def upload_entity_records(*args, &block) + return execute_action('upload_entity_records', args, &block) + end + + private + + def get_service_registry() + return BulkServiceRegistry + end + + def get_module() + return BingAdsApi::V13::BulkService + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/bulk_service_registry.rb b/lib/bing_ads_api/v13/bulk_service_registry.rb new file mode 100644 index 0000000..7fe7859 --- /dev/null +++ b/lib/bing_ads_api/v13/bulk_service_registry.rb @@ -0,0 +1,30 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:47. + +require 'bing_ads_api/errors' + +module BingAdsApi; module V13; module BulkService + class BulkServiceRegistry + BULKSERVICE_METHODS = {:download_campaigns_by_account_ids=>{:input=>[], :output=>{:name=>"download_campaigns_by_account_ids_response", :fields=>[]}, :original_name=>"DownloadCampaignsByAccountIds"}, :download_campaigns_by_campaign_ids=>{:input=>[], :output=>{:name=>"download_campaigns_by_campaign_ids_response", :fields=>[]}, :original_name=>"DownloadCampaignsByCampaignIds"}, :get_bulk_download_status=>{:input=>[], :output=>{:name=>"get_bulk_download_status_response", :fields=>[]}, :original_name=>"GetBulkDownloadStatus"}, :get_bulk_upload_url=>{:input=>[], :output=>{:name=>"get_bulk_upload_url_response", :fields=>[]}, :original_name=>"GetBulkUploadUrl"}, :get_bulk_upload_status=>{:input=>[], :output=>{:name=>"get_bulk_upload_status_response", :fields=>[]}, :original_name=>"GetBulkUploadStatus"}, :upload_entity_records=>{:input=>[], :output=>{:name=>"upload_entity_records_response", :fields=>[]}, :original_name=>"UploadEntityRecords"}} + BULKSERVICE_TYPES = {} + BULKSERVICE_NAMESPACES = [] + + def self.get_method_signature(method_name) + return BULKSERVICE_METHODS[method_name.to_sym] + end + + def self.get_type_signature(type_name) + return BULKSERVICE_TYPES[type_name.to_sym] + end + + def self.get_namespace(index) + return BULKSERVICE_NAMESPACES[index] + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/campaign_management_service.rb b/lib/bing_ads_api/v13/campaign_management_service.rb new file mode 100644 index 0000000..c116e3e --- /dev/null +++ b/lib/bing_ads_api/v13/campaign_management_service.rb @@ -0,0 +1,66 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:48. + +require 'ads_common/savon_service' +require 'bing_ads_api/v13/campaign_management_service_registry' + +module BingAdsApi; module V13; module CampaignManagementService + class CampaignManagementService < AdsCommon::SavonService + def initialize(config, endpoint) + namespace = 'https://bingads.microsoft.com/Billing/v13' + super(config, endpoint, namespace, :v13) + end + + def get_billing_documents_info(*args, &block) + return execute_action('get_billing_documents_info', args, &block) + end + + def get_billing_documents(*args, &block) + return execute_action('get_billing_documents', args, &block) + end + + def add_insertion_order(*args, &block) + return execute_action('add_insertion_order', args, &block) + end + + def update_insertion_order(*args, &block) + return execute_action('update_insertion_order', args, &block) + end + + def search_insertion_orders(*args, &block) + return execute_action('search_insertion_orders', args, &block) + end + + def get_account_monthly_spend(*args, &block) + return execute_action('get_account_monthly_spend', args, &block) + end + + def dispatch_coupons(*args, &block) + return execute_action('dispatch_coupons', args, &block) + end + + def redeem_coupon(*args, &block) + return execute_action('redeem_coupon', args, &block) + end + + def search_coupons(*args, &block) + return execute_action('search_coupons', args, &block) + end + + private + + def get_service_registry() + return CampaignManagementServiceRegistry + end + + def get_module() + return BingAdsApi::V13::CampaignManagementService + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/campaign_management_service_registry.rb b/lib/bing_ads_api/v13/campaign_management_service_registry.rb new file mode 100644 index 0000000..3215d92 --- /dev/null +++ b/lib/bing_ads_api/v13/campaign_management_service_registry.rb @@ -0,0 +1,30 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:48. + +require 'bing_ads_api/errors' + +module BingAdsApi; module V13; module CampaignManagementService + class CampaignManagementServiceRegistry + CAMPAIGNMANAGEMENTSERVICE_METHODS = {:get_billing_documents_info=>{:input=>[], :output=>{:name=>"get_billing_documents_info_response", :fields=>[]}, :original_name=>"GetBillingDocumentsInfo"}, :get_billing_documents=>{:input=>[], :output=>{:name=>"get_billing_documents_response", :fields=>[]}, :original_name=>"GetBillingDocuments"}, :add_insertion_order=>{:input=>[], :output=>{:name=>"add_insertion_order_response", :fields=>[]}, :original_name=>"AddInsertionOrder"}, :update_insertion_order=>{:input=>[], :output=>{:name=>"update_insertion_order_response", :fields=>[]}, :original_name=>"UpdateInsertionOrder"}, :search_insertion_orders=>{:input=>[], :output=>{:name=>"search_insertion_orders_response", :fields=>[]}, :original_name=>"SearchInsertionOrders"}, :get_account_monthly_spend=>{:input=>[], :output=>{:name=>"get_account_monthly_spend_response", :fields=>[]}, :original_name=>"GetAccountMonthlySpend"}, :dispatch_coupons=>{:input=>[], :output=>{:name=>"dispatch_coupons_response", :fields=>[]}, :original_name=>"DispatchCoupons"}, :redeem_coupon=>{:input=>[], :output=>{:name=>"redeem_coupon_response", :fields=>[]}, :original_name=>"RedeemCoupon"}, :search_coupons=>{:input=>[], :output=>{:name=>"search_coupons_response", :fields=>[]}, :original_name=>"SearchCoupons"}} + CAMPAIGNMANAGEMENTSERVICE_TYPES = {} + CAMPAIGNMANAGEMENTSERVICE_NAMESPACES = [] + + def self.get_method_signature(method_name) + return CAMPAIGNMANAGEMENTSERVICE_METHODS[method_name.to_sym] + end + + def self.get_type_signature(type_name) + return CAMPAIGNMANAGEMENTSERVICE_TYPES[type_name.to_sym] + end + + def self.get_namespace(index) + return CAMPAIGNMANAGEMENTSERVICE_NAMESPACES[index] + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/customer_billing_service.rb b/lib/bing_ads_api/v13/customer_billing_service.rb new file mode 100644 index 0000000..7a6fc33 --- /dev/null +++ b/lib/bing_ads_api/v13/customer_billing_service.rb @@ -0,0 +1,66 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:49. + +require 'ads_common/savon_service' +require 'bing_ads_api/v13/customer_billing_service_registry' + +module BingAdsApi; module V13; module CustomerBillingService + class CustomerBillingService < AdsCommon::SavonService + def initialize(config, endpoint) + namespace = 'https://bingads.microsoft.com/Billing/v13' + super(config, endpoint, namespace, :v13) + end + + def get_billing_documents_info(*args, &block) + return execute_action('get_billing_documents_info', args, &block) + end + + def get_billing_documents(*args, &block) + return execute_action('get_billing_documents', args, &block) + end + + def add_insertion_order(*args, &block) + return execute_action('add_insertion_order', args, &block) + end + + def update_insertion_order(*args, &block) + return execute_action('update_insertion_order', args, &block) + end + + def search_insertion_orders(*args, &block) + return execute_action('search_insertion_orders', args, &block) + end + + def get_account_monthly_spend(*args, &block) + return execute_action('get_account_monthly_spend', args, &block) + end + + def dispatch_coupons(*args, &block) + return execute_action('dispatch_coupons', args, &block) + end + + def redeem_coupon(*args, &block) + return execute_action('redeem_coupon', args, &block) + end + + def search_coupons(*args, &block) + return execute_action('search_coupons', args, &block) + end + + private + + def get_service_registry() + return CustomerBillingServiceRegistry + end + + def get_module() + return BingAdsApi::V13::CustomerBillingService + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/customer_billing_service_registry.rb b/lib/bing_ads_api/v13/customer_billing_service_registry.rb new file mode 100644 index 0000000..90f4f2d --- /dev/null +++ b/lib/bing_ads_api/v13/customer_billing_service_registry.rb @@ -0,0 +1,30 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:49. + +require 'bing_ads_api/errors' + +module BingAdsApi; module V13; module CustomerBillingService + class CustomerBillingServiceRegistry + CUSTOMERBILLINGSERVICE_METHODS = {:get_billing_documents_info=>{:input=>[], :output=>{:name=>"get_billing_documents_info_response", :fields=>[]}, :original_name=>"GetBillingDocumentsInfo"}, :get_billing_documents=>{:input=>[], :output=>{:name=>"get_billing_documents_response", :fields=>[]}, :original_name=>"GetBillingDocuments"}, :add_insertion_order=>{:input=>[], :output=>{:name=>"add_insertion_order_response", :fields=>[]}, :original_name=>"AddInsertionOrder"}, :update_insertion_order=>{:input=>[], :output=>{:name=>"update_insertion_order_response", :fields=>[]}, :original_name=>"UpdateInsertionOrder"}, :search_insertion_orders=>{:input=>[], :output=>{:name=>"search_insertion_orders_response", :fields=>[]}, :original_name=>"SearchInsertionOrders"}, :get_account_monthly_spend=>{:input=>[], :output=>{:name=>"get_account_monthly_spend_response", :fields=>[]}, :original_name=>"GetAccountMonthlySpend"}, :dispatch_coupons=>{:input=>[], :output=>{:name=>"dispatch_coupons_response", :fields=>[]}, :original_name=>"DispatchCoupons"}, :redeem_coupon=>{:input=>[], :output=>{:name=>"redeem_coupon_response", :fields=>[]}, :original_name=>"RedeemCoupon"}, :search_coupons=>{:input=>[], :output=>{:name=>"search_coupons_response", :fields=>[]}, :original_name=>"SearchCoupons"}} + CUSTOMERBILLINGSERVICE_TYPES = {} + CUSTOMERBILLINGSERVICE_NAMESPACES = [] + + def self.get_method_signature(method_name) + return CUSTOMERBILLINGSERVICE_METHODS[method_name.to_sym] + end + + def self.get_type_signature(type_name) + return CUSTOMERBILLINGSERVICE_TYPES[type_name.to_sym] + end + + def self.get_namespace(index) + return CUSTOMERBILLINGSERVICE_NAMESPACES[index] + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/customer_management_service.rb b/lib/bing_ads_api/v13/customer_management_service.rb new file mode 100644 index 0000000..b4f8146 --- /dev/null +++ b/lib/bing_ads_api/v13/customer_management_service.rb @@ -0,0 +1,178 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:51. + +require 'ads_common/savon_service' +require 'bing_ads_api/v13/customer_management_service_registry' + +module BingAdsApi; module V13; module CustomerManagementService + class CustomerManagementService < AdsCommon::SavonService + def initialize(config, endpoint) + namespace = 'https://bingads.microsoft.com/Customer/v13' + super(config, endpoint, namespace, :v13) + end + + def get_accounts_info(*args, &block) + return execute_action('get_accounts_info', args, &block) + end + + def find_accounts(*args, &block) + return execute_action('find_accounts', args, &block) + end + + def add_account(*args, &block) + return execute_action('add_account', args, &block) + end + + def update_account(*args, &block) + return execute_action('update_account', args, &block) + end + + def get_customer(*args, &block) + return execute_action('get_customer', args, &block) + end + + def update_customer(*args, &block) + return execute_action('update_customer', args, &block) + end + + def signup_customer(*args, &block) + return execute_action('signup_customer', args, &block) + end + + def get_account(*args, &block) + return execute_action('get_account', args, &block) + end + + def get_customers_info(*args, &block) + return execute_action('get_customers_info', args, &block) + end + + def delete_account(*args, &block) + return execute_action('delete_account', args, &block) + end + + def delete_customer(*args, &block) + return execute_action('delete_customer', args, &block) + end + + def update_user(*args, &block) + return execute_action('update_user', args, &block) + end + + def update_user_roles(*args, &block) + return execute_action('update_user_roles', args, &block) + end + + def get_user(*args, &block) + return execute_action('get_user', args, &block) + end + + def get_current_user(*args, &block) + return execute_action('get_current_user', args, &block) + end + + def delete_user(*args, &block) + return execute_action('delete_user', args, &block) + end + + def get_users_info(*args, &block) + return execute_action('get_users_info', args, &block) + end + + def get_customer_pilot_features(*args, &block) + return execute_action('get_customer_pilot_features', args, &block) + end + + def get_account_pilot_features(*args, &block) + return execute_action('get_account_pilot_features', args, &block) + end + + def get_pilot_features_countries(*args, &block) + return execute_action('get_pilot_features_countries', args, &block) + end + + def get_accessible_customer(*args, &block) + return execute_action('get_accessible_customer', args, &block) + end + + def find_accounts_or_customers_info(*args, &block) + return execute_action('find_accounts_or_customers_info', args, &block) + end + + def upgrade_customer_to_agency(*args, &block) + return execute_action('upgrade_customer_to_agency', args, &block) + end + + def add_prepay_account(*args, &block) + return execute_action('add_prepay_account', args, &block) + end + + def update_prepay_account(*args, &block) + return execute_action('update_prepay_account', args, &block) + end + + def map_customer_id_to_external_customer_id(*args, &block) + return execute_action('map_customer_id_to_external_customer_id', args, &block) + end + + def map_account_id_to_external_account_ids(*args, &block) + return execute_action('map_account_id_to_external_account_ids', args, &block) + end + + def search_customers(*args, &block) + return execute_action('search_customers', args, &block) + end + + def add_client_links(*args, &block) + return execute_action('add_client_links', args, &block) + end + + def update_client_links(*args, &block) + return execute_action('update_client_links', args, &block) + end + + def search_client_links(*args, &block) + return execute_action('search_client_links', args, &block) + end + + def search_accounts(*args, &block) + return execute_action('search_accounts', args, &block) + end + + def send_user_invitation(*args, &block) + return execute_action('send_user_invitation', args, &block) + end + + def search_user_invitations(*args, &block) + return execute_action('search_user_invitations', args, &block) + end + + def validate_address(*args, &block) + return execute_action('validate_address', args, &block) + end + + def get_linked_accounts_and_customers_info(*args, &block) + return execute_action('get_linked_accounts_and_customers_info', args, &block) + end + + def get_user_mfa_status(*args, &block) + return execute_action('get_user_mfa_status', args, &block) + end + + private + + def get_service_registry() + return CustomerManagementServiceRegistry + end + + def get_module() + return BingAdsApi::V13::CustomerManagementService + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/customer_management_service_registry.rb b/lib/bing_ads_api/v13/customer_management_service_registry.rb new file mode 100644 index 0000000..d21abff --- /dev/null +++ b/lib/bing_ads_api/v13/customer_management_service_registry.rb @@ -0,0 +1,30 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:51. + +require 'bing_ads_api/errors' + +module BingAdsApi; module V13; module CustomerManagementService + class CustomerManagementServiceRegistry + CUSTOMERMANAGEMENTSERVICE_METHODS = {:get_accounts_info=>{:input=>[], :output=>{:name=>"get_accounts_info_response", :fields=>[]}, :original_name=>"GetAccountsInfo"}, :find_accounts=>{:input=>[], :output=>{:name=>"find_accounts_response", :fields=>[]}, :original_name=>"FindAccounts"}, :add_account=>{:input=>[], :output=>{:name=>"add_account_response", :fields=>[]}, :original_name=>"AddAccount"}, :update_account=>{:input=>[], :output=>{:name=>"update_account_response", :fields=>[]}, :original_name=>"UpdateAccount"}, :get_customer=>{:input=>[], :output=>{:name=>"get_customer_response", :fields=>[]}, :original_name=>"GetCustomer"}, :update_customer=>{:input=>[], :output=>{:name=>"update_customer_response", :fields=>[]}, :original_name=>"UpdateCustomer"}, :signup_customer=>{:input=>[], :output=>{:name=>"signup_customer_response", :fields=>[]}, :original_name=>"SignupCustomer"}, :get_account=>{:input=>[], :output=>{:name=>"get_account_response", :fields=>[]}, :original_name=>"GetAccount"}, :get_customers_info=>{:input=>[], :output=>{:name=>"get_customers_info_response", :fields=>[]}, :original_name=>"GetCustomersInfo"}, :delete_account=>{:input=>[], :output=>{:name=>"delete_account_response", :fields=>[]}, :original_name=>"DeleteAccount"}, :delete_customer=>{:input=>[], :output=>{:name=>"delete_customer_response", :fields=>[]}, :original_name=>"DeleteCustomer"}, :update_user=>{:input=>[], :output=>{:name=>"update_user_response", :fields=>[]}, :original_name=>"UpdateUser"}, :update_user_roles=>{:input=>[], :output=>{:name=>"update_user_roles_response", :fields=>[]}, :original_name=>"UpdateUserRoles"}, :get_user=>{:input=>[], :output=>{:name=>"get_user_response", :fields=>[]}, :original_name=>"GetUser"}, :get_current_user=>{:input=>[], :output=>{:name=>"get_current_user_response", :fields=>[]}, :original_name=>"GetCurrentUser"}, :delete_user=>{:input=>[], :output=>{:name=>"delete_user_response", :fields=>[]}, :original_name=>"DeleteUser"}, :get_users_info=>{:input=>[], :output=>{:name=>"get_users_info_response", :fields=>[]}, :original_name=>"GetUsersInfo"}, :get_customer_pilot_features=>{:input=>[], :output=>{:name=>"get_customer_pilot_features_response", :fields=>[]}, :original_name=>"GetCustomerPilotFeatures"}, :get_account_pilot_features=>{:input=>[], :output=>{:name=>"get_account_pilot_features_response", :fields=>[]}, :original_name=>"GetAccountPilotFeatures"}, :get_pilot_features_countries=>{:input=>[], :output=>{:name=>"get_pilot_features_countries_response", :fields=>[]}, :original_name=>"GetPilotFeaturesCountries"}, :get_accessible_customer=>{:input=>[], :output=>{:name=>"get_accessible_customer_response", :fields=>[]}, :original_name=>"GetAccessibleCustomer"}, :find_accounts_or_customers_info=>{:input=>[], :output=>{:name=>"find_accounts_or_customers_info_response", :fields=>[]}, :original_name=>"FindAccountsOrCustomersInfo"}, :upgrade_customer_to_agency=>{:input=>[], :output=>{:name=>"upgrade_customer_to_agency_response", :fields=>[]}, :original_name=>"UpgradeCustomerToAgency"}, :add_prepay_account=>{:input=>[], :output=>{:name=>"add_prepay_account_response", :fields=>[]}, :original_name=>"AddPrepayAccount"}, :update_prepay_account=>{:input=>[], :output=>{:name=>"update_prepay_account_response", :fields=>[]}, :original_name=>"UpdatePrepayAccount"}, :map_customer_id_to_external_customer_id=>{:input=>[], :output=>{:name=>"map_customer_id_to_external_customer_id_response", :fields=>[]}, :original_name=>"MapCustomerIdToExternalCustomerId"}, :map_account_id_to_external_account_ids=>{:input=>[], :output=>{:name=>"map_account_id_to_external_account_ids_response", :fields=>[]}, :original_name=>"MapAccountIdToExternalAccountIds"}, :search_customers=>{:input=>[], :output=>{:name=>"search_customers_response", :fields=>[]}, :original_name=>"SearchCustomers"}, :add_client_links=>{:input=>[], :output=>{:name=>"add_client_links_response", :fields=>[]}, :original_name=>"AddClientLinks"}, :update_client_links=>{:input=>[], :output=>{:name=>"update_client_links_response", :fields=>[]}, :original_name=>"UpdateClientLinks"}, :search_client_links=>{:input=>[], :output=>{:name=>"search_client_links_response", :fields=>[]}, :original_name=>"SearchClientLinks"}, :search_accounts=>{:input=>[], :output=>{:name=>"search_accounts_response", :fields=>[]}, :original_name=>"SearchAccounts"}, :send_user_invitation=>{:input=>[], :output=>{:name=>"send_user_invitation_response", :fields=>[]}, :original_name=>"SendUserInvitation"}, :search_user_invitations=>{:input=>[], :output=>{:name=>"search_user_invitations_response", :fields=>[]}, :original_name=>"SearchUserInvitations"}, :validate_address=>{:input=>[], :output=>{:name=>"validate_address_response", :fields=>[]}, :original_name=>"ValidateAddress"}, :get_linked_accounts_and_customers_info=>{:input=>[], :output=>{:name=>"get_linked_accounts_and_customers_info_response", :fields=>[]}, :original_name=>"GetLinkedAccountsAndCustomersInfo"}, :get_user_mfa_status=>{:input=>[], :output=>{:name=>"get_user_mfa_status_response", :fields=>[]}, :original_name=>"GetUserMFAStatus"}} + CUSTOMERMANAGEMENTSERVICE_TYPES = {} + CUSTOMERMANAGEMENTSERVICE_NAMESPACES = [] + + def self.get_method_signature(method_name) + return CUSTOMERMANAGEMENTSERVICE_METHODS[method_name.to_sym] + end + + def self.get_type_signature(type_name) + return CUSTOMERMANAGEMENTSERVICE_TYPES[type_name.to_sym] + end + + def self.get_namespace(index) + return CUSTOMERMANAGEMENTSERVICE_NAMESPACES[index] + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/reporting_service.rb b/lib/bing_ads_api/v13/reporting_service.rb new file mode 100644 index 0000000..46d8874 --- /dev/null +++ b/lib/bing_ads_api/v13/reporting_service.rb @@ -0,0 +1,38 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:56. + +require 'ads_common/savon_service' +require 'bing_ads_api/v13/reporting_service_registry' + +module BingAdsApi; module V13; module ReportingService + class ReportingService < AdsCommon::SavonService + def initialize(config, endpoint) + namespace = 'https://bingads.microsoft.com/Reporting/v13' + super(config, endpoint, namespace, :v13) + end + + def submit_generate_report(*args, &block) + return execute_action('submit_generate_report', args, &block) + end + + def poll_generate_report(*args, &block) + return execute_action('poll_generate_report', args, &block) + end + + private + + def get_service_registry() + return ReportingServiceRegistry + end + + def get_module() + return BingAdsApi::V13::ReportingService + end + end +end; end; end diff --git a/lib/bing_ads_api/v13/reporting_service_registry.rb b/lib/bing_ads_api/v13/reporting_service_registry.rb new file mode 100644 index 0000000..9b3c6ff --- /dev/null +++ b/lib/bing_ads_api/v13/reporting_service_registry.rb @@ -0,0 +1,30 @@ +# Encoding: utf-8 +# +# This is auto-generated code, changes will be overwritten. +# +# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# License:: Licensed under the Apache License, Version 2.0. +# +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:56. + +require 'bing_ads_api/errors' + +module BingAdsApi; module V13; module ReportingService + class ReportingServiceRegistry + REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=>[], :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>[], :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} + REPORTINGSERVICE_TYPES = {} + REPORTINGSERVICE_NAMESPACES = [] + + def self.get_method_signature(method_name) + return REPORTINGSERVICE_METHODS[method_name.to_sym] + end + + def self.get_type_signature(type_name) + return REPORTINGSERVICE_TYPES[type_name.to_sym] + end + + def self.get_namespace(index) + return REPORTINGSERVICE_NAMESPACES[index] + end + end +end; end; end diff --git a/rakefile.rb b/rakefile.rb index e81bacf..192af1b 100644 --- a/rakefile.rb +++ b/rakefile.rb @@ -41,7 +41,7 @@ logger = Logger.new(STDOUT) logger.level = Logger::INFO api_config = BingAdsApi::ApiConfig - versions = api_config.versions() + versions = [:v13] versions.each do |version| code_path = 'lib/%s/%s' % [api_config.api_name.to_s.snakecase, version] wsdls = BingAdsApi::ApiConfig.get_wsdls(version) From 22d51cd3a9038fc4bd5dae06cb8e920d63918d82 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Tue, 10 May 2022 20:05:23 +1000 Subject: [PATCH 02/24] Rename gemspec --- bing_ads_api_v9.gemspec => bing_ads.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) rename bing_ads_api_v9.gemspec => bing_ads.gemspec (94%) diff --git a/bing_ads_api_v9.gemspec b/bing_ads.gemspec similarity index 94% rename from bing_ads_api_v9.gemspec rename to bing_ads.gemspec index d837234..f072163 100644 --- a/bing_ads_api_v9.gemspec +++ b/bing_ads.gemspec @@ -23,11 +23,11 @@ $:.unshift lib unless $:.include?(lib) require 'bing_ads_api/version' Gem::Specification.new do |s| - s.name = 'bing_ads_api_v9' + s.name = 'bing_ads' s.version = BingAdsApi::ApiConfig::CLIENT_LIB_VERSION s.summary = 'Ruby wrapper for Bing Ads API v9' s.description = 'Ruby wrapper for Bing Ads API v9' - s.homepage = 'https://github.com/tomhammond/bing_ads_api_v9' + s.homepage = 'https://github.com/digivizer/bing_ads' s.authors = ['Tom Hammond'] s.email = ['thomas.hammond89@gmail.com'] s.require_path = 'lib' From c65d448f32020d6723277211fb6cb0ae5f352ef4 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Tue, 10 May 2022 20:11:16 +1000 Subject: [PATCH 03/24] Add campaign management service WSDL in correctly --- Gemfile.lock | 4 +- lib/bing_ads_api/api_config.rb | 2 +- lib/bing_ads_api/v13/ad_insight_service.rb | 2 +- .../v13/ad_insight_service_registry.rb | 2 +- lib/bing_ads_api/v13/bulk_service.rb | 2 +- lib/bing_ads_api/v13/bulk_service_registry.rb | 2 +- .../v13/campaign_management_service.rb | 500 +++++++++++++++++- .../campaign_management_service_registry.rb | 4 +- .../v13/customer_billing_service.rb | 2 +- .../v13/customer_billing_service_registry.rb | 2 +- .../v13/customer_management_service.rb | 2 +- .../customer_management_service_registry.rb | 2 +- lib/bing_ads_api/v13/reporting_service.rb | 2 +- .../v13/reporting_service_registry.rb | 2 +- 14 files changed, 495 insertions(+), 35 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index c8d7fe5..8b0d64c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - bing_ads_api_v9 (0.0.8) + bing_ads (0.0.8) activesupport (>= 3.1.0) addressable (~> 2.3.8) google-ads-common (~> 0.9.3) @@ -79,7 +79,7 @@ PLATFORMS ruby DEPENDENCIES - bing_ads_api_v9! + bing_ads! rack (>= 1.6.12) rake (< 11.0) rspec (~> 2.8) diff --git a/lib/bing_ads_api/api_config.rb b/lib/bing_ads_api/api_config.rb index 16a46eb..c3f24cd 100644 --- a/lib/bing_ads_api/api_config.rb +++ b/lib/bing_ads_api/api_config.rb @@ -87,7 +87,7 @@ class << ApiConfig :v13 => { :AdInsightService => {:PRODUCTION => "https://adinsight.api.bingads.microsoft.com/Api/Advertiser/AdInsight/v13/AdInsightService.svc?singleWsdl", :SANDBOX => "https://adinsight.api.sandbox.bingads.microsoft.com/Api/Advertiser/AdInsight/v13/AdInsightService.svc?singleWsdl"}, :BulkService => {:PRODUCTION => "https://bulk.api.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/BulkService.svc?singleWsdl", :SANDBOX => "https://bulk.api.sandbox.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/BulkService.svc?singleWsdl"}, - :CampaignManagementService => {:PRODUCTION => "https://clientcenter.api.bingads.microsoft.com/Api/Billing/v13/CustomerBillingService.svc?singleWsdl", :SANDBOX => "https://campaign.api.sandbox.bingads.microsoft.com/Api/Advertiser/CampaignManagement/V13/CampaignManagementService.svc?wsdl"}, + :CampaignManagementService => {:PRODUCTION => "https://campaign.api.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/CampaignManagementService.svc?singleWsdl", :SANDBOX => "https://campaign.api.sandbox.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/CampaignManagementService.svc?singleWsdl"}, :CustomerBillingService => {:PRODUCTION => "https://clientcenter.api.bingads.microsoft.com/Api/Billing/v13/CustomerBillingService.svc?wsdl", :SANDBOX => "https://clientcenter.api.sandbox.bingads.microsoft.com/Api/Billing/v13/CustomerBillingService.svc?singleWsdl"}, :CustomerManagementService => {:PRODUCTION => "https://clientcenter.api.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?singleWsdl", :SANDBOX => "https://clientcenter.api.sandbox.bingads.microsoft.com/Api/CustomerManagement/v13/CustomerManagementService.svc?singleWsdl"}, :ReportingService => {:PRODUCTION => "https://reporting.api.bingads.microsoft.com/Api/Advertiser/Reporting/v13/ReportingService.svc?singleWsdl", :SANDBOX => "https://reporting.api.sandbox.bingads.microsoft.com/Api/Advertiser/Reporting/v13/ReportingService.svc?singleWsdl"} diff --git a/lib/bing_ads_api/v13/ad_insight_service.rb b/lib/bing_ads_api/v13/ad_insight_service.rb index 90e5b17..529d422 100644 --- a/lib/bing_ads_api/v13/ad_insight_service.rb +++ b/lib/bing_ads_api/v13/ad_insight_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:44. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:49. require 'ads_common/savon_service' require 'bing_ads_api/v13/ad_insight_service_registry' diff --git a/lib/bing_ads_api/v13/ad_insight_service_registry.rb b/lib/bing_ads_api/v13/ad_insight_service_registry.rb index 88bb192..797d3cf 100644 --- a/lib/bing_ads_api/v13/ad_insight_service_registry.rb +++ b/lib/bing_ads_api/v13/ad_insight_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:44. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:49. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/bulk_service.rb b/lib/bing_ads_api/v13/bulk_service.rb index af3f8ab..b7ecb00 100644 --- a/lib/bing_ads_api/v13/bulk_service.rb +++ b/lib/bing_ads_api/v13/bulk_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:47. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:51. require 'ads_common/savon_service' require 'bing_ads_api/v13/bulk_service_registry' diff --git a/lib/bing_ads_api/v13/bulk_service_registry.rb b/lib/bing_ads_api/v13/bulk_service_registry.rb index 7fe7859..2177f48 100644 --- a/lib/bing_ads_api/v13/bulk_service_registry.rb +++ b/lib/bing_ads_api/v13/bulk_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:47. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:51. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/campaign_management_service.rb b/lib/bing_ads_api/v13/campaign_management_service.rb index c116e3e..ae88a6b 100644 --- a/lib/bing_ads_api/v13/campaign_management_service.rb +++ b/lib/bing_ads_api/v13/campaign_management_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:48. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:54. require 'ads_common/savon_service' require 'bing_ads_api/v13/campaign_management_service_registry' @@ -13,44 +13,504 @@ module BingAdsApi; module V13; module CampaignManagementService class CampaignManagementService < AdsCommon::SavonService def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/Billing/v13' + namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' super(config, endpoint, namespace, :v13) end - def get_billing_documents_info(*args, &block) - return execute_action('get_billing_documents_info', args, &block) + def add_campaigns(*args, &block) + return execute_action('add_campaigns', args, &block) end - def get_billing_documents(*args, &block) - return execute_action('get_billing_documents', args, &block) + def get_campaigns_by_account_id(*args, &block) + return execute_action('get_campaigns_by_account_id', args, &block) end - def add_insertion_order(*args, &block) - return execute_action('add_insertion_order', args, &block) + def get_campaigns_by_ids(*args, &block) + return execute_action('get_campaigns_by_ids', args, &block) end - def update_insertion_order(*args, &block) - return execute_action('update_insertion_order', args, &block) + def delete_campaigns(*args, &block) + return execute_action('delete_campaigns', args, &block) end - def search_insertion_orders(*args, &block) - return execute_action('search_insertion_orders', args, &block) + def update_campaigns(*args, &block) + return execute_action('update_campaigns', args, &block) end - def get_account_monthly_spend(*args, &block) - return execute_action('get_account_monthly_spend', args, &block) + def get_negative_sites_by_campaign_ids(*args, &block) + return execute_action('get_negative_sites_by_campaign_ids', args, &block) end - def dispatch_coupons(*args, &block) - return execute_action('dispatch_coupons', args, &block) + def set_negative_sites_to_campaigns(*args, &block) + return execute_action('set_negative_sites_to_campaigns', args, &block) end - def redeem_coupon(*args, &block) - return execute_action('redeem_coupon', args, &block) + def get_config_value(*args, &block) + return execute_action('get_config_value', args, &block) end - def search_coupons(*args, &block) - return execute_action('search_coupons', args, &block) + def get_bsc_countries(*args, &block) + return execute_action('get_bsc_countries', args, &block) + end + + def add_ad_groups(*args, &block) + return execute_action('add_ad_groups', args, &block) + end + + def delete_ad_groups(*args, &block) + return execute_action('delete_ad_groups', args, &block) + end + + def get_ad_groups_by_ids(*args, &block) + return execute_action('get_ad_groups_by_ids', args, &block) + end + + def get_ad_groups_by_campaign_id(*args, &block) + return execute_action('get_ad_groups_by_campaign_id', args, &block) + end + + def update_ad_groups(*args, &block) + return execute_action('update_ad_groups', args, &block) + end + + def get_negative_sites_by_ad_group_ids(*args, &block) + return execute_action('get_negative_sites_by_ad_group_ids', args, &block) + end + + def set_negative_sites_to_ad_groups(*args, &block) + return execute_action('set_negative_sites_to_ad_groups', args, &block) + end + + def get_geo_locations_file_url(*args, &block) + return execute_action('get_geo_locations_file_url', args, &block) + end + + def add_ads(*args, &block) + return execute_action('add_ads', args, &block) + end + + def delete_ads(*args, &block) + return execute_action('delete_ads', args, &block) + end + + def get_ads_by_editorial_status(*args, &block) + return execute_action('get_ads_by_editorial_status', args, &block) + end + + def get_ads_by_ids(*args, &block) + return execute_action('get_ads_by_ids', args, &block) + end + + def get_ads_by_ad_group_id(*args, &block) + return execute_action('get_ads_by_ad_group_id', args, &block) + end + + def update_ads(*args, &block) + return execute_action('update_ads', args, &block) + end + + def add_keywords(*args, &block) + return execute_action('add_keywords', args, &block) + end + + def delete_keywords(*args, &block) + return execute_action('delete_keywords', args, &block) + end + + def get_keywords_by_editorial_status(*args, &block) + return execute_action('get_keywords_by_editorial_status', args, &block) + end + + def get_keywords_by_ids(*args, &block) + return execute_action('get_keywords_by_ids', args, &block) + end + + def get_keywords_by_ad_group_id(*args, &block) + return execute_action('get_keywords_by_ad_group_id', args, &block) + end + + def update_keywords(*args, &block) + return execute_action('update_keywords', args, &block) + end + + def appeal_editorial_rejections(*args, &block) + return execute_action('appeal_editorial_rejections', args, &block) + end + + def get_editorial_reasons_by_ids(*args, &block) + return execute_action('get_editorial_reasons_by_ids', args, &block) + end + + def get_account_migration_statuses(*args, &block) + return execute_action('get_account_migration_statuses', args, &block) + end + + def set_account_properties(*args, &block) + return execute_action('set_account_properties', args, &block) + end + + def get_account_properties(*args, &block) + return execute_action('get_account_properties', args, &block) + end + + def add_ad_extensions(*args, &block) + return execute_action('add_ad_extensions', args, &block) + end + + def get_ad_extensions_by_ids(*args, &block) + return execute_action('get_ad_extensions_by_ids', args, &block) + end + + def update_ad_extensions(*args, &block) + return execute_action('update_ad_extensions', args, &block) + end + + def delete_ad_extensions(*args, &block) + return execute_action('delete_ad_extensions', args, &block) + end + + def get_ad_extensions_editorial_reasons(*args, &block) + return execute_action('get_ad_extensions_editorial_reasons', args, &block) + end + + def set_ad_extensions_associations(*args, &block) + return execute_action('set_ad_extensions_associations', args, &block) + end + + def get_ad_extensions_associations(*args, &block) + return execute_action('get_ad_extensions_associations', args, &block) + end + + def delete_ad_extensions_associations(*args, &block) + return execute_action('delete_ad_extensions_associations', args, &block) + end + + def get_ad_extension_ids_by_account_id(*args, &block) + return execute_action('get_ad_extension_ids_by_account_id', args, &block) + end + + def add_media(*args, &block) + return execute_action('add_media', args, &block) + end + + def delete_media(*args, &block) + return execute_action('delete_media', args, &block) + end + + def get_media_meta_data_by_account_id(*args, &block) + return execute_action('get_media_meta_data_by_account_id', args, &block) + end + + def get_media_meta_data_by_ids(*args, &block) + return execute_action('get_media_meta_data_by_ids', args, &block) + end + + def get_media_associations(*args, &block) + return execute_action('get_media_associations', args, &block) + end + + def get_ad_group_criterions_by_ids(*args, &block) + return execute_action('get_ad_group_criterions_by_ids', args, &block) + end + + def add_ad_group_criterions(*args, &block) + return execute_action('add_ad_group_criterions', args, &block) + end + + def update_ad_group_criterions(*args, &block) + return execute_action('update_ad_group_criterions', args, &block) + end + + def delete_ad_group_criterions(*args, &block) + return execute_action('delete_ad_group_criterions', args, &block) + end + + def apply_product_partition_actions(*args, &block) + return execute_action('apply_product_partition_actions', args, &block) + end + + def get_bmc_stores_by_customer_id(*args, &block) + return execute_action('get_bmc_stores_by_customer_id', args, &block) + end + + def add_negative_keywords_to_entities(*args, &block) + return execute_action('add_negative_keywords_to_entities', args, &block) + end + + def get_negative_keywords_by_entity_ids(*args, &block) + return execute_action('get_negative_keywords_by_entity_ids', args, &block) + end + + def delete_negative_keywords_from_entities(*args, &block) + return execute_action('delete_negative_keywords_from_entities', args, &block) + end + + def get_shared_entities_by_account_id(*args, &block) + return execute_action('get_shared_entities_by_account_id', args, &block) + end + + def get_shared_entities(*args, &block) + return execute_action('get_shared_entities', args, &block) + end + + def add_shared_entity(*args, &block) + return execute_action('add_shared_entity', args, &block) + end + + def get_list_items_by_shared_list(*args, &block) + return execute_action('get_list_items_by_shared_list', args, &block) + end + + def add_list_items_to_shared_list(*args, &block) + return execute_action('add_list_items_to_shared_list', args, &block) + end + + def update_shared_entities(*args, &block) + return execute_action('update_shared_entities', args, &block) + end + + def delete_list_items_from_shared_list(*args, &block) + return execute_action('delete_list_items_from_shared_list', args, &block) + end + + def set_shared_entity_associations(*args, &block) + return execute_action('set_shared_entity_associations', args, &block) + end + + def delete_shared_entity_associations(*args, &block) + return execute_action('delete_shared_entity_associations', args, &block) + end + + def get_shared_entity_associations_by_shared_entity_ids(*args, &block) + return execute_action('get_shared_entity_associations_by_shared_entity_ids', args, &block) + end + + def get_shared_entity_associations_by_entity_ids(*args, &block) + return execute_action('get_shared_entity_associations_by_entity_ids', args, &block) + end + + def delete_shared_entities(*args, &block) + return execute_action('delete_shared_entities', args, &block) + end + + def get_campaign_sizes_by_account_id(*args, &block) + return execute_action('get_campaign_sizes_by_account_id', args, &block) + end + + def add_campaign_criterions(*args, &block) + return execute_action('add_campaign_criterions', args, &block) + end + + def update_campaign_criterions(*args, &block) + return execute_action('update_campaign_criterions', args, &block) + end + + def delete_campaign_criterions(*args, &block) + return execute_action('delete_campaign_criterions', args, &block) + end + + def get_campaign_criterions_by_ids(*args, &block) + return execute_action('get_campaign_criterions_by_ids', args, &block) + end + + def add_budgets(*args, &block) + return execute_action('add_budgets', args, &block) + end + + def update_budgets(*args, &block) + return execute_action('update_budgets', args, &block) + end + + def delete_budgets(*args, &block) + return execute_action('delete_budgets', args, &block) + end + + def get_budgets_by_ids(*args, &block) + return execute_action('get_budgets_by_ids', args, &block) + end + + def get_campaign_ids_by_budget_ids(*args, &block) + return execute_action('get_campaign_ids_by_budget_ids', args, &block) + end + + def add_bid_strategies(*args, &block) + return execute_action('add_bid_strategies', args, &block) + end + + def update_bid_strategies(*args, &block) + return execute_action('update_bid_strategies', args, &block) + end + + def delete_bid_strategies(*args, &block) + return execute_action('delete_bid_strategies', args, &block) + end + + def get_bid_strategies_by_ids(*args, &block) + return execute_action('get_bid_strategies_by_ids', args, &block) + end + + def get_campaign_ids_by_bid_strategy_ids(*args, &block) + return execute_action('get_campaign_ids_by_bid_strategy_ids', args, &block) + end + + def add_audiences(*args, &block) + return execute_action('add_audiences', args, &block) + end + + def update_audiences(*args, &block) + return execute_action('update_audiences', args, &block) + end + + def delete_audiences(*args, &block) + return execute_action('delete_audiences', args, &block) + end + + def get_audiences_by_ids(*args, &block) + return execute_action('get_audiences_by_ids', args, &block) + end + + def get_uet_tags_by_ids(*args, &block) + return execute_action('get_uet_tags_by_ids', args, &block) + end + + def add_uet_tags(*args, &block) + return execute_action('add_uet_tags', args, &block) + end + + def update_uet_tags(*args, &block) + return execute_action('update_uet_tags', args, &block) + end + + def get_conversion_goals_by_ids(*args, &block) + return execute_action('get_conversion_goals_by_ids', args, &block) + end + + def get_conversion_goals_by_tag_ids(*args, &block) + return execute_action('get_conversion_goals_by_tag_ids', args, &block) + end + + def add_conversion_goals(*args, &block) + return execute_action('add_conversion_goals', args, &block) + end + + def update_conversion_goals(*args, &block) + return execute_action('update_conversion_goals', args, &block) + end + + def apply_offline_conversions(*args, &block) + return execute_action('apply_offline_conversions', args, &block) + end + + def apply_offline_conversion_adjustments(*args, &block) + return execute_action('apply_offline_conversion_adjustments', args, &block) + end + + def add_labels(*args, &block) + return execute_action('add_labels', args, &block) + end + + def delete_labels(*args, &block) + return execute_action('delete_labels', args, &block) + end + + def update_labels(*args, &block) + return execute_action('update_labels', args, &block) + end + + def get_labels_by_ids(*args, &block) + return execute_action('get_labels_by_ids', args, &block) + end + + def set_label_associations(*args, &block) + return execute_action('set_label_associations', args, &block) + end + + def delete_label_associations(*args, &block) + return execute_action('delete_label_associations', args, &block) + end + + def get_label_associations_by_entity_ids(*args, &block) + return execute_action('get_label_associations_by_entity_ids', args, &block) + end + + def get_label_associations_by_label_ids(*args, &block) + return execute_action('get_label_associations_by_label_ids', args, &block) + end + + def add_experiments(*args, &block) + return execute_action('add_experiments', args, &block) + end + + def delete_experiments(*args, &block) + return execute_action('delete_experiments', args, &block) + end + + def update_experiments(*args, &block) + return execute_action('update_experiments', args, &block) + end + + def get_experiments_by_ids(*args, &block) + return execute_action('get_experiments_by_ids', args, &block) + end + + def get_profile_data_file_url(*args, &block) + return execute_action('get_profile_data_file_url', args, &block) + end + + def search_companies(*args, &block) + return execute_action('search_companies', args, &block) + end + + def get_file_import_upload_url(*args, &block) + return execute_action('get_file_import_upload_url', args, &block) + end + + def add_import_jobs(*args, &block) + return execute_action('add_import_jobs', args, &block) + end + + def get_import_results(*args, &block) + return execute_action('get_import_results', args, &block) + end + + def get_import_jobs_by_ids(*args, &block) + return execute_action('get_import_jobs_by_ids', args, &block) + end + + def delete_import_jobs(*args, &block) + return execute_action('delete_import_jobs', args, &block) + end + + def get_import_entity_ids_mapping(*args, &block) + return execute_action('get_import_entity_ids_mapping', args, &block) + end + + def update_import_jobs(*args, &block) + return execute_action('update_import_jobs', args, &block) + end + + def add_videos(*args, &block) + return execute_action('add_videos', args, &block) + end + + def delete_videos(*args, &block) + return execute_action('delete_videos', args, &block) + end + + def get_videos_by_ids(*args, &block) + return execute_action('get_videos_by_ids', args, &block) + end + + def update_videos(*args, &block) + return execute_action('update_videos', args, &block) + end + + def add_campaign_conversion_goals(*args, &block) + return execute_action('add_campaign_conversion_goals', args, &block) + end + + def delete_campaign_conversion_goals(*args, &block) + return execute_action('delete_campaign_conversion_goals', args, &block) end private diff --git a/lib/bing_ads_api/v13/campaign_management_service_registry.rb b/lib/bing_ads_api/v13/campaign_management_service_registry.rb index 3215d92..63b712d 100644 --- a/lib/bing_ads_api/v13/campaign_management_service_registry.rb +++ b/lib/bing_ads_api/v13/campaign_management_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:48. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:54. require 'bing_ads_api/errors' module BingAdsApi; module V13; module CampaignManagementService class CampaignManagementServiceRegistry - CAMPAIGNMANAGEMENTSERVICE_METHODS = {:get_billing_documents_info=>{:input=>[], :output=>{:name=>"get_billing_documents_info_response", :fields=>[]}, :original_name=>"GetBillingDocumentsInfo"}, :get_billing_documents=>{:input=>[], :output=>{:name=>"get_billing_documents_response", :fields=>[]}, :original_name=>"GetBillingDocuments"}, :add_insertion_order=>{:input=>[], :output=>{:name=>"add_insertion_order_response", :fields=>[]}, :original_name=>"AddInsertionOrder"}, :update_insertion_order=>{:input=>[], :output=>{:name=>"update_insertion_order_response", :fields=>[]}, :original_name=>"UpdateInsertionOrder"}, :search_insertion_orders=>{:input=>[], :output=>{:name=>"search_insertion_orders_response", :fields=>[]}, :original_name=>"SearchInsertionOrders"}, :get_account_monthly_spend=>{:input=>[], :output=>{:name=>"get_account_monthly_spend_response", :fields=>[]}, :original_name=>"GetAccountMonthlySpend"}, :dispatch_coupons=>{:input=>[], :output=>{:name=>"dispatch_coupons_response", :fields=>[]}, :original_name=>"DispatchCoupons"}, :redeem_coupon=>{:input=>[], :output=>{:name=>"redeem_coupon_response", :fields=>[]}, :original_name=>"RedeemCoupon"}, :search_coupons=>{:input=>[], :output=>{:name=>"search_coupons_response", :fields=>[]}, :original_name=>"SearchCoupons"}} + CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>[], :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>[], :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>[], :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>[], :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>[], :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>[], :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>[], :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>[], :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>[], :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>[], :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>[], :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>[], :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>[], :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>[], :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>[], :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>[], :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>[], :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>[], :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>[], :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>[], :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>[], :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>[], :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>[], :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>[], :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>[], :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>[], :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>[], :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>[], :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>[], :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>[], :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>[], :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>[], :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>[], :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>[], :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>[], :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>[], :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>[], :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>[], :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>[], :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>[], :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>[], :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>[], :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>[], :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>[], :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>[], :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>[], :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>[], :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>[], :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>[], :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>[], :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>[], :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>[], :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>[], :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>[], :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>[], :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>[], :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>[], :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>[], :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>[], :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>[], :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>[], :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>[], :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>[], :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>[], :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>[], :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>[], :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>[], :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>[], :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>[], :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>[], :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>[], :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>[], :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>[], :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>[], :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>[], :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>[], :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>[], :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>[], :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>[], :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>[], :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>[], :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>[], :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>[], :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>[], :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>[], :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>[], :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>[], :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>[], :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>[], :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>[], :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>[], :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>[], :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>[], :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>[], :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>[], :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>[], :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>[], :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>[], :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>[], :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>[], :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>[], :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>[], :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>[], :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>[], :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>[], :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} CAMPAIGNMANAGEMENTSERVICE_TYPES = {} CAMPAIGNMANAGEMENTSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/customer_billing_service.rb b/lib/bing_ads_api/v13/customer_billing_service.rb index 7a6fc33..9c5a64f 100644 --- a/lib/bing_ads_api/v13/customer_billing_service.rb +++ b/lib/bing_ads_api/v13/customer_billing_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:49. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:37. require 'ads_common/savon_service' require 'bing_ads_api/v13/customer_billing_service_registry' diff --git a/lib/bing_ads_api/v13/customer_billing_service_registry.rb b/lib/bing_ads_api/v13/customer_billing_service_registry.rb index 90f4f2d..c38766f 100644 --- a/lib/bing_ads_api/v13/customer_billing_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_billing_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:49. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:37. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/customer_management_service.rb b/lib/bing_ads_api/v13/customer_management_service.rb index b4f8146..9413fc9 100644 --- a/lib/bing_ads_api/v13/customer_management_service.rb +++ b/lib/bing_ads_api/v13/customer_management_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:51. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:39. require 'ads_common/savon_service' require 'bing_ads_api/v13/customer_management_service_registry' diff --git a/lib/bing_ads_api/v13/customer_management_service_registry.rb b/lib/bing_ads_api/v13/customer_management_service_registry.rb index d21abff..130682e 100644 --- a/lib/bing_ads_api/v13/customer_management_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_management_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:51. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:39. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/reporting_service.rb b/lib/bing_ads_api/v13/reporting_service.rb index 46d8874..4999fcf 100644 --- a/lib/bing_ads_api/v13/reporting_service.rb +++ b/lib/bing_ads_api/v13/reporting_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:56. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:43. require 'ads_common/savon_service' require 'bing_ads_api/v13/reporting_service_registry' diff --git a/lib/bing_ads_api/v13/reporting_service_registry.rb b/lib/bing_ads_api/v13/reporting_service_registry.rb index 9b3c6ff..0909755 100644 --- a/lib/bing_ads_api/v13/reporting_service_registry.rb +++ b/lib/bing_ads_api/v13/reporting_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 09:44:56. +# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:43. require 'bing_ads_api/errors' From a946b289d4fd59bcc9447e3f06a689e4a461bba0 Mon Sep 17 00:00:00 2001 From: Shalinga Manasinghe Date: Tue, 10 May 2022 15:58:10 +0530 Subject: [PATCH 04/24] Updating addressable version --- bing_ads.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bing_ads.gemspec b/bing_ads.gemspec index f072163..905096e 100644 --- a/bing_ads.gemspec +++ b/bing_ads.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |s| s.license = 'MIT' s.add_dependency('activesupport', '>= 3.1.0') - s.add_dependency('addressable', '~> 2.3.8') + s.add_dependency('addressable', '~> 2.8.0') s.add_dependency('google-ads-common', '~> 0.9.3') # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 From 8b50b479b1b6d5259498526e313d0cef57845e86 Mon Sep 17 00:00:00 2001 From: Shalinga Manasinghe Date: Tue, 10 May 2022 16:05:16 +0530 Subject: [PATCH 05/24] Updating google-ads-common version --- bing_ads.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bing_ads.gemspec b/bing_ads.gemspec index 905096e..bd91ebe 100644 --- a/bing_ads.gemspec +++ b/bing_ads.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |s| s.add_dependency('activesupport', '>= 3.1.0') s.add_dependency('addressable', '~> 2.8.0') - s.add_dependency('google-ads-common', '~> 0.9.3') + s.add_dependency('google-ads-common', '~> 1.0.0') # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_development_dependency('rack', '>= 1.6.12') From a97c54336e379980bab252970723fb62295c3fa2 Mon Sep 17 00:00:00 2001 From: Shalinga Manasinghe Date: Tue, 10 May 2022 18:25:09 +0530 Subject: [PATCH 06/24] Updating savon version --- bing_ads.gemspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bing_ads.gemspec b/bing_ads.gemspec index bd91ebe..7ceaff2 100644 --- a/bing_ads.gemspec +++ b/bing_ads.gemspec @@ -38,7 +38,7 @@ Gem::Specification.new do |s| s.add_dependency('addressable', '~> 2.8.0') s.add_dependency('google-ads-common', '~> 1.0.0') # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 - s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 + s.add_dependency('savon')# problem with httpi 1.1.0 or savon 1.2.0 s.add_development_dependency('rack', '>= 1.6.12') s.add_development_dependency 'rake', '< 11.0' s.add_development_dependency 'rspec', '~> 2.8' From dd05cbd57294c6e2c062ad6da13736cd216385e4 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 13:05:06 +1000 Subject: [PATCH 07/24] WIP --- .gitignore | 3 +- .rubocop.yml | 3 + Gemfile | 9 + Gemfile.lock | 71 +++++- Guardfile | 70 ++++++ bing_ads.gemspec => bing_ads_api.gemspec | 9 +- lib/ads_common/auth/client_login_handler.rb | 198 ++++++++++++++++ lib/ads_common_for_bing_ads.rb | 2 +- .../savon_headers/base_header_handler.rb | 2 + .../savon_headers/oauth_header_handler.rb | 7 +- lib/ads_common_for_bing_ads/savon_service.rb | 1 + lib/bing_ads_api.rb | 1 - lib/bing_ads_api/errors.rb | 2 +- .../v13/campaign_management_service.rb | 2 +- .../campaign_management_service_registry.rb | 2 +- spec/bing_ads_api_spec.rb | 214 ++++++++++-------- spec/spec_helper.rb | 3 + 17 files changed, 488 insertions(+), 111 deletions(-) create mode 100644 .rubocop.yml create mode 100644 Guardfile rename bing_ads.gemspec => bing_ads_api.gemspec (85%) create mode 100644 lib/ads_common/auth/client_login_handler.rb diff --git a/.gitignore b/.gitignore index 2c1ec71..6eaad1e 100644 --- a/.gitignore +++ b/.gitignore @@ -3,4 +3,5 @@ bing_ads_api.yml /*.0.1.gem /*.0.2.gem /*.0.*.gem -/test.rb \ No newline at end of file +/test.rb +.env*.local \ No newline at end of file diff --git a/.rubocop.yml b/.rubocop.yml new file mode 100644 index 0000000..adc8416 --- /dev/null +++ b/.rubocop.yml @@ -0,0 +1,3 @@ +require: + - rubocop-rake + - rubocop-rspec \ No newline at end of file diff --git a/Gemfile b/Gemfile index 3a9eea8..6c60d06 100644 --- a/Gemfile +++ b/Gemfile @@ -2,4 +2,13 @@ source "http://rubygems.org" # Declare your gem's dependencies in semrush.gemspec. # Bundler will treat runtime dependencies like base dependencies, and # development dependencies will be added by default to the :development group. + +group :development do + gem 'guard' + gem 'guard-rspec', require: false + gem 'rubocop' + gem 'rubocop-rspec', require: false + gem 'rubocop-rake', require: false +end + gemspec \ No newline at end of file diff --git a/Gemfile.lock b/Gemfile.lock index 8b0d64c..1d2438c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -20,16 +20,35 @@ GEM akami (1.2.2) gyoku (>= 0.4.0) nokogiri + ast (2.4.2) builder (3.2.4) + coderay (1.1.3) concurrent-ruby (1.1.10) diff-lcs (1.5.0) + dotenv (2.7.6) extlib (0.9.16) faraday (0.17.5) multipart-post (>= 1.2, < 3) + ffi (1.15.5) + formatador (1.1.0) google-ads-common (0.9.9) httpi (~> 1.1.0) savon (~> 1.2.0) signet (~> 0.6.0) + guard (2.18.0) + formatador (>= 0.2.4) + listen (>= 2.7, < 4.0) + lumberjack (>= 1.0.12, < 2.0) + nenv (~> 0.1) + notiffany (~> 0.0) + pry (>= 0.13.0) + shellany (~> 0.0) + thor (>= 0.18.1) + guard-compat (1.2.1) + guard-rspec (4.7.3) + guard (~> 2.1) + guard-compat (~> 1.1) + rspec (>= 2.99.0, < 4.0) gyoku (0.4.6) builder (>= 2.1.2) httpi (1.1.1) @@ -37,15 +56,38 @@ GEM i18n (1.10.0) concurrent-ruby (~> 1.0) jwt (1.5.6) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + lumberjack (1.2.8) + method_source (1.0.0) + mini_portile2 (2.8.0) minitest (5.15.0) multi_json (1.15.0) multipart-post (2.1.1) - nokogiri (1.13.6-x86_64-linux) + nenv (0.3.0) + nokogiri (1.13.6) + mini_portile2 (~> 2.8.0) racc (~> 1.4) nori (1.1.5) + notiffany (0.1.3) + nenv (~> 0.1) + shellany (~> 0.0) + parallel (1.22.1) + parser (3.1.2.0) + ast (~> 2.4.1) + pry (0.14.1) + coderay (~> 1.1) + method_source (~> 1.0) racc (1.6.0) rack (2.2.3) + rainbow (3.1.1) rake (10.5.0) + rb-fsevent (0.11.1) + rb-inotify (0.10.1) + ffi (~> 1.0) + regexp_parser (2.4.0) + rexml (3.2.5) rspec (2.99.0) rspec-core (~> 2.99.0) rspec-expectations (~> 2.99.0) @@ -54,6 +96,22 @@ GEM rspec-expectations (2.99.2) diff-lcs (>= 1.1.3, < 2.0) rspec-mocks (2.99.4) + rubocop (1.29.0) + parallel (~> 1.10) + parser (>= 3.1.0.0) + rainbow (>= 2.2.2, < 4.0) + regexp_parser (>= 1.8, < 3.0) + rexml (>= 3.2.5, < 4.0) + rubocop-ast (>= 1.17.0, < 2.0) + ruby-progressbar (~> 1.7) + unicode-display_width (>= 1.4.0, < 3.0) + rubocop-ast (1.17.0) + parser (>= 3.1.1.0) + rubocop-rake (0.6.0) + rubocop (~> 1.0) + rubocop-rspec (2.10.0) + rubocop (~> 1.19) + ruby-progressbar (1.11.0) savon (1.2.0) akami (~> 1.2.0) builder (>= 2.1.2) @@ -62,14 +120,17 @@ GEM nokogiri (>= 1.4.0) nori (~> 1.1.0) wasabi (~> 2.5.0) + shellany (0.0.1) signet (0.6.1) addressable (~> 2.3) extlib (~> 0.9) faraday (~> 0.9) jwt (~> 1.5) multi_json (~> 1.10) + thor (1.2.1) tzinfo (2.0.4) concurrent-ruby (~> 1.0) + unicode-display_width (2.1.0) wasabi (2.5.1) httpi (~> 1.0) nokogiri (>= 1.4.0) @@ -80,9 +141,15 @@ PLATFORMS DEPENDENCIES bing_ads! + dotenv + guard + guard-rspec rack (>= 1.6.12) - rake (< 11.0) + rake rspec (~> 2.8) + rubocop + rubocop-rake + rubocop-rspec BUNDLED WITH 1.17.2 diff --git a/Guardfile b/Guardfile new file mode 100644 index 0000000..d5d471e --- /dev/null +++ b/Guardfile @@ -0,0 +1,70 @@ +# A sample Guardfile +# More info at https://github.com/guard/guard#readme + +## Uncomment and set this to only include directories you want to watch +directories %w(lib spec) \ + .select{|d| Dir.exist?(d) ? d : UI.warning("Directory #{d} does not exist")} + +## Note: if you are using the `directories` clause above and you are not +## watching the project directory ('.'), then you will want to move +## the Guardfile to a watched dir and symlink it back, e.g. +# +# $ mkdir config +# $ mv Guardfile config/ +# $ ln -s config/Guardfile . +# +# and, you'll have to watch "config/Guardfile" instead of "Guardfile" + +# Note: The cmd option is now required due to the increasing number of ways +# rspec may be run, below are examples of the most common uses. +# * bundler: 'bundle exec rspec' +# * bundler binstubs: 'bin/rspec' +# * spring: 'bin/rspec' (This will use spring if running and you have +# installed the spring binstubs per the docs) +# * zeus: 'zeus rspec' (requires the server to be started separately) +# * 'just' rspec: 'rspec' + +guard :rspec, cmd: "bundle exec rspec" do + require "guard/rspec/dsl" + dsl = Guard::RSpec::Dsl.new(self) + + # Feel free to open issues for suggestions and improvements + + # RSpec files + rspec = dsl.rspec + watch(rspec.spec_helper) { rspec.spec_dir } + watch(rspec.spec_support) { rspec.spec_dir } + watch(rspec.spec_files) + + # Ruby files + ruby = dsl.ruby + dsl.watch_spec_files_for(ruby.lib_files) + + # Rails files + rails = dsl.rails(view_extensions: %w(erb haml slim)) + dsl.watch_spec_files_for(rails.app_files) + dsl.watch_spec_files_for(rails.views) + + watch(rails.controllers) do |m| + [ + rspec.spec.call("routing/#{m[1]}_routing"), + rspec.spec.call("controllers/#{m[1]}_controller"), + rspec.spec.call("acceptance/#{m[1]}") + ] + end + + # Rails config changes + watch(rails.spec_helper) { rspec.spec_dir } + watch(rails.routes) { "#{rspec.spec_dir}/routing" } + watch(rails.app_controller) { "#{rspec.spec_dir}/controllers" } + + # Capybara features specs + watch(rails.view_dirs) { |m| rspec.spec.call("features/#{m[1]}") } + watch(rails.layouts) { |m| rspec.spec.call("features/#{m[1]}") } + + # Turnip features and steps + watch(%r{^spec/acceptance/(.+)\.feature$}) + watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) do |m| + Dir[File.join("**/#{m[1]}.feature")][0] || "spec/acceptance" + end +end diff --git a/bing_ads.gemspec b/bing_ads_api.gemspec similarity index 85% rename from bing_ads.gemspec rename to bing_ads_api.gemspec index 7ceaff2..3568399 100644 --- a/bing_ads.gemspec +++ b/bing_ads_api.gemspec @@ -35,11 +35,12 @@ Gem::Specification.new do |s| s.license = 'MIT' s.add_dependency('activesupport', '>= 3.1.0') - s.add_dependency('addressable', '~> 2.8.0') - s.add_dependency('google-ads-common', '~> 1.0.0') + s.add_dependency('addressable', '~> 2.3.8') + s.add_dependency('google-ads-common', '~> 0.9.3') # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 - s.add_dependency('savon')# problem with httpi 1.1.0 or savon 1.2.0 + s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_development_dependency('rack', '>= 1.6.12') - s.add_development_dependency 'rake', '< 11.0' + s.add_development_dependency 'rake' s.add_development_dependency 'rspec', '~> 2.8' + s.add_development_dependency 'dotenv' end diff --git a/lib/ads_common/auth/client_login_handler.rb b/lib/ads_common/auth/client_login_handler.rb new file mode 100644 index 0000000..5e5a69f --- /dev/null +++ b/lib/ads_common/auth/client_login_handler.rb @@ -0,0 +1,198 @@ +# Encoding: utf-8 +# +# Authors:: api.dklimkin@gmail.com (Danial Klimkin) +# +# Copyright:: Copyright 2010, Google Inc. All Rights Reserved. +# +# License:: Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or +# implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# +# This module manages ClientLogin authentication. It either uses a user-provided +# auth token, or automatically connects to Google's ClientLogin service and +# generates an auth token that can be used to login to an API. + +require 'cgi' +require 'ads_common/http' +require 'ads_common/auth/base_handler' +require 'ads_common/errors' + +module AdsCommon + module Auth + + # Credentials class to handle ClientLogin authentication. + class ClientLoginHandler < AdsCommon::Auth::BaseHandler + ACCOUNT_TYPE = 'GOOGLE' + AUTH_PATH = '/accounts/ClientLogin' + AUTH_PREFIX = 'GoogleLogin auth=' + CAPTCHA_PATH = '/accounts/' + + # Initializes the ClientLoginHandler with all the necessary details. + def initialize(config, auth_server, service_name) + super(config) + @server = auth_server + @service_name = service_name + end + + # Invalidates the stored token if the email, password or provided auth + # token have changed. + def property_changed(prop, value) + if [:email, :password].include?(prop) + @token = nil + end + if :auth_token.eql?(prop) + @token = create_token_from_string(value) + end + end + + # Handle specific ClientLogin errors. + def handle_error(error) + # TODO: Add support for automatically regenerating auth tokens when they + # expire. + get_logger().error(error) + raise error + end + + # Returns authorization string. + def auth_string(credentials) + return [AUTH_PREFIX, get_token(credentials)].join + end + + private + + # Auxiliary method to validate the credentials for token generation. + # + # Args: + # - credentials: a hash with the credentials for the account being + # accessed + # + # Raises: + # - AdsCommon::Errors::AuthError if validation fails + # + def validate_credentials(credentials) + if credentials.nil? + raise AdsCommon::Errors::AuthError, 'No credentials supplied.' + end + + if credentials[:auth_token].nil? + if credentials[:email].nil? + raise AdsCommon::Errors::AuthError, + 'Email address not included in credentials.' + end + if credentials[:password].nil? + raise AdsCommon::Errors::AuthError, + 'Password not included in credentials.' + end + else + if credentials[:email] and credentials[:password] + get_logger().warn('Both auth_token and login credentials present' + + ', preferring auth_token.') + end + end + end + + # Auxiliary method to generate an authentication token for login in via + # the ClientLogin API. + # + # Args: + # - credentials: a hash with the credentials for the account being + # accessed + # + # Returns: + # - The auth token for the account + # + # Raises: + # - AdsCommon::Errors::AuthError if authentication fails + # + def create_token(credentials) + token = credentials.include?(:auth_token) ? + create_token_from_string(credentials[:auth_token]) : + generate_token(credentials) + return token + end + + # Creates token for provided auth string. Trivial for this handler. + def create_token_from_string(token_string) + return token_string + end + + # Prepares POST data for ClientLogin request. + def get_login_data(credentials) + email = CGI.escape(credentials[:email]) + password = CGI.escape(credentials[:password]) + service_name = @service_name + data = "accountType=%s&Email=%s&Passwd=%s&service=%s" % + [ACCOUNT_TYPE, email, password, service_name] + if credentials[:logintoken] and credentials[:logincaptcha] + data += "&logintoken=%s&logincaptcha=%s" % + [CGI.escape(credentials[:logintoken]), + CGI.escape(credentials[:logincaptcha])] + end + return data + end + + # Generates new client login token based on credentials. + def generate_token(credentials) + validate_credentials(credentials) + + url = @server + AUTH_PATH + data = get_login_data(credentials) + headers = {'Content-Type' => 'application/x-www-form-urlencoded'} + + response = AdsCommon::Http.post_response(url, data, @config, headers) + results = parse_token_text(response.body) + + if response.code == 200 and results.include?('Auth') + return results['Auth'] + else + handle_login_error(credentials, response, results) + end + end + + # Raises relevant error based on response and parsed results. + def handle_login_error(credentials, response, results) + # Handling for known errors. + if 'CaptchaRequired'.eql?(results['Error']) + captcha_url = @server + CAPTCHA_PATH + results['CaptchaUrl'] + raise AdsCommon::Errors::CaptchaRequiredError.new(results['Error'], + results['CaptchaToken'], captcha_url, results['Url']) + end + # For other errors throwing a generic error. + error_message = "ClientLogin failed for email '%s': HTTP code %d." % + [credentials[:email], response.code] + error_str = results['Error'] || response.body + error_message += " Error: %s." % error_str if error_str + if results.include?('Info') + error_message += " Info: %s." % results['Info'] + end + raise AdsCommon::Errors::AuthError.new(error_message, error_str, + results['Info']) + end + + # Extracts key-value pairs from ClientLogin server response. + # + # Args: + # - text: server response string + # + # Returns: + # Hash of key-value pairs + # + def parse_token_text(text) + return text.split("\n").inject({}) do |result, line| + key, *values = line.split('=') + result[key] = values.join('=') + result + end + end + end + end +end diff --git a/lib/ads_common_for_bing_ads.rb b/lib/ads_common_for_bing_ads.rb index 57f0e41..5731c48 100644 --- a/lib/ads_common_for_bing_ads.rb +++ b/lib/ads_common_for_bing_ads.rb @@ -9,7 +9,7 @@ require 'ads_common/build/savon_registry' require 'ads_common/savon_headers/base_header_handler' require 'ads_common/savon_headers/oauth_header_handler' -require 'ads_common/auth/client_login_handler.rb' +require 'ads_common/auth/client_login_handler' ####### AdsCommon Overriden for Bing Ads ######### module AdsCommonForBingAds diff --git a/lib/ads_common_for_bing_ads/savon_headers/base_header_handler.rb b/lib/ads_common_for_bing_ads/savon_headers/base_header_handler.rb index 9eaee44..47bc9e7 100644 --- a/lib/ads_common_for_bing_ads/savon_headers/base_header_handler.rb +++ b/lib/ads_common_for_bing_ads/savon_headers/base_header_handler.rb @@ -3,6 +3,8 @@ module SavonHeaders class BaseHeaderHandler + DEFAULT_NAMESPACE = :v13 + # Generates SOAP headers with the default request header element. def generate_headers(request, soap) soap.header.merge!(generate_request_header()) diff --git a/lib/ads_common_for_bing_ads/savon_headers/oauth_header_handler.rb b/lib/ads_common_for_bing_ads/savon_headers/oauth_header_handler.rb index 9f789a0..8cf87b2 100644 --- a/lib/ads_common_for_bing_ads/savon_headers/oauth_header_handler.rb +++ b/lib/ads_common_for_bing_ads/savon_headers/oauth_header_handler.rb @@ -21,9 +21,10 @@ def generate_headers(request, soap) request.url = soap.endpoint - soap.header['wsdl:AuthenticationToken'] = @auth_handler.auth_string(credentials) - soap.header['wsdl:DeveloperToken'] = credentials[:developer_token] - soap.header['wsdl:CustomerAccountId'] = credentials[:customer_account_id] + soap.header['v13:AuthenticationToken'] = @auth_handler.auth_string(credentials) + soap.header['v13:DeveloperToken'] = credentials[:developer_token] + soap.header['v13:CustomerAccountId'] = credentials[:customer_account_id] + soap.header['v13:CustomerId'] = credentials[:customer_id] end end diff --git a/lib/ads_common_for_bing_ads/savon_service.rb b/lib/ads_common_for_bing_ads/savon_service.rb index 8611fc1..8ce811e 100644 --- a/lib/ads_common_for_bing_ads/savon_service.rb +++ b/lib/ads_common_for_bing_ads/savon_service.rb @@ -37,6 +37,7 @@ def prepend_namespace(str, namespace = AdsCommonForBingAds::SavonHeaders::BaseHe # Executes the SOAP request with original SOAP name. def execute_soap_request(action, args, extra_namespaces) ns = AdsCommonForBingAds::SavonHeaders::BaseHeaderHandler::DEFAULT_NAMESPACE + original_input_name = get_service_registry.get_method_signature(action)[:input][:name].to_s.camelize original_action_name = get_service_registry.get_method_signature(action)[:original_name].to_s.camelize original_action_name = action if original_action_name.nil? diff --git a/lib/bing_ads_api.rb b/lib/bing_ads_api.rb index 69b5abb..a1b3ce6 100644 --- a/lib/bing_ads_api.rb +++ b/lib/bing_ads_api.rb @@ -1,4 +1,3 @@ -require 'savon' require 'httpi' require 'active_support/inflector' diff --git a/lib/bing_ads_api/errors.rb b/lib/bing_ads_api/errors.rb index f85c158..58489f3 100644 --- a/lib/bing_ads_api/errors.rb +++ b/lib/bing_ads_api/errors.rb @@ -106,7 +106,7 @@ def initialize(http_code, message) "1027" => "CampaignServiceCashBackStatusRequired", "1028" => "CampaignServiceCashbackInfoShouldBeNullForBackwardCompatability", "1029" => "CampaignServiceCustomerIdHasToBeSpecified", - "1033" => "CampaignServiceAccountIdHasToBeSpecified", + "1030" => "CampaignServiceAccountIdHasToBeSpecified", "1031" => "CampaignServiceCannotPerformCurrentOperation", "2928" => "CampaignServiceCustomerDataBeingMigrated", "1032" => "CampaignServiceNegativeKeywordsLimitExceeded", diff --git a/lib/bing_ads_api/v13/campaign_management_service.rb b/lib/bing_ads_api/v13/campaign_management_service.rb index ae88a6b..65a7c45 100644 --- a/lib/bing_ads_api/v13/campaign_management_service.rb +++ b/lib/bing_ads_api/v13/campaign_management_service.rb @@ -11,7 +11,7 @@ require 'bing_ads_api/v13/campaign_management_service_registry' module BingAdsApi; module V13; module CampaignManagementService - class CampaignManagementService < AdsCommon::SavonService + class CampaignManagementService < AdsCommonForBingAds::SavonService def initialize(config, endpoint) namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' super(config, endpoint, namespace, :v13) diff --git a/lib/bing_ads_api/v13/campaign_management_service_registry.rb b/lib/bing_ads_api/v13/campaign_management_service_registry.rb index 63b712d..68656cf 100644 --- a/lib/bing_ads_api/v13/campaign_management_service_registry.rb +++ b/lib/bing_ads_api/v13/campaign_management_service_registry.rb @@ -11,7 +11,7 @@ module BingAdsApi; module V13; module CampaignManagementService class CampaignManagementServiceRegistry - CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>[], :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>[], :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>[], :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>[], :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>[], :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>[], :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>[], :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>[], :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>[], :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>[], :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>[], :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>[], :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>[], :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>[], :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>[], :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>[], :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>[], :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>[], :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>[], :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>[], :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>[], :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>[], :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>[], :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>[], :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>[], :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>[], :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>[], :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>[], :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>[], :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>[], :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>[], :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>[], :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>[], :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>[], :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>[], :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>[], :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>[], :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>[], :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>[], :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>[], :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>[], :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>[], :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>[], :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>[], :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>[], :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>[], :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>[], :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>[], :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>[], :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>[], :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>[], :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>[], :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>[], :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>[], :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>[], :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>[], :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>[], :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>[], :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>[], :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>[], :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>[], :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>[], :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>[], :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>[], :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>[], :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>[], :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>[], :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>[], :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>[], :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>[], :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>[], :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>[], :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>[], :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>[], :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>[], :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>[], :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>[], :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>[], :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>[], :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>[], :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>[], :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>[], :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>[], :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>[], :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>[], :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>[], :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>[], :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>[], :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>[], :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>[], :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>[], :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>[], :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>[], :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>[], :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>[], :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>[], :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>[], :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>[], :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>[], :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>[], :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>[], :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>[], :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>[], :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>[], :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>[], :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} + CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>[], :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>{:name => "get_campaigns_by_account_id_request", :fields => []}, :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>[], :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>[], :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>[], :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>[], :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>[], :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>[], :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>[], :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>[], :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>[], :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>[], :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>[], :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>[], :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>[], :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>[], :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>[], :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>[], :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>[], :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>[], :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>[], :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>[], :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>[], :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>[], :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>[], :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>[], :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>[], :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>[], :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>[], :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>[], :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>[], :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>[], :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>[], :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>[], :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>[], :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>[], :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>[], :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>[], :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>[], :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>[], :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>[], :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>[], :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>[], :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>[], :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>[], :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>[], :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>[], :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>[], :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>[], :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>[], :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>[], :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>[], :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>[], :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>[], :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>[], :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>[], :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>[], :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>[], :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>[], :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>[], :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>[], :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>[], :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>[], :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>[], :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>[], :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>[], :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>[], :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>[], :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>[], :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>[], :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>[], :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>[], :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>[], :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>[], :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>[], :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>[], :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>[], :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>[], :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>[], :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>[], :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>[], :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>[], :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>[], :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>[], :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>[], :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>[], :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>[], :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>[], :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>[], :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>[], :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>[], :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>[], :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>[], :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>[], :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>[], :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>[], :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>[], :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>[], :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>[], :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>[], :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>[], :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>[], :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>[], :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>[], :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>[], :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} CAMPAIGNMANAGEMENTSERVICE_TYPES = {} CAMPAIGNMANAGEMENTSERVICE_NAMESPACES = [] diff --git a/spec/bing_ads_api_spec.rb b/spec/bing_ads_api_spec.rb index 67c28d0..223603b 100644 --- a/spec/bing_ads_api_spec.rb +++ b/spec/bing_ads_api_spec.rb @@ -1,114 +1,136 @@ require 'spec_helper' describe BingAdsApi do - it "comes from a module" do #simple test to init tests - BingAdsApi.should be_a_kind_of(Module) + let(:customer_id) { ENV.fetch('CUSTOMER_ID') } + let(:customer_account_id) { ENV.fetch('CUSTOMER_ACCOUNT_ID') } + let(:developer_token) { ENV.fetch('DEVELOPER_TOKEN') } + let(:oauth2_client_id) { ENV.fetch('OAUTH2_CLIENT_ID') } + let(:oauth2_client_secret) { ENV.fetch('OAUTH2_CLIENT_SECRET') } + let(:access_token) { ENV.fetch('ACCESS_TOKEN') } + let(:refresh_token) { ENV.fetch('REFRESH_TOKEN') } + + let(:bing_ads) do + BingAdsApi::Api.new( + authentication: { + method: :OAuth2, + developer_token: developer_token, + customer_id: customer_id, + customer_account_id: customer_account_id, + oauth2_client_id: oauth2_client_id, + oauth2_client_secret: oauth2_client_secret, + oauth2_token: { + :access_token => access_token, + :refresh_token => refresh_token + } + }, + service: { environment: 'PRODUCTION' }, + library: { log_level: 'DEBUG' } + ) end -end -describe BingAdsApi do - before(:all) do #once (and could be modified by the following tests) - $default_customer_id = '8000081' - $default_customer_account_id = '138537' - #$default_customer_id = '18007506' - #$default_customer_account_id = '1671592' + before(:all) do # once (and could be modified by the following tests) Savon.configure do |config| config.pretty_print_xml = true end end - it "authenticates" do - lambda{ - $bing_ads = BingAdsApi::Api.new({ - :authentication => { - :method => 'ClientLogin', - :developer_token => 'DEVELOPER_TOKEN', - :password => 'PASSWORD', - :user_name => 'USERNAME', - :customer_id => $default_customer_id, - :customer_account_id => $default_customer_account_id - }, - :service => {:environment => 'SANDBOX'}, - :library => {:log_level => 'DEBUG'} - }) - }.should_not raise_error - end - context "handles AdministrationService V7: " do - it "selects the service" do - lambda{ $admin_srv7 = $bing_ads.service(:AdministrationService, :v7)}.should_not raise_error - end - it "get_assigned_quota" do - $admin_srv7.get_assigned_quota().should be_a_kind_of(Hash) - end - it "get_remaining_quota" do - $admin_srv7.get_remaining_quota().should be_a_kind_of(Hash) - end + it 'comes from a module' do # simple test to init tests + BingAdsApi.should be_a_kind_of(Module) end - context "handles CampaignManagementService V7: " do - it "selects the service" do - lambda{ $campaign_srv7 = $bing_ads.service(:CampaignManagementService, :v7)}.should_not raise_error - end - it "add_campaigns" do - $campaign_srv7.add_campaigns({:account_id => $default_customer_account_id, - :campaigns => {:campaign => [{:budget_type => "DailyBudgetWithMaximumMonthlySpend", - :conversion_tracking_enabled => false, - :daily_budget => 5, - :daylight_saving => false, - :description => "A perfect new campaign", - :monthly_budget => 50, - :name => "perfectcampaign", - :time_zone => "BrusselsCopenhagenMadridParis"}]}}).should be_a_kind_of(Hash) - end - it "get_campaigns_by_account_id" do - $campaign_srv7.get_campaigns_by_account_id({:account_id => $default_customer_account_id}).should be_a_kind_of(Hash) - end + it 'authenticates' do + expect { bing_ads }.to_not raise_error end - context "handles CustomerManagementService V7: " do - # get_account, add_account, update_account, delete_account - # get_customers_info, get_customer, update_customer, signup_customer, delete_customer, get_customer_pilot_feature - # add_user, update_user, update_user_roles, get_user, delete_user, get_users_info - it "selects the service" do - lambda{ $customer_srv7 = $bing_ads.service(:CustomerManagementService, :v7)}.should_not raise_error - end - it "get_customer" do - $customer = $customer_srv7.get_customer({:customer_id => $default_customer_id}) - $customer.should be_a_kind_of(Hash) - puts "$customer=#{$customer}" - end - it "get_user" do - $user = $customer_srv7.get_user({:user_id => '226562'}) - $user.should be_a_kind_of(Hash) - end - it "get_accounts_info" do - $customer_accounts = $customer_srv7.get_accounts_info({:customer_id => $default_customer_id}) - $customer_accounts.should be_a_kind_of(Hash) + context 'v13' do + context 'CampaignManagementService' do + let(:service) do + bing_ads.service(:CampaignManagementService, :v13) + end + + it 'selects the service' do + expect { bing_ads.service(:CampaignManagementService, :v13) }.to_not raise_error + end + + it 'add_campaigns' do + service.add_campaigns( + account_id: customer_account_id, + campaigns: { + campaign: [ + { + budget_type: 'DailyBudgetWithMaximumMonthlySpend', + conversion_tracking_enabled: false, + daily_budget: 5, + daylight_saving: false, + description: 'A perfect new campaign', + monthly_budget: 50, + name: 'perfectcampaign', + time_zone: 'BrusselsCopenhagenMadridParis' + } + ] + } + ).should be_a_kind_of(Hash) + end + + it 'get_campaigns_by_account_id' do + service.get_campaigns_by_account_id({ account_id: customer_account_id }).should be_a_kind_of(Hash) + end end - it "get_account" do - $customer_account = $customer_srv7.get_account({:account_id => $customer_accounts[:accounts_info][:account_info][:id]}) - $customer_account.should be_a_kind_of(Hash) + + context 'CampaignManagementService' do + let(:service) { bing_ads.service(:CampaignManagementService, :v13) } + + it 'get_campaigns_by_account_id' do + campaigns = service.get_campaigns_by_account_id({ account_id: customer_account_id}) + #campaigns.should be_a_kind_of(Hash) + puts "campaigns=#{campaigns}" + end end - #it "get_users_info" do #DOES NOT WORK IN SANDBOX - # $users_info = $customer_srv7.get_users_info({:customer_id => $default_customer_id}) - # $users_info.should be_a_kind_of(Hash) - #end - #it "get customers info" do #DOES NOT WORK IN SANDBOX - # $customers_infos = $customer_srv7.get_customers_info({}) - # $customers_infos.should be_a_kind_of(Hash) - #end - #it "signup_customer" do #DOES NOT WORK IN SANDBOX - # $customer_srv7.signup_customer({:account => {}, - # :application_scope => "Advertiser", - # :customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}, - # :parent_customer_id => $customer[:customer][:id], - # :user => {}}).should be_a_kind_of(Hash) - #end - #it "update_customer" do #DOES NOT WORK IN SANDBOX - # c = $customer[:customer] - # $customer_srv7.update_customer({:customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}}).should be_a_kind_of(Hash) - #end - end + context 'CustomerManagementService' do + let(:service) { bing_ads.service(:CustomerManagementService, :v13) } + # get_account, add_account, update_account, delete_account + # get_customers_info, get_customer, update_customer, signup_customer, delete_customer, get_customer_pilot_feature + # add_user, update_user, update_user_roles, get_user, delete_user, get_users_info + it 'get_customer' do + customer = service.get_customer({ customer_id: customer_id}) + customer.should be_a_kind_of(Hash) + puts "customer=#{customer}" + end + + it 'get_user' do + user = service.get_user({ user_id: '226562' }) + user.should be_a_kind_of(Hash) + end + + it 'get_accounts_info' do + customer_accounts = service.get_accounts_info({ customer_id: customer_id}) + customer_accounts.should be_a_kind_of(Hash) + end -end \ No newline at end of file + it 'get_account' do + customer_account = service.get_account({ account_id: $customer_accounts[:accounts_info][:account_info][:id] }) + customer_account.should be_a_kind_of(Hash) + end + # it "get_users_info" do #DOES NOT WORK IN SANDBOX + # $users_info = $customer_srv13.get_users_info({:customer_id => $default_customer_id}) + # $users_info.should be_a_kind_of(Hash) + # end + # it "get customers info" do #DOES NOT WORK IN SANDBOX + # $customers_infos = $customer_srv13.get_customers_info({}) + # $customers_infos.should be_a_kind_of(Hash) + # end + # it "signup_customer" do #DOES NOT WORK IN SANDBOX + # $customer_srv13.signup_customer({:account => {}, + # :application_scope => "Advertiser", + # :customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}, + # :parent_customer_id => $customer[:customer][:id], + # :user => {}}).should be_a_kind_of(Hash) + # end + # it "update_customer" do #DOES NOT WORK IN SANDBOX + # c = $customer[:customer] + # $customer_srv13.update_customer({:customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}}).should be_a_kind_of(Hash) + # end + end + end +end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 670f7f5..b15dd16 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -3,6 +3,9 @@ require 'bing_ads_api' # and any other gems you need +require 'dotenv' +Dotenv.load('.env.test.local') + RSpec.configure do |config| # some (optional) config here end \ No newline at end of file From bbd4a31c1220b690bb4aafe08acd4a03f0411c1c Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 16:50:09 +1000 Subject: [PATCH 08/24] Enabling reporting calls --- lib/bing_ads_api/v13/reporting_service.rb | 3 +- .../v13/reporting_service_registry.rb | 2 +- spec/bing_ads_api_spec.rb | 55 +++++++++++++++++++ 3 files changed, 58 insertions(+), 2 deletions(-) diff --git a/lib/bing_ads_api/v13/reporting_service.rb b/lib/bing_ads_api/v13/reporting_service.rb index 4999fcf..9f853f2 100644 --- a/lib/bing_ads_api/v13/reporting_service.rb +++ b/lib/bing_ads_api/v13/reporting_service.rb @@ -11,7 +11,8 @@ require 'bing_ads_api/v13/reporting_service_registry' module BingAdsApi; module V13; module ReportingService - class ReportingService < AdsCommon::SavonService + class ReportingService < AdsCommonForBingAds::SavonService + def initialize(config, endpoint) namespace = 'https://bingads.microsoft.com/Reporting/v13' super(config, endpoint, namespace, :v13) diff --git a/lib/bing_ads_api/v13/reporting_service_registry.rb b/lib/bing_ads_api/v13/reporting_service_registry.rb index 0909755..2ad85fd 100644 --- a/lib/bing_ads_api/v13/reporting_service_registry.rb +++ b/lib/bing_ads_api/v13/reporting_service_registry.rb @@ -11,7 +11,7 @@ module BingAdsApi; module V13; module ReportingService class ReportingServiceRegistry - REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=>[], :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>[], :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} + REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=> {:name=>"submit_generate_report_request", :fields=>[]}, :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>[], :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} REPORTINGSERVICE_TYPES = {} REPORTINGSERVICE_NAMESPACES = [] diff --git a/spec/bing_ads_api_spec.rb b/spec/bing_ads_api_spec.rb index 223603b..eb42e5e 100644 --- a/spec/bing_ads_api_spec.rb +++ b/spec/bing_ads_api_spec.rb @@ -87,6 +87,61 @@ end end + context 'ReportingService' do + let(:service) { bing_ads.service(:ReportingService, :v13) } + let(:message) do + { + :report_request => { + :exclude_column_headers => true, + :exclude_report_footer => true, + :exclude_report_header => true, + :format => "Csv", + :report_name => "Test Report", + :return_only_complete_data => false, + :aggregation => "Summary", + :columns => [ + {:campaign_performance_report_column => "AccountId"}, + {:campaign_performance_report_column => "CampaignId"}, + {:campaign_performance_report_column => "Keyword"}, + {:campaign_performance_report_column => "KeywordId"}, + {:campaign_performance_report_column => "DeviceType"}, + {:campaign_performance_report_column => "Clicks"}, + ], + :filter => nil, + :scope => { + :account_ids => [ + {'a1:long' => customer_account_id} + ], + :attributes! => { + :account_ids => { 'xmlns:a1' => "http://schemas.microsoft.com/2003/10/Serialization/Arrays"} + }, + }, + :time => { + :custom_date_range_end => { + :day => '30', + :month => '04', + :year => '2022', + }, + :custom_date_range_start => { + :day => '01', + :month => '04', + :year => '2022', + }, + } + }, + :attributes! => { + :report_request => { 'xsi:type' => 'CampaignPerformanceReportRequest'} + } + } + end + + it 'submit_generate_report' do + report = service.submit_generate_report(message) + #campaigns.should be_a_kind_of(Hash) + puts "report=#{report}" + end + end + context 'CustomerManagementService' do let(:service) { bing_ads.service(:CustomerManagementService, :v13) } # get_account, add_account, update_account, delete_account From 63390aef7bd47911cb70b456e6e1c966e843301f Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 17:21:41 +1000 Subject: [PATCH 09/24] Revise generator template to extend all classes from internal code --- lib/ads_common_for_bing_ads.rb | 41 ++- lib/bing_ads_api/v13/ad_insight_service.rb | 81 +++-- .../v13/ad_insight_service_registry.rb | 2 +- lib/bing_ads_api/v13/bulk_service.rb | 49 ++- lib/bing_ads_api/v13/bulk_service_registry.rb | 2 +- .../v13/campaign_management_service.rb | 283 +++++++++--------- .../campaign_management_service_registry.rb | 4 +- .../v13/customer_billing_service.rb | 53 ++-- .../v13/customer_billing_service_registry.rb | 2 +- .../v13/customer_management_service.rb | 111 ++++--- .../customer_management_service_registry.rb | 2 +- lib/bing_ads_api/v13/reporting_service.rb | 40 ++- .../v13/reporting_service_registry.rb | 4 +- 13 files changed, 353 insertions(+), 321 deletions(-) diff --git a/lib/ads_common_for_bing_ads.rb b/lib/ads_common_for_bing_ads.rb index 5731c48..92a218c 100644 --- a/lib/ads_common_for_bing_ads.rb +++ b/lib/ads_common_for_bing_ads.rb @@ -6,6 +6,7 @@ require 'ads_common/savon_service' require 'ads_common/parameters_validator' require 'ads_common/build/savon_generator' +require 'ads_common/build/savon_service_generator' require 'ads_common/build/savon_registry' require 'ads_common/savon_headers/base_header_handler' require 'ads_common/savon_headers/oauth_header_handler' @@ -45,4 +46,42 @@ class OAuthHeaderHandler < AdsCommon::SavonHeaders::OAuthHeaderHandler; end # httpi_request_proxy is ::OAuth::RequestProxy::HTTPIRequest < OAuth::RequestProxy::Base end -end \ No newline at end of file +end + +AdsCommon::Build::SavonServiceGenerator::SERVICE_TEMPLATE = %q{<% %> + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright <%= @year %>, Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # <%= @generator_stamp %> + require 'ads_common/savon_service' + require '<%= @require_path %>/<%= @service_name.to_s.snakecase %>_registry' + + <%= @modules_open_string %> + class <%= @service_name %> < AdsCommonForBingAds::SavonService + def initialize(config, endpoint) + namespace = '<%= @namespace %>' + super(config, endpoint, namespace, :<%= @version %>) + end + + <% @actions.each do |action| %> + def <%= action %>(*args, &block) + return execute_action('<%= action %>', args, &block) + end + + <% end %> + private + + def get_service_registry() + return <%= @service_name %>Registry + end + + def get_module() + return <%= [@api_name, @version.to_s.upcase, @service_name].join('::') %> + end + end + <%= @modules_close_string %> + }.gsub(/^ /, '') \ No newline at end of file diff --git a/lib/bing_ads_api/v13/ad_insight_service.rb b/lib/bing_ads_api/v13/ad_insight_service.rb index 529d422..0a34a9e 100644 --- a/lib/bing_ads_api/v13/ad_insight_service.rb +++ b/lib/bing_ads_api/v13/ad_insight_service.rb @@ -1,118 +1,117 @@ -# Encoding: utf-8 -# -# This is auto-generated code, changes will be overwritten. -# -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. -# License:: Licensed under the Apache License, Version 2.0. -# -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:49. - -require 'ads_common/savon_service' -require 'bing_ads_api/v13/ad_insight_service_registry' - -module BingAdsApi; module V13; module AdInsightService - class AdInsightService < AdsCommon::SavonService + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright , Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:08. + require 'ads_common/savon_service' + require 'bing_ads_api/v13/ad_insight_service_registry' + + module BingAdsApi; module V13; module AdInsightService + class AdInsightService < AdsCommonForBingAds::SavonService def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/AdInsight/v13' - super(config, endpoint, namespace, :v13) + namespace = 'https://bingads.microsoft.com/AdInsight/v13' + super(config, endpoint, namespace, :v13) end def get_bid_opportunities(*args, &block) - return execute_action('get_bid_opportunities', args, &block) + return execute_action('get_bid_opportunities', args, &block) end def get_budget_opportunities(*args, &block) - return execute_action('get_budget_opportunities', args, &block) + return execute_action('get_budget_opportunities', args, &block) end def get_keyword_opportunities(*args, &block) - return execute_action('get_keyword_opportunities', args, &block) + return execute_action('get_keyword_opportunities', args, &block) end def get_estimated_bid_by_keyword_ids(*args, &block) - return execute_action('get_estimated_bid_by_keyword_ids', args, &block) + return execute_action('get_estimated_bid_by_keyword_ids', args, &block) end def get_estimated_position_by_keyword_ids(*args, &block) - return execute_action('get_estimated_position_by_keyword_ids', args, &block) + return execute_action('get_estimated_position_by_keyword_ids', args, &block) end def get_estimated_bid_by_keywords(*args, &block) - return execute_action('get_estimated_bid_by_keywords', args, &block) + return execute_action('get_estimated_bid_by_keywords', args, &block) end def get_estimated_position_by_keywords(*args, &block) - return execute_action('get_estimated_position_by_keywords', args, &block) + return execute_action('get_estimated_position_by_keywords', args, &block) end def get_bid_landscape_by_ad_group_ids(*args, &block) - return execute_action('get_bid_landscape_by_ad_group_ids', args, &block) + return execute_action('get_bid_landscape_by_ad_group_ids', args, &block) end def get_bid_landscape_by_keyword_ids(*args, &block) - return execute_action('get_bid_landscape_by_keyword_ids', args, &block) + return execute_action('get_bid_landscape_by_keyword_ids', args, &block) end def get_historical_keyword_performance(*args, &block) - return execute_action('get_historical_keyword_performance', args, &block) + return execute_action('get_historical_keyword_performance', args, &block) end def get_historical_search_count(*args, &block) - return execute_action('get_historical_search_count', args, &block) + return execute_action('get_historical_search_count', args, &block) end def get_keyword_categories(*args, &block) - return execute_action('get_keyword_categories', args, &block) + return execute_action('get_keyword_categories', args, &block) end def get_keyword_demographics(*args, &block) - return execute_action('get_keyword_demographics', args, &block) + return execute_action('get_keyword_demographics', args, &block) end def get_keyword_locations(*args, &block) - return execute_action('get_keyword_locations', args, &block) + return execute_action('get_keyword_locations', args, &block) end def suggest_keywords_for_url(*args, &block) - return execute_action('suggest_keywords_for_url', args, &block) + return execute_action('suggest_keywords_for_url', args, &block) end def suggest_keywords_from_existing_keywords(*args, &block) - return execute_action('suggest_keywords_from_existing_keywords', args, &block) + return execute_action('suggest_keywords_from_existing_keywords', args, &block) end def get_auction_insight_data(*args, &block) - return execute_action('get_auction_insight_data', args, &block) + return execute_action('get_auction_insight_data', args, &block) end def get_domain_categories(*args, &block) - return execute_action('get_domain_categories', args, &block) + return execute_action('get_domain_categories', args, &block) end def put_metric_data(*args, &block) - return execute_action('put_metric_data', args, &block) + return execute_action('put_metric_data', args, &block) end def get_keyword_idea_categories(*args, &block) - return execute_action('get_keyword_idea_categories', args, &block) + return execute_action('get_keyword_idea_categories', args, &block) end def get_keyword_ideas(*args, &block) - return execute_action('get_keyword_ideas', args, &block) + return execute_action('get_keyword_ideas', args, &block) end def get_keyword_traffic_estimates(*args, &block) - return execute_action('get_keyword_traffic_estimates', args, &block) + return execute_action('get_keyword_traffic_estimates', args, &block) end private def get_service_registry() - return AdInsightServiceRegistry + return AdInsightServiceRegistry end def get_module() - return BingAdsApi::V13::AdInsightService + return BingAdsApi::V13::AdInsightService end end -end; end; end + end; end; end \ No newline at end of file diff --git a/lib/bing_ads_api/v13/ad_insight_service_registry.rb b/lib/bing_ads_api/v13/ad_insight_service_registry.rb index 797d3cf..b8b9d66 100644 --- a/lib/bing_ads_api/v13/ad_insight_service_registry.rb +++ b/lib/bing_ads_api/v13/ad_insight_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:49. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:08. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/bulk_service.rb b/lib/bing_ads_api/v13/bulk_service.rb index b7ecb00..874598e 100644 --- a/lib/bing_ads_api/v13/bulk_service.rb +++ b/lib/bing_ads_api/v13/bulk_service.rb @@ -1,54 +1,53 @@ -# Encoding: utf-8 -# -# This is auto-generated code, changes will be overwritten. -# -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. -# License:: Licensed under the Apache License, Version 2.0. -# -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:51. - -require 'ads_common/savon_service' -require 'bing_ads_api/v13/bulk_service_registry' - -module BingAdsApi; module V13; module BulkService - class BulkService < AdsCommon::SavonService + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright , Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:10. + require 'ads_common/savon_service' + require 'bing_ads_api/v13/bulk_service_registry' + + module BingAdsApi; module V13; module BulkService + class BulkService < AdsCommonForBingAds::SavonService def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' - super(config, endpoint, namespace, :v13) + namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' + super(config, endpoint, namespace, :v13) end def download_campaigns_by_account_ids(*args, &block) - return execute_action('download_campaigns_by_account_ids', args, &block) + return execute_action('download_campaigns_by_account_ids', args, &block) end def download_campaigns_by_campaign_ids(*args, &block) - return execute_action('download_campaigns_by_campaign_ids', args, &block) + return execute_action('download_campaigns_by_campaign_ids', args, &block) end def get_bulk_download_status(*args, &block) - return execute_action('get_bulk_download_status', args, &block) + return execute_action('get_bulk_download_status', args, &block) end def get_bulk_upload_url(*args, &block) - return execute_action('get_bulk_upload_url', args, &block) + return execute_action('get_bulk_upload_url', args, &block) end def get_bulk_upload_status(*args, &block) - return execute_action('get_bulk_upload_status', args, &block) + return execute_action('get_bulk_upload_status', args, &block) end def upload_entity_records(*args, &block) - return execute_action('upload_entity_records', args, &block) + return execute_action('upload_entity_records', args, &block) end private def get_service_registry() - return BulkServiceRegistry + return BulkServiceRegistry end def get_module() - return BingAdsApi::V13::BulkService + return BingAdsApi::V13::BulkService end end -end; end; end + end; end; end \ No newline at end of file diff --git a/lib/bing_ads_api/v13/bulk_service_registry.rb b/lib/bing_ads_api/v13/bulk_service_registry.rb index 2177f48..3317b17 100644 --- a/lib/bing_ads_api/v13/bulk_service_registry.rb +++ b/lib/bing_ads_api/v13/bulk_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:51. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:10. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/campaign_management_service.rb b/lib/bing_ads_api/v13/campaign_management_service.rb index 65a7c45..0e54be5 100644 --- a/lib/bing_ads_api/v13/campaign_management_service.rb +++ b/lib/bing_ads_api/v13/campaign_management_service.rb @@ -1,526 +1,525 @@ -# Encoding: utf-8 -# -# This is auto-generated code, changes will be overwritten. -# -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. -# License:: Licensed under the Apache License, Version 2.0. -# -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:54. - -require 'ads_common/savon_service' -require 'bing_ads_api/v13/campaign_management_service_registry' - -module BingAdsApi; module V13; module CampaignManagementService + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright , Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:13. + require 'ads_common/savon_service' + require 'bing_ads_api/v13/campaign_management_service_registry' + + module BingAdsApi; module V13; module CampaignManagementService class CampaignManagementService < AdsCommonForBingAds::SavonService def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' - super(config, endpoint, namespace, :v13) + namespace = 'https://bingads.microsoft.com/CampaignManagement/v13' + super(config, endpoint, namespace, :v13) end def add_campaigns(*args, &block) - return execute_action('add_campaigns', args, &block) + return execute_action('add_campaigns', args, &block) end def get_campaigns_by_account_id(*args, &block) - return execute_action('get_campaigns_by_account_id', args, &block) + return execute_action('get_campaigns_by_account_id', args, &block) end def get_campaigns_by_ids(*args, &block) - return execute_action('get_campaigns_by_ids', args, &block) + return execute_action('get_campaigns_by_ids', args, &block) end def delete_campaigns(*args, &block) - return execute_action('delete_campaigns', args, &block) + return execute_action('delete_campaigns', args, &block) end def update_campaigns(*args, &block) - return execute_action('update_campaigns', args, &block) + return execute_action('update_campaigns', args, &block) end def get_negative_sites_by_campaign_ids(*args, &block) - return execute_action('get_negative_sites_by_campaign_ids', args, &block) + return execute_action('get_negative_sites_by_campaign_ids', args, &block) end def set_negative_sites_to_campaigns(*args, &block) - return execute_action('set_negative_sites_to_campaigns', args, &block) + return execute_action('set_negative_sites_to_campaigns', args, &block) end def get_config_value(*args, &block) - return execute_action('get_config_value', args, &block) + return execute_action('get_config_value', args, &block) end def get_bsc_countries(*args, &block) - return execute_action('get_bsc_countries', args, &block) + return execute_action('get_bsc_countries', args, &block) end def add_ad_groups(*args, &block) - return execute_action('add_ad_groups', args, &block) + return execute_action('add_ad_groups', args, &block) end def delete_ad_groups(*args, &block) - return execute_action('delete_ad_groups', args, &block) + return execute_action('delete_ad_groups', args, &block) end def get_ad_groups_by_ids(*args, &block) - return execute_action('get_ad_groups_by_ids', args, &block) + return execute_action('get_ad_groups_by_ids', args, &block) end def get_ad_groups_by_campaign_id(*args, &block) - return execute_action('get_ad_groups_by_campaign_id', args, &block) + return execute_action('get_ad_groups_by_campaign_id', args, &block) end def update_ad_groups(*args, &block) - return execute_action('update_ad_groups', args, &block) + return execute_action('update_ad_groups', args, &block) end def get_negative_sites_by_ad_group_ids(*args, &block) - return execute_action('get_negative_sites_by_ad_group_ids', args, &block) + return execute_action('get_negative_sites_by_ad_group_ids', args, &block) end def set_negative_sites_to_ad_groups(*args, &block) - return execute_action('set_negative_sites_to_ad_groups', args, &block) + return execute_action('set_negative_sites_to_ad_groups', args, &block) end def get_geo_locations_file_url(*args, &block) - return execute_action('get_geo_locations_file_url', args, &block) + return execute_action('get_geo_locations_file_url', args, &block) end def add_ads(*args, &block) - return execute_action('add_ads', args, &block) + return execute_action('add_ads', args, &block) end def delete_ads(*args, &block) - return execute_action('delete_ads', args, &block) + return execute_action('delete_ads', args, &block) end def get_ads_by_editorial_status(*args, &block) - return execute_action('get_ads_by_editorial_status', args, &block) + return execute_action('get_ads_by_editorial_status', args, &block) end def get_ads_by_ids(*args, &block) - return execute_action('get_ads_by_ids', args, &block) + return execute_action('get_ads_by_ids', args, &block) end def get_ads_by_ad_group_id(*args, &block) - return execute_action('get_ads_by_ad_group_id', args, &block) + return execute_action('get_ads_by_ad_group_id', args, &block) end def update_ads(*args, &block) - return execute_action('update_ads', args, &block) + return execute_action('update_ads', args, &block) end def add_keywords(*args, &block) - return execute_action('add_keywords', args, &block) + return execute_action('add_keywords', args, &block) end def delete_keywords(*args, &block) - return execute_action('delete_keywords', args, &block) + return execute_action('delete_keywords', args, &block) end def get_keywords_by_editorial_status(*args, &block) - return execute_action('get_keywords_by_editorial_status', args, &block) + return execute_action('get_keywords_by_editorial_status', args, &block) end def get_keywords_by_ids(*args, &block) - return execute_action('get_keywords_by_ids', args, &block) + return execute_action('get_keywords_by_ids', args, &block) end def get_keywords_by_ad_group_id(*args, &block) - return execute_action('get_keywords_by_ad_group_id', args, &block) + return execute_action('get_keywords_by_ad_group_id', args, &block) end def update_keywords(*args, &block) - return execute_action('update_keywords', args, &block) + return execute_action('update_keywords', args, &block) end def appeal_editorial_rejections(*args, &block) - return execute_action('appeal_editorial_rejections', args, &block) + return execute_action('appeal_editorial_rejections', args, &block) end def get_editorial_reasons_by_ids(*args, &block) - return execute_action('get_editorial_reasons_by_ids', args, &block) + return execute_action('get_editorial_reasons_by_ids', args, &block) end def get_account_migration_statuses(*args, &block) - return execute_action('get_account_migration_statuses', args, &block) + return execute_action('get_account_migration_statuses', args, &block) end def set_account_properties(*args, &block) - return execute_action('set_account_properties', args, &block) + return execute_action('set_account_properties', args, &block) end def get_account_properties(*args, &block) - return execute_action('get_account_properties', args, &block) + return execute_action('get_account_properties', args, &block) end def add_ad_extensions(*args, &block) - return execute_action('add_ad_extensions', args, &block) + return execute_action('add_ad_extensions', args, &block) end def get_ad_extensions_by_ids(*args, &block) - return execute_action('get_ad_extensions_by_ids', args, &block) + return execute_action('get_ad_extensions_by_ids', args, &block) end def update_ad_extensions(*args, &block) - return execute_action('update_ad_extensions', args, &block) + return execute_action('update_ad_extensions', args, &block) end def delete_ad_extensions(*args, &block) - return execute_action('delete_ad_extensions', args, &block) + return execute_action('delete_ad_extensions', args, &block) end def get_ad_extensions_editorial_reasons(*args, &block) - return execute_action('get_ad_extensions_editorial_reasons', args, &block) + return execute_action('get_ad_extensions_editorial_reasons', args, &block) end def set_ad_extensions_associations(*args, &block) - return execute_action('set_ad_extensions_associations', args, &block) + return execute_action('set_ad_extensions_associations', args, &block) end def get_ad_extensions_associations(*args, &block) - return execute_action('get_ad_extensions_associations', args, &block) + return execute_action('get_ad_extensions_associations', args, &block) end def delete_ad_extensions_associations(*args, &block) - return execute_action('delete_ad_extensions_associations', args, &block) + return execute_action('delete_ad_extensions_associations', args, &block) end def get_ad_extension_ids_by_account_id(*args, &block) - return execute_action('get_ad_extension_ids_by_account_id', args, &block) + return execute_action('get_ad_extension_ids_by_account_id', args, &block) end def add_media(*args, &block) - return execute_action('add_media', args, &block) + return execute_action('add_media', args, &block) end def delete_media(*args, &block) - return execute_action('delete_media', args, &block) + return execute_action('delete_media', args, &block) end def get_media_meta_data_by_account_id(*args, &block) - return execute_action('get_media_meta_data_by_account_id', args, &block) + return execute_action('get_media_meta_data_by_account_id', args, &block) end def get_media_meta_data_by_ids(*args, &block) - return execute_action('get_media_meta_data_by_ids', args, &block) + return execute_action('get_media_meta_data_by_ids', args, &block) end def get_media_associations(*args, &block) - return execute_action('get_media_associations', args, &block) + return execute_action('get_media_associations', args, &block) end def get_ad_group_criterions_by_ids(*args, &block) - return execute_action('get_ad_group_criterions_by_ids', args, &block) + return execute_action('get_ad_group_criterions_by_ids', args, &block) end def add_ad_group_criterions(*args, &block) - return execute_action('add_ad_group_criterions', args, &block) + return execute_action('add_ad_group_criterions', args, &block) end def update_ad_group_criterions(*args, &block) - return execute_action('update_ad_group_criterions', args, &block) + return execute_action('update_ad_group_criterions', args, &block) end def delete_ad_group_criterions(*args, &block) - return execute_action('delete_ad_group_criterions', args, &block) + return execute_action('delete_ad_group_criterions', args, &block) end def apply_product_partition_actions(*args, &block) - return execute_action('apply_product_partition_actions', args, &block) + return execute_action('apply_product_partition_actions', args, &block) end def get_bmc_stores_by_customer_id(*args, &block) - return execute_action('get_bmc_stores_by_customer_id', args, &block) + return execute_action('get_bmc_stores_by_customer_id', args, &block) end def add_negative_keywords_to_entities(*args, &block) - return execute_action('add_negative_keywords_to_entities', args, &block) + return execute_action('add_negative_keywords_to_entities', args, &block) end def get_negative_keywords_by_entity_ids(*args, &block) - return execute_action('get_negative_keywords_by_entity_ids', args, &block) + return execute_action('get_negative_keywords_by_entity_ids', args, &block) end def delete_negative_keywords_from_entities(*args, &block) - return execute_action('delete_negative_keywords_from_entities', args, &block) + return execute_action('delete_negative_keywords_from_entities', args, &block) end def get_shared_entities_by_account_id(*args, &block) - return execute_action('get_shared_entities_by_account_id', args, &block) + return execute_action('get_shared_entities_by_account_id', args, &block) end def get_shared_entities(*args, &block) - return execute_action('get_shared_entities', args, &block) + return execute_action('get_shared_entities', args, &block) end def add_shared_entity(*args, &block) - return execute_action('add_shared_entity', args, &block) + return execute_action('add_shared_entity', args, &block) end def get_list_items_by_shared_list(*args, &block) - return execute_action('get_list_items_by_shared_list', args, &block) + return execute_action('get_list_items_by_shared_list', args, &block) end def add_list_items_to_shared_list(*args, &block) - return execute_action('add_list_items_to_shared_list', args, &block) + return execute_action('add_list_items_to_shared_list', args, &block) end def update_shared_entities(*args, &block) - return execute_action('update_shared_entities', args, &block) + return execute_action('update_shared_entities', args, &block) end def delete_list_items_from_shared_list(*args, &block) - return execute_action('delete_list_items_from_shared_list', args, &block) + return execute_action('delete_list_items_from_shared_list', args, &block) end def set_shared_entity_associations(*args, &block) - return execute_action('set_shared_entity_associations', args, &block) + return execute_action('set_shared_entity_associations', args, &block) end def delete_shared_entity_associations(*args, &block) - return execute_action('delete_shared_entity_associations', args, &block) + return execute_action('delete_shared_entity_associations', args, &block) end def get_shared_entity_associations_by_shared_entity_ids(*args, &block) - return execute_action('get_shared_entity_associations_by_shared_entity_ids', args, &block) + return execute_action('get_shared_entity_associations_by_shared_entity_ids', args, &block) end def get_shared_entity_associations_by_entity_ids(*args, &block) - return execute_action('get_shared_entity_associations_by_entity_ids', args, &block) + return execute_action('get_shared_entity_associations_by_entity_ids', args, &block) end def delete_shared_entities(*args, &block) - return execute_action('delete_shared_entities', args, &block) + return execute_action('delete_shared_entities', args, &block) end def get_campaign_sizes_by_account_id(*args, &block) - return execute_action('get_campaign_sizes_by_account_id', args, &block) + return execute_action('get_campaign_sizes_by_account_id', args, &block) end def add_campaign_criterions(*args, &block) - return execute_action('add_campaign_criterions', args, &block) + return execute_action('add_campaign_criterions', args, &block) end def update_campaign_criterions(*args, &block) - return execute_action('update_campaign_criterions', args, &block) + return execute_action('update_campaign_criterions', args, &block) end def delete_campaign_criterions(*args, &block) - return execute_action('delete_campaign_criterions', args, &block) + return execute_action('delete_campaign_criterions', args, &block) end def get_campaign_criterions_by_ids(*args, &block) - return execute_action('get_campaign_criterions_by_ids', args, &block) + return execute_action('get_campaign_criterions_by_ids', args, &block) end def add_budgets(*args, &block) - return execute_action('add_budgets', args, &block) + return execute_action('add_budgets', args, &block) end def update_budgets(*args, &block) - return execute_action('update_budgets', args, &block) + return execute_action('update_budgets', args, &block) end def delete_budgets(*args, &block) - return execute_action('delete_budgets', args, &block) + return execute_action('delete_budgets', args, &block) end def get_budgets_by_ids(*args, &block) - return execute_action('get_budgets_by_ids', args, &block) + return execute_action('get_budgets_by_ids', args, &block) end def get_campaign_ids_by_budget_ids(*args, &block) - return execute_action('get_campaign_ids_by_budget_ids', args, &block) + return execute_action('get_campaign_ids_by_budget_ids', args, &block) end def add_bid_strategies(*args, &block) - return execute_action('add_bid_strategies', args, &block) + return execute_action('add_bid_strategies', args, &block) end def update_bid_strategies(*args, &block) - return execute_action('update_bid_strategies', args, &block) + return execute_action('update_bid_strategies', args, &block) end def delete_bid_strategies(*args, &block) - return execute_action('delete_bid_strategies', args, &block) + return execute_action('delete_bid_strategies', args, &block) end def get_bid_strategies_by_ids(*args, &block) - return execute_action('get_bid_strategies_by_ids', args, &block) + return execute_action('get_bid_strategies_by_ids', args, &block) end def get_campaign_ids_by_bid_strategy_ids(*args, &block) - return execute_action('get_campaign_ids_by_bid_strategy_ids', args, &block) + return execute_action('get_campaign_ids_by_bid_strategy_ids', args, &block) end def add_audiences(*args, &block) - return execute_action('add_audiences', args, &block) + return execute_action('add_audiences', args, &block) end def update_audiences(*args, &block) - return execute_action('update_audiences', args, &block) + return execute_action('update_audiences', args, &block) end def delete_audiences(*args, &block) - return execute_action('delete_audiences', args, &block) + return execute_action('delete_audiences', args, &block) end def get_audiences_by_ids(*args, &block) - return execute_action('get_audiences_by_ids', args, &block) + return execute_action('get_audiences_by_ids', args, &block) end def get_uet_tags_by_ids(*args, &block) - return execute_action('get_uet_tags_by_ids', args, &block) + return execute_action('get_uet_tags_by_ids', args, &block) end def add_uet_tags(*args, &block) - return execute_action('add_uet_tags', args, &block) + return execute_action('add_uet_tags', args, &block) end def update_uet_tags(*args, &block) - return execute_action('update_uet_tags', args, &block) + return execute_action('update_uet_tags', args, &block) end def get_conversion_goals_by_ids(*args, &block) - return execute_action('get_conversion_goals_by_ids', args, &block) + return execute_action('get_conversion_goals_by_ids', args, &block) end def get_conversion_goals_by_tag_ids(*args, &block) - return execute_action('get_conversion_goals_by_tag_ids', args, &block) + return execute_action('get_conversion_goals_by_tag_ids', args, &block) end def add_conversion_goals(*args, &block) - return execute_action('add_conversion_goals', args, &block) + return execute_action('add_conversion_goals', args, &block) end def update_conversion_goals(*args, &block) - return execute_action('update_conversion_goals', args, &block) + return execute_action('update_conversion_goals', args, &block) end def apply_offline_conversions(*args, &block) - return execute_action('apply_offline_conversions', args, &block) + return execute_action('apply_offline_conversions', args, &block) end def apply_offline_conversion_adjustments(*args, &block) - return execute_action('apply_offline_conversion_adjustments', args, &block) + return execute_action('apply_offline_conversion_adjustments', args, &block) end def add_labels(*args, &block) - return execute_action('add_labels', args, &block) + return execute_action('add_labels', args, &block) end def delete_labels(*args, &block) - return execute_action('delete_labels', args, &block) + return execute_action('delete_labels', args, &block) end def update_labels(*args, &block) - return execute_action('update_labels', args, &block) + return execute_action('update_labels', args, &block) end def get_labels_by_ids(*args, &block) - return execute_action('get_labels_by_ids', args, &block) + return execute_action('get_labels_by_ids', args, &block) end def set_label_associations(*args, &block) - return execute_action('set_label_associations', args, &block) + return execute_action('set_label_associations', args, &block) end def delete_label_associations(*args, &block) - return execute_action('delete_label_associations', args, &block) + return execute_action('delete_label_associations', args, &block) end def get_label_associations_by_entity_ids(*args, &block) - return execute_action('get_label_associations_by_entity_ids', args, &block) + return execute_action('get_label_associations_by_entity_ids', args, &block) end def get_label_associations_by_label_ids(*args, &block) - return execute_action('get_label_associations_by_label_ids', args, &block) + return execute_action('get_label_associations_by_label_ids', args, &block) end def add_experiments(*args, &block) - return execute_action('add_experiments', args, &block) + return execute_action('add_experiments', args, &block) end def delete_experiments(*args, &block) - return execute_action('delete_experiments', args, &block) + return execute_action('delete_experiments', args, &block) end def update_experiments(*args, &block) - return execute_action('update_experiments', args, &block) + return execute_action('update_experiments', args, &block) end def get_experiments_by_ids(*args, &block) - return execute_action('get_experiments_by_ids', args, &block) + return execute_action('get_experiments_by_ids', args, &block) end def get_profile_data_file_url(*args, &block) - return execute_action('get_profile_data_file_url', args, &block) + return execute_action('get_profile_data_file_url', args, &block) end def search_companies(*args, &block) - return execute_action('search_companies', args, &block) + return execute_action('search_companies', args, &block) end def get_file_import_upload_url(*args, &block) - return execute_action('get_file_import_upload_url', args, &block) + return execute_action('get_file_import_upload_url', args, &block) end def add_import_jobs(*args, &block) - return execute_action('add_import_jobs', args, &block) + return execute_action('add_import_jobs', args, &block) end def get_import_results(*args, &block) - return execute_action('get_import_results', args, &block) + return execute_action('get_import_results', args, &block) end def get_import_jobs_by_ids(*args, &block) - return execute_action('get_import_jobs_by_ids', args, &block) + return execute_action('get_import_jobs_by_ids', args, &block) end def delete_import_jobs(*args, &block) - return execute_action('delete_import_jobs', args, &block) + return execute_action('delete_import_jobs', args, &block) end def get_import_entity_ids_mapping(*args, &block) - return execute_action('get_import_entity_ids_mapping', args, &block) + return execute_action('get_import_entity_ids_mapping', args, &block) end def update_import_jobs(*args, &block) - return execute_action('update_import_jobs', args, &block) + return execute_action('update_import_jobs', args, &block) end def add_videos(*args, &block) - return execute_action('add_videos', args, &block) + return execute_action('add_videos', args, &block) end def delete_videos(*args, &block) - return execute_action('delete_videos', args, &block) + return execute_action('delete_videos', args, &block) end def get_videos_by_ids(*args, &block) - return execute_action('get_videos_by_ids', args, &block) + return execute_action('get_videos_by_ids', args, &block) end def update_videos(*args, &block) - return execute_action('update_videos', args, &block) + return execute_action('update_videos', args, &block) end def add_campaign_conversion_goals(*args, &block) - return execute_action('add_campaign_conversion_goals', args, &block) + return execute_action('add_campaign_conversion_goals', args, &block) end def delete_campaign_conversion_goals(*args, &block) - return execute_action('delete_campaign_conversion_goals', args, &block) + return execute_action('delete_campaign_conversion_goals', args, &block) end private def get_service_registry() - return CampaignManagementServiceRegistry + return CampaignManagementServiceRegistry end def get_module() - return BingAdsApi::V13::CampaignManagementService + return BingAdsApi::V13::CampaignManagementService end end -end; end; end + end; end; end \ No newline at end of file diff --git a/lib/bing_ads_api/v13/campaign_management_service_registry.rb b/lib/bing_ads_api/v13/campaign_management_service_registry.rb index 68656cf..39703d6 100644 --- a/lib/bing_ads_api/v13/campaign_management_service_registry.rb +++ b/lib/bing_ads_api/v13/campaign_management_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:09:54. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:13. require 'bing_ads_api/errors' module BingAdsApi; module V13; module CampaignManagementService class CampaignManagementServiceRegistry - CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>[], :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>{:name => "get_campaigns_by_account_id_request", :fields => []}, :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>[], :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>[], :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>[], :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>[], :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>[], :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>[], :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>[], :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>[], :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>[], :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>[], :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>[], :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>[], :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>[], :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>[], :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>[], :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>[], :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>[], :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>[], :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>[], :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>[], :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>[], :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>[], :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>[], :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>[], :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>[], :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>[], :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>[], :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>[], :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>[], :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>[], :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>[], :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>[], :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>[], :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>[], :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>[], :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>[], :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>[], :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>[], :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>[], :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>[], :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>[], :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>[], :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>[], :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>[], :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>[], :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>[], :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>[], :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>[], :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>[], :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>[], :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>[], :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>[], :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>[], :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>[], :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>[], :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>[], :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>[], :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>[], :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>[], :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>[], :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>[], :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>[], :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>[], :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>[], :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>[], :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>[], :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>[], :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>[], :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>[], :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>[], :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>[], :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>[], :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>[], :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>[], :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>[], :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>[], :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>[], :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>[], :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>[], :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>[], :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>[], :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>[], :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>[], :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>[], :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>[], :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>[], :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>[], :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>[], :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>[], :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>[], :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>[], :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>[], :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>[], :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>[], :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>[], :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>[], :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>[], :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>[], :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>[], :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>[], :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>[], :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>[], :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>[], :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} + CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>[], :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>[], :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>[], :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>[], :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>[], :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>[], :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>[], :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>[], :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>[], :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>[], :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>[], :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>[], :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>[], :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>[], :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>[], :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>[], :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>[], :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>[], :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>[], :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>[], :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>[], :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>[], :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>[], :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>[], :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>[], :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>[], :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>[], :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>[], :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>[], :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>[], :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>[], :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>[], :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>[], :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>[], :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>[], :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>[], :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>[], :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>[], :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>[], :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>[], :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>[], :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>[], :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>[], :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>[], :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>[], :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>[], :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>[], :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>[], :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>[], :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>[], :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>[], :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>[], :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>[], :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>[], :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>[], :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>[], :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>[], :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>[], :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>[], :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>[], :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>[], :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>[], :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>[], :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>[], :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>[], :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>[], :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>[], :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>[], :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>[], :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>[], :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>[], :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>[], :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>[], :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>[], :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>[], :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>[], :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>[], :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>[], :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>[], :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>[], :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>[], :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>[], :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>[], :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>[], :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>[], :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>[], :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>[], :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>[], :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>[], :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>[], :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>[], :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>[], :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>[], :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>[], :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>[], :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>[], :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>[], :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>[], :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>[], :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>[], :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>[], :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>[], :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>[], :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>[], :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>[], :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} CAMPAIGNMANAGEMENTSERVICE_TYPES = {} CAMPAIGNMANAGEMENTSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/customer_billing_service.rb b/lib/bing_ads_api/v13/customer_billing_service.rb index 9c5a64f..c233d53 100644 --- a/lib/bing_ads_api/v13/customer_billing_service.rb +++ b/lib/bing_ads_api/v13/customer_billing_service.rb @@ -1,66 +1,65 @@ -# Encoding: utf-8 -# -# This is auto-generated code, changes will be overwritten. -# -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. -# License:: Licensed under the Apache License, Version 2.0. -# -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:37. + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright , Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:59. + require 'ads_common/savon_service' + require 'bing_ads_api/v13/customer_billing_service_registry' -require 'ads_common/savon_service' -require 'bing_ads_api/v13/customer_billing_service_registry' - -module BingAdsApi; module V13; module CustomerBillingService - class CustomerBillingService < AdsCommon::SavonService + module BingAdsApi; module V13; module CustomerBillingService + class CustomerBillingService < AdsCommonForBingAds::SavonService def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/Billing/v13' - super(config, endpoint, namespace, :v13) + namespace = 'https://bingads.microsoft.com/Billing/v13' + super(config, endpoint, namespace, :v13) end def get_billing_documents_info(*args, &block) - return execute_action('get_billing_documents_info', args, &block) + return execute_action('get_billing_documents_info', args, &block) end def get_billing_documents(*args, &block) - return execute_action('get_billing_documents', args, &block) + return execute_action('get_billing_documents', args, &block) end def add_insertion_order(*args, &block) - return execute_action('add_insertion_order', args, &block) + return execute_action('add_insertion_order', args, &block) end def update_insertion_order(*args, &block) - return execute_action('update_insertion_order', args, &block) + return execute_action('update_insertion_order', args, &block) end def search_insertion_orders(*args, &block) - return execute_action('search_insertion_orders', args, &block) + return execute_action('search_insertion_orders', args, &block) end def get_account_monthly_spend(*args, &block) - return execute_action('get_account_monthly_spend', args, &block) + return execute_action('get_account_monthly_spend', args, &block) end def dispatch_coupons(*args, &block) - return execute_action('dispatch_coupons', args, &block) + return execute_action('dispatch_coupons', args, &block) end def redeem_coupon(*args, &block) - return execute_action('redeem_coupon', args, &block) + return execute_action('redeem_coupon', args, &block) end def search_coupons(*args, &block) - return execute_action('search_coupons', args, &block) + return execute_action('search_coupons', args, &block) end private def get_service_registry() - return CustomerBillingServiceRegistry + return CustomerBillingServiceRegistry end def get_module() - return BingAdsApi::V13::CustomerBillingService + return BingAdsApi::V13::CustomerBillingService end end -end; end; end + end; end; end \ No newline at end of file diff --git a/lib/bing_ads_api/v13/customer_billing_service_registry.rb b/lib/bing_ads_api/v13/customer_billing_service_registry.rb index c38766f..6ac0e94 100644 --- a/lib/bing_ads_api/v13/customer_billing_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_billing_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:37. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:59. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/customer_management_service.rb b/lib/bing_ads_api/v13/customer_management_service.rb index 9413fc9..71bf7c4 100644 --- a/lib/bing_ads_api/v13/customer_management_service.rb +++ b/lib/bing_ads_api/v13/customer_management_service.rb @@ -1,178 +1,177 @@ -# Encoding: utf-8 -# -# This is auto-generated code, changes will be overwritten. -# -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. -# License:: Licensed under the Apache License, Version 2.0. -# -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:39. - -require 'ads_common/savon_service' -require 'bing_ads_api/v13/customer_management_service_registry' - -module BingAdsApi; module V13; module CustomerManagementService - class CustomerManagementService < AdsCommon::SavonService + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright , Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:00. + require 'ads_common/savon_service' + require 'bing_ads_api/v13/customer_management_service_registry' + + module BingAdsApi; module V13; module CustomerManagementService + class CustomerManagementService < AdsCommonForBingAds::SavonService def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/Customer/v13' - super(config, endpoint, namespace, :v13) + namespace = 'https://bingads.microsoft.com/Customer/v13' + super(config, endpoint, namespace, :v13) end def get_accounts_info(*args, &block) - return execute_action('get_accounts_info', args, &block) + return execute_action('get_accounts_info', args, &block) end def find_accounts(*args, &block) - return execute_action('find_accounts', args, &block) + return execute_action('find_accounts', args, &block) end def add_account(*args, &block) - return execute_action('add_account', args, &block) + return execute_action('add_account', args, &block) end def update_account(*args, &block) - return execute_action('update_account', args, &block) + return execute_action('update_account', args, &block) end def get_customer(*args, &block) - return execute_action('get_customer', args, &block) + return execute_action('get_customer', args, &block) end def update_customer(*args, &block) - return execute_action('update_customer', args, &block) + return execute_action('update_customer', args, &block) end def signup_customer(*args, &block) - return execute_action('signup_customer', args, &block) + return execute_action('signup_customer', args, &block) end def get_account(*args, &block) - return execute_action('get_account', args, &block) + return execute_action('get_account', args, &block) end def get_customers_info(*args, &block) - return execute_action('get_customers_info', args, &block) + return execute_action('get_customers_info', args, &block) end def delete_account(*args, &block) - return execute_action('delete_account', args, &block) + return execute_action('delete_account', args, &block) end def delete_customer(*args, &block) - return execute_action('delete_customer', args, &block) + return execute_action('delete_customer', args, &block) end def update_user(*args, &block) - return execute_action('update_user', args, &block) + return execute_action('update_user', args, &block) end def update_user_roles(*args, &block) - return execute_action('update_user_roles', args, &block) + return execute_action('update_user_roles', args, &block) end def get_user(*args, &block) - return execute_action('get_user', args, &block) + return execute_action('get_user', args, &block) end def get_current_user(*args, &block) - return execute_action('get_current_user', args, &block) + return execute_action('get_current_user', args, &block) end def delete_user(*args, &block) - return execute_action('delete_user', args, &block) + return execute_action('delete_user', args, &block) end def get_users_info(*args, &block) - return execute_action('get_users_info', args, &block) + return execute_action('get_users_info', args, &block) end def get_customer_pilot_features(*args, &block) - return execute_action('get_customer_pilot_features', args, &block) + return execute_action('get_customer_pilot_features', args, &block) end def get_account_pilot_features(*args, &block) - return execute_action('get_account_pilot_features', args, &block) + return execute_action('get_account_pilot_features', args, &block) end def get_pilot_features_countries(*args, &block) - return execute_action('get_pilot_features_countries', args, &block) + return execute_action('get_pilot_features_countries', args, &block) end def get_accessible_customer(*args, &block) - return execute_action('get_accessible_customer', args, &block) + return execute_action('get_accessible_customer', args, &block) end def find_accounts_or_customers_info(*args, &block) - return execute_action('find_accounts_or_customers_info', args, &block) + return execute_action('find_accounts_or_customers_info', args, &block) end def upgrade_customer_to_agency(*args, &block) - return execute_action('upgrade_customer_to_agency', args, &block) + return execute_action('upgrade_customer_to_agency', args, &block) end def add_prepay_account(*args, &block) - return execute_action('add_prepay_account', args, &block) + return execute_action('add_prepay_account', args, &block) end def update_prepay_account(*args, &block) - return execute_action('update_prepay_account', args, &block) + return execute_action('update_prepay_account', args, &block) end def map_customer_id_to_external_customer_id(*args, &block) - return execute_action('map_customer_id_to_external_customer_id', args, &block) + return execute_action('map_customer_id_to_external_customer_id', args, &block) end def map_account_id_to_external_account_ids(*args, &block) - return execute_action('map_account_id_to_external_account_ids', args, &block) + return execute_action('map_account_id_to_external_account_ids', args, &block) end def search_customers(*args, &block) - return execute_action('search_customers', args, &block) + return execute_action('search_customers', args, &block) end def add_client_links(*args, &block) - return execute_action('add_client_links', args, &block) + return execute_action('add_client_links', args, &block) end def update_client_links(*args, &block) - return execute_action('update_client_links', args, &block) + return execute_action('update_client_links', args, &block) end def search_client_links(*args, &block) - return execute_action('search_client_links', args, &block) + return execute_action('search_client_links', args, &block) end def search_accounts(*args, &block) - return execute_action('search_accounts', args, &block) + return execute_action('search_accounts', args, &block) end def send_user_invitation(*args, &block) - return execute_action('send_user_invitation', args, &block) + return execute_action('send_user_invitation', args, &block) end def search_user_invitations(*args, &block) - return execute_action('search_user_invitations', args, &block) + return execute_action('search_user_invitations', args, &block) end def validate_address(*args, &block) - return execute_action('validate_address', args, &block) + return execute_action('validate_address', args, &block) end def get_linked_accounts_and_customers_info(*args, &block) - return execute_action('get_linked_accounts_and_customers_info', args, &block) + return execute_action('get_linked_accounts_and_customers_info', args, &block) end def get_user_mfa_status(*args, &block) - return execute_action('get_user_mfa_status', args, &block) + return execute_action('get_user_mfa_status', args, &block) end private def get_service_registry() - return CustomerManagementServiceRegistry + return CustomerManagementServiceRegistry end def get_module() - return BingAdsApi::V13::CustomerManagementService + return BingAdsApi::V13::CustomerManagementService end end -end; end; end + end; end; end \ No newline at end of file diff --git a/lib/bing_ads_api/v13/customer_management_service_registry.rb b/lib/bing_ads_api/v13/customer_management_service_registry.rb index 130682e..1669082 100644 --- a/lib/bing_ads_api/v13/customer_management_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_management_service_registry.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:39. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:00. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/reporting_service.rb b/lib/bing_ads_api/v13/reporting_service.rb index 9f853f2..24adec2 100644 --- a/lib/bing_ads_api/v13/reporting_service.rb +++ b/lib/bing_ads_api/v13/reporting_service.rb @@ -1,39 +1,37 @@ -# Encoding: utf-8 -# -# This is auto-generated code, changes will be overwritten. -# -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. -# License:: Licensed under the Apache License, Version 2.0. -# -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:43. - -require 'ads_common/savon_service' -require 'bing_ads_api/v13/reporting_service_registry' - -module BingAdsApi; module V13; module ReportingService + # Encoding: utf-8 + # + # This is auto-generated code, changes will be overwritten. + # + # Copyright:: Copyright , Google Inc. All Rights Reserved. + # License:: Licensed under the Apache License, Version 2.0. + # + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:05. + require 'ads_common/savon_service' + require 'bing_ads_api/v13/reporting_service_registry' + + module BingAdsApi; module V13; module ReportingService class ReportingService < AdsCommonForBingAds::SavonService - def initialize(config, endpoint) - namespace = 'https://bingads.microsoft.com/Reporting/v13' - super(config, endpoint, namespace, :v13) + namespace = 'https://bingads.microsoft.com/Reporting/v13' + super(config, endpoint, namespace, :v13) end def submit_generate_report(*args, &block) - return execute_action('submit_generate_report', args, &block) + return execute_action('submit_generate_report', args, &block) end def poll_generate_report(*args, &block) - return execute_action('poll_generate_report', args, &block) + return execute_action('poll_generate_report', args, &block) end private def get_service_registry() - return ReportingServiceRegistry + return ReportingServiceRegistry end def get_module() - return BingAdsApi::V13::ReportingService + return BingAdsApi::V13::ReportingService end end -end; end; end + end; end; end \ No newline at end of file diff --git a/lib/bing_ads_api/v13/reporting_service_registry.rb b/lib/bing_ads_api/v13/reporting_service_registry.rb index 2ad85fd..2f9333d 100644 --- a/lib/bing_ads_api/v13/reporting_service_registry.rb +++ b/lib/bing_ads_api/v13/reporting_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-10 10:10:43. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:05. require 'bing_ads_api/errors' module BingAdsApi; module V13; module ReportingService class ReportingServiceRegistry - REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=> {:name=>"submit_generate_report_request", :fields=>[]}, :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>[], :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} + REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=>[], :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>[], :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} REPORTINGSERVICE_TYPES = {} REPORTINGSERVICE_NAMESPACES = [] From 0d92134a07262169a7dbedc6413ce7d913d2222f Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 17:32:55 +1000 Subject: [PATCH 10/24] Ensure we correctly configure the service registry inputs --- lib/ads_common_for_bing_ads.rb | 9 +++++++++ lib/bing_ads_api/v13/ad_insight_service.rb | 2 +- lib/bing_ads_api/v13/ad_insight_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/bulk_service.rb | 2 +- lib/bing_ads_api/v13/bulk_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/campaign_management_service.rb | 2 +- .../v13/campaign_management_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/customer_billing_service.rb | 2 +- .../v13/customer_billing_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/customer_management_service.rb | 2 +- .../v13/customer_management_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/reporting_service.rb | 2 +- lib/bing_ads_api/v13/reporting_service_registry.rb | 4 ++-- 13 files changed, 27 insertions(+), 18 deletions(-) diff --git a/lib/ads_common_for_bing_ads.rb b/lib/ads_common_for_bing_ads.rb index 92a218c..322050e 100644 --- a/lib/ads_common_for_bing_ads.rb +++ b/lib/ads_common_for_bing_ads.rb @@ -48,6 +48,15 @@ class OAuthHeaderHandler < AdsCommon::SavonHeaders::OAuthHeaderHandler; end end +AdsCommon::Build::SavonRegistry.class_eval do + def extract_input_parameters(op_node, doc) + output_element = REXML::XPath.first(op_node, 'descendant::wsdl:input') + output_name = get_element_name(output_element) + output_fields = find_sequence_fields(output_name, doc) + return {:name => output_name.snakecase, :fields => output_fields} + end +end + AdsCommon::Build::SavonServiceGenerator::SERVICE_TEMPLATE = %q{<% %> # Encoding: utf-8 # diff --git a/lib/bing_ads_api/v13/ad_insight_service.rb b/lib/bing_ads_api/v13/ad_insight_service.rb index 0a34a9e..6044741 100644 --- a/lib/bing_ads_api/v13/ad_insight_service.rb +++ b/lib/bing_ads_api/v13/ad_insight_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright , Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:08. + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:38. require 'ads_common/savon_service' require 'bing_ads_api/v13/ad_insight_service_registry' diff --git a/lib/bing_ads_api/v13/ad_insight_service_registry.rb b/lib/bing_ads_api/v13/ad_insight_service_registry.rb index b8b9d66..fdb2de3 100644 --- a/lib/bing_ads_api/v13/ad_insight_service_registry.rb +++ b/lib/bing_ads_api/v13/ad_insight_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:08. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:38. require 'bing_ads_api/errors' module BingAdsApi; module V13; module AdInsightService class AdInsightServiceRegistry - ADINSIGHTSERVICE_METHODS = {:get_bid_opportunities=>{:input=>[], :output=>{:name=>"get_bid_opportunities_response", :fields=>[]}, :original_name=>"GetBidOpportunities"}, :get_budget_opportunities=>{:input=>[], :output=>{:name=>"get_budget_opportunities_response", :fields=>[]}, :original_name=>"GetBudgetOpportunities"}, :get_keyword_opportunities=>{:input=>[], :output=>{:name=>"get_keyword_opportunities_response", :fields=>[]}, :original_name=>"GetKeywordOpportunities"}, :get_estimated_bid_by_keyword_ids=>{:input=>[], :output=>{:name=>"get_estimated_bid_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetEstimatedBidByKeywordIds"}, :get_estimated_position_by_keyword_ids=>{:input=>[], :output=>{:name=>"get_estimated_position_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetEstimatedPositionByKeywordIds"}, :get_estimated_bid_by_keywords=>{:input=>[], :output=>{:name=>"get_estimated_bid_by_keywords_response", :fields=>[]}, :original_name=>"GetEstimatedBidByKeywords"}, :get_estimated_position_by_keywords=>{:input=>[], :output=>{:name=>"get_estimated_position_by_keywords_response", :fields=>[]}, :original_name=>"GetEstimatedPositionByKeywords"}, :get_bid_landscape_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_bid_landscape_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetBidLandscapeByAdGroupIds"}, :get_bid_landscape_by_keyword_ids=>{:input=>[], :output=>{:name=>"get_bid_landscape_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetBidLandscapeByKeywordIds"}, :get_historical_keyword_performance=>{:input=>[], :output=>{:name=>"get_historical_keyword_performance_response", :fields=>[]}, :original_name=>"GetHistoricalKeywordPerformance"}, :get_historical_search_count=>{:input=>[], :output=>{:name=>"get_historical_search_count_response", :fields=>[]}, :original_name=>"GetHistoricalSearchCount"}, :get_keyword_categories=>{:input=>[], :output=>{:name=>"get_keyword_categories_response", :fields=>[]}, :original_name=>"GetKeywordCategories"}, :get_keyword_demographics=>{:input=>[], :output=>{:name=>"get_keyword_demographics_response", :fields=>[]}, :original_name=>"GetKeywordDemographics"}, :get_keyword_locations=>{:input=>[], :output=>{:name=>"get_keyword_locations_response", :fields=>[]}, :original_name=>"GetKeywordLocations"}, :suggest_keywords_for_url=>{:input=>[], :output=>{:name=>"suggest_keywords_for_url_response", :fields=>[]}, :original_name=>"SuggestKeywordsForUrl"}, :suggest_keywords_from_existing_keywords=>{:input=>[], :output=>{:name=>"suggest_keywords_from_existing_keywords_response", :fields=>[]}, :original_name=>"SuggestKeywordsFromExistingKeywords"}, :get_auction_insight_data=>{:input=>[], :output=>{:name=>"get_auction_insight_data_response", :fields=>[]}, :original_name=>"GetAuctionInsightData"}, :get_domain_categories=>{:input=>[], :output=>{:name=>"get_domain_categories_response", :fields=>[]}, :original_name=>"GetDomainCategories"}, :put_metric_data=>{:input=>[], :output=>{:name=>"put_metric_data_response", :fields=>[]}, :original_name=>"PutMetricData"}, :get_keyword_idea_categories=>{:input=>[], :output=>{:name=>"get_keyword_idea_categories_response", :fields=>[]}, :original_name=>"GetKeywordIdeaCategories"}, :get_keyword_ideas=>{:input=>[], :output=>{:name=>"get_keyword_ideas_response", :fields=>[]}, :original_name=>"GetKeywordIdeas"}, :get_keyword_traffic_estimates=>{:input=>[], :output=>{:name=>"get_keyword_traffic_estimates_response", :fields=>[]}, :original_name=>"GetKeywordTrafficEstimates"}} + ADINSIGHTSERVICE_METHODS = {:get_bid_opportunities=>{:input=>{:name=>"get_bid_opportunities_request", :fields=>[]}, :output=>{:name=>"get_bid_opportunities_response", :fields=>[]}, :original_name=>"GetBidOpportunities"}, :get_budget_opportunities=>{:input=>{:name=>"get_budget_opportunities_request", :fields=>[]}, :output=>{:name=>"get_budget_opportunities_response", :fields=>[]}, :original_name=>"GetBudgetOpportunities"}, :get_keyword_opportunities=>{:input=>{:name=>"get_keyword_opportunities_request", :fields=>[]}, :output=>{:name=>"get_keyword_opportunities_response", :fields=>[]}, :original_name=>"GetKeywordOpportunities"}, :get_estimated_bid_by_keyword_ids=>{:input=>{:name=>"get_estimated_bid_by_keyword_ids_request", :fields=>[]}, :output=>{:name=>"get_estimated_bid_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetEstimatedBidByKeywordIds"}, :get_estimated_position_by_keyword_ids=>{:input=>{:name=>"get_estimated_position_by_keyword_ids_request", :fields=>[]}, :output=>{:name=>"get_estimated_position_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetEstimatedPositionByKeywordIds"}, :get_estimated_bid_by_keywords=>{:input=>{:name=>"get_estimated_bid_by_keywords_request", :fields=>[]}, :output=>{:name=>"get_estimated_bid_by_keywords_response", :fields=>[]}, :original_name=>"GetEstimatedBidByKeywords"}, :get_estimated_position_by_keywords=>{:input=>{:name=>"get_estimated_position_by_keywords_request", :fields=>[]}, :output=>{:name=>"get_estimated_position_by_keywords_response", :fields=>[]}, :original_name=>"GetEstimatedPositionByKeywords"}, :get_bid_landscape_by_ad_group_ids=>{:input=>{:name=>"get_bid_landscape_by_ad_group_ids_request", :fields=>[]}, :output=>{:name=>"get_bid_landscape_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetBidLandscapeByAdGroupIds"}, :get_bid_landscape_by_keyword_ids=>{:input=>{:name=>"get_bid_landscape_by_keyword_ids_request", :fields=>[]}, :output=>{:name=>"get_bid_landscape_by_keyword_ids_response", :fields=>[]}, :original_name=>"GetBidLandscapeByKeywordIds"}, :get_historical_keyword_performance=>{:input=>{:name=>"get_historical_keyword_performance_request", :fields=>[]}, :output=>{:name=>"get_historical_keyword_performance_response", :fields=>[]}, :original_name=>"GetHistoricalKeywordPerformance"}, :get_historical_search_count=>{:input=>{:name=>"get_historical_search_count_request", :fields=>[]}, :output=>{:name=>"get_historical_search_count_response", :fields=>[]}, :original_name=>"GetHistoricalSearchCount"}, :get_keyword_categories=>{:input=>{:name=>"get_keyword_categories_request", :fields=>[]}, :output=>{:name=>"get_keyword_categories_response", :fields=>[]}, :original_name=>"GetKeywordCategories"}, :get_keyword_demographics=>{:input=>{:name=>"get_keyword_demographics_request", :fields=>[]}, :output=>{:name=>"get_keyword_demographics_response", :fields=>[]}, :original_name=>"GetKeywordDemographics"}, :get_keyword_locations=>{:input=>{:name=>"get_keyword_locations_request", :fields=>[]}, :output=>{:name=>"get_keyword_locations_response", :fields=>[]}, :original_name=>"GetKeywordLocations"}, :suggest_keywords_for_url=>{:input=>{:name=>"suggest_keywords_for_url_request", :fields=>[]}, :output=>{:name=>"suggest_keywords_for_url_response", :fields=>[]}, :original_name=>"SuggestKeywordsForUrl"}, :suggest_keywords_from_existing_keywords=>{:input=>{:name=>"suggest_keywords_from_existing_keywords_request", :fields=>[]}, :output=>{:name=>"suggest_keywords_from_existing_keywords_response", :fields=>[]}, :original_name=>"SuggestKeywordsFromExistingKeywords"}, :get_auction_insight_data=>{:input=>{:name=>"get_auction_insight_data_request", :fields=>[]}, :output=>{:name=>"get_auction_insight_data_response", :fields=>[]}, :original_name=>"GetAuctionInsightData"}, :get_domain_categories=>{:input=>{:name=>"get_domain_categories_request", :fields=>[]}, :output=>{:name=>"get_domain_categories_response", :fields=>[]}, :original_name=>"GetDomainCategories"}, :put_metric_data=>{:input=>{:name=>"put_metric_data_request", :fields=>[]}, :output=>{:name=>"put_metric_data_response", :fields=>[]}, :original_name=>"PutMetricData"}, :get_keyword_idea_categories=>{:input=>{:name=>"get_keyword_idea_categories_request", :fields=>[]}, :output=>{:name=>"get_keyword_idea_categories_response", :fields=>[]}, :original_name=>"GetKeywordIdeaCategories"}, :get_keyword_ideas=>{:input=>{:name=>"get_keyword_ideas_request", :fields=>[]}, :output=>{:name=>"get_keyword_ideas_response", :fields=>[]}, :original_name=>"GetKeywordIdeas"}, :get_keyword_traffic_estimates=>{:input=>{:name=>"get_keyword_traffic_estimates_request", :fields=>[]}, :output=>{:name=>"get_keyword_traffic_estimates_response", :fields=>[]}, :original_name=>"GetKeywordTrafficEstimates"}} ADINSIGHTSERVICE_TYPES = {} ADINSIGHTSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/bulk_service.rb b/lib/bing_ads_api/v13/bulk_service.rb index 874598e..f9614d6 100644 --- a/lib/bing_ads_api/v13/bulk_service.rb +++ b/lib/bing_ads_api/v13/bulk_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright , Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:10. + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:41. require 'ads_common/savon_service' require 'bing_ads_api/v13/bulk_service_registry' diff --git a/lib/bing_ads_api/v13/bulk_service_registry.rb b/lib/bing_ads_api/v13/bulk_service_registry.rb index 3317b17..a77adf4 100644 --- a/lib/bing_ads_api/v13/bulk_service_registry.rb +++ b/lib/bing_ads_api/v13/bulk_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:10. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:41. require 'bing_ads_api/errors' module BingAdsApi; module V13; module BulkService class BulkServiceRegistry - BULKSERVICE_METHODS = {:download_campaigns_by_account_ids=>{:input=>[], :output=>{:name=>"download_campaigns_by_account_ids_response", :fields=>[]}, :original_name=>"DownloadCampaignsByAccountIds"}, :download_campaigns_by_campaign_ids=>{:input=>[], :output=>{:name=>"download_campaigns_by_campaign_ids_response", :fields=>[]}, :original_name=>"DownloadCampaignsByCampaignIds"}, :get_bulk_download_status=>{:input=>[], :output=>{:name=>"get_bulk_download_status_response", :fields=>[]}, :original_name=>"GetBulkDownloadStatus"}, :get_bulk_upload_url=>{:input=>[], :output=>{:name=>"get_bulk_upload_url_response", :fields=>[]}, :original_name=>"GetBulkUploadUrl"}, :get_bulk_upload_status=>{:input=>[], :output=>{:name=>"get_bulk_upload_status_response", :fields=>[]}, :original_name=>"GetBulkUploadStatus"}, :upload_entity_records=>{:input=>[], :output=>{:name=>"upload_entity_records_response", :fields=>[]}, :original_name=>"UploadEntityRecords"}} + BULKSERVICE_METHODS = {:download_campaigns_by_account_ids=>{:input=>{:name=>"download_campaigns_by_account_ids_request", :fields=>[]}, :output=>{:name=>"download_campaigns_by_account_ids_response", :fields=>[]}, :original_name=>"DownloadCampaignsByAccountIds"}, :download_campaigns_by_campaign_ids=>{:input=>{:name=>"download_campaigns_by_campaign_ids_request", :fields=>[]}, :output=>{:name=>"download_campaigns_by_campaign_ids_response", :fields=>[]}, :original_name=>"DownloadCampaignsByCampaignIds"}, :get_bulk_download_status=>{:input=>{:name=>"get_bulk_download_status_request", :fields=>[]}, :output=>{:name=>"get_bulk_download_status_response", :fields=>[]}, :original_name=>"GetBulkDownloadStatus"}, :get_bulk_upload_url=>{:input=>{:name=>"get_bulk_upload_url_request", :fields=>[]}, :output=>{:name=>"get_bulk_upload_url_response", :fields=>[]}, :original_name=>"GetBulkUploadUrl"}, :get_bulk_upload_status=>{:input=>{:name=>"get_bulk_upload_status_request", :fields=>[]}, :output=>{:name=>"get_bulk_upload_status_response", :fields=>[]}, :original_name=>"GetBulkUploadStatus"}, :upload_entity_records=>{:input=>{:name=>"upload_entity_records_request", :fields=>[]}, :output=>{:name=>"upload_entity_records_response", :fields=>[]}, :original_name=>"UploadEntityRecords"}} BULKSERVICE_TYPES = {} BULKSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/campaign_management_service.rb b/lib/bing_ads_api/v13/campaign_management_service.rb index 0e54be5..e47ef23 100644 --- a/lib/bing_ads_api/v13/campaign_management_service.rb +++ b/lib/bing_ads_api/v13/campaign_management_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright , Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:13. + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:43. require 'ads_common/savon_service' require 'bing_ads_api/v13/campaign_management_service_registry' diff --git a/lib/bing_ads_api/v13/campaign_management_service_registry.rb b/lib/bing_ads_api/v13/campaign_management_service_registry.rb index 39703d6..8d83be3 100644 --- a/lib/bing_ads_api/v13/campaign_management_service_registry.rb +++ b/lib/bing_ads_api/v13/campaign_management_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:13. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:43. require 'bing_ads_api/errors' module BingAdsApi; module V13; module CampaignManagementService class CampaignManagementServiceRegistry - CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>[], :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>[], :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>[], :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>[], :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>[], :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>[], :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>[], :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>[], :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>[], :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>[], :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>[], :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>[], :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>[], :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>[], :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>[], :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>[], :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>[], :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>[], :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>[], :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>[], :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>[], :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>[], :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>[], :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>[], :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>[], :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>[], :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>[], :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>[], :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>[], :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>[], :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>[], :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>[], :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>[], :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>[], :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>[], :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>[], :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>[], :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>[], :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>[], :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>[], :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>[], :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>[], :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>[], :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>[], :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>[], :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>[], :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>[], :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>[], :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>[], :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>[], :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>[], :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>[], :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>[], :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>[], :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>[], :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>[], :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>[], :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>[], :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>[], :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>[], :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>[], :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>[], :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>[], :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>[], :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>[], :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>[], :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>[], :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>[], :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>[], :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>[], :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>[], :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>[], :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>[], :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>[], :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>[], :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>[], :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>[], :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>[], :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>[], :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>[], :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>[], :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>[], :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>[], :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>[], :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>[], :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>[], :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>[], :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>[], :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>[], :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>[], :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>[], :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>[], :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>[], :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>[], :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>[], :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>[], :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>[], :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>[], :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>[], :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>[], :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>[], :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>[], :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>[], :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>[], :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>[], :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>[], :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>[], :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>[], :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>[], :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>[], :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>[], :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>[], :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>[], :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} + CAMPAIGNMANAGEMENTSERVICE_METHODS = {:add_campaigns=>{:input=>{:name=>"add_campaigns_request", :fields=>[]}, :output=>{:name=>"add_campaigns_response", :fields=>[]}, :original_name=>"AddCampaigns"}, :get_campaigns_by_account_id=>{:input=>{:name=>"get_campaigns_by_account_id_request", :fields=>[]}, :output=>{:name=>"get_campaigns_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignsByAccountId"}, :get_campaigns_by_ids=>{:input=>{:name=>"get_campaigns_by_ids_request", :fields=>[]}, :output=>{:name=>"get_campaigns_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignsByIds"}, :delete_campaigns=>{:input=>{:name=>"delete_campaigns_request", :fields=>[]}, :output=>{:name=>"delete_campaigns_response", :fields=>[]}, :original_name=>"DeleteCampaigns"}, :update_campaigns=>{:input=>{:name=>"update_campaigns_request", :fields=>[]}, :output=>{:name=>"update_campaigns_response", :fields=>[]}, :original_name=>"UpdateCampaigns"}, :get_negative_sites_by_campaign_ids=>{:input=>{:name=>"get_negative_sites_by_campaign_ids_request", :fields=>[]}, :output=>{:name=>"get_negative_sites_by_campaign_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByCampaignIds"}, :set_negative_sites_to_campaigns=>{:input=>{:name=>"set_negative_sites_to_campaigns_request", :fields=>[]}, :output=>{:name=>"set_negative_sites_to_campaigns_response", :fields=>[]}, :original_name=>"SetNegativeSitesToCampaigns"}, :get_config_value=>{:input=>{:name=>"get_config_value_request", :fields=>[]}, :output=>{:name=>"get_config_value_response", :fields=>[]}, :original_name=>"GetConfigValue"}, :get_bsc_countries=>{:input=>{:name=>"get_bsc_countries_request", :fields=>[]}, :output=>{:name=>"get_bsc_countries_response", :fields=>[]}, :original_name=>"GetBSCCountries"}, :add_ad_groups=>{:input=>{:name=>"add_ad_groups_request", :fields=>[]}, :output=>{:name=>"add_ad_groups_response", :fields=>[]}, :original_name=>"AddAdGroups"}, :delete_ad_groups=>{:input=>{:name=>"delete_ad_groups_request", :fields=>[]}, :output=>{:name=>"delete_ad_groups_response", :fields=>[]}, :original_name=>"DeleteAdGroups"}, :get_ad_groups_by_ids=>{:input=>{:name=>"get_ad_groups_by_ids_request", :fields=>[]}, :output=>{:name=>"get_ad_groups_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupsByIds"}, :get_ad_groups_by_campaign_id=>{:input=>{:name=>"get_ad_groups_by_campaign_id_request", :fields=>[]}, :output=>{:name=>"get_ad_groups_by_campaign_id_response", :fields=>[]}, :original_name=>"GetAdGroupsByCampaignId"}, :update_ad_groups=>{:input=>{:name=>"update_ad_groups_request", :fields=>[]}, :output=>{:name=>"update_ad_groups_response", :fields=>[]}, :original_name=>"UpdateAdGroups"}, :get_negative_sites_by_ad_group_ids=>{:input=>{:name=>"get_negative_sites_by_ad_group_ids_request", :fields=>[]}, :output=>{:name=>"get_negative_sites_by_ad_group_ids_response", :fields=>[]}, :original_name=>"GetNegativeSitesByAdGroupIds"}, :set_negative_sites_to_ad_groups=>{:input=>{:name=>"set_negative_sites_to_ad_groups_request", :fields=>[]}, :output=>{:name=>"set_negative_sites_to_ad_groups_response", :fields=>[]}, :original_name=>"SetNegativeSitesToAdGroups"}, :get_geo_locations_file_url=>{:input=>{:name=>"get_geo_locations_file_url_request", :fields=>[]}, :output=>{:name=>"get_geo_locations_file_url_response", :fields=>[]}, :original_name=>"GetGeoLocationsFileUrl"}, :add_ads=>{:input=>{:name=>"add_ads_request", :fields=>[]}, :output=>{:name=>"add_ads_response", :fields=>[]}, :original_name=>"AddAds"}, :delete_ads=>{:input=>{:name=>"delete_ads_request", :fields=>[]}, :output=>{:name=>"delete_ads_response", :fields=>[]}, :original_name=>"DeleteAds"}, :get_ads_by_editorial_status=>{:input=>{:name=>"get_ads_by_editorial_status_request", :fields=>[]}, :output=>{:name=>"get_ads_by_editorial_status_response", :fields=>[]}, :original_name=>"GetAdsByEditorialStatus"}, :get_ads_by_ids=>{:input=>{:name=>"get_ads_by_ids_request", :fields=>[]}, :output=>{:name=>"get_ads_by_ids_response", :fields=>[]}, :original_name=>"GetAdsByIds"}, :get_ads_by_ad_group_id=>{:input=>{:name=>"get_ads_by_ad_group_id_request", :fields=>[]}, :output=>{:name=>"get_ads_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetAdsByAdGroupId"}, :update_ads=>{:input=>{:name=>"update_ads_request", :fields=>[]}, :output=>{:name=>"update_ads_response", :fields=>[]}, :original_name=>"UpdateAds"}, :add_keywords=>{:input=>{:name=>"add_keywords_request", :fields=>[]}, :output=>{:name=>"add_keywords_response", :fields=>[]}, :original_name=>"AddKeywords"}, :delete_keywords=>{:input=>{:name=>"delete_keywords_request", :fields=>[]}, :output=>{:name=>"delete_keywords_response", :fields=>[]}, :original_name=>"DeleteKeywords"}, :get_keywords_by_editorial_status=>{:input=>{:name=>"get_keywords_by_editorial_status_request", :fields=>[]}, :output=>{:name=>"get_keywords_by_editorial_status_response", :fields=>[]}, :original_name=>"GetKeywordsByEditorialStatus"}, :get_keywords_by_ids=>{:input=>{:name=>"get_keywords_by_ids_request", :fields=>[]}, :output=>{:name=>"get_keywords_by_ids_response", :fields=>[]}, :original_name=>"GetKeywordsByIds"}, :get_keywords_by_ad_group_id=>{:input=>{:name=>"get_keywords_by_ad_group_id_request", :fields=>[]}, :output=>{:name=>"get_keywords_by_ad_group_id_response", :fields=>[]}, :original_name=>"GetKeywordsByAdGroupId"}, :update_keywords=>{:input=>{:name=>"update_keywords_request", :fields=>[]}, :output=>{:name=>"update_keywords_response", :fields=>[]}, :original_name=>"UpdateKeywords"}, :appeal_editorial_rejections=>{:input=>{:name=>"appeal_editorial_rejections_request", :fields=>[]}, :output=>{:name=>"appeal_editorial_rejections_response", :fields=>[]}, :original_name=>"AppealEditorialRejections"}, :get_editorial_reasons_by_ids=>{:input=>{:name=>"get_editorial_reasons_by_ids_request", :fields=>[]}, :output=>{:name=>"get_editorial_reasons_by_ids_response", :fields=>[]}, :original_name=>"GetEditorialReasonsByIds"}, :get_account_migration_statuses=>{:input=>{:name=>"get_account_migration_statuses_request", :fields=>[]}, :output=>{:name=>"get_account_migration_statuses_response", :fields=>[]}, :original_name=>"GetAccountMigrationStatuses"}, :set_account_properties=>{:input=>{:name=>"set_account_properties_request", :fields=>[]}, :output=>{:name=>"set_account_properties_response", :fields=>[]}, :original_name=>"SetAccountProperties"}, :get_account_properties=>{:input=>{:name=>"get_account_properties_request", :fields=>[]}, :output=>{:name=>"get_account_properties_response", :fields=>[]}, :original_name=>"GetAccountProperties"}, :add_ad_extensions=>{:input=>{:name=>"add_ad_extensions_request", :fields=>[]}, :output=>{:name=>"add_ad_extensions_response", :fields=>[]}, :original_name=>"AddAdExtensions"}, :get_ad_extensions_by_ids=>{:input=>{:name=>"get_ad_extensions_by_ids_request", :fields=>[]}, :output=>{:name=>"get_ad_extensions_by_ids_response", :fields=>[]}, :original_name=>"GetAdExtensionsByIds"}, :update_ad_extensions=>{:input=>{:name=>"update_ad_extensions_request", :fields=>[]}, :output=>{:name=>"update_ad_extensions_response", :fields=>[]}, :original_name=>"UpdateAdExtensions"}, :delete_ad_extensions=>{:input=>{:name=>"delete_ad_extensions_request", :fields=>[]}, :output=>{:name=>"delete_ad_extensions_response", :fields=>[]}, :original_name=>"DeleteAdExtensions"}, :get_ad_extensions_editorial_reasons=>{:input=>{:name=>"get_ad_extensions_editorial_reasons_request", :fields=>[]}, :output=>{:name=>"get_ad_extensions_editorial_reasons_response", :fields=>[]}, :original_name=>"GetAdExtensionsEditorialReasons"}, :set_ad_extensions_associations=>{:input=>{:name=>"set_ad_extensions_associations_request", :fields=>[]}, :output=>{:name=>"set_ad_extensions_associations_response", :fields=>[]}, :original_name=>"SetAdExtensionsAssociations"}, :get_ad_extensions_associations=>{:input=>{:name=>"get_ad_extensions_associations_request", :fields=>[]}, :output=>{:name=>"get_ad_extensions_associations_response", :fields=>[]}, :original_name=>"GetAdExtensionsAssociations"}, :delete_ad_extensions_associations=>{:input=>{:name=>"delete_ad_extensions_associations_request", :fields=>[]}, :output=>{:name=>"delete_ad_extensions_associations_response", :fields=>[]}, :original_name=>"DeleteAdExtensionsAssociations"}, :get_ad_extension_ids_by_account_id=>{:input=>{:name=>"get_ad_extension_ids_by_account_id_request", :fields=>[]}, :output=>{:name=>"get_ad_extension_ids_by_account_id_response", :fields=>[]}, :original_name=>"GetAdExtensionIdsByAccountId"}, :add_media=>{:input=>{:name=>"add_media_request", :fields=>[]}, :output=>{:name=>"add_media_response", :fields=>[]}, :original_name=>"AddMedia"}, :delete_media=>{:input=>{:name=>"delete_media_request", :fields=>[]}, :output=>{:name=>"delete_media_response", :fields=>[]}, :original_name=>"DeleteMedia"}, :get_media_meta_data_by_account_id=>{:input=>{:name=>"get_media_meta_data_by_account_id_request", :fields=>[]}, :output=>{:name=>"get_media_meta_data_by_account_id_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByAccountId"}, :get_media_meta_data_by_ids=>{:input=>{:name=>"get_media_meta_data_by_ids_request", :fields=>[]}, :output=>{:name=>"get_media_meta_data_by_ids_response", :fields=>[]}, :original_name=>"GetMediaMetaDataByIds"}, :get_media_associations=>{:input=>{:name=>"get_media_associations_request", :fields=>[]}, :output=>{:name=>"get_media_associations_response", :fields=>[]}, :original_name=>"GetMediaAssociations"}, :get_ad_group_criterions_by_ids=>{:input=>{:name=>"get_ad_group_criterions_by_ids_request", :fields=>[]}, :output=>{:name=>"get_ad_group_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetAdGroupCriterionsByIds"}, :add_ad_group_criterions=>{:input=>{:name=>"add_ad_group_criterions_request", :fields=>[]}, :output=>{:name=>"add_ad_group_criterions_response", :fields=>[]}, :original_name=>"AddAdGroupCriterions"}, :update_ad_group_criterions=>{:input=>{:name=>"update_ad_group_criterions_request", :fields=>[]}, :output=>{:name=>"update_ad_group_criterions_response", :fields=>[]}, :original_name=>"UpdateAdGroupCriterions"}, :delete_ad_group_criterions=>{:input=>{:name=>"delete_ad_group_criterions_request", :fields=>[]}, :output=>{:name=>"delete_ad_group_criterions_response", :fields=>[]}, :original_name=>"DeleteAdGroupCriterions"}, :apply_product_partition_actions=>{:input=>{:name=>"apply_product_partition_actions_request", :fields=>[]}, :output=>{:name=>"apply_product_partition_actions_response", :fields=>[]}, :original_name=>"ApplyProductPartitionActions"}, :get_bmc_stores_by_customer_id=>{:input=>{:name=>"get_bmc_stores_by_customer_id_request", :fields=>[]}, :output=>{:name=>"get_bmc_stores_by_customer_id_response", :fields=>[]}, :original_name=>"GetBMCStoresByCustomerId"}, :add_negative_keywords_to_entities=>{:input=>{:name=>"add_negative_keywords_to_entities_request", :fields=>[]}, :output=>{:name=>"add_negative_keywords_to_entities_response", :fields=>[]}, :original_name=>"AddNegativeKeywordsToEntities"}, :get_negative_keywords_by_entity_ids=>{:input=>{:name=>"get_negative_keywords_by_entity_ids_request", :fields=>[]}, :output=>{:name=>"get_negative_keywords_by_entity_ids_response", :fields=>[]}, :original_name=>"GetNegativeKeywordsByEntityIds"}, :delete_negative_keywords_from_entities=>{:input=>{:name=>"delete_negative_keywords_from_entities_request", :fields=>[]}, :output=>{:name=>"delete_negative_keywords_from_entities_response", :fields=>[]}, :original_name=>"DeleteNegativeKeywordsFromEntities"}, :get_shared_entities_by_account_id=>{:input=>{:name=>"get_shared_entities_by_account_id_request", :fields=>[]}, :output=>{:name=>"get_shared_entities_by_account_id_response", :fields=>[]}, :original_name=>"GetSharedEntitiesByAccountId"}, :get_shared_entities=>{:input=>{:name=>"get_shared_entities_request", :fields=>[]}, :output=>{:name=>"get_shared_entities_response", :fields=>[]}, :original_name=>"GetSharedEntities"}, :add_shared_entity=>{:input=>{:name=>"add_shared_entity_request", :fields=>[]}, :output=>{:name=>"add_shared_entity_response", :fields=>[]}, :original_name=>"AddSharedEntity"}, :get_list_items_by_shared_list=>{:input=>{:name=>"get_list_items_by_shared_list_request", :fields=>[]}, :output=>{:name=>"get_list_items_by_shared_list_response", :fields=>[]}, :original_name=>"GetListItemsBySharedList"}, :add_list_items_to_shared_list=>{:input=>{:name=>"add_list_items_to_shared_list_request", :fields=>[]}, :output=>{:name=>"add_list_items_to_shared_list_response", :fields=>[]}, :original_name=>"AddListItemsToSharedList"}, :update_shared_entities=>{:input=>{:name=>"update_shared_entities_request", :fields=>[]}, :output=>{:name=>"update_shared_entities_response", :fields=>[]}, :original_name=>"UpdateSharedEntities"}, :delete_list_items_from_shared_list=>{:input=>{:name=>"delete_list_items_from_shared_list_request", :fields=>[]}, :output=>{:name=>"delete_list_items_from_shared_list_response", :fields=>[]}, :original_name=>"DeleteListItemsFromSharedList"}, :set_shared_entity_associations=>{:input=>{:name=>"set_shared_entity_associations_request", :fields=>[]}, :output=>{:name=>"set_shared_entity_associations_response", :fields=>[]}, :original_name=>"SetSharedEntityAssociations"}, :delete_shared_entity_associations=>{:input=>{:name=>"delete_shared_entity_associations_request", :fields=>[]}, :output=>{:name=>"delete_shared_entity_associations_response", :fields=>[]}, :original_name=>"DeleteSharedEntityAssociations"}, :get_shared_entity_associations_by_shared_entity_ids=>{:input=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_request", :fields=>[]}, :output=>{:name=>"get_shared_entity_associations_by_shared_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsBySharedEntityIds"}, :get_shared_entity_associations_by_entity_ids=>{:input=>{:name=>"get_shared_entity_associations_by_entity_ids_request", :fields=>[]}, :output=>{:name=>"get_shared_entity_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetSharedEntityAssociationsByEntityIds"}, :delete_shared_entities=>{:input=>{:name=>"delete_shared_entities_request", :fields=>[]}, :output=>{:name=>"delete_shared_entities_response", :fields=>[]}, :original_name=>"DeleteSharedEntities"}, :get_campaign_sizes_by_account_id=>{:input=>{:name=>"get_campaign_sizes_by_account_id_request", :fields=>[]}, :output=>{:name=>"get_campaign_sizes_by_account_id_response", :fields=>[]}, :original_name=>"GetCampaignSizesByAccountId"}, :add_campaign_criterions=>{:input=>{:name=>"add_campaign_criterions_request", :fields=>[]}, :output=>{:name=>"add_campaign_criterions_response", :fields=>[]}, :original_name=>"AddCampaignCriterions"}, :update_campaign_criterions=>{:input=>{:name=>"update_campaign_criterions_request", :fields=>[]}, :output=>{:name=>"update_campaign_criterions_response", :fields=>[]}, :original_name=>"UpdateCampaignCriterions"}, :delete_campaign_criterions=>{:input=>{:name=>"delete_campaign_criterions_request", :fields=>[]}, :output=>{:name=>"delete_campaign_criterions_response", :fields=>[]}, :original_name=>"DeleteCampaignCriterions"}, :get_campaign_criterions_by_ids=>{:input=>{:name=>"get_campaign_criterions_by_ids_request", :fields=>[]}, :output=>{:name=>"get_campaign_criterions_by_ids_response", :fields=>[]}, :original_name=>"GetCampaignCriterionsByIds"}, :add_budgets=>{:input=>{:name=>"add_budgets_request", :fields=>[]}, :output=>{:name=>"add_budgets_response", :fields=>[]}, :original_name=>"AddBudgets"}, :update_budgets=>{:input=>{:name=>"update_budgets_request", :fields=>[]}, :output=>{:name=>"update_budgets_response", :fields=>[]}, :original_name=>"UpdateBudgets"}, :delete_budgets=>{:input=>{:name=>"delete_budgets_request", :fields=>[]}, :output=>{:name=>"delete_budgets_response", :fields=>[]}, :original_name=>"DeleteBudgets"}, :get_budgets_by_ids=>{:input=>{:name=>"get_budgets_by_ids_request", :fields=>[]}, :output=>{:name=>"get_budgets_by_ids_response", :fields=>[]}, :original_name=>"GetBudgetsByIds"}, :get_campaign_ids_by_budget_ids=>{:input=>{:name=>"get_campaign_ids_by_budget_ids_request", :fields=>[]}, :output=>{:name=>"get_campaign_ids_by_budget_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBudgetIds"}, :add_bid_strategies=>{:input=>{:name=>"add_bid_strategies_request", :fields=>[]}, :output=>{:name=>"add_bid_strategies_response", :fields=>[]}, :original_name=>"AddBidStrategies"}, :update_bid_strategies=>{:input=>{:name=>"update_bid_strategies_request", :fields=>[]}, :output=>{:name=>"update_bid_strategies_response", :fields=>[]}, :original_name=>"UpdateBidStrategies"}, :delete_bid_strategies=>{:input=>{:name=>"delete_bid_strategies_request", :fields=>[]}, :output=>{:name=>"delete_bid_strategies_response", :fields=>[]}, :original_name=>"DeleteBidStrategies"}, :get_bid_strategies_by_ids=>{:input=>{:name=>"get_bid_strategies_by_ids_request", :fields=>[]}, :output=>{:name=>"get_bid_strategies_by_ids_response", :fields=>[]}, :original_name=>"GetBidStrategiesByIds"}, :get_campaign_ids_by_bid_strategy_ids=>{:input=>{:name=>"get_campaign_ids_by_bid_strategy_ids_request", :fields=>[]}, :output=>{:name=>"get_campaign_ids_by_bid_strategy_ids_response", :fields=>[]}, :original_name=>"GetCampaignIdsByBidStrategyIds"}, :add_audiences=>{:input=>{:name=>"add_audiences_request", :fields=>[]}, :output=>{:name=>"add_audiences_response", :fields=>[]}, :original_name=>"AddAudiences"}, :update_audiences=>{:input=>{:name=>"update_audiences_request", :fields=>[]}, :output=>{:name=>"update_audiences_response", :fields=>[]}, :original_name=>"UpdateAudiences"}, :delete_audiences=>{:input=>{:name=>"delete_audiences_request", :fields=>[]}, :output=>{:name=>"delete_audiences_response", :fields=>[]}, :original_name=>"DeleteAudiences"}, :get_audiences_by_ids=>{:input=>{:name=>"get_audiences_by_ids_request", :fields=>[]}, :output=>{:name=>"get_audiences_by_ids_response", :fields=>[]}, :original_name=>"GetAudiencesByIds"}, :get_uet_tags_by_ids=>{:input=>{:name=>"get_uet_tags_by_ids_request", :fields=>[]}, :output=>{:name=>"get_uet_tags_by_ids_response", :fields=>[]}, :original_name=>"GetUetTagsByIds"}, :add_uet_tags=>{:input=>{:name=>"add_uet_tags_request", :fields=>[]}, :output=>{:name=>"add_uet_tags_response", :fields=>[]}, :original_name=>"AddUetTags"}, :update_uet_tags=>{:input=>{:name=>"update_uet_tags_request", :fields=>[]}, :output=>{:name=>"update_uet_tags_response", :fields=>[]}, :original_name=>"UpdateUetTags"}, :get_conversion_goals_by_ids=>{:input=>{:name=>"get_conversion_goals_by_ids_request", :fields=>[]}, :output=>{:name=>"get_conversion_goals_by_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByIds"}, :get_conversion_goals_by_tag_ids=>{:input=>{:name=>"get_conversion_goals_by_tag_ids_request", :fields=>[]}, :output=>{:name=>"get_conversion_goals_by_tag_ids_response", :fields=>[]}, :original_name=>"GetConversionGoalsByTagIds"}, :add_conversion_goals=>{:input=>{:name=>"add_conversion_goals_request", :fields=>[]}, :output=>{:name=>"add_conversion_goals_response", :fields=>[]}, :original_name=>"AddConversionGoals"}, :update_conversion_goals=>{:input=>{:name=>"update_conversion_goals_request", :fields=>[]}, :output=>{:name=>"update_conversion_goals_response", :fields=>[]}, :original_name=>"UpdateConversionGoals"}, :apply_offline_conversions=>{:input=>{:name=>"apply_offline_conversions_request", :fields=>[]}, :output=>{:name=>"apply_offline_conversions_response", :fields=>[]}, :original_name=>"ApplyOfflineConversions"}, :apply_offline_conversion_adjustments=>{:input=>{:name=>"apply_offline_conversion_adjustments_request", :fields=>[]}, :output=>{:name=>"apply_offline_conversion_adjustments_response", :fields=>[]}, :original_name=>"ApplyOfflineConversionAdjustments"}, :add_labels=>{:input=>{:name=>"add_labels_request", :fields=>[]}, :output=>{:name=>"add_labels_response", :fields=>[]}, :original_name=>"AddLabels"}, :delete_labels=>{:input=>{:name=>"delete_labels_request", :fields=>[]}, :output=>{:name=>"delete_labels_response", :fields=>[]}, :original_name=>"DeleteLabels"}, :update_labels=>{:input=>{:name=>"update_labels_request", :fields=>[]}, :output=>{:name=>"update_labels_response", :fields=>[]}, :original_name=>"UpdateLabels"}, :get_labels_by_ids=>{:input=>{:name=>"get_labels_by_ids_request", :fields=>[]}, :output=>{:name=>"get_labels_by_ids_response", :fields=>[]}, :original_name=>"GetLabelsByIds"}, :set_label_associations=>{:input=>{:name=>"set_label_associations_request", :fields=>[]}, :output=>{:name=>"set_label_associations_response", :fields=>[]}, :original_name=>"SetLabelAssociations"}, :delete_label_associations=>{:input=>{:name=>"delete_label_associations_request", :fields=>[]}, :output=>{:name=>"delete_label_associations_response", :fields=>[]}, :original_name=>"DeleteLabelAssociations"}, :get_label_associations_by_entity_ids=>{:input=>{:name=>"get_label_associations_by_entity_ids_request", :fields=>[]}, :output=>{:name=>"get_label_associations_by_entity_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByEntityIds"}, :get_label_associations_by_label_ids=>{:input=>{:name=>"get_label_associations_by_label_ids_request", :fields=>[]}, :output=>{:name=>"get_label_associations_by_label_ids_response", :fields=>[]}, :original_name=>"GetLabelAssociationsByLabelIds"}, :add_experiments=>{:input=>{:name=>"add_experiments_request", :fields=>[]}, :output=>{:name=>"add_experiments_response", :fields=>[]}, :original_name=>"AddExperiments"}, :delete_experiments=>{:input=>{:name=>"delete_experiments_request", :fields=>[]}, :output=>{:name=>"delete_experiments_response", :fields=>[]}, :original_name=>"DeleteExperiments"}, :update_experiments=>{:input=>{:name=>"update_experiments_request", :fields=>[]}, :output=>{:name=>"update_experiments_response", :fields=>[]}, :original_name=>"UpdateExperiments"}, :get_experiments_by_ids=>{:input=>{:name=>"get_experiments_by_ids_request", :fields=>[]}, :output=>{:name=>"get_experiments_by_ids_response", :fields=>[]}, :original_name=>"GetExperimentsByIds"}, :get_profile_data_file_url=>{:input=>{:name=>"get_profile_data_file_url_request", :fields=>[]}, :output=>{:name=>"get_profile_data_file_url_response", :fields=>[]}, :original_name=>"GetProfileDataFileUrl"}, :search_companies=>{:input=>{:name=>"search_companies_request", :fields=>[]}, :output=>{:name=>"search_companies_response", :fields=>[]}, :original_name=>"SearchCompanies"}, :get_file_import_upload_url=>{:input=>{:name=>"get_file_import_upload_url_request", :fields=>[]}, :output=>{:name=>"get_file_import_upload_url_response", :fields=>[]}, :original_name=>"GetFileImportUploadUrl"}, :add_import_jobs=>{:input=>{:name=>"add_import_jobs_request", :fields=>[]}, :output=>{:name=>"add_import_jobs_response", :fields=>[]}, :original_name=>"AddImportJobs"}, :get_import_results=>{:input=>{:name=>"get_import_results_request", :fields=>[]}, :output=>{:name=>"get_import_results_response", :fields=>[]}, :original_name=>"GetImportResults"}, :get_import_jobs_by_ids=>{:input=>{:name=>"get_import_jobs_by_ids_request", :fields=>[]}, :output=>{:name=>"get_import_jobs_by_ids_response", :fields=>[]}, :original_name=>"GetImportJobsByIds"}, :delete_import_jobs=>{:input=>{:name=>"delete_import_jobs_request", :fields=>[]}, :output=>{:name=>"delete_import_jobs_response", :fields=>[]}, :original_name=>"DeleteImportJobs"}, :get_import_entity_ids_mapping=>{:input=>{:name=>"get_import_entity_ids_mapping_request", :fields=>[]}, :output=>{:name=>"get_import_entity_ids_mapping_response", :fields=>[]}, :original_name=>"GetImportEntityIdsMapping"}, :update_import_jobs=>{:input=>{:name=>"update_import_jobs_request", :fields=>[]}, :output=>{:name=>"update_import_jobs_response", :fields=>[]}, :original_name=>"UpdateImportJobs"}, :add_videos=>{:input=>{:name=>"add_videos_request", :fields=>[]}, :output=>{:name=>"add_videos_response", :fields=>[]}, :original_name=>"AddVideos"}, :delete_videos=>{:input=>{:name=>"delete_videos_request", :fields=>[]}, :output=>{:name=>"delete_videos_response", :fields=>[]}, :original_name=>"DeleteVideos"}, :get_videos_by_ids=>{:input=>{:name=>"get_videos_by_ids_request", :fields=>[]}, :output=>{:name=>"get_videos_by_ids_response", :fields=>[]}, :original_name=>"GetVideosByIds"}, :update_videos=>{:input=>{:name=>"update_videos_request", :fields=>[]}, :output=>{:name=>"update_videos_response", :fields=>[]}, :original_name=>"UpdateVideos"}, :add_campaign_conversion_goals=>{:input=>{:name=>"add_campaign_conversion_goals_request", :fields=>[]}, :output=>{:name=>"add_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"AddCampaignConversionGoals"}, :delete_campaign_conversion_goals=>{:input=>{:name=>"delete_campaign_conversion_goals_request", :fields=>[]}, :output=>{:name=>"delete_campaign_conversion_goals_response", :fields=>[]}, :original_name=>"DeleteCampaignConversionGoals"}} CAMPAIGNMANAGEMENTSERVICE_TYPES = {} CAMPAIGNMANAGEMENTSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/customer_billing_service.rb b/lib/bing_ads_api/v13/customer_billing_service.rb index c233d53..17d1572 100644 --- a/lib/bing_ads_api/v13/customer_billing_service.rb +++ b/lib/bing_ads_api/v13/customer_billing_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright , Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:59. + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:27. require 'ads_common/savon_service' require 'bing_ads_api/v13/customer_billing_service_registry' diff --git a/lib/bing_ads_api/v13/customer_billing_service_registry.rb b/lib/bing_ads_api/v13/customer_billing_service_registry.rb index 6ac0e94..2e98b12 100644 --- a/lib/bing_ads_api/v13/customer_billing_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_billing_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:18:59. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:27. require 'bing_ads_api/errors' module BingAdsApi; module V13; module CustomerBillingService class CustomerBillingServiceRegistry - CUSTOMERBILLINGSERVICE_METHODS = {:get_billing_documents_info=>{:input=>[], :output=>{:name=>"get_billing_documents_info_response", :fields=>[]}, :original_name=>"GetBillingDocumentsInfo"}, :get_billing_documents=>{:input=>[], :output=>{:name=>"get_billing_documents_response", :fields=>[]}, :original_name=>"GetBillingDocuments"}, :add_insertion_order=>{:input=>[], :output=>{:name=>"add_insertion_order_response", :fields=>[]}, :original_name=>"AddInsertionOrder"}, :update_insertion_order=>{:input=>[], :output=>{:name=>"update_insertion_order_response", :fields=>[]}, :original_name=>"UpdateInsertionOrder"}, :search_insertion_orders=>{:input=>[], :output=>{:name=>"search_insertion_orders_response", :fields=>[]}, :original_name=>"SearchInsertionOrders"}, :get_account_monthly_spend=>{:input=>[], :output=>{:name=>"get_account_monthly_spend_response", :fields=>[]}, :original_name=>"GetAccountMonthlySpend"}, :dispatch_coupons=>{:input=>[], :output=>{:name=>"dispatch_coupons_response", :fields=>[]}, :original_name=>"DispatchCoupons"}, :redeem_coupon=>{:input=>[], :output=>{:name=>"redeem_coupon_response", :fields=>[]}, :original_name=>"RedeemCoupon"}, :search_coupons=>{:input=>[], :output=>{:name=>"search_coupons_response", :fields=>[]}, :original_name=>"SearchCoupons"}} + CUSTOMERBILLINGSERVICE_METHODS = {:get_billing_documents_info=>{:input=>{:name=>"get_billing_documents_info_request", :fields=>[]}, :output=>{:name=>"get_billing_documents_info_response", :fields=>[]}, :original_name=>"GetBillingDocumentsInfo"}, :get_billing_documents=>{:input=>{:name=>"get_billing_documents_request", :fields=>[]}, :output=>{:name=>"get_billing_documents_response", :fields=>[]}, :original_name=>"GetBillingDocuments"}, :add_insertion_order=>{:input=>{:name=>"add_insertion_order_request", :fields=>[]}, :output=>{:name=>"add_insertion_order_response", :fields=>[]}, :original_name=>"AddInsertionOrder"}, :update_insertion_order=>{:input=>{:name=>"update_insertion_order_request", :fields=>[]}, :output=>{:name=>"update_insertion_order_response", :fields=>[]}, :original_name=>"UpdateInsertionOrder"}, :search_insertion_orders=>{:input=>{:name=>"search_insertion_orders_request", :fields=>[]}, :output=>{:name=>"search_insertion_orders_response", :fields=>[]}, :original_name=>"SearchInsertionOrders"}, :get_account_monthly_spend=>{:input=>{:name=>"get_account_monthly_spend_request", :fields=>[]}, :output=>{:name=>"get_account_monthly_spend_response", :fields=>[]}, :original_name=>"GetAccountMonthlySpend"}, :dispatch_coupons=>{:input=>{:name=>"dispatch_coupons_request", :fields=>[]}, :output=>{:name=>"dispatch_coupons_response", :fields=>[]}, :original_name=>"DispatchCoupons"}, :redeem_coupon=>{:input=>{:name=>"redeem_coupon_request", :fields=>[]}, :output=>{:name=>"redeem_coupon_response", :fields=>[]}, :original_name=>"RedeemCoupon"}, :search_coupons=>{:input=>{:name=>"search_coupons_request", :fields=>[]}, :output=>{:name=>"search_coupons_response", :fields=>[]}, :original_name=>"SearchCoupons"}} CUSTOMERBILLINGSERVICE_TYPES = {} CUSTOMERBILLINGSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/customer_management_service.rb b/lib/bing_ads_api/v13/customer_management_service.rb index 71bf7c4..13faa20 100644 --- a/lib/bing_ads_api/v13/customer_management_service.rb +++ b/lib/bing_ads_api/v13/customer_management_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright , Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:00. + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:29. require 'ads_common/savon_service' require 'bing_ads_api/v13/customer_management_service_registry' diff --git a/lib/bing_ads_api/v13/customer_management_service_registry.rb b/lib/bing_ads_api/v13/customer_management_service_registry.rb index 1669082..6a03864 100644 --- a/lib/bing_ads_api/v13/customer_management_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_management_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:00. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:29. require 'bing_ads_api/errors' module BingAdsApi; module V13; module CustomerManagementService class CustomerManagementServiceRegistry - CUSTOMERMANAGEMENTSERVICE_METHODS = {:get_accounts_info=>{:input=>[], :output=>{:name=>"get_accounts_info_response", :fields=>[]}, :original_name=>"GetAccountsInfo"}, :find_accounts=>{:input=>[], :output=>{:name=>"find_accounts_response", :fields=>[]}, :original_name=>"FindAccounts"}, :add_account=>{:input=>[], :output=>{:name=>"add_account_response", :fields=>[]}, :original_name=>"AddAccount"}, :update_account=>{:input=>[], :output=>{:name=>"update_account_response", :fields=>[]}, :original_name=>"UpdateAccount"}, :get_customer=>{:input=>[], :output=>{:name=>"get_customer_response", :fields=>[]}, :original_name=>"GetCustomer"}, :update_customer=>{:input=>[], :output=>{:name=>"update_customer_response", :fields=>[]}, :original_name=>"UpdateCustomer"}, :signup_customer=>{:input=>[], :output=>{:name=>"signup_customer_response", :fields=>[]}, :original_name=>"SignupCustomer"}, :get_account=>{:input=>[], :output=>{:name=>"get_account_response", :fields=>[]}, :original_name=>"GetAccount"}, :get_customers_info=>{:input=>[], :output=>{:name=>"get_customers_info_response", :fields=>[]}, :original_name=>"GetCustomersInfo"}, :delete_account=>{:input=>[], :output=>{:name=>"delete_account_response", :fields=>[]}, :original_name=>"DeleteAccount"}, :delete_customer=>{:input=>[], :output=>{:name=>"delete_customer_response", :fields=>[]}, :original_name=>"DeleteCustomer"}, :update_user=>{:input=>[], :output=>{:name=>"update_user_response", :fields=>[]}, :original_name=>"UpdateUser"}, :update_user_roles=>{:input=>[], :output=>{:name=>"update_user_roles_response", :fields=>[]}, :original_name=>"UpdateUserRoles"}, :get_user=>{:input=>[], :output=>{:name=>"get_user_response", :fields=>[]}, :original_name=>"GetUser"}, :get_current_user=>{:input=>[], :output=>{:name=>"get_current_user_response", :fields=>[]}, :original_name=>"GetCurrentUser"}, :delete_user=>{:input=>[], :output=>{:name=>"delete_user_response", :fields=>[]}, :original_name=>"DeleteUser"}, :get_users_info=>{:input=>[], :output=>{:name=>"get_users_info_response", :fields=>[]}, :original_name=>"GetUsersInfo"}, :get_customer_pilot_features=>{:input=>[], :output=>{:name=>"get_customer_pilot_features_response", :fields=>[]}, :original_name=>"GetCustomerPilotFeatures"}, :get_account_pilot_features=>{:input=>[], :output=>{:name=>"get_account_pilot_features_response", :fields=>[]}, :original_name=>"GetAccountPilotFeatures"}, :get_pilot_features_countries=>{:input=>[], :output=>{:name=>"get_pilot_features_countries_response", :fields=>[]}, :original_name=>"GetPilotFeaturesCountries"}, :get_accessible_customer=>{:input=>[], :output=>{:name=>"get_accessible_customer_response", :fields=>[]}, :original_name=>"GetAccessibleCustomer"}, :find_accounts_or_customers_info=>{:input=>[], :output=>{:name=>"find_accounts_or_customers_info_response", :fields=>[]}, :original_name=>"FindAccountsOrCustomersInfo"}, :upgrade_customer_to_agency=>{:input=>[], :output=>{:name=>"upgrade_customer_to_agency_response", :fields=>[]}, :original_name=>"UpgradeCustomerToAgency"}, :add_prepay_account=>{:input=>[], :output=>{:name=>"add_prepay_account_response", :fields=>[]}, :original_name=>"AddPrepayAccount"}, :update_prepay_account=>{:input=>[], :output=>{:name=>"update_prepay_account_response", :fields=>[]}, :original_name=>"UpdatePrepayAccount"}, :map_customer_id_to_external_customer_id=>{:input=>[], :output=>{:name=>"map_customer_id_to_external_customer_id_response", :fields=>[]}, :original_name=>"MapCustomerIdToExternalCustomerId"}, :map_account_id_to_external_account_ids=>{:input=>[], :output=>{:name=>"map_account_id_to_external_account_ids_response", :fields=>[]}, :original_name=>"MapAccountIdToExternalAccountIds"}, :search_customers=>{:input=>[], :output=>{:name=>"search_customers_response", :fields=>[]}, :original_name=>"SearchCustomers"}, :add_client_links=>{:input=>[], :output=>{:name=>"add_client_links_response", :fields=>[]}, :original_name=>"AddClientLinks"}, :update_client_links=>{:input=>[], :output=>{:name=>"update_client_links_response", :fields=>[]}, :original_name=>"UpdateClientLinks"}, :search_client_links=>{:input=>[], :output=>{:name=>"search_client_links_response", :fields=>[]}, :original_name=>"SearchClientLinks"}, :search_accounts=>{:input=>[], :output=>{:name=>"search_accounts_response", :fields=>[]}, :original_name=>"SearchAccounts"}, :send_user_invitation=>{:input=>[], :output=>{:name=>"send_user_invitation_response", :fields=>[]}, :original_name=>"SendUserInvitation"}, :search_user_invitations=>{:input=>[], :output=>{:name=>"search_user_invitations_response", :fields=>[]}, :original_name=>"SearchUserInvitations"}, :validate_address=>{:input=>[], :output=>{:name=>"validate_address_response", :fields=>[]}, :original_name=>"ValidateAddress"}, :get_linked_accounts_and_customers_info=>{:input=>[], :output=>{:name=>"get_linked_accounts_and_customers_info_response", :fields=>[]}, :original_name=>"GetLinkedAccountsAndCustomersInfo"}, :get_user_mfa_status=>{:input=>[], :output=>{:name=>"get_user_mfa_status_response", :fields=>[]}, :original_name=>"GetUserMFAStatus"}} + CUSTOMERMANAGEMENTSERVICE_METHODS = {:get_accounts_info=>{:input=>{:name=>"get_accounts_info_request", :fields=>[]}, :output=>{:name=>"get_accounts_info_response", :fields=>[]}, :original_name=>"GetAccountsInfo"}, :find_accounts=>{:input=>{:name=>"find_accounts_request", :fields=>[]}, :output=>{:name=>"find_accounts_response", :fields=>[]}, :original_name=>"FindAccounts"}, :add_account=>{:input=>{:name=>"add_account_request", :fields=>[]}, :output=>{:name=>"add_account_response", :fields=>[]}, :original_name=>"AddAccount"}, :update_account=>{:input=>{:name=>"update_account_request", :fields=>[]}, :output=>{:name=>"update_account_response", :fields=>[]}, :original_name=>"UpdateAccount"}, :get_customer=>{:input=>{:name=>"get_customer_request", :fields=>[]}, :output=>{:name=>"get_customer_response", :fields=>[]}, :original_name=>"GetCustomer"}, :update_customer=>{:input=>{:name=>"update_customer_request", :fields=>[]}, :output=>{:name=>"update_customer_response", :fields=>[]}, :original_name=>"UpdateCustomer"}, :signup_customer=>{:input=>{:name=>"signup_customer_request", :fields=>[]}, :output=>{:name=>"signup_customer_response", :fields=>[]}, :original_name=>"SignupCustomer"}, :get_account=>{:input=>{:name=>"get_account_request", :fields=>[]}, :output=>{:name=>"get_account_response", :fields=>[]}, :original_name=>"GetAccount"}, :get_customers_info=>{:input=>{:name=>"get_customers_info_request", :fields=>[]}, :output=>{:name=>"get_customers_info_response", :fields=>[]}, :original_name=>"GetCustomersInfo"}, :delete_account=>{:input=>{:name=>"delete_account_request", :fields=>[]}, :output=>{:name=>"delete_account_response", :fields=>[]}, :original_name=>"DeleteAccount"}, :delete_customer=>{:input=>{:name=>"delete_customer_request", :fields=>[]}, :output=>{:name=>"delete_customer_response", :fields=>[]}, :original_name=>"DeleteCustomer"}, :update_user=>{:input=>{:name=>"update_user_request", :fields=>[]}, :output=>{:name=>"update_user_response", :fields=>[]}, :original_name=>"UpdateUser"}, :update_user_roles=>{:input=>{:name=>"update_user_roles_request", :fields=>[]}, :output=>{:name=>"update_user_roles_response", :fields=>[]}, :original_name=>"UpdateUserRoles"}, :get_user=>{:input=>{:name=>"get_user_request", :fields=>[]}, :output=>{:name=>"get_user_response", :fields=>[]}, :original_name=>"GetUser"}, :get_current_user=>{:input=>{:name=>"get_current_user_request", :fields=>[]}, :output=>{:name=>"get_current_user_response", :fields=>[]}, :original_name=>"GetCurrentUser"}, :delete_user=>{:input=>{:name=>"delete_user_request", :fields=>[]}, :output=>{:name=>"delete_user_response", :fields=>[]}, :original_name=>"DeleteUser"}, :get_users_info=>{:input=>{:name=>"get_users_info_request", :fields=>[]}, :output=>{:name=>"get_users_info_response", :fields=>[]}, :original_name=>"GetUsersInfo"}, :get_customer_pilot_features=>{:input=>{:name=>"get_customer_pilot_features_request", :fields=>[]}, :output=>{:name=>"get_customer_pilot_features_response", :fields=>[]}, :original_name=>"GetCustomerPilotFeatures"}, :get_account_pilot_features=>{:input=>{:name=>"get_account_pilot_features_request", :fields=>[]}, :output=>{:name=>"get_account_pilot_features_response", :fields=>[]}, :original_name=>"GetAccountPilotFeatures"}, :get_pilot_features_countries=>{:input=>{:name=>"get_pilot_features_countries_request", :fields=>[]}, :output=>{:name=>"get_pilot_features_countries_response", :fields=>[]}, :original_name=>"GetPilotFeaturesCountries"}, :get_accessible_customer=>{:input=>{:name=>"get_accessible_customer_request", :fields=>[]}, :output=>{:name=>"get_accessible_customer_response", :fields=>[]}, :original_name=>"GetAccessibleCustomer"}, :find_accounts_or_customers_info=>{:input=>{:name=>"find_accounts_or_customers_info_request", :fields=>[]}, :output=>{:name=>"find_accounts_or_customers_info_response", :fields=>[]}, :original_name=>"FindAccountsOrCustomersInfo"}, :upgrade_customer_to_agency=>{:input=>{:name=>"upgrade_customer_to_agency_request", :fields=>[]}, :output=>{:name=>"upgrade_customer_to_agency_response", :fields=>[]}, :original_name=>"UpgradeCustomerToAgency"}, :add_prepay_account=>{:input=>{:name=>"add_prepay_account_request", :fields=>[]}, :output=>{:name=>"add_prepay_account_response", :fields=>[]}, :original_name=>"AddPrepayAccount"}, :update_prepay_account=>{:input=>{:name=>"update_prepay_account_request", :fields=>[]}, :output=>{:name=>"update_prepay_account_response", :fields=>[]}, :original_name=>"UpdatePrepayAccount"}, :map_customer_id_to_external_customer_id=>{:input=>{:name=>"map_customer_id_to_external_customer_id_request", :fields=>[]}, :output=>{:name=>"map_customer_id_to_external_customer_id_response", :fields=>[]}, :original_name=>"MapCustomerIdToExternalCustomerId"}, :map_account_id_to_external_account_ids=>{:input=>{:name=>"map_account_id_to_external_account_ids_request", :fields=>[]}, :output=>{:name=>"map_account_id_to_external_account_ids_response", :fields=>[]}, :original_name=>"MapAccountIdToExternalAccountIds"}, :search_customers=>{:input=>{:name=>"search_customers_request", :fields=>[]}, :output=>{:name=>"search_customers_response", :fields=>[]}, :original_name=>"SearchCustomers"}, :add_client_links=>{:input=>{:name=>"add_client_links_request", :fields=>[]}, :output=>{:name=>"add_client_links_response", :fields=>[]}, :original_name=>"AddClientLinks"}, :update_client_links=>{:input=>{:name=>"update_client_links_request", :fields=>[]}, :output=>{:name=>"update_client_links_response", :fields=>[]}, :original_name=>"UpdateClientLinks"}, :search_client_links=>{:input=>{:name=>"search_client_links_request", :fields=>[]}, :output=>{:name=>"search_client_links_response", :fields=>[]}, :original_name=>"SearchClientLinks"}, :search_accounts=>{:input=>{:name=>"search_accounts_request", :fields=>[]}, :output=>{:name=>"search_accounts_response", :fields=>[]}, :original_name=>"SearchAccounts"}, :send_user_invitation=>{:input=>{:name=>"send_user_invitation_request", :fields=>[]}, :output=>{:name=>"send_user_invitation_response", :fields=>[]}, :original_name=>"SendUserInvitation"}, :search_user_invitations=>{:input=>{:name=>"search_user_invitations_request", :fields=>[]}, :output=>{:name=>"search_user_invitations_response", :fields=>[]}, :original_name=>"SearchUserInvitations"}, :validate_address=>{:input=>{:name=>"validate_address_request", :fields=>[]}, :output=>{:name=>"validate_address_response", :fields=>[]}, :original_name=>"ValidateAddress"}, :get_linked_accounts_and_customers_info=>{:input=>{:name=>"get_linked_accounts_and_customers_info_request", :fields=>[]}, :output=>{:name=>"get_linked_accounts_and_customers_info_response", :fields=>[]}, :original_name=>"GetLinkedAccountsAndCustomersInfo"}, :get_user_mfa_status=>{:input=>{:name=>"get_user_mfa_status_request", :fields=>[]}, :output=>{:name=>"get_user_mfa_status_response", :fields=>[]}, :original_name=>"GetUserMFAStatus"}} CUSTOMERMANAGEMENTSERVICE_TYPES = {} CUSTOMERMANAGEMENTSERVICE_NAMESPACES = [] diff --git a/lib/bing_ads_api/v13/reporting_service.rb b/lib/bing_ads_api/v13/reporting_service.rb index 24adec2..549ed49 100644 --- a/lib/bing_ads_api/v13/reporting_service.rb +++ b/lib/bing_ads_api/v13/reporting_service.rb @@ -5,7 +5,7 @@ # Copyright:: Copyright , Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:05. + # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:34. require 'ads_common/savon_service' require 'bing_ads_api/v13/reporting_service_registry' diff --git a/lib/bing_ads_api/v13/reporting_service_registry.rb b/lib/bing_ads_api/v13/reporting_service_registry.rb index 2f9333d..8f86732 100644 --- a/lib/bing_ads_api/v13/reporting_service_registry.rb +++ b/lib/bing_ads_api/v13/reporting_service_registry.rb @@ -5,13 +5,13 @@ # Copyright:: Copyright 2015, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:19:05. +# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:34. require 'bing_ads_api/errors' module BingAdsApi; module V13; module ReportingService class ReportingServiceRegistry - REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=>[], :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>[], :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} + REPORTINGSERVICE_METHODS = {:submit_generate_report=>{:input=>{:name=>"submit_generate_report_request", :fields=>[]}, :output=>{:name=>"submit_generate_report_response", :fields=>[]}, :original_name=>"SubmitGenerateReport"}, :poll_generate_report=>{:input=>{:name=>"poll_generate_report_request", :fields=>[]}, :output=>{:name=>"poll_generate_report_response", :fields=>[]}, :original_name=>"PollGenerateReport"}} REPORTINGSERVICE_TYPES = {} REPORTINGSERVICE_NAMESPACES = [] From caf25a99f2bb542757c4a8e88cc72409237f6a53 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 20:11:15 +1000 Subject: [PATCH 11/24] Try to get rspec working --- .env.test | 7 ++ .github/dependabot.yml | 17 ++++ .github/workflows/build.yml | 22 +++++ .github/workflows/secrets.yml | 9 ++ Gemfile.lock | 10 ++ bing_ads_api.gemspec | 2 + spec/bing_ads_api_spec.rb | 88 ++++++++++------- .../cassettes/CampaignManagementService.yml | 98 +++++++++++++++++++ spec/spec_helper.rb | 22 ++++- 9 files changed, 233 insertions(+), 42 deletions(-) create mode 100644 .env.test create mode 100644 .github/dependabot.yml create mode 100644 .github/workflows/build.yml create mode 100644 .github/workflows/secrets.yml create mode 100644 spec/fixtures/cassettes/CampaignManagementService.yml diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..dde4ac0 --- /dev/null +++ b/.env.test @@ -0,0 +1,7 @@ +CUSTOMER_ID=CUSTOMER_ID +CUSTOMER_ACCOUNT_ID=CUSTOMER_ACCOUNT_ID +DEVELOPER_TOKEN=DEVELOPER_TOKEN +OAUTH2_CLIENT_ID=OAUTH2_CLIENT_ID +OAUTH2_CLIENT_SECRET=OAUTH2_CLIENT_SECRET +ACCESS_TOKEN=ACCESS_TOKEN +REFRESH_TOKEN=REFRESH_TOKEN \ No newline at end of file diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..3850fba --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,17 @@ +version: 2 +updates: + + - package-ecosystem: "github-actions" + directory: "/" + schedule: + interval: "daily" + + - package-ecosystem: "bundler" + directory: "/" + schedule: + interval: "daily" + + - package-ecosystem: "docker" + directory: "/" + schedule: + interval: "daily" diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 0000000..98873be --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,22 @@ +name: Build +on: [pull_request] + +jobs: + build: + name: Build + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Read ruby version + id: ruby-version + run: | + content=`cat ./.ruby-version` + echo "::set-output name=content::$content" + - name: Set up Ruby + uses: ruby/setup-ruby@v1 + with: + ruby-version: ${{ steps.ruby-version.outputs.content }} + bundler-cache: true + - name: Run tests + run: bundle exec rspec diff --git a/.github/workflows/secrets.yml b/.github/workflows/secrets.yml new file mode 100644 index 0000000..bd30ca9 --- /dev/null +++ b/.github/workflows/secrets.yml @@ -0,0 +1,9 @@ +name: Find Secrets +on: [pull_request] + +jobs: + main: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - uses: max/secret-scan@master diff --git a/Gemfile.lock b/Gemfile.lock index 1d2438c..af3636d 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -24,6 +24,8 @@ GEM builder (3.2.4) coderay (1.1.3) concurrent-ruby (1.1.10) + crack (0.4.5) + rexml diff-lcs (1.5.0) dotenv (2.7.6) extlib (0.9.16) @@ -51,6 +53,7 @@ GEM rspec (>= 2.99.0, < 4.0) gyoku (0.4.6) builder (>= 2.1.2) + hashdiff (1.0.1) httpi (1.1.1) rack i18n (1.10.0) @@ -131,9 +134,14 @@ GEM tzinfo (2.0.4) concurrent-ruby (~> 1.0) unicode-display_width (2.1.0) + vcr (6.1.0) wasabi (2.5.1) httpi (~> 1.0) nokogiri (>= 1.4.0) + webmock (3.13.0) + addressable (>= 2.3.6) + crack (>= 0.3.2) + hashdiff (>= 0.4.0, < 2.0.0) zeitwerk (2.5.4) PLATFORMS @@ -150,6 +158,8 @@ DEPENDENCIES rubocop rubocop-rake rubocop-rspec + vcr + webmock BUNDLED WITH 1.17.2 diff --git a/bing_ads_api.gemspec b/bing_ads_api.gemspec index 3568399..1f6d64f 100644 --- a/bing_ads_api.gemspec +++ b/bing_ads_api.gemspec @@ -43,4 +43,6 @@ Gem::Specification.new do |s| s.add_development_dependency 'rake' s.add_development_dependency 'rspec', '~> 2.8' s.add_development_dependency 'dotenv' + s.add_development_dependency 'vcr' + s.add_development_dependency 'webmock' end diff --git a/spec/bing_ads_api_spec.rb b/spec/bing_ads_api_spec.rb index eb42e5e..bd6ddd0 100644 --- a/spec/bing_ads_api_spec.rb +++ b/spec/bing_ads_api_spec.rb @@ -42,17 +42,21 @@ expect { bing_ads }.to_not raise_error end + let(:service) do + bing_ads.service(svc, version) + end + context 'v13' do + let(:version) { :v13 } + context 'CampaignManagementService' do - let(:service) do - bing_ads.service(:CampaignManagementService, :v13) - end + let(:svc) { :CampaignManagementService } it 'selects the service' do - expect { bing_ads.service(:CampaignManagementService, :v13) }.to_not raise_error + expect { service }.to_not raise_error end - it 'add_campaigns' do + xit 'add_campaigns' do service.add_campaigns( account_id: customer_account_id, campaigns: { @@ -72,23 +76,26 @@ ).should be_a_kind_of(Hash) end - it 'get_campaigns_by_account_id' do + xit 'get_campaigns_by_account_id' do service.get_campaigns_by_account_id({ account_id: customer_account_id }).should be_a_kind_of(Hash) end end context 'CampaignManagementService' do - let(:service) { bing_ads.service(:CampaignManagementService, :v13) } + let(:svc) { :CampaignManagementService } it 'get_campaigns_by_account_id' do - campaigns = service.get_campaigns_by_account_id({ account_id: customer_account_id}) - #campaigns.should be_a_kind_of(Hash) - puts "campaigns=#{campaigns}" + VCR.use_cassette('CampaignManagementService') do + campaigns = service.get_campaigns_by_account_id({ account_id: customer_account_id}) + #campaigns.should be_a_kind_of(Hash) + puts "campaigns=#{campaigns}" + end end end context 'ReportingService' do - let(:service) { bing_ads.service(:ReportingService, :v13) } + let(:svc) { :ReportingService } + let(:message) do { :report_request => { @@ -135,57 +142,64 @@ } end - it 'submit_generate_report' do - report = service.submit_generate_report(message) + xit 'submit_generate_report' do + VCR.use_cassette('ReportingService') do + report = service.submit_generate_report(message) + end #campaigns.should be_a_kind_of(Hash) puts "report=#{report}" end end context 'CustomerManagementService' do - let(:service) { bing_ads.service(:CustomerManagementService, :v13) } + let(:svc) { :CustomerManagementService } + # get_account, add_account, update_account, delete_account # get_customers_info, get_customer, update_customer, signup_customer, delete_customer, get_customer_pilot_feature # add_user, update_user, update_user_roles, get_user, delete_user, get_users_info - it 'get_customer' do + xit 'get_customer' do customer = service.get_customer({ customer_id: customer_id}) customer.should be_a_kind_of(Hash) puts "customer=#{customer}" end - it 'get_user' do + xit 'get_user' do user = service.get_user({ user_id: '226562' }) user.should be_a_kind_of(Hash) end - it 'get_accounts_info' do + xit 'get_accounts_info' do customer_accounts = service.get_accounts_info({ customer_id: customer_id}) customer_accounts.should be_a_kind_of(Hash) end - it 'get_account' do + xit 'get_account' do customer_account = service.get_account({ account_id: $customer_accounts[:accounts_info][:account_info][:id] }) customer_account.should be_a_kind_of(Hash) end - # it "get_users_info" do #DOES NOT WORK IN SANDBOX - # $users_info = $customer_srv13.get_users_info({:customer_id => $default_customer_id}) - # $users_info.should be_a_kind_of(Hash) - # end - # it "get customers info" do #DOES NOT WORK IN SANDBOX - # $customers_infos = $customer_srv13.get_customers_info({}) - # $customers_infos.should be_a_kind_of(Hash) - # end - # it "signup_customer" do #DOES NOT WORK IN SANDBOX - # $customer_srv13.signup_customer({:account => {}, - # :application_scope => "Advertiser", - # :customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}, - # :parent_customer_id => $customer[:customer][:id], - # :user => {}}).should be_a_kind_of(Hash) - # end - # it "update_customer" do #DOES NOT WORK IN SANDBOX - # c = $customer[:customer] - # $customer_srv13.update_customer({:customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}}).should be_a_kind_of(Hash) - # end + + xit "get_users_info" do #DOES NOT WORK IN SANDBOX + users_info = service.get_users_info({:customer_id => customer_id}) + users_info.should be_a_kind_of(Hash) + end + + xit "get customers info" do #DOES NOT WORK IN SANDBOX + customers_infos = service.get_customers_info({}) + customers_infos.should be_a_kind_of(Hash) + end + + xit "signup_customer" do #DOES NOT WORK IN SANDBOX + service.signup_customer({:account => {}, + :application_scope => "Advertiser", + :customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}, + :parent_customer_id => $customer[:customer][:id], + :user => {}}).should be_a_kind_of(Hash) + end + + xit "update_customer" do #DOES NOT WORK IN SANDBOX + c = $customer[:customer] + $customer_srv13.update_customer({:customer => {:id => c[:id], :customer_address => c[:customer_address], :industry => c[:industry], :market => c[:market], :name => c[:name], :time_stamp => c[:time_stamp]}}).should be_a_kind_of(Hash) + end end end end diff --git a/spec/fixtures/cassettes/CampaignManagementService.yml b/spec/fixtures/cassettes/CampaignManagementService.yml new file mode 100644 index 0000000..5d77b63 --- /dev/null +++ b/spec/fixtures/cassettes/CampaignManagementService.yml @@ -0,0 +1,98 @@ +--- +http_interactions: +- request: + method: post + uri: https://campaign.api.bingads.microsoft.com/Api/Advertiser/CampaignManagement/v13/CampaignManagementService.svc?singleWsdl + body: + encoding: UTF-8 + string: + headers: + Soapaction: + - '"GetCampaignsByAccountId"' + User-Agent: + - rspec (AwApi-Ruby/0.0.8, Common-Ruby/0.9.9, Savon/1.2.0, ruby/2.6.9, HTTPI/1.1.1, + net_http) + Content-Type: + - text/xml;charset=UTF-8 + Content-Length: + - '2542' + Accept-Encoding: + - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 + Accept: + - "*/*" + response: + status: + code: 200 + message: OK + headers: + Connection: + - keep-alive + Date: + - Wed, 11 May 2022 10:02:16 GMT + Content-Type: + - text/xml; charset=utf-8 + Server: + - Kestrel + Content-Length: + - '7965' + X-Ms-Requestid: + - 9d9a0974-62a5-47d2-9944-570b4ea3dfcd + X-Ms-Trackingid: + - 9d9a0974-62a5-47d2-9944-570b4ea3dfcd + body: + encoding: UTF-8 + string: 9d9a0974-62a5-47d2-9944-570b4ea3dfcd0MaxConversions1DailyBudgetStandard1696977224Tofu + | Branded Keywords | USPausedHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard5696977225Tofu + | Physio Terms | USActiveHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishSystemIndexEnglish0MaxConversions2DailyBudgetStandard25696977226Tofu + | Illness Terms | USPausedHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishSystemIndex10239202361382English0MaxConversions1.6DailyBudgetStandard10696977227Tofu + | Thing Terms | USBudgetPausedHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard10696977228ToFu + | Moo Thing Terms | USActiveHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard5696977229Tofu + | Calf Strength Terms | USActiveHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard5696977230ToFu + | Foo Terms | USActiveHobartSearchEnglish + recorded_at: Wed, 11 May 2022 10:02:17 GMT +recorded_with: VCR 6.1.0 diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index b15dd16..d902f2b 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -1,11 +1,23 @@ require 'rubygems' require 'bundler/setup' +require 'bing_ads_api' +require 'dotenv' +require 'vcr' -require 'bing_ads_api' # and any other gems you need +Dotenv.load('.env.test.local', '.env.test') -require 'dotenv' -Dotenv.load('.env.test.local') +VCR.configure do |config| + config.hook_into :webmock + config.cassette_library_dir = 'spec/fixtures/cassettes' + config.default_cassette_options = { record: :new_episodes, allow_playback_repeats: true, + match_requests_on: %i[method uri headers] } + config.hook_into :webmock + + %w[CUSTOMER_ID CUSTOMER_ACCOUNT_ID DEVELOPER_TOKEN OAUTH2_CLIENT_ID OAUTH2_CLIENT_SECRET ACCESS_TOKEN + REFRESH_TOKEN].each do |value| + config.filter_sensitive_data("<#{value}>") { ENV[value] } + end +end RSpec.configure do |config| - # some (optional) config here -end \ No newline at end of file +end From 6fa09cd2aa9e2cee6b861f1f59f48ce8c5471517 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 20:12:46 +1000 Subject: [PATCH 12/24] Rename gem --- bing_ads_api.gemspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/bing_ads_api.gemspec b/bing_ads_api.gemspec index 1f6d64f..6618656 100644 --- a/bing_ads_api.gemspec +++ b/bing_ads_api.gemspec @@ -23,11 +23,11 @@ $:.unshift lib unless $:.include?(lib) require 'bing_ads_api/version' Gem::Specification.new do |s| - s.name = 'bing_ads' + s.name = 'bing_ads_api' s.version = BingAdsApi::ApiConfig::CLIENT_LIB_VERSION s.summary = 'Ruby wrapper for Bing Ads API v9' s.description = 'Ruby wrapper for Bing Ads API v9' - s.homepage = 'https://github.com/digivizer/bing_ads' + s.homepage = 'https://github.com/digivizer/bing_ads_api' s.authors = ['Tom Hammond'] s.email = ['thomas.hammond89@gmail.com'] s.require_path = 'lib' From 163a9d18f3ccb2dc3e976e1845ea8e995568edf5 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 20:21:24 +1000 Subject: [PATCH 13/24] Remove bundle cache --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 98873be..2215935 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,6 +17,5 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ steps.ruby-version.outputs.content }} - bundler-cache: true - name: Run tests run: bundle exec rspec From 07fcbd3bb6fe4435d16108e99bca9331fbb28b16 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 20:23:22 +1000 Subject: [PATCH 14/24] Rebuild bundler cache --- .github/workflows/build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2215935..d55b3f1 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -17,5 +17,7 @@ jobs: uses: ruby/setup-ruby@v1 with: ruby-version: ${{ steps.ruby-version.outputs.content }} + bundler-cache: true + cache-version: 1 - name: Run tests run: bundle exec rspec From 86799b17e3dbf0d35385ccef70a03511f8af8b0f Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 20:24:35 +1000 Subject: [PATCH 15/24] Update Gemfile --- Gemfile.lock | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index af3636d..ef928c3 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: . specs: - bing_ads (0.0.8) + bing_ads_api (0.0.8) activesupport (>= 3.1.0) addressable (~> 2.3.8) google-ads-common (~> 0.9.3) @@ -148,7 +148,7 @@ PLATFORMS ruby DEPENDENCIES - bing_ads! + bing_ads_api! dotenv guard guard-rspec From 617b815c620cdb31616d0ddf6ad2c1bb9d1d9c07 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Wed, 11 May 2022 20:31:08 +1000 Subject: [PATCH 16/24] Fix VCR matcher --- spec/spec_helper.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index d902f2b..2bfb445 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -10,7 +10,7 @@ config.hook_into :webmock config.cassette_library_dir = 'spec/fixtures/cassettes' config.default_cassette_options = { record: :new_episodes, allow_playback_repeats: true, - match_requests_on: %i[method uri headers] } + match_requests_on: %i[method uri body] } config.hook_into :webmock %w[CUSTOMER_ID CUSTOMER_ACCOUNT_ID DEVELOPER_TOKEN OAUTH2_CLIENT_ID OAUTH2_CLIENT_SECRET ACCESS_TOKEN From d9de1e31dfbb12257451c653346597e3cbc2676b Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Thu, 12 May 2022 10:15:07 +1000 Subject: [PATCH 17/24] Add task to rebuild env file with new token --- rakefile.rb | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/rakefile.rb b/rakefile.rb index 192af1b..8ab6a56 100644 --- a/rakefile.rb +++ b/rakefile.rb @@ -9,6 +9,8 @@ require 'rake' require 'rdoc/task' require "rspec/core/rake_task" +require 'dotenv' +require 'net/http' desc "Run all test with spec" RSpec::Core::RakeTask.new('spec') do |spec| @@ -52,3 +54,29 @@ end end end + +task :refresh_dotenv do + FILENAME = ".env.test.local" + + env = Dotenv::Parser.new(File.read(FILENAME)).call + + uri = URI("https://login.microsoftonline.com/common/oauth2/v2.0/token") + params = { + :grant_type => 'refresh_token', + :refresh_token => env["REFRESH_TOKEN"], + :client_id => env["OAUTH2_CLIENT_ID"], + :client_secret => env["OAUTH2_CLIENT_SECRET"] + } + + json = Net::HTTP.post_form(uri, params).body + + refreshed_credential_values = JSON.parse(json) + + env['ACCESS_TOKEN'] = refreshed_credential_values['access_token'] + + env_file = env.map { |row| row.join('=') }.join("\n") + + File.write(FILENAME, env_file) + + puts "Written new token to #{FILENAME}" +end \ No newline at end of file From 5c72a8f4398b0a57962102dca0f3c033b9941587 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Thu, 12 May 2022 10:16:37 +1000 Subject: [PATCH 18/24] Relax version lock on addressable --- Gemfile.lock | 2 +- bing_ads_api.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index ef928c3..cc3e53b 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,7 @@ PATH specs: bing_ads_api (0.0.8) activesupport (>= 3.1.0) - addressable (~> 2.3.8) + addressable google-ads-common (~> 0.9.3) savon (~> 1.2.0) diff --git a/bing_ads_api.gemspec b/bing_ads_api.gemspec index 6618656..67fedfa 100644 --- a/bing_ads_api.gemspec +++ b/bing_ads_api.gemspec @@ -35,7 +35,7 @@ Gem::Specification.new do |s| s.license = 'MIT' s.add_dependency('activesupport', '>= 3.1.0') - s.add_dependency('addressable', '~> 2.3.8') + s.add_dependency('addressable') s.add_dependency('google-ads-common', '~> 0.9.3') # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 From 64e400c3dd4d4720af842965b46dc9073bda32eb Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Thu, 12 May 2022 12:56:17 +1000 Subject: [PATCH 19/24] Capture full backtrace in rspec --- spec/spec_helper.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 2bfb445..031befc 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -20,4 +20,5 @@ end RSpec.configure do |config| + config.full_backtrace = true end From a089958ef29dc58992c98d5344ca9d4c464d6a61 Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Thu, 12 May 2022 12:58:17 +1000 Subject: [PATCH 20/24] Functioning upgrade to more modern Savon --- Gemfile.lock | 88 +++++++++++++------ bing_ads_api.gemspec | 5 +- lib/ads_common_for_bing_ads/api_config.rb | 4 +- .../auth/oauth2_handler.rb | 1 + lib/ads_common_for_bing_ads/savon_service.rb | 22 +++-- lib/bing_ads_api/api_config.rb | 8 ++ spec/bing_ads_api_spec.rb | 6 -- 7 files changed, 91 insertions(+), 43 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index cc3e53b..51dce88 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,8 +4,8 @@ PATH bing_ads_api (0.0.8) activesupport (>= 3.1.0) addressable - google-ads-common (~> 0.9.3) - savon (~> 1.2.0) + google-ads-common (~> 1.0.0) + savon GEM remote: http://rubygems.org/ @@ -17,7 +17,7 @@ GEM tzinfo (~> 2.0) zeitwerk (~> 2.3) addressable (2.3.8) - akami (1.2.2) + akami (1.3.1) gyoku (>= 0.4.0) nokogiri ast (2.4.2) @@ -28,15 +28,44 @@ GEM rexml diff-lcs (1.5.0) dotenv (2.7.6) - extlib (0.9.16) - faraday (0.17.5) + faraday (1.10.0) + faraday-em_http (~> 1.0) + faraday-em_synchrony (~> 1.0) + faraday-excon (~> 1.1) + faraday-httpclient (~> 1.0) + faraday-multipart (~> 1.0) + faraday-net_http (~> 1.0) + faraday-net_http_persistent (~> 1.0) + faraday-patron (~> 1.0) + faraday-rack (~> 1.0) + faraday-retry (~> 1.0) + ruby2_keywords (>= 0.0.4) + faraday-em_http (1.0.0) + faraday-em_synchrony (1.0.0) + faraday-excon (1.1.0) + faraday-httpclient (1.0.1) + faraday-multipart (1.0.3) multipart-post (>= 1.2, < 3) + faraday-net_http (1.0.1) + faraday-net_http_persistent (1.2.0) + faraday-patron (1.0.0) + faraday-rack (1.0.0) + faraday-retry (1.0.3) ffi (1.15.5) formatador (1.1.0) - google-ads-common (0.9.9) - httpi (~> 1.1.0) - savon (~> 1.2.0) - signet (~> 0.6.0) + google-ads-common (1.0.3) + google-ads-savon (~> 1.0, >= 1.0.2) + httpclient (~> 2.7) + httpi (~> 2.3) + signet (~> 0.7) + google-ads-savon (1.0.4) + akami (~> 1.2) + builder (~> 3.0) + gyoku (~> 1.2) + httpi (~> 2.3) + nokogiri (~> 1.6) + nori (~> 2.6) + wasabi (~> 3.4) guard (2.18.0) formatador (>= 0.2.4) listen (>= 2.7, < 4.0) @@ -51,14 +80,17 @@ GEM guard (~> 2.1) guard-compat (~> 1.1) rspec (>= 2.99.0, < 4.0) - gyoku (0.4.6) + gyoku (1.4.0) builder (>= 2.1.2) + rexml (~> 3.0) hashdiff (1.0.1) - httpi (1.1.1) + httpclient (2.8.3) + httpi (2.5.0) rack + socksify i18n (1.10.0) concurrent-ruby (~> 1.0) - jwt (1.5.6) + jwt (2.3.0) listen (3.7.1) rb-fsevent (~> 0.10, >= 0.10.3) rb-inotify (~> 0.9, >= 0.9.10) @@ -72,7 +104,7 @@ GEM nokogiri (1.13.6) mini_portile2 (~> 2.8.0) racc (~> 1.4) - nori (1.1.5) + nori (2.6.0) notiffany (0.1.3) nenv (~> 0.1) shellany (~> 0.0) @@ -115,29 +147,31 @@ GEM rubocop-rspec (2.10.0) rubocop (~> 1.19) ruby-progressbar (1.11.0) - savon (1.2.0) - akami (~> 1.2.0) + ruby2_keywords (0.0.5) + savon (2.12.1) + akami (~> 1.2) builder (>= 2.1.2) - gyoku (~> 0.4.5) - httpi (~> 1.1.0) - nokogiri (>= 1.4.0) - nori (~> 1.1.0) - wasabi (~> 2.5.0) + gyoku (~> 1.2) + httpi (~> 2.3) + nokogiri (>= 1.8.1) + nori (~> 2.4) + wasabi (~> 3.4) shellany (0.0.1) - signet (0.6.1) + signet (0.15.0) addressable (~> 2.3) - extlib (~> 0.9) - faraday (~> 0.9) - jwt (~> 1.5) + faraday (>= 0.17.3, < 2.0) + jwt (>= 1.5, < 3.0) multi_json (~> 1.10) + socksify (1.7.1) thor (1.2.1) tzinfo (2.0.4) concurrent-ruby (~> 1.0) unicode-display_width (2.1.0) vcr (6.1.0) - wasabi (2.5.1) - httpi (~> 1.0) - nokogiri (>= 1.4.0) + wasabi (3.7.0) + addressable + httpi (~> 2.0) + nokogiri (>= 1.4.2) webmock (3.13.0) addressable (>= 2.3.6) crack (>= 0.3.2) diff --git a/bing_ads_api.gemspec b/bing_ads_api.gemspec index 67fedfa..073f171 100644 --- a/bing_ads_api.gemspec +++ b/bing_ads_api.gemspec @@ -36,9 +36,8 @@ Gem::Specification.new do |s| s.add_dependency('activesupport', '>= 3.1.0') s.add_dependency('addressable') - s.add_dependency('google-ads-common', '~> 0.9.3') - # s.add_dependency('httpi', '1.1.0')# problem with httpi 1.1.0 or savon 1.2.0 - s.add_dependency('savon', '~>1.2.0')# problem with httpi 1.1.0 or savon 1.2.0 + s.add_dependency('google-ads-common', '~> 1.0.0') + s.add_dependency('savon') s.add_development_dependency('rack', '>= 1.6.12') s.add_development_dependency 'rake' s.add_development_dependency 'rspec', '~> 2.8' diff --git a/lib/ads_common_for_bing_ads/api_config.rb b/lib/ads_common_for_bing_ads/api_config.rb index 64452f1..451837a 100644 --- a/lib/ads_common_for_bing_ads/api_config.rb +++ b/lib/ads_common_for_bing_ads/api_config.rb @@ -10,7 +10,9 @@ # Returns: # The endpoint URL # - def endpoint(environment, version, service) + def endpoint(version, service) + environment = :PRODUCTION + if !address_config().nil? address_config()[version][service][environment].to_s else diff --git a/lib/ads_common_for_bing_ads/auth/oauth2_handler.rb b/lib/ads_common_for_bing_ads/auth/oauth2_handler.rb index b4dc8cc..c63b504 100644 --- a/lib/ads_common_for_bing_ads/auth/oauth2_handler.rb +++ b/lib/ads_common_for_bing_ads/auth/oauth2_handler.rb @@ -12,6 +12,7 @@ class OAuth2Handler } def auth_string(credentials) + @scopes = ['msads.manage'] token = get_token(credentials) token[:access_token] end diff --git a/lib/ads_common_for_bing_ads/savon_service.rb b/lib/ads_common_for_bing_ads/savon_service.rb index 8ce811e..8ee2473 100644 --- a/lib/ads_common_for_bing_ads/savon_service.rb +++ b/lib/ads_common_for_bing_ads/savon_service.rb @@ -1,4 +1,5 @@ ####### Overriden for Bing Ads ######### +require 'savon' class AdsCommonForBingAds::SavonService < AdsCommon::SavonService @@ -14,7 +15,7 @@ def execute_action(action_name, args, &block) args = validator.validate_args(action_name, args) response = execute_soap_request( action_name.to_sym, args, validator.extra_namespaces) - log_headers(response.http.headers) + # log_headers(response.http.headers) handle_errors(response) extractor = AdsCommon::ResultsExtractor.new(registry) result = extractor.extract_result(response, action_name, &block) @@ -74,15 +75,24 @@ def prepend_namespace_to_hash h, namespace # Creates and sets up Savon client. def create_savon_client(endpoint, namespace) - Nori.advanced_typecasting = false - client = Savon::Client.new do |wsdl, httpi| + # Nori.advanced_typecasting = false + # client = ::Savon::Client.new do |wsdl, httpi| + # wsdl.endpoint = endpoint + # wsdl.namespace = namespace + # wsdl.element_form_default = :qualified + # AdsCommonForBingAds::Http.configure_httpi(@config, httpi) + # end + # client.config.raise_errors = false + # client.config.logger.subject = get_logger() + # return client + + client = GoogleAdsSavon::Client.new do |wsdl, httpi| wsdl.endpoint = endpoint wsdl.namespace = namespace - wsdl.element_form_default = :qualified - AdsCommonForBingAds::Http.configure_httpi(@config, httpi) + AdsCommon::Http.configure_httpi(@config, httpi) end client.config.raise_errors = false - client.config.logger.subject = get_logger() + client.config.logger.subject = NoopLogger.new return client end diff --git a/lib/bing_ads_api/api_config.rb b/lib/bing_ads_api/api_config.rb index c3f24cd..45b5868 100644 --- a/lib/bing_ads_api/api_config.rb +++ b/lib/bing_ads_api/api_config.rb @@ -174,6 +174,14 @@ def self.headers_config @@headers_config end + def self.has_version(version) + address_config().keys.include?(version) + end + + def self.config(key) + environment_config(:PRODUCTION, key) + end + # Get the download URL for Ad Hoc reports. # # Args: diff --git a/spec/bing_ads_api_spec.rb b/spec/bing_ads_api_spec.rb index bd6ddd0..8ed7277 100644 --- a/spec/bing_ads_api_spec.rb +++ b/spec/bing_ads_api_spec.rb @@ -28,12 +28,6 @@ ) end - before(:all) do # once (and could be modified by the following tests) - Savon.configure do |config| - config.pretty_print_xml = true - end - end - it 'comes from a module' do # simple test to init tests BingAdsApi.should be_a_kind_of(Module) end From 3e01cc4ef13bfbd874ac0ea3b3cbf7d4f261cc5c Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Thu, 12 May 2022 13:00:01 +1000 Subject: [PATCH 21/24] Unlock google-ads-common --- Gemfile.lock | 2 +- bing_ads_api.gemspec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 51dce88..1d5a1dd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -4,7 +4,7 @@ PATH bing_ads_api (0.0.8) activesupport (>= 3.1.0) addressable - google-ads-common (~> 1.0.0) + google-ads-common savon GEM diff --git a/bing_ads_api.gemspec b/bing_ads_api.gemspec index 073f171..0bc8a32 100644 --- a/bing_ads_api.gemspec +++ b/bing_ads_api.gemspec @@ -36,7 +36,7 @@ Gem::Specification.new do |s| s.add_dependency('activesupport', '>= 3.1.0') s.add_dependency('addressable') - s.add_dependency('google-ads-common', '~> 1.0.0') + s.add_dependency('google-ads-common') s.add_dependency('savon') s.add_development_dependency('rack', '>= 1.6.12') s.add_development_dependency 'rake' From 55ff5a7b5f85d651cefab4b2dec64b0b2e65744f Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Thu, 12 May 2022 13:06:52 +1000 Subject: [PATCH 22/24] Rebuilt using latest google-ads-common --- lib/bing_ads_api/v13/ad_insight_service.rb | 4 ++-- lib/bing_ads_api/v13/ad_insight_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/bulk_service.rb | 4 ++-- lib/bing_ads_api/v13/bulk_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/campaign_management_service.rb | 4 ++-- lib/bing_ads_api/v13/campaign_management_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/customer_billing_service.rb | 4 ++-- lib/bing_ads_api/v13/customer_billing_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/customer_management_service.rb | 4 ++-- lib/bing_ads_api/v13/customer_management_service_registry.rb | 4 ++-- lib/bing_ads_api/v13/reporting_service.rb | 4 ++-- lib/bing_ads_api/v13/reporting_service_registry.rb | 4 ++-- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/lib/bing_ads_api/v13/ad_insight_service.rb b/lib/bing_ads_api/v13/ad_insight_service.rb index 6044741..21c9e14 100644 --- a/lib/bing_ads_api/v13/ad_insight_service.rb +++ b/lib/bing_ads_api/v13/ad_insight_service.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # - # Copyright:: Copyright , Google Inc. All Rights Reserved. + # Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:38. + # Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:02:53. require 'ads_common/savon_service' require 'bing_ads_api/v13/ad_insight_service_registry' diff --git a/lib/bing_ads_api/v13/ad_insight_service_registry.rb b/lib/bing_ads_api/v13/ad_insight_service_registry.rb index fdb2de3..0856520 100644 --- a/lib/bing_ads_api/v13/ad_insight_service_registry.rb +++ b/lib/bing_ads_api/v13/ad_insight_service_registry.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:38. +# Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:02:53. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/bulk_service.rb b/lib/bing_ads_api/v13/bulk_service.rb index f9614d6..9d81fbe 100644 --- a/lib/bing_ads_api/v13/bulk_service.rb +++ b/lib/bing_ads_api/v13/bulk_service.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # - # Copyright:: Copyright , Google Inc. All Rights Reserved. + # Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:41. + # Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:03:13. require 'ads_common/savon_service' require 'bing_ads_api/v13/bulk_service_registry' diff --git a/lib/bing_ads_api/v13/bulk_service_registry.rb b/lib/bing_ads_api/v13/bulk_service_registry.rb index a77adf4..2dea7ac 100644 --- a/lib/bing_ads_api/v13/bulk_service_registry.rb +++ b/lib/bing_ads_api/v13/bulk_service_registry.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:41. +# Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:03:13. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/campaign_management_service.rb b/lib/bing_ads_api/v13/campaign_management_service.rb index e47ef23..43ffa13 100644 --- a/lib/bing_ads_api/v13/campaign_management_service.rb +++ b/lib/bing_ads_api/v13/campaign_management_service.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # - # Copyright:: Copyright , Google Inc. All Rights Reserved. + # Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:43. + # Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:03:16. require 'ads_common/savon_service' require 'bing_ads_api/v13/campaign_management_service_registry' diff --git a/lib/bing_ads_api/v13/campaign_management_service_registry.rb b/lib/bing_ads_api/v13/campaign_management_service_registry.rb index 8d83be3..2a5541d 100644 --- a/lib/bing_ads_api/v13/campaign_management_service_registry.rb +++ b/lib/bing_ads_api/v13/campaign_management_service_registry.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:30:43. +# Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:03:16. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/customer_billing_service.rb b/lib/bing_ads_api/v13/customer_billing_service.rb index 17d1572..7785473 100644 --- a/lib/bing_ads_api/v13/customer_billing_service.rb +++ b/lib/bing_ads_api/v13/customer_billing_service.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # - # Copyright:: Copyright , Google Inc. All Rights Reserved. + # Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:27. + # Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:04:02. require 'ads_common/savon_service' require 'bing_ads_api/v13/customer_billing_service_registry' diff --git a/lib/bing_ads_api/v13/customer_billing_service_registry.rb b/lib/bing_ads_api/v13/customer_billing_service_registry.rb index 2e98b12..8dbf1c4 100644 --- a/lib/bing_ads_api/v13/customer_billing_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_billing_service_registry.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:27. +# Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:04:02. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/customer_management_service.rb b/lib/bing_ads_api/v13/customer_management_service.rb index 13faa20..d463aa4 100644 --- a/lib/bing_ads_api/v13/customer_management_service.rb +++ b/lib/bing_ads_api/v13/customer_management_service.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # - # Copyright:: Copyright , Google Inc. All Rights Reserved. + # Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:29. + # Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:04:05. require 'ads_common/savon_service' require 'bing_ads_api/v13/customer_management_service_registry' diff --git a/lib/bing_ads_api/v13/customer_management_service_registry.rb b/lib/bing_ads_api/v13/customer_management_service_registry.rb index 6a03864..dc48c46 100644 --- a/lib/bing_ads_api/v13/customer_management_service_registry.rb +++ b/lib/bing_ads_api/v13/customer_management_service_registry.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:29. +# Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:04:05. require 'bing_ads_api/errors' diff --git a/lib/bing_ads_api/v13/reporting_service.rb b/lib/bing_ads_api/v13/reporting_service.rb index 549ed49..2b25588 100644 --- a/lib/bing_ads_api/v13/reporting_service.rb +++ b/lib/bing_ads_api/v13/reporting_service.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # - # Copyright:: Copyright , Google Inc. All Rights Reserved. + # Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # - # Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:34. + # Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:04:11. require 'ads_common/savon_service' require 'bing_ads_api/v13/reporting_service_registry' diff --git a/lib/bing_ads_api/v13/reporting_service_registry.rb b/lib/bing_ads_api/v13/reporting_service_registry.rb index 8f86732..6bee822 100644 --- a/lib/bing_ads_api/v13/reporting_service_registry.rb +++ b/lib/bing_ads_api/v13/reporting_service_registry.rb @@ -2,10 +2,10 @@ # # This is auto-generated code, changes will be overwritten. # -# Copyright:: Copyright 2015, Google Inc. All Rights Reserved. +# Copyright:: Copyright 2022, Google Inc. All Rights Reserved. # License:: Licensed under the Apache License, Version 2.0. # -# Code generated by AdsCommon library 0.9.9 on 2022-05-11 07:31:34. +# Code generated by AdsCommon library 1.0.3 on 2022-05-12 03:04:11. require 'bing_ads_api/errors' From a3201d623992bc64af5ac70915ae5076648b313f Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Fri, 13 May 2022 11:11:42 +1000 Subject: [PATCH 23/24] Basic reporting call working --- .../parameters_validator.rb | 4 ++ spec/bing_ads_api_spec.rb | 66 ++++++++++--------- spec/fixtures/cassettes/ReportingService.yml | 52 +++++++++++++++ 3 files changed, 91 insertions(+), 31 deletions(-) create mode 100644 spec/fixtures/cassettes/ReportingService.yml diff --git a/lib/ads_common_for_bing_ads/parameters_validator.rb b/lib/ads_common_for_bing_ads/parameters_validator.rb index d7cbebb..f41d29c 100644 --- a/lib/ads_common_for_bing_ads/parameters_validator.rb +++ b/lib/ads_common_for_bing_ads/parameters_validator.rb @@ -13,6 +13,10 @@ def validate_args(action_name, args) return args_hash end + def extra_namespaces + {"xmlns:arr"=>"http://schemas.microsoft.com/2003/10/Serialization/Arrays"} + end + private # Validates given arguments based on provided fields list. diff --git a/spec/bing_ads_api_spec.rb b/spec/bing_ads_api_spec.rb index 8ed7277..72689c5 100644 --- a/spec/bing_ads_api_spec.rb +++ b/spec/bing_ads_api_spec.rb @@ -93,55 +93,59 @@ let(:message) do { :report_request => { - :exclude_column_headers => true, - :exclude_report_footer => true, - :exclude_report_header => true, - :format => "Csv", - :report_name => "Test Report", + :format => "Tsv", + :language => "English", + :report_name => "MyReport", :return_only_complete_data => false, - :aggregation => "Summary", - :columns => [ - {:campaign_performance_report_column => "AccountId"}, - {:campaign_performance_report_column => "CampaignId"}, - {:campaign_performance_report_column => "Keyword"}, - {:campaign_performance_report_column => "KeywordId"}, - {:campaign_performance_report_column => "DeviceType"}, - {:campaign_performance_report_column => "Clicks"}, - ], - :filter => nil, - :scope => { - :account_ids => [ - {'a1:long' => customer_account_id} + :aggregation => "Daily", + :columns => { + :campaign_performance_report_column => [ + "AccountId", + "AccountName", + "CampaignId", + "CampaignName", + "DeliveredMatchType", + "AverageCpc", + "AdDistribution", + "CurrencyCode", + "Impressions", + "Clicks", + "Ctr", + "CostPerConversion", + "Spend", + "AveragePosition", + "TimePeriod", + "CampaignStatus", + "DeviceType" ], - :attributes! => { - :account_ids => { 'xmlns:a1' => "http://schemas.microsoft.com/2003/10/Serialization/Arrays"} - }, + }, + :scope => { + :account_ids => {'arr:long' => customer_account_id}, }, :time => { :custom_date_range_end => { - :day => '30', - :month => '04', - :year => '2022', + :day => 3, + :month => 3, + :year => 2022, }, :custom_date_range_start => { - :day => '01', - :month => '04', - :year => '2022', + :day => 1, + :month => 3, + :year => 2022, }, } }, :attributes! => { - :report_request => { 'xsi:type' => 'CampaignPerformanceReportRequest'} + :report_request => { 'xsi:type' => 'CampaignPerformanceReportRequest', 'xsi:nil' => false} } } end - xit 'submit_generate_report' do + it 'submit_generate_report' do VCR.use_cassette('ReportingService') do report = service.submit_generate_report(message) + puts "report=#{report}" end - #campaigns.should be_a_kind_of(Hash) - puts "report=#{report}" end end diff --git a/spec/fixtures/cassettes/ReportingService.yml b/spec/fixtures/cassettes/ReportingService.yml new file mode 100644 index 0000000..c980bb2 --- /dev/null +++ b/spec/fixtures/cassettes/ReportingService.yml @@ -0,0 +1,52 @@ +--- +http_interactions: +- request: + method: post + uri: https://reporting.api.bingads.microsoft.com/Api/Advertiser/Reporting/v13/ReportingService.svc?singleWsdl + body: + encoding: UTF-8 + string: TsvEnglishMyReportfalseDailyAccountIdAccountNameCampaignIdCampaignNameDeliveredMatchTypeAverageCpcAdDistributionCurrencyCodeImpressionsClicksCtrCostPerConversionSpendAveragePositionTimePeriodCampaignStatusDeviceType332022132022 + headers: + User-Agent: + - rspec (AwApi-Ruby/0.0.8, Common-Ruby/1.0.3, GoogleAdsSavon/1.0.4, ruby/2.6.9, + HTTPI/2.5.0, httpclient) + Accept: + - "*/*" + Date: + - Thu, 12 May 2022 07:36:03 GMT + Soapaction: + - '"SubmitGenerateReport"' + Content-Type: + - text/xml;charset=UTF-8 + Content-Length: + - '4690' + response: + status: + code: 200 + message: OK + headers: + Connection: + - keep-alive + Date: + - Thu, 12 May 2022 07:36:03 GMT + Content-Type: + - text/xml; charset=utf-8 + Server: + - Kestrel + Content-Length: + - '408' + X-Ms-Requestid: + - b64c5564-6897-49a8-95b7-8a4ea26b73fb + X-Ms-Trackingid: + - b64c5564-6897-49a8-95b7-8a4ea26b73fb + body: + encoding: UTF-8 + string: b64c5564-6897-49a8-95b7-8a4ea26b73fb351021_1530689 + recorded_at: Thu, 12 May 2022 07:36:04 GMT +recorded_with: VCR 6.1.0 From cadc72c2d8e688f85e71e679863f64b48f0937ce Mon Sep 17 00:00:00 2001 From: Robin Duncan Sharp Date: Fri, 13 May 2022 11:22:03 +1000 Subject: [PATCH 24/24] Update VCR with new namesapce --- .../cassettes/CampaignManagementService.yml | 64 +++++++++---------- 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/spec/fixtures/cassettes/CampaignManagementService.yml b/spec/fixtures/cassettes/CampaignManagementService.yml index 5d77b63..f705dec 100644 --- a/spec/fixtures/cassettes/CampaignManagementService.yml +++ b/spec/fixtures/cassettes/CampaignManagementService.yml @@ -7,22 +7,22 @@ http_interactions: encoding: UTF-8 string: headers: + User-Agent: + - rspec (AwApi-Ruby/0.0.8, Common-Ruby/1.0.3, GoogleAdsSavon/1.0.4, ruby/2.6.9, + HTTPI/2.5.0, httpclient) + Accept: + - "*/*" + Date: + - Fri, 13 May 2022 01:19:32 GMT Soapaction: - '"GetCampaignsByAccountId"' - User-Agent: - - rspec (AwApi-Ruby/0.0.8, Common-Ruby/0.9.9, Savon/1.2.0, ruby/2.6.9, HTTPI/1.1.1, - net_http) Content-Type: - text/xml;charset=UTF-8 Content-Length: - - '2542' - Accept-Encoding: - - gzip;q=1.0,deflate;q=0.6,identity;q=0.3 - Accept: - - "*/*" + - '2612' response: status: code: 200 @@ -31,7 +31,7 @@ http_interactions: Connection: - keep-alive Date: - - Wed, 11 May 2022 10:02:16 GMT + - Fri, 13 May 2022 01:19:32 GMT Content-Type: - text/xml; charset=utf-8 Server: @@ -39,60 +39,60 @@ http_interactions: Content-Length: - '7965' X-Ms-Requestid: - - 9d9a0974-62a5-47d2-9944-570b4ea3dfcd + - 63c5f3ee-41a9-4532-8eac-b47a9eb4e384 X-Ms-Trackingid: - - 9d9a0974-62a5-47d2-9944-570b4ea3dfcd + - 63c5f3ee-41a9-4532-8eac-b47a9eb4e384 body: encoding: UTF-8 string: 9d9a0974-62a5-47d2-9944-570b4ea3dfcd63c5f3ee-41a9-4532-8eac-b47a9eb4e3840MaxConversions1DailyBudgetStandard1696977224Tofu + i:nil="true"/>424877224Tofu | Branded Keywords | USPausedHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishDynamicSearchAdsSettingretailer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard5696977225Tofu + i:nil="true"/>424877225Tofu | Physio Terms | USActiveHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishDynamicSearchAdsSettingretailer.globalEnglishSystemIndexEnglish0MaxConversions2DailyBudgetStandard25696977226Tofu - | Illness Terms | USPausedHobart424877226Tofu + | A Terms | USPausedHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishDynamicSearchAdsSettingretailer.globalEnglishSystemIndex10239202361382English0MaxConversions1.6DailyBudgetStandard10696977227Tofu - | Thing Terms | USBudgetPausedHobart424877227Tofu + | Device Terms | USActiveHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishDynamicSearchAdsSettingretailer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard10696977228ToFu - | Moo Thing Terms | USActiveHobart424877228ToFu + | M Device Terms | USBudgetPausedHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishDynamicSearchAdsSettingretailer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard5696977229Tofu - | Calf Strength Terms | USActiveHobart424877229Tofu + | Strength Terms | USActiveHobartSearchDynamicSearchAdsSettingadscustomer.globalEnglishDynamicSearchAdsSettingretailer.globalEnglishSystemIndexEnglish0MaxConversions1.6DailyBudgetStandard5696977230ToFu - | Foo Terms | USActiveHobart424877230ToFu + | CD Terms | USActiveHobartSearchEnglish - recorded_at: Wed, 11 May 2022 10:02:17 GMT + recorded_at: Fri, 13 May 2022 01:19:33 GMT recorded_with: VCR 6.1.0