ysm4r 0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/Authors.txt +2 -0
- data/ChangeLog.txt +1 -0
- data/License.txt +13 -0
- data/Rakefile +209 -0
- data/Readme.txt +4 -0
- data/clean.sh +3 -0
- data/lib/soapex/driver.rb +13 -0
- data/lib/soapex/error.rb +49 -0
- data/lib/soapex/mapping.rb +31 -0
- data/lib/soapex/wsdl2ruby.rb +166 -0
- data/lib/ysm4r.rb +4 -0
- data/lib/ysm4r/client.rb +120 -0
- data/lib/ysm4r/service.rb +68 -0
- data/lib/ysm4r/v1/AccountService.rb +370 -0
- data/lib/ysm4r/v1/AccountServiceDriver.rb +162 -0
- data/lib/ysm4r/v1/AccountServiceMappingRegistry.rb +509 -0
- data/lib/ysm4r/v1/AdGroupService.rb +649 -0
- data/lib/ysm4r/v1/AdGroupServiceDriver.rb +226 -0
- data/lib/ysm4r/v1/AdGroupServiceMappingRegistry.rb +864 -0
- data/lib/ysm4r/v1/AdService.rb +533 -0
- data/lib/ysm4r/v1/AdServiceDriver.rb +178 -0
- data/lib/ysm4r/v1/AdServiceMappingRegistry.rb +753 -0
- data/lib/ysm4r/v1/BasicReportService.rb +259 -0
- data/lib/ysm4r/v1/BasicReportServiceDriver.rb +98 -0
- data/lib/ysm4r/v1/BasicReportServiceMappingRegistry.rb +389 -0
- data/lib/ysm4r/v1/BidInformationService.rb +69 -0
- data/lib/ysm4r/v1/BidInformationServiceDriver.rb +50 -0
- data/lib/ysm4r/v1/BidInformationServiceMappingRegistry.rb +135 -0
- data/lib/ysm4r/v1/BudgetingService.rb +161 -0
- data/lib/ysm4r/v1/BudgetingServiceDriver.rb +98 -0
- data/lib/ysm4r/v1/BudgetingServiceMappingRegistry.rb +230 -0
- data/lib/ysm4r/v1/CampaignService.rb +644 -0
- data/lib/ysm4r/v1/CampaignServiceDriver.rb +210 -0
- data/lib/ysm4r/v1/CampaignServiceMappingRegistry.rb +909 -0
- data/lib/ysm4r/v1/ExcludedWordsService.rb +294 -0
- data/lib/ysm4r/v1/ExcludedWordsServiceDriver.rb +122 -0
- data/lib/ysm4r/v1/ExcludedWordsServiceMappingRegistry.rb +469 -0
- data/lib/ysm4r/v1/ForecastService.rb +200 -0
- data/lib/ysm4r/v1/ForecastServiceDriver.rb +66 -0
- data/lib/ysm4r/v1/ForecastServiceMappingRegistry.rb +359 -0
- data/lib/ysm4r/v1/KeywordResearchService.rb +290 -0
- data/lib/ysm4r/v1/KeywordResearchServiceDriver.rb +66 -0
- data/lib/ysm4r/v1/KeywordResearchServiceMappingRegistry.rb +548 -0
- data/lib/ysm4r/v1/KeywordService.rb +671 -0
- data/lib/ysm4r/v1/KeywordServiceDriver.rb +218 -0
- data/lib/ysm4r/v1/KeywordServiceMappingRegistry.rb +913 -0
- data/lib/ysm4r/v1/LocationService.rb +53 -0
- data/lib/ysm4r/v1/LocationServiceDriver.rb +50 -0
- data/lib/ysm4r/v1/LocationServiceMappingRegistry.rb +111 -0
- data/lib/ysm4r/v1/MasterAccountService.rb +289 -0
- data/lib/ysm4r/v1/MasterAccountServiceDriver.rb +74 -0
- data/lib/ysm4r/v1/MasterAccountServiceMappingRegistry.rb +414 -0
- data/lib/ysm4r/v1/UpgradeService.rb +72 -0
- data/lib/ysm4r/v1/UpgradeServiceDriver.rb +58 -0
- data/lib/ysm4r/v1/UpgradeServiceMappingRegistry.rb +145 -0
- data/lib/ysm4r/v1/UserManagementService.rb +766 -0
- data/lib/ysm4r/v1/UserManagementServiceDriver.rb +290 -0
- data/lib/ysm4r/v1/UserManagementServiceMappingRegistry.rb +1057 -0
- data/lib/ysm4r/v1/sandbox/LocationService.rb +53 -0
- data/lib/ysm4r/v1/sandbox/LocationServiceDriver.rb +50 -0
- data/lib/ysm4r/v1/sandbox/LocationServiceMappingRegistry.rb +111 -0
- data/lib/ysm4r/v1/sandbox/UpgradeService.rb +72 -0
- data/lib/ysm4r/v1/sandbox/UpgradeServiceDriver.rb +58 -0
- data/lib/ysm4r/v1/sandbox/UpgradeServiceMappingRegistry.rb +145 -0
- data/lib/ysm4r/v2/AccountService.rb +372 -0
- data/lib/ysm4r/v2/AccountServiceDriver.rb +162 -0
- data/lib/ysm4r/v2/AccountServiceMappingRegistry.rb +510 -0
- data/lib/ysm4r/v2/AdGroupService.rb +649 -0
- data/lib/ysm4r/v2/AdGroupServiceDriver.rb +226 -0
- data/lib/ysm4r/v2/AdGroupServiceMappingRegistry.rb +864 -0
- data/lib/ysm4r/v2/AdService.rb +553 -0
- data/lib/ysm4r/v2/AdServiceDriver.rb +186 -0
- data/lib/ysm4r/v2/AdServiceMappingRegistry.rb +774 -0
- data/lib/ysm4r/v2/BasicReportService.rb +272 -0
- data/lib/ysm4r/v2/BasicReportServiceDriver.rb +98 -0
- data/lib/ysm4r/v2/BasicReportServiceMappingRegistry.rb +389 -0
- data/lib/ysm4r/v2/BidInformationService.rb +109 -0
- data/lib/ysm4r/v2/BidInformationServiceDriver.rb +66 -0
- data/lib/ysm4r/v2/BidInformationServiceMappingRegistry.rb +177 -0
- data/lib/ysm4r/v2/BudgetingService.rb +161 -0
- data/lib/ysm4r/v2/BudgetingServiceDriver.rb +98 -0
- data/lib/ysm4r/v2/BudgetingServiceMappingRegistry.rb +230 -0
- data/lib/ysm4r/v2/CampaignService.rb +644 -0
- data/lib/ysm4r/v2/CampaignServiceDriver.rb +210 -0
- data/lib/ysm4r/v2/CampaignServiceMappingRegistry.rb +909 -0
- data/lib/ysm4r/v2/CompanyService.rb +68 -0
- data/lib/ysm4r/v2/CompanyServiceDriver.rb +50 -0
- data/lib/ysm4r/v2/CompanyServiceMappingRegistry.rb +136 -0
- data/lib/ysm4r/v2/ExcludedWordsService.rb +294 -0
- data/lib/ysm4r/v2/ExcludedWordsServiceDriver.rb +122 -0
- data/lib/ysm4r/v2/ExcludedWordsServiceMappingRegistry.rb +469 -0
- data/lib/ysm4r/v2/ForecastService.rb +200 -0
- data/lib/ysm4r/v2/ForecastServiceDriver.rb +66 -0
- data/lib/ysm4r/v2/ForecastServiceMappingRegistry.rb +359 -0
- data/lib/ysm4r/v2/KeywordResearchService.rb +369 -0
- data/lib/ysm4r/v2/KeywordResearchServiceDriver.rb +82 -0
- data/lib/ysm4r/v2/KeywordResearchServiceMappingRegistry.rb +673 -0
- data/lib/ysm4r/v2/KeywordService.rb +691 -0
- data/lib/ysm4r/v2/KeywordServiceDriver.rb +226 -0
- data/lib/ysm4r/v2/KeywordServiceMappingRegistry.rb +934 -0
- data/lib/ysm4r/v2/LocationService.rb +53 -0
- data/lib/ysm4r/v2/LocationServiceDriver.rb +50 -0
- data/lib/ysm4r/v2/LocationServiceMappingRegistry.rb +111 -0
- data/lib/ysm4r/v2/MasterAccountService.rb +332 -0
- data/lib/ysm4r/v2/MasterAccountServiceDriver.rb +82 -0
- data/lib/ysm4r/v2/MasterAccountServiceMappingRegistry.rb +480 -0
- data/lib/ysm4r/v2/UpgradeService.rb +72 -0
- data/lib/ysm4r/v2/UpgradeServiceDriver.rb +58 -0
- data/lib/ysm4r/v2/UpgradeServiceMappingRegistry.rb +145 -0
- data/lib/ysm4r/v2/UserManagementService.rb +766 -0
- data/lib/ysm4r/v2/UserManagementServiceDriver.rb +290 -0
- data/lib/ysm4r/v2/UserManagementServiceMappingRegistry.rb +1057 -0
- data/lib/ysm4r/v2/sandbox/LocationService.rb +53 -0
- data/lib/ysm4r/v2/sandbox/LocationServiceDriver.rb +50 -0
- data/lib/ysm4r/v2/sandbox/LocationServiceMappingRegistry.rb +111 -0
- data/lib/ysm4r/v2/sandbox/UpgradeService.rb +72 -0
- data/lib/ysm4r/v2/sandbox/UpgradeServiceDriver.rb +58 -0
- data/lib/ysm4r/v2/sandbox/UpgradeServiceMappingRegistry.rb +145 -0
- data/setup.rb +1585 -0
- data/test/test_campaign_service.rb +12 -0
- data/test/test_keyword_research_service.rb +15 -0
- data/test/test_master_account_service.rb +18 -0
- data/ysm.properties +6 -0
- metadata +171 -0
data/lib/ysm4r.rb
ADDED
data/lib/ysm4r/client.rb
ADDED
|
@@ -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
|