ysm4r 0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. data/Authors.txt +2 -0
  2. data/ChangeLog.txt +1 -0
  3. data/License.txt +13 -0
  4. data/Rakefile +209 -0
  5. data/Readme.txt +4 -0
  6. data/clean.sh +3 -0
  7. data/lib/soapex/driver.rb +13 -0
  8. data/lib/soapex/error.rb +49 -0
  9. data/lib/soapex/mapping.rb +31 -0
  10. data/lib/soapex/wsdl2ruby.rb +166 -0
  11. data/lib/ysm4r.rb +4 -0
  12. data/lib/ysm4r/client.rb +120 -0
  13. data/lib/ysm4r/service.rb +68 -0
  14. data/lib/ysm4r/v1/AccountService.rb +370 -0
  15. data/lib/ysm4r/v1/AccountServiceDriver.rb +162 -0
  16. data/lib/ysm4r/v1/AccountServiceMappingRegistry.rb +509 -0
  17. data/lib/ysm4r/v1/AdGroupService.rb +649 -0
  18. data/lib/ysm4r/v1/AdGroupServiceDriver.rb +226 -0
  19. data/lib/ysm4r/v1/AdGroupServiceMappingRegistry.rb +864 -0
  20. data/lib/ysm4r/v1/AdService.rb +533 -0
  21. data/lib/ysm4r/v1/AdServiceDriver.rb +178 -0
  22. data/lib/ysm4r/v1/AdServiceMappingRegistry.rb +753 -0
  23. data/lib/ysm4r/v1/BasicReportService.rb +259 -0
  24. data/lib/ysm4r/v1/BasicReportServiceDriver.rb +98 -0
  25. data/lib/ysm4r/v1/BasicReportServiceMappingRegistry.rb +389 -0
  26. data/lib/ysm4r/v1/BidInformationService.rb +69 -0
  27. data/lib/ysm4r/v1/BidInformationServiceDriver.rb +50 -0
  28. data/lib/ysm4r/v1/BidInformationServiceMappingRegistry.rb +135 -0
  29. data/lib/ysm4r/v1/BudgetingService.rb +161 -0
  30. data/lib/ysm4r/v1/BudgetingServiceDriver.rb +98 -0
  31. data/lib/ysm4r/v1/BudgetingServiceMappingRegistry.rb +230 -0
  32. data/lib/ysm4r/v1/CampaignService.rb +644 -0
  33. data/lib/ysm4r/v1/CampaignServiceDriver.rb +210 -0
  34. data/lib/ysm4r/v1/CampaignServiceMappingRegistry.rb +909 -0
  35. data/lib/ysm4r/v1/ExcludedWordsService.rb +294 -0
  36. data/lib/ysm4r/v1/ExcludedWordsServiceDriver.rb +122 -0
  37. data/lib/ysm4r/v1/ExcludedWordsServiceMappingRegistry.rb +469 -0
  38. data/lib/ysm4r/v1/ForecastService.rb +200 -0
  39. data/lib/ysm4r/v1/ForecastServiceDriver.rb +66 -0
  40. data/lib/ysm4r/v1/ForecastServiceMappingRegistry.rb +359 -0
  41. data/lib/ysm4r/v1/KeywordResearchService.rb +290 -0
  42. data/lib/ysm4r/v1/KeywordResearchServiceDriver.rb +66 -0
  43. data/lib/ysm4r/v1/KeywordResearchServiceMappingRegistry.rb +548 -0
  44. data/lib/ysm4r/v1/KeywordService.rb +671 -0
  45. data/lib/ysm4r/v1/KeywordServiceDriver.rb +218 -0
  46. data/lib/ysm4r/v1/KeywordServiceMappingRegistry.rb +913 -0
  47. data/lib/ysm4r/v1/LocationService.rb +53 -0
  48. data/lib/ysm4r/v1/LocationServiceDriver.rb +50 -0
  49. data/lib/ysm4r/v1/LocationServiceMappingRegistry.rb +111 -0
  50. data/lib/ysm4r/v1/MasterAccountService.rb +289 -0
  51. data/lib/ysm4r/v1/MasterAccountServiceDriver.rb +74 -0
  52. data/lib/ysm4r/v1/MasterAccountServiceMappingRegistry.rb +414 -0
  53. data/lib/ysm4r/v1/UpgradeService.rb +72 -0
  54. data/lib/ysm4r/v1/UpgradeServiceDriver.rb +58 -0
  55. data/lib/ysm4r/v1/UpgradeServiceMappingRegistry.rb +145 -0
  56. data/lib/ysm4r/v1/UserManagementService.rb +766 -0
  57. data/lib/ysm4r/v1/UserManagementServiceDriver.rb +290 -0
  58. data/lib/ysm4r/v1/UserManagementServiceMappingRegistry.rb +1057 -0
  59. data/lib/ysm4r/v1/sandbox/LocationService.rb +53 -0
  60. data/lib/ysm4r/v1/sandbox/LocationServiceDriver.rb +50 -0
  61. data/lib/ysm4r/v1/sandbox/LocationServiceMappingRegistry.rb +111 -0
  62. data/lib/ysm4r/v1/sandbox/UpgradeService.rb +72 -0
  63. data/lib/ysm4r/v1/sandbox/UpgradeServiceDriver.rb +58 -0
  64. data/lib/ysm4r/v1/sandbox/UpgradeServiceMappingRegistry.rb +145 -0
  65. data/lib/ysm4r/v2/AccountService.rb +372 -0
  66. data/lib/ysm4r/v2/AccountServiceDriver.rb +162 -0
  67. data/lib/ysm4r/v2/AccountServiceMappingRegistry.rb +510 -0
  68. data/lib/ysm4r/v2/AdGroupService.rb +649 -0
  69. data/lib/ysm4r/v2/AdGroupServiceDriver.rb +226 -0
  70. data/lib/ysm4r/v2/AdGroupServiceMappingRegistry.rb +864 -0
  71. data/lib/ysm4r/v2/AdService.rb +553 -0
  72. data/lib/ysm4r/v2/AdServiceDriver.rb +186 -0
  73. data/lib/ysm4r/v2/AdServiceMappingRegistry.rb +774 -0
  74. data/lib/ysm4r/v2/BasicReportService.rb +272 -0
  75. data/lib/ysm4r/v2/BasicReportServiceDriver.rb +98 -0
  76. data/lib/ysm4r/v2/BasicReportServiceMappingRegistry.rb +389 -0
  77. data/lib/ysm4r/v2/BidInformationService.rb +109 -0
  78. data/lib/ysm4r/v2/BidInformationServiceDriver.rb +66 -0
  79. data/lib/ysm4r/v2/BidInformationServiceMappingRegistry.rb +177 -0
  80. data/lib/ysm4r/v2/BudgetingService.rb +161 -0
  81. data/lib/ysm4r/v2/BudgetingServiceDriver.rb +98 -0
  82. data/lib/ysm4r/v2/BudgetingServiceMappingRegistry.rb +230 -0
  83. data/lib/ysm4r/v2/CampaignService.rb +644 -0
  84. data/lib/ysm4r/v2/CampaignServiceDriver.rb +210 -0
  85. data/lib/ysm4r/v2/CampaignServiceMappingRegistry.rb +909 -0
  86. data/lib/ysm4r/v2/CompanyService.rb +68 -0
  87. data/lib/ysm4r/v2/CompanyServiceDriver.rb +50 -0
  88. data/lib/ysm4r/v2/CompanyServiceMappingRegistry.rb +136 -0
  89. data/lib/ysm4r/v2/ExcludedWordsService.rb +294 -0
  90. data/lib/ysm4r/v2/ExcludedWordsServiceDriver.rb +122 -0
  91. data/lib/ysm4r/v2/ExcludedWordsServiceMappingRegistry.rb +469 -0
  92. data/lib/ysm4r/v2/ForecastService.rb +200 -0
  93. data/lib/ysm4r/v2/ForecastServiceDriver.rb +66 -0
  94. data/lib/ysm4r/v2/ForecastServiceMappingRegistry.rb +359 -0
  95. data/lib/ysm4r/v2/KeywordResearchService.rb +369 -0
  96. data/lib/ysm4r/v2/KeywordResearchServiceDriver.rb +82 -0
  97. data/lib/ysm4r/v2/KeywordResearchServiceMappingRegistry.rb +673 -0
  98. data/lib/ysm4r/v2/KeywordService.rb +691 -0
  99. data/lib/ysm4r/v2/KeywordServiceDriver.rb +226 -0
  100. data/lib/ysm4r/v2/KeywordServiceMappingRegistry.rb +934 -0
  101. data/lib/ysm4r/v2/LocationService.rb +53 -0
  102. data/lib/ysm4r/v2/LocationServiceDriver.rb +50 -0
  103. data/lib/ysm4r/v2/LocationServiceMappingRegistry.rb +111 -0
  104. data/lib/ysm4r/v2/MasterAccountService.rb +332 -0
  105. data/lib/ysm4r/v2/MasterAccountServiceDriver.rb +82 -0
  106. data/lib/ysm4r/v2/MasterAccountServiceMappingRegistry.rb +480 -0
  107. data/lib/ysm4r/v2/UpgradeService.rb +72 -0
  108. data/lib/ysm4r/v2/UpgradeServiceDriver.rb +58 -0
  109. data/lib/ysm4r/v2/UpgradeServiceMappingRegistry.rb +145 -0
  110. data/lib/ysm4r/v2/UserManagementService.rb +766 -0
  111. data/lib/ysm4r/v2/UserManagementServiceDriver.rb +290 -0
  112. data/lib/ysm4r/v2/UserManagementServiceMappingRegistry.rb +1057 -0
  113. data/lib/ysm4r/v2/sandbox/LocationService.rb +53 -0
  114. data/lib/ysm4r/v2/sandbox/LocationServiceDriver.rb +50 -0
  115. data/lib/ysm4r/v2/sandbox/LocationServiceMappingRegistry.rb +111 -0
  116. data/lib/ysm4r/v2/sandbox/UpgradeService.rb +72 -0
  117. data/lib/ysm4r/v2/sandbox/UpgradeServiceDriver.rb +58 -0
  118. data/lib/ysm4r/v2/sandbox/UpgradeServiceMappingRegistry.rb +145 -0
  119. data/setup.rb +1585 -0
  120. data/test/test_campaign_service.rb +12 -0
  121. data/test/test_keyword_research_service.rb +15 -0
  122. data/test/test_master_account_service.rb +18 -0
  123. data/ysm.properties +6 -0
  124. metadata +171 -0
@@ -0,0 +1,4 @@
1
+ require 'rubygems'
2
+ gem 'soap4r'
3
+ require 'soap/compat'
4
+ require 'ysm4r/client'
@@ -0,0 +1,120 @@
1
+ require 'soap/soap'
2
+ require 'soapex/error'
3
+ require 'soapex/driver'
4
+ require 'ysm4r/service'
5
+
6
+ module YSM
7
+
8
+ class Config
9
+ HeaderKeys = [:username, :password, :license, :masterAccountID, :accountID]
10
+ attr_reader(*HeaderKeys)
11
+ attr_reader :sandbox
12
+
13
+ def initialize(options={})
14
+ @sandbox = false
15
+ IO.foreach(filename) do |line|
16
+ next if line =~ /^#/
17
+ name, value = line.split('=')
18
+ value = (options[name] || value.strip)
19
+ instance_variable_set(atsym(name), value)
20
+ end
21
+ @sandbox = ['True', 'true', '1'].include?(@sandbox.strip)
22
+ end
23
+
24
+ def makeHeaders
25
+ HeaderKeys.map do |key|
26
+ Service::HeaderHandler.new(
27
+ key.to_s, instance_variable_get(atsym(key)))
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def atsym(name)
34
+ ("@"+(name.to_s)).to_sym
35
+ end
36
+ def filename
37
+ gemfile = File.join(File.dirname(__FILE__), '..', '..', 'ysm.properties')
38
+ userhome = (ENV['HOME'] || ENV['USERPROFILE'])
39
+ homefile = userhome ? File.join(userhome, 'ysm.properties') : gemfile
40
+ # a config file found in user's home dir overrides the one distributed
41
+ # with the gem
42
+ FileTest.exists?(homefile) ? homefile : gemfile
43
+ end
44
+ end
45
+
46
+ class Client
47
+ attr_reader :config, :drivers, :version
48
+ @methodMap = Hash.new
49
+
50
+ def initialize(version=nil, options={})
51
+ @config = Config.new(options)
52
+ @headers = @config.makeHeaders
53
+ @version = (version || Service.getVersions.sort.last)
54
+ prepareDrivers
55
+ end
56
+
57
+ def method_missing(m, *args)
58
+ methodName = m.id2name
59
+ requestName = YSM::fix_case_up(methodName) # upper first character
60
+
61
+ if driver = @methodMap[methodName]
62
+ servicename = driver.class.name.split("::").last
63
+ #args.map! {|a| a.to_s}
64
+ req = eval("YSM::#{servicename}::#{requestName}").new(*args)
65
+ return driver.method(methodName).call(req).out
66
+ else
67
+ raise(SOAP::MultiService::UnknownAPICall,
68
+ "Unknown API Call: #{requestName}", caller)
69
+ end
70
+
71
+ # Handle YSM Application-level error
72
+ rescue SOAP::FaultError => fault
73
+ raise(SOAP::MultiService::ApiError.new(fault),
74
+ "#{methodName} Call Failed: #{fault.faultstring.to_s}", caller)
75
+ end
76
+
77
+ private
78
+
79
+ def prepareDrivers
80
+ @drivers = Hash.new
81
+ Service.doRequire(@version, @config.sandbox)
82
+
83
+ # the Location and Upgrade services provide their own
84
+ # endpoint_urls, the other services must use the endpoint
85
+ # provided by the Location service.
86
+ bootstrap = ["Location", "Upgrade"]
87
+ bootstrap.each {|driver| @drivers[driver] = makeDriver(driver)}
88
+ @methodMap = Service.getMethodMap(@drivers)
89
+ location = getMasterAccountLocation
90
+
91
+ Service.getServices(@version).each do |servicename|
92
+ next if bootstrap.include?(servicename)
93
+ endpoint = "#{location}/V#{@version}/#{servicename}Service"
94
+ @drivers[servicename] = makeDriver(servicename, endpoint)
95
+ end
96
+ @methodMap = Service.getMethodMap(@drivers)
97
+ end
98
+
99
+ def makeDriver(name, location=nil)
100
+ driver = eval("YSM::#{name}Service::#{name}Service").new
101
+ driver.prepare(@headers, location)
102
+ driver
103
+ end
104
+
105
+ end
106
+
107
+ # These class module methods are helper functions
108
+ class <<self
109
+
110
+ def fix_case_up(name)
111
+ (newname = name.dup)[0] = name[0,1].upcase # upper first character
112
+ newname
113
+ end
114
+
115
+ def fix_case_down(name)
116
+ (newname = name.dup)[0] = name[0,1].downcase
117
+ newname
118
+ end
119
+ end
120
+ end
@@ -0,0 +1,68 @@
1
+ require 'soap/header/simplehandler'
2
+
3
+ module YSM
4
+ SandBoxServices = ['Location', 'Upgrade']
5
+
6
+ VersionServices = {
7
+ 1 => [
8
+ 'MasterAccount', 'Account', 'UserManagement', 'Location', 'Upgrade',
9
+ 'Campaign', 'AdGroup', 'Ad', 'Keyword', 'ExcludedWords',
10
+ 'BidInformation', 'Forecast', 'KeywordResearch', 'Budgeting',
11
+ 'BasicReport'],
12
+ 2 => [
13
+ 'Company', 'MasterAccount', 'Account', 'UserManagement',
14
+ 'Location', 'Upgrade', 'Campaign', 'AdGroup', 'Ad', 'Keyword',
15
+ 'ExcludedWords', 'BidInformation', 'Forecast', 'KeywordResearch',
16
+ 'Budgeting', 'BasicReport']
17
+ }
18
+
19
+
20
+ class Service
21
+
22
+ class HeaderHandler < SOAP::Header::SimpleHandler
23
+ def initialize(tag, value)
24
+ super(XSD::QName.new(nil, tag))
25
+ @tag = tag
26
+ @value = value
27
+ end
28
+
29
+ # The initial handler from the sample was wrong,
30
+ # it generated 2 level of tags
31
+ def on_simple_outbound
32
+ @value
33
+ end
34
+ end
35
+
36
+
37
+ def Service.getVersions
38
+ VersionServices.keys
39
+ end
40
+
41
+ def Service.getServices(version)
42
+ VersionServices[version]
43
+ end
44
+
45
+ def Service.doRequire(version, sandbox=false)
46
+ req = []
47
+ Service.getServices(version).each do |s|
48
+ sbox = (sandbox && SandBoxServices.include?(s)) ? "sandbox/" : ""
49
+ req << "require 'ysm4r/v#{version}/#{sbox}#{s}ServiceDriver'"
50
+ end
51
+ req.each {|r| eval(r)}
52
+ end
53
+
54
+ def Service.getService(version, method)
55
+
56
+ end
57
+
58
+ def Service.getMethodMap(drivers)
59
+ #Service.getVersions.each do |v|
60
+ methodMap = Hash.new
61
+ drivers.each_value do |d|
62
+ d.class::Methods.each {|m| methodMap[m[1]] = d}
63
+ end
64
+ methodMap
65
+ end
66
+ end
67
+
68
+ end
@@ -0,0 +1,370 @@
1
+ require 'xsd/qname'
2
+
3
+ module YSM::AccountService
4
+
5
+
6
+ # {http://marketing.ews.yahooapis.com/V1}ApiFault
7
+ class ApiFault < ::StandardError
8
+ attr_accessor :code
9
+ attr_accessor :message
10
+
11
+ def initialize(code = nil, message = nil)
12
+ @code = code
13
+ @message = message
14
+ end
15
+ end
16
+
17
+ # {http://marketing.ews.yahooapis.com/V1}ArrayOfContinent
18
+ class ArrayOfContinent < ::Array
19
+ end
20
+
21
+ # {http://marketing.ews.yahooapis.com/V1}Account
22
+ class Account
23
+ attr_accessor :iD
24
+ attr_accessor :advancedMatchON
25
+ attr_accessor :businessTypeCode
26
+ attr_accessor :contentMatchON
27
+ attr_accessor :displayURL
28
+ attr_accessor :marketID
29
+ attr_accessor :masterAccountID
30
+ attr_accessor :name
31
+ attr_accessor :nameFurigana
32
+ attr_accessor :personalID
33
+ attr_accessor :sitePassword
34
+ attr_accessor :siteUserName
35
+ attr_accessor :sponsoredSearchON
36
+ attr_accessor :vatCode
37
+ attr_accessor :websiteURL
38
+
39
+ def initialize(iD = nil, advancedMatchON = nil, businessTypeCode = nil, contentMatchON = nil, displayURL = nil, marketID = nil, masterAccountID = nil, name = nil, nameFurigana = nil, personalID = nil, sitePassword = nil, siteUserName = nil, sponsoredSearchON = nil, vatCode = nil, websiteURL = nil)
40
+ @iD = iD
41
+ @advancedMatchON = advancedMatchON
42
+ @businessTypeCode = businessTypeCode
43
+ @contentMatchON = contentMatchON
44
+ @displayURL = displayURL
45
+ @marketID = marketID
46
+ @masterAccountID = masterAccountID
47
+ @name = name
48
+ @nameFurigana = nameFurigana
49
+ @personalID = personalID
50
+ @sitePassword = sitePassword
51
+ @siteUserName = siteUserName
52
+ @sponsoredSearchON = sponsoredSearchON
53
+ @vatCode = vatCode
54
+ @websiteURL = websiteURL
55
+ end
56
+ end
57
+
58
+ # {http://marketing.ews.yahooapis.com/V1}ArrayOfAccount
59
+ class ArrayOfAccount < ::Array
60
+ end
61
+
62
+ # {http://marketing.ews.yahooapis.com/V1}CombinedAccountStatus
63
+ class CombinedAccountStatus
64
+ attr_accessor :accountStatus
65
+ attr_accessor :onlineStatus
66
+ attr_accessor :onlineStatusAsOf
67
+
68
+ def initialize(accountStatus = nil, onlineStatus = nil, onlineStatusAsOf = nil)
69
+ @accountStatus = accountStatus
70
+ @onlineStatus = onlineStatus
71
+ @onlineStatusAsOf = onlineStatusAsOf
72
+ end
73
+ end
74
+
75
+ # {http://schemas.xmlsoap.org/ws/2002/07/secext}Security
76
+ class Security
77
+ attr_accessor :usernameToken
78
+
79
+ def initialize(usernameToken = nil)
80
+ @usernameToken = usernameToken
81
+ end
82
+ end
83
+
84
+ # {http://schemas.xmlsoap.org/ws/2002/07/secext}UsernameToken
85
+ class UsernameToken
86
+ attr_accessor :username
87
+ attr_accessor :password
88
+
89
+ def initialize(username = nil, password = nil)
90
+ @username = username
91
+ @password = password
92
+ end
93
+ end
94
+
95
+ # {http://marketing.ews.yahooapis.com/V1}Continent
96
+ class Continent < ::String
97
+ Africa = Continent.new("Africa")
98
+ Asia = Continent.new("Asia")
99
+ Australia = Continent.new("Australia")
100
+ Europe = Continent.new("Europe")
101
+ NorthAmerica = Continent.new("NorthAmerica")
102
+ SouthAmerica = Continent.new("SouthAmerica")
103
+ end
104
+
105
+ # {http://marketing.ews.yahooapis.com/V1}AccountStatus
106
+ class AccountStatus < ::String
107
+ Active = AccountStatus.new("Active")
108
+ Inactive = AccountStatus.new("Inactive")
109
+ end
110
+
111
+ # {http://marketing.ews.yahooapis.com/V1}addMoney
112
+ class AddMoney
113
+ attr_accessor :accountID
114
+ attr_accessor :amount
115
+
116
+ def initialize(accountID = nil, amount = nil)
117
+ @accountID = accountID
118
+ @amount = amount
119
+ end
120
+ end
121
+
122
+ # {http://marketing.ews.yahooapis.com/V1}addMoneyResponse
123
+ class AddMoneyResponse
124
+ def initialize
125
+ end
126
+ end
127
+
128
+ # {http://marketing.ews.yahooapis.com/V1}deleteContinentBlockListFromAccount
129
+ class DeleteContinentBlockListFromAccount
130
+ attr_accessor :accountID
131
+
132
+ def initialize(accountID = nil)
133
+ @accountID = accountID
134
+ end
135
+ end
136
+
137
+ # {http://marketing.ews.yahooapis.com/V1}deleteContinentBlockListFromAccountResponse
138
+ class DeleteContinentBlockListFromAccountResponse
139
+ def initialize
140
+ end
141
+ end
142
+
143
+ # {http://marketing.ews.yahooapis.com/V1}getContinentBlockListForAccount
144
+ class GetContinentBlockListForAccount
145
+ attr_accessor :accountID
146
+
147
+ def initialize(accountID = nil)
148
+ @accountID = accountID
149
+ end
150
+ end
151
+
152
+ # {http://marketing.ews.yahooapis.com/V1}getContinentBlockListForAccountResponse
153
+ class GetContinentBlockListForAccountResponse
154
+ attr_accessor :out
155
+
156
+ def initialize(out = nil)
157
+ @out = out
158
+ end
159
+ end
160
+
161
+ # {http://marketing.ews.yahooapis.com/V1}getAccount
162
+ class GetAccount
163
+ attr_accessor :accountID
164
+
165
+ def initialize(accountID = nil)
166
+ @accountID = accountID
167
+ end
168
+ end
169
+
170
+ # {http://marketing.ews.yahooapis.com/V1}getAccountResponse
171
+ class GetAccountResponse
172
+ attr_accessor :out
173
+
174
+ def initialize(out = nil)
175
+ @out = out
176
+ end
177
+ end
178
+
179
+ # {http://marketing.ews.yahooapis.com/V1}setChargeAmount
180
+ class SetChargeAmount
181
+ attr_accessor :accountID
182
+ attr_accessor :chargeAmount
183
+
184
+ def initialize(accountID = nil, chargeAmount = nil)
185
+ @accountID = accountID
186
+ @chargeAmount = chargeAmount
187
+ end
188
+ end
189
+
190
+ # {http://marketing.ews.yahooapis.com/V1}setChargeAmountResponse
191
+ class SetChargeAmountResponse
192
+ def initialize
193
+ end
194
+ end
195
+
196
+ # {http://marketing.ews.yahooapis.com/V1}getChargeAmount
197
+ class GetChargeAmount
198
+ attr_accessor :accountID
199
+
200
+ def initialize(accountID = nil)
201
+ @accountID = accountID
202
+ end
203
+ end
204
+
205
+ # {http://marketing.ews.yahooapis.com/V1}getChargeAmountResponse
206
+ class GetChargeAmountResponse
207
+ attr_accessor :out
208
+
209
+ def initialize(out = nil)
210
+ @out = out
211
+ end
212
+ end
213
+
214
+ # {http://marketing.ews.yahooapis.com/V1}setActiveCreditCard
215
+ class SetActiveCreditCard
216
+ attr_accessor :accountID
217
+ attr_accessor :paymentMethodID
218
+
219
+ def initialize(accountID = nil, paymentMethodID = nil)
220
+ @accountID = accountID
221
+ @paymentMethodID = paymentMethodID
222
+ end
223
+ end
224
+
225
+ # {http://marketing.ews.yahooapis.com/V1}setActiveCreditCardResponse
226
+ class SetActiveCreditCardResponse
227
+ def initialize
228
+ end
229
+ end
230
+
231
+ # {http://marketing.ews.yahooapis.com/V1}updateAccount
232
+ class UpdateAccount
233
+ attr_accessor :account
234
+ attr_accessor :updateAll
235
+
236
+ def initialize(account = nil, updateAll = nil)
237
+ @account = account
238
+ @updateAll = updateAll
239
+ end
240
+ end
241
+
242
+ # {http://marketing.ews.yahooapis.com/V1}updateAccountResponse
243
+ class UpdateAccountResponse
244
+ def initialize
245
+ end
246
+ end
247
+
248
+ # {http://marketing.ews.yahooapis.com/V1}getActiveCreditCard
249
+ class GetActiveCreditCard
250
+ attr_accessor :accountID
251
+
252
+ def initialize(accountID = nil)
253
+ @accountID = accountID
254
+ end
255
+ end
256
+
257
+ # {http://marketing.ews.yahooapis.com/V1}getActiveCreditCardResponse
258
+ class GetActiveCreditCardResponse
259
+ attr_accessor :out
260
+
261
+ def initialize(out = nil)
262
+ @out = out
263
+ end
264
+ end
265
+
266
+ # {http://marketing.ews.yahooapis.com/V1}addAccount
267
+ class AddAccount
268
+ attr_accessor :account
269
+
270
+ def initialize(account = nil)
271
+ @account = account
272
+ end
273
+ end
274
+
275
+ # {http://marketing.ews.yahooapis.com/V1}addAccountResponse
276
+ class AddAccountResponse
277
+ attr_accessor :out
278
+
279
+ def initialize(out = nil)
280
+ @out = out
281
+ end
282
+ end
283
+
284
+ # {http://marketing.ews.yahooapis.com/V1}updateStatusForAccount
285
+ class UpdateStatusForAccount
286
+ attr_accessor :accountID
287
+ attr_accessor :accountStatus
288
+
289
+ def initialize(accountID = nil, accountStatus = nil)
290
+ @accountID = accountID
291
+ @accountStatus = accountStatus
292
+ end
293
+ end
294
+
295
+ # {http://marketing.ews.yahooapis.com/V1}updateStatusForAccountResponse
296
+ class UpdateStatusForAccountResponse
297
+ def initialize
298
+ end
299
+ end
300
+
301
+ # {http://marketing.ews.yahooapis.com/V1}getAccountBalance
302
+ class GetAccountBalance
303
+ attr_accessor :accountID
304
+
305
+ def initialize(accountID = nil)
306
+ @accountID = accountID
307
+ end
308
+ end
309
+
310
+ # {http://marketing.ews.yahooapis.com/V1}getAccountBalanceResponse
311
+ class GetAccountBalanceResponse
312
+ attr_accessor :out
313
+
314
+ def initialize(out = nil)
315
+ @out = out
316
+ end
317
+ end
318
+
319
+ # {http://marketing.ews.yahooapis.com/V1}getAccounts
320
+ class GetAccounts
321
+ def initialize
322
+ end
323
+ end
324
+
325
+ # {http://marketing.ews.yahooapis.com/V1}getAccountsResponse
326
+ class GetAccountsResponse
327
+ attr_accessor :out
328
+
329
+ def initialize(out = nil)
330
+ @out = out
331
+ end
332
+ end
333
+
334
+ # {http://marketing.ews.yahooapis.com/V1}setContinentBlockListForAccount
335
+ class SetContinentBlockListForAccount
336
+ attr_accessor :accountID
337
+ attr_accessor :continents
338
+
339
+ def initialize(accountID = nil, continents = nil)
340
+ @accountID = accountID
341
+ @continents = continents
342
+ end
343
+ end
344
+
345
+ # {http://marketing.ews.yahooapis.com/V1}setContinentBlockListForAccountResponse
346
+ class SetContinentBlockListForAccountResponse
347
+ def initialize
348
+ end
349
+ end
350
+
351
+ # {http://marketing.ews.yahooapis.com/V1}getAccountStatus
352
+ class GetAccountStatus
353
+ attr_accessor :accountID
354
+
355
+ def initialize(accountID = nil)
356
+ @accountID = accountID
357
+ end
358
+ end
359
+
360
+ # {http://marketing.ews.yahooapis.com/V1}getAccountStatusResponse
361
+ class GetAccountStatusResponse
362
+ attr_accessor :out
363
+
364
+ def initialize(out = nil)
365
+ @out = out
366
+ end
367
+ end
368
+
369
+
370
+ end