betfair 0.0.12
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/.gitignore +6 -0
- data/API Ref Doc.pdf +42565 -27
- data/Gemfile +11 -0
- data/README +110 -0
- data/Rakefile +2 -0
- data/betfair.gemspec +26 -0
- data/examples/foo.rb +42 -0
- data/lib/betfair.rb +3 -0
- data/lib/betfair/api.rb +288 -0
- data/lib/betfair/version.rb +3 -0
- data/spec/betfair/api_spec.rb +214 -0
- data/spec/fixtures/cancel_bets/fail.xml +17 -0
- data/spec/fixtures/cancel_bets/success.xml +25 -0
- data/spec/fixtures/get_active_event_types/success.xml +211 -0
- data/spec/fixtures/get_all_markets/fail.xml +18 -0
- data/spec/fixtures/get_all_markets/success.xml +18 -0
- data/spec/fixtures/get_market/fail.xml +18 -0
- data/spec/fixtures/get_market/success.xml +62 -0
- data/spec/fixtures/get_market_prices_compressed/fail.xml +18 -0
- data/spec/fixtures/get_market_prices_compressed/success.xml +18 -0
- data/spec/fixtures/login/fail.xml +18 -0
- data/spec/fixtures/login/success.xml +19 -0
- data/spec/fixtures/place_bets/fail.xml +25 -0
- data/spec/fixtures/place_bets/success.xml +25 -0
- data/spec/spec_helper.rb +10 -0
- metadata +135 -0
@@ -0,0 +1,214 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
module Betfair
|
4
|
+
|
5
|
+
describe "Helper methods for mashing the data from the API" do
|
6
|
+
|
7
|
+
before(:all) do
|
8
|
+
@bf = Betfair::API.new
|
9
|
+
@session_token = @bf.login('username', 'password', 82, 0, 0, nil)
|
10
|
+
@helpers = Betfair::Helpers.new
|
11
|
+
end
|
12
|
+
|
13
|
+
describe "Create a hash for the market details" do
|
14
|
+
it "pulls the relevant stuff out of market details and puts it in a hash" do
|
15
|
+
savon.expects(:get_market).returns(:success)
|
16
|
+
market = @bf.get_market(@session_token, 2, 10038633)
|
17
|
+
market_info = @helpers.market_info(market)
|
18
|
+
market_info.should_not be_nil
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "Cleans up the get market details" do
|
23
|
+
it "sort the runners for each market out " do
|
24
|
+
savon.expects(:get_market).returns(:success)
|
25
|
+
market = @bf.get_market(@session_token, 2, 10038633)
|
26
|
+
details = @helpers.details(market)
|
27
|
+
details.should_not be_nil
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
describe "Get the price string for a runner" do
|
32
|
+
it "so that we can combine it together with market info" do
|
33
|
+
savon.expects(:get_market_prices_compressed).returns(:success)
|
34
|
+
prices = @bf.get_market_prices_compressed(@session_token, 2, 10038633)
|
35
|
+
prices = @helpers.prices(prices)
|
36
|
+
prices.should_not be_nil
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
describe "Combine market details and runner prices api call" do
|
41
|
+
it "Combines the two api calls of get_market and get_market_prices_compressed " do
|
42
|
+
|
43
|
+
savon.expects(:get_market).returns(:success)
|
44
|
+
market = @bf.get_market(@session_token, 2, 10038633)
|
45
|
+
|
46
|
+
savon.expects(:get_market_prices_compressed).returns(:success)
|
47
|
+
prices = @bf.get_market_prices_compressed(@session_token, 2, 10038633)
|
48
|
+
|
49
|
+
combined = @helpers.combine(market, prices)
|
50
|
+
combined.should_not be_nil
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "Placing and cancelling bets" do
|
57
|
+
|
58
|
+
before(:all) do
|
59
|
+
@bf = Betfair::API.new
|
60
|
+
@session_token = @bf.login('username', 'password', 82, 0, 0, nil)
|
61
|
+
end
|
62
|
+
|
63
|
+
describe "place bet success" do
|
64
|
+
it "should place a bet on the exchange via the api" do
|
65
|
+
savon.expects(:place_bets).returns(:success)
|
66
|
+
bet = @bf.place_bet(@session_token, 1, 104184109, 58805, 'B', 10.0, 5.0)
|
67
|
+
bet.should_not be_nil
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
describe "place bet fail" do
|
72
|
+
it "should return an error message" do
|
73
|
+
savon.expects(:place_bets).returns(:fail)
|
74
|
+
error_code = @bf.place_bet(@session_token, 1, 104184109, 58805, 'B', 2.0, 2.0)
|
75
|
+
error_code[:result_code].should eq('INVALID_SIZE')
|
76
|
+
end
|
77
|
+
end
|
78
|
+
|
79
|
+
describe "cancel bet success" do
|
80
|
+
it "should cancel a bet on the exchange via the api" do
|
81
|
+
savon.expects(:cancel_bets).returns(:success)
|
82
|
+
bet = @bf.cancel_bet(@session_token, 3, 16939689578)
|
83
|
+
bet.should_not be_nil
|
84
|
+
end
|
85
|
+
end
|
86
|
+
|
87
|
+
describe "cancel bet fail" do
|
88
|
+
it "should fail to cancel a bet on the exchange via the api" do
|
89
|
+
savon.expects(:cancel_bets).returns(:fail)
|
90
|
+
error_code = @bf.cancel_bet(@session_token, 3, 16939689578)
|
91
|
+
error_code.should eq('API_ERROR')
|
92
|
+
end
|
93
|
+
end
|
94
|
+
|
95
|
+
end
|
96
|
+
|
97
|
+
describe "Basic read methods from the API" do
|
98
|
+
|
99
|
+
before(:all) do
|
100
|
+
@bf = Betfair::API.new
|
101
|
+
@session_token = @bf.login('username', 'password', 82, 0, 0, nil)
|
102
|
+
end
|
103
|
+
|
104
|
+
describe "get all markets success" do
|
105
|
+
it "should return a hash of all markets given the exchange id and and array of market type ids" do
|
106
|
+
savon.expects(:get_all_markets).returns(:success)
|
107
|
+
markets = @bf.get_all_markets(@session_token, 1, [1,3], nil, nil, nil, nil)
|
108
|
+
markets.should_not be_nil
|
109
|
+
end
|
110
|
+
end
|
111
|
+
|
112
|
+
describe "get all markets fail" do
|
113
|
+
it "should return an error message given the exchange id and and array of market type ids and no session id" do
|
114
|
+
savon.expects(:get_all_markets).returns(:fail)
|
115
|
+
error_code = @bf.get_all_markets(@session_token, 1, [1,3], nil, nil, nil, nil)
|
116
|
+
error_code.should eq('API_ERROR')
|
117
|
+
end
|
118
|
+
end
|
119
|
+
|
120
|
+
describe "get market success" do
|
121
|
+
it "should return the details for a market given the exchange id and market id" do
|
122
|
+
savon.expects(:get_market).returns(:success)
|
123
|
+
market = @bf.get_market(@session_token, 2, 10038633)
|
124
|
+
market.should_not be_nil
|
125
|
+
end
|
126
|
+
end
|
127
|
+
|
128
|
+
describe "get markets fail" do
|
129
|
+
it "should return an error message given the wrong exchange id or market id" do
|
130
|
+
savon.expects(:get_market).returns(:fail)
|
131
|
+
error_code = @bf.get_market(@session_token, 2, 10038633)
|
132
|
+
error_code.should eq('INVALID_MARKET')
|
133
|
+
end
|
134
|
+
end
|
135
|
+
|
136
|
+
describe "get market prices compressed success" do
|
137
|
+
it "should return comrpessed market prices given the exchange id and market id" do
|
138
|
+
savon.expects(:get_market_prices_compressed).returns(:success)
|
139
|
+
market = @bf.get_market_prices_compressed(@session_token, 2, 10038633)
|
140
|
+
market.should_not be_nil
|
141
|
+
end
|
142
|
+
end
|
143
|
+
|
144
|
+
describe "get market prices compressed fail" do
|
145
|
+
it "should return an error message given the wrong exchange id or market id" do
|
146
|
+
savon.expects(:get_market_prices_compressed).returns(:fail)
|
147
|
+
error_code = @bf.get_market_prices_compressed(@session_token, 2, 10038633)
|
148
|
+
error_code.should eq('INVALID_MARKET')
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
describe "get active event types success" do
|
153
|
+
it "should return active event types given the locale" do
|
154
|
+
savon.expects(:get_active_event_types).returns(:success)
|
155
|
+
events = @bf.get_active_event_types(@session_token, 'en')
|
156
|
+
events.should_not be_nil
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
end
|
161
|
+
|
162
|
+
describe "General logins, logouts methods and proxys and Savon logging etc" do
|
163
|
+
|
164
|
+
before(:all) do
|
165
|
+
@bf = Betfair::API.new
|
166
|
+
end
|
167
|
+
|
168
|
+
describe "login success" do
|
169
|
+
it "should return a session token" do
|
170
|
+
savon.expects(:login).returns(:success)
|
171
|
+
session_token = @bf.login('username', 'password', 82, 0, 0, nil).to_s
|
172
|
+
session_token.should be_an_instance_of(String)
|
173
|
+
end
|
174
|
+
end
|
175
|
+
|
176
|
+
describe "login fail" do
|
177
|
+
it "should return an error" do
|
178
|
+
savon.expects(:login).returns(:fail)
|
179
|
+
error_code = @bf.login('username', 'password', 82, 0, 0, nil)
|
180
|
+
error_code.should eq('PRODUCT_REQUIRES_FUNDED_ACCOUNT')
|
181
|
+
end
|
182
|
+
end
|
183
|
+
|
184
|
+
describe "proxy success" do
|
185
|
+
it "should return a session token" do
|
186
|
+
savon.expects(:login).returns(:success)
|
187
|
+
proxy = 'http://localhost:8888'
|
188
|
+
session_token = Betfair::API.new(proxy).login('username', 'password', 82, 0, 0, nil).to_s
|
189
|
+
session_token.should be_an_instance_of(String)
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
describe "proxy fail" do
|
194
|
+
it "should return an error" do
|
195
|
+
savon.expects(:login).returns(:fail)
|
196
|
+
proxy = 'http://localhost:8888'
|
197
|
+
error_code = Betfair::API.new(proxy).login('username', 'password', 82, 0, 0, nil)
|
198
|
+
error_code.should eq('PRODUCT_REQUIRES_FUNDED_ACCOUNT')
|
199
|
+
end
|
200
|
+
end
|
201
|
+
|
202
|
+
describe "savon logging on" do
|
203
|
+
it "should return a session token" do
|
204
|
+
savon.expects(:login).returns(:success)
|
205
|
+
proxy = nil
|
206
|
+
logging = true
|
207
|
+
session_token = Betfair::API.new(proxy, logging).login('username', 'password', 82, 0, 0, nil).to_s
|
208
|
+
session_token.should be_an_instance_of(String)
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
end
|
213
|
+
|
214
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:n2="http://www.betfair.com/publicapi/types/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
2
|
+
<soap:Body>
|
3
|
+
<n:cancelBetsResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/">
|
4
|
+
<n:Result xsi:type="n2:CancelBetsResp">
|
5
|
+
<header xsi:type="n2:APIResponseHeader">
|
6
|
+
<errorCode xsi:type="n2:APIErrorEnum">NO_SESSION</errorCode>
|
7
|
+
<minorErrorCode xsi:nil="1"></minorErrorCode>
|
8
|
+
<sessionToken xsi:nil="1"></sessionToken>
|
9
|
+
<timestamp xsi:type="xsd:dateTime">2011-10-30T08:31:56.390Z</timestamp>
|
10
|
+
</header>
|
11
|
+
<betResults xsi:nil="1"></betResults>
|
12
|
+
<errorCode xsi:type="n2:CancelBetsErrorEnum">API_ERROR</errorCode>
|
13
|
+
<minorErrorCode xsi:nil="1"></minorErrorCode>
|
14
|
+
</n:Result>
|
15
|
+
</n:cancelBetsResponse>
|
16
|
+
</soap:Body>
|
17
|
+
</soap:Envelope>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:n2="http://www.betfair.com/publicapi/types/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
2
|
+
<soap:Body>
|
3
|
+
<n:cancelBetsResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/">
|
4
|
+
<n:Result xsi:type="n2:CancelBetsResp">
|
5
|
+
<header xsi:type="n2:APIResponseHeader">
|
6
|
+
<errorCode xsi:type="n2:APIErrorEnum">OK</errorCode>
|
7
|
+
<minorErrorCode xsi:nil="1"></minorErrorCode>
|
8
|
+
<sessionToken xsi:type="xsd:string">T0fSCYclMyf2iuL4FbGQyoINXuNeaxpKxtAq/7VnAjo=</sessionToken>
|
9
|
+
<timestamp xsi:type="xsd:dateTime">2011-10-30T08:37:42.257Z</timestamp>
|
10
|
+
</header>
|
11
|
+
<betResults xsi:type="n2:ArrayOfCancelBetsResult">
|
12
|
+
<n2:CancelBetsResult xsi:type="n2:CancelBetsResult">
|
13
|
+
<betId xsi:type="xsd:long">16939730542</betId>
|
14
|
+
<resultCode xsi:type="n2:CancelBetsResultEnum">REMAINING_CANCELLED</resultCode>
|
15
|
+
<sizeCancelled xsi:type="xsd:double">5.0</sizeCancelled>
|
16
|
+
<sizeMatched xsi:type="xsd:double">0.0</sizeMatched>
|
17
|
+
<success xsi:type="xsd:boolean">true</success>
|
18
|
+
</n2:CancelBetsResult>
|
19
|
+
</betResults>
|
20
|
+
<errorCode xsi:type="n2:CancelBetsErrorEnum">OK</errorCode>
|
21
|
+
<minorErrorCode xsi:nil="1"></minorErrorCode>
|
22
|
+
</n:Result>
|
23
|
+
</n:cancelBetsResponse>
|
24
|
+
</soap:Body>
|
25
|
+
</soap:Envelope>
|
@@ -0,0 +1,211 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:n2="http://www.betfair.com/publicapi/types/global/v3/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
<n:getActiveEventTypesResponse xmlns:n="http://www.betfair.com/publicapi/v3/BFGlobalService/">
|
5
|
+
<n:Result xsi:type="n2:GetEventTypesResp">
|
6
|
+
<header xsi:type="n2:APIResponseHeader">
|
7
|
+
<errorCode xsi:type="n2:APIErrorEnum">OK</errorCode>
|
8
|
+
<minorErrorCode xsi:nil="1"/>
|
9
|
+
<sessionToken xsi:type="xsd:string">Xh7ZPGvr9slMNP/bNJiXUZ6jBvs+YEUBQCioGgne5Uw=</sessionToken>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-01-09T11:41:16.782Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<eventTypeItems xsi:type="n2:ArrayOfEventType">
|
13
|
+
<n2:EventType xsi:type="n2:EventType">
|
14
|
+
<id xsi:type="xsd:int">6423</id>
|
15
|
+
<name xsi:type="xsd:string">American Football</name>
|
16
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
17
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
18
|
+
</n2:EventType>
|
19
|
+
<n2:EventType xsi:type="n2:EventType">
|
20
|
+
<id xsi:type="xsd:int">61420</id>
|
21
|
+
<name xsi:type="xsd:string">Australian Rules</name>
|
22
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
23
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
24
|
+
</n2:EventType>
|
25
|
+
<n2:EventType xsi:type="n2:EventType">
|
26
|
+
<id xsi:type="xsd:int">998919</id>
|
27
|
+
<name xsi:type="xsd:string">Bandy</name>
|
28
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
29
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
30
|
+
</n2:EventType>
|
31
|
+
<n2:EventType xsi:type="n2:EventType">
|
32
|
+
<id xsi:type="xsd:int">7511</id>
|
33
|
+
<name xsi:type="xsd:string">Baseball</name>
|
34
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
35
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
36
|
+
</n2:EventType>
|
37
|
+
<n2:EventType xsi:type="n2:EventType">
|
38
|
+
<id xsi:type="xsd:int">7522</id>
|
39
|
+
<name xsi:type="xsd:string">Basketball</name>
|
40
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
41
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
42
|
+
</n2:EventType>
|
43
|
+
<n2:EventType xsi:type="n2:EventType">
|
44
|
+
<id xsi:type="xsd:int">998918</id>
|
45
|
+
<name xsi:type="xsd:string">Bowls</name>
|
46
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
47
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
48
|
+
</n2:EventType>
|
49
|
+
<n2:EventType xsi:type="n2:EventType">
|
50
|
+
<id xsi:type="xsd:int">4</id>
|
51
|
+
<name xsi:type="xsd:string">Cricket</name>
|
52
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
53
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
54
|
+
</n2:EventType>
|
55
|
+
<n2:EventType xsi:type="n2:EventType">
|
56
|
+
<id xsi:type="xsd:int">11</id>
|
57
|
+
<name xsi:type="xsd:string">Cycling</name>
|
58
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
59
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
60
|
+
</n2:EventType>
|
61
|
+
<n2:EventType xsi:type="n2:EventType">
|
62
|
+
<id xsi:type="xsd:int">3503</id>
|
63
|
+
<name xsi:type="xsd:string">Darts</name>
|
64
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
65
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
66
|
+
</n2:EventType>
|
67
|
+
<n2:EventType xsi:type="n2:EventType">
|
68
|
+
<id xsi:type="xsd:int">6231</id>
|
69
|
+
<name xsi:type="xsd:string">Financial Bets</name>
|
70
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
71
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
72
|
+
</n2:EventType>
|
73
|
+
<n2:EventType xsi:type="n2:EventType">
|
74
|
+
<id xsi:type="xsd:int">998920</id>
|
75
|
+
<name xsi:type="xsd:string">Floorball</name>
|
76
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
77
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
78
|
+
</n2:EventType>
|
79
|
+
<n2:EventType xsi:type="n2:EventType">
|
80
|
+
<id xsi:type="xsd:int">2152880</id>
|
81
|
+
<name xsi:type="xsd:string">Gaelic Games</name>
|
82
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
83
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
84
|
+
</n2:EventType>
|
85
|
+
<n2:EventType xsi:type="n2:EventType">
|
86
|
+
<id xsi:type="xsd:int">3</id>
|
87
|
+
<name xsi:type="xsd:string">Golf</name>
|
88
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
89
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
90
|
+
</n2:EventType>
|
91
|
+
<n2:EventType xsi:type="n2:EventType">
|
92
|
+
<id xsi:type="xsd:int">4339</id>
|
93
|
+
<name xsi:type="xsd:string">Greyhound Racing</name>
|
94
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
95
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
96
|
+
</n2:EventType>
|
97
|
+
<n2:EventType xsi:type="n2:EventType">
|
98
|
+
<id xsi:type="xsd:int">15</id>
|
99
|
+
<name xsi:type="xsd:string">Greyhound - Todays Card</name>
|
100
|
+
<nextMarketId xsi:type="xsd:int">100432129</nextMarketId>
|
101
|
+
<exchangeId xsi:type="xsd:int">2</exchangeId>
|
102
|
+
</n2:EventType>
|
103
|
+
<n2:EventType xsi:type="n2:EventType">
|
104
|
+
<id xsi:type="xsd:int">468328</id>
|
105
|
+
<name xsi:type="xsd:string">Handball</name>
|
106
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
107
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
108
|
+
</n2:EventType>
|
109
|
+
<n2:EventType xsi:type="n2:EventType">
|
110
|
+
<id xsi:type="xsd:int">7</id>
|
111
|
+
<name xsi:type="xsd:string">Horse Racing</name>
|
112
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
113
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
114
|
+
</n2:EventType>
|
115
|
+
<n2:EventType xsi:type="n2:EventType">
|
116
|
+
<id xsi:type="xsd:int">13</id>
|
117
|
+
<name xsi:type="xsd:string">Horse Racing - Todays Card</name>
|
118
|
+
<nextMarketId xsi:type="xsd:int">104635474</nextMarketId>
|
119
|
+
<exchangeId xsi:type="xsd:int">1</exchangeId>
|
120
|
+
</n2:EventType>
|
121
|
+
<n2:EventType xsi:type="n2:EventType">
|
122
|
+
<id xsi:type="xsd:int">7524</id>
|
123
|
+
<name xsi:type="xsd:string">Ice Hockey</name>
|
124
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
125
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
126
|
+
</n2:EventType>
|
127
|
+
<n2:EventType xsi:type="n2:EventType">
|
128
|
+
<id xsi:type="xsd:int">26420387</id>
|
129
|
+
<name xsi:type="xsd:string">Mixed Martial Arts</name>
|
130
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
131
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
132
|
+
</n2:EventType>
|
133
|
+
<n2:EventType xsi:type="n2:EventType">
|
134
|
+
<id xsi:type="xsd:int">8</id>
|
135
|
+
<name xsi:type="xsd:string">Motor Sport</name>
|
136
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
137
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
138
|
+
</n2:EventType>
|
139
|
+
<n2:EventType xsi:type="n2:EventType">
|
140
|
+
<id xsi:type="xsd:int">26686903</id>
|
141
|
+
<name xsi:type="xsd:string">Olympics 2012</name>
|
142
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
143
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
144
|
+
</n2:EventType>
|
145
|
+
<n2:EventType xsi:type="n2:EventType">
|
146
|
+
<id xsi:type="xsd:int">2378961</id>
|
147
|
+
<name xsi:type="xsd:string">Politics</name>
|
148
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
149
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
150
|
+
</n2:EventType>
|
151
|
+
<n2:EventType xsi:type="n2:EventType">
|
152
|
+
<id xsi:type="xsd:int">1477</id>
|
153
|
+
<name xsi:type="xsd:string">Rugby League</name>
|
154
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
155
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
156
|
+
</n2:EventType>
|
157
|
+
<n2:EventType xsi:type="n2:EventType">
|
158
|
+
<id xsi:type="xsd:int">5</id>
|
159
|
+
<name xsi:type="xsd:string">Rugby Union</name>
|
160
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
161
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
162
|
+
</n2:EventType>
|
163
|
+
<n2:EventType xsi:type="n2:EventType">
|
164
|
+
<id xsi:type="xsd:int">6422</id>
|
165
|
+
<name xsi:type="xsd:string">Snooker</name>
|
166
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
167
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
168
|
+
</n2:EventType>
|
169
|
+
<n2:EventType xsi:type="n2:EventType">
|
170
|
+
<id xsi:type="xsd:int">1</id>
|
171
|
+
<name xsi:type="xsd:string">Soccer</name>
|
172
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
173
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
174
|
+
</n2:EventType>
|
175
|
+
<n2:EventType xsi:type="n2:EventType">
|
176
|
+
<id xsi:type="xsd:int">14</id>
|
177
|
+
<name xsi:type="xsd:string">Soccer - Fixtures</name>
|
178
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
179
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
180
|
+
</n2:EventType>
|
181
|
+
<n2:EventType xsi:type="n2:EventType">
|
182
|
+
<id xsi:type="xsd:int">10</id>
|
183
|
+
<name xsi:type="xsd:string">Special Bets</name>
|
184
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
185
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
186
|
+
</n2:EventType>
|
187
|
+
<n2:EventType xsi:type="n2:EventType">
|
188
|
+
<id xsi:type="xsd:int">2</id>
|
189
|
+
<name xsi:type="xsd:string">Tennis</name>
|
190
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
191
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
192
|
+
</n2:EventType>
|
193
|
+
<n2:EventType xsi:type="n2:EventType">
|
194
|
+
<id xsi:type="xsd:int">998917</id>
|
195
|
+
<name xsi:type="xsd:string">Volleyball</name>
|
196
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
197
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
198
|
+
</n2:EventType>
|
199
|
+
<n2:EventType xsi:type="n2:EventType">
|
200
|
+
<id xsi:type="xsd:int">451485</id>
|
201
|
+
<name xsi:type="xsd:string">Winter Sports</name>
|
202
|
+
<nextMarketId xsi:type="xsd:int">0</nextMarketId>
|
203
|
+
<exchangeId xsi:type="xsd:int">0</exchangeId>
|
204
|
+
</n2:EventType>
|
205
|
+
</eventTypeItems>
|
206
|
+
<minorErrorCode xsi:nil="1"/>
|
207
|
+
<errorCode xsi:type="n2:GetEventsErrorEnum">OK</errorCode>
|
208
|
+
</n:Result>
|
209
|
+
</n:getActiveEventTypesResponse>
|
210
|
+
</soap:Body>
|
211
|
+
</soap:Envelope>
|