em-betfair 0.2
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +3 -0
- data/Gemfile +8 -0
- data/README.md +47 -0
- data/Rakefile +1 -0
- data/em-betfair.gemspec +25 -0
- data/examples/scrape_betfair.rb +88 -0
- data/lib/em-betfair/betfair_client.rb +126 -0
- data/lib/em-betfair/response.rb +41 -0
- data/lib/em-betfair/response_parser.rb +135 -0
- data/lib/em-betfair/soap_renderer.rb +29 -0
- data/lib/em-betfair/views/exchange/get_all_markets.haml +23 -0
- data/lib/em-betfair/views/exchange/get_market.haml +12 -0
- data/lib/em-betfair/views/exchange/get_market_prices_compressed.haml +12 -0
- data/lib/em-betfair/views/exchange/get_market_traded_volume_compressed.haml +12 -0
- data/lib/em-betfair/views/global/get_all_event_types.haml +12 -0
- data/lib/em-betfair/views/global/login.haml +11 -0
- data/lib/em-betfair/views/global/retrieve_limb_message.haml +9 -0
- data/lib/em-betfair/views/global/submit_limb_message.haml +14 -0
- data/lib/em-betfair.rb +4 -0
- data/spec/functional/betfair_client_spec.rb +149 -0
- data/spec/remote/betfair_client_spec.rb +69 -0
- data/spec/spec_helper.rb +17 -0
- data/spec/support/canned_responses/get_all_markets.xml +18 -0
- data/spec/support/canned_responses/get_all_markets_no_session.xml +18 -0
- data/spec/support/canned_responses/get_market.xml +3 -0
- data/spec/support/canned_responses/get_market_prices_compressed.xml +18 -0
- data/spec/support/canned_responses/get_market_traded_volume_compressed.xml +20 -0
- data/spec/support/canned_responses/login_failed.xml +19 -0
- data/spec/support/canned_responses/login_ok.xml +19 -0
- data/spec/support/canned_responses/soap_fault.xml +9 -0
- data/spec/unit/response_parser_spec.rb +45 -0
- metadata +143 -0
@@ -0,0 +1,149 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'webmock/rspec'
|
3
|
+
|
4
|
+
config = {
|
5
|
+
"username" => "some_username",
|
6
|
+
"password" => "some_password",
|
7
|
+
"product_id" => 22,
|
8
|
+
"exchange_endpoint" => "http://exchange.betfair.com", #"https://api.betfair.com/exchange/v5/BFExchangeService",
|
9
|
+
"global_endpoint" => "http://global.betfair.com" #"https://api.betfair.com/global/v3/BFGlobalService"
|
10
|
+
}
|
11
|
+
|
12
|
+
describe Betfair::Client do
|
13
|
+
|
14
|
+
before :all do
|
15
|
+
@bf_client = Betfair::Client.new(config)
|
16
|
+
end
|
17
|
+
|
18
|
+
describe "SOAP faults" do
|
19
|
+
|
20
|
+
it "should handle SOAP faults" do
|
21
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_ok.xml"), :status => 200)
|
22
|
+
stub_request(:post, "http://exchange.betfair.com").to_return(:body => load_response("soap_fault.xml"), :status => 500)
|
23
|
+
EM::run {
|
24
|
+
@bf_client.get_all_markets do |rsp|
|
25
|
+
rsp.successfull.should eq false
|
26
|
+
rsp.hash_response.should be_nil
|
27
|
+
rsp.error.should eq "INTERNAL_ERROR"
|
28
|
+
EM::stop
|
29
|
+
end
|
30
|
+
}
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
describe "with no session token" do
|
35
|
+
|
36
|
+
it "shouldn't be successfull" do
|
37
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_failed.xml"), :status => 200)
|
38
|
+
stub_request(:post, "http://exchange.betfair.com").to_return(:body => load_response("get_all_markets_no_session.xml"), :status => 200)
|
39
|
+
EM::run {
|
40
|
+
@bf_client.get_all_markets do |rsp|
|
41
|
+
rsp.successfull.should eq false
|
42
|
+
rsp.error.should eq "NO_SESSION"
|
43
|
+
EM::stop
|
44
|
+
end
|
45
|
+
}
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
describe "login" do
|
51
|
+
|
52
|
+
it "should handle an OK response" do
|
53
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_ok.xml"), :status => 200)
|
54
|
+
EM::run {
|
55
|
+
@bf_client.login do |rsp|
|
56
|
+
rsp.successfull.should eq true
|
57
|
+
rsp.hash_response.should be_an_instance_of Hash
|
58
|
+
rsp.error.should eq ""
|
59
|
+
EM::stop
|
60
|
+
end
|
61
|
+
}
|
62
|
+
end
|
63
|
+
|
64
|
+
it "should handle invalid username/password" do
|
65
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_failed.xml"), :status => 200)
|
66
|
+
EM::run {
|
67
|
+
@bf_client.login do |rsp|
|
68
|
+
rsp.successfull.should eq false
|
69
|
+
rsp.error.should eq "INVALID_USERNAME_OR_PASSWORD"
|
70
|
+
EM::stop
|
71
|
+
end
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
end
|
76
|
+
|
77
|
+
describe "get_all_markets" do
|
78
|
+
|
79
|
+
it "should handle an OK response" do
|
80
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_ok.xml"), :status => 200)
|
81
|
+
stub_request(:post, "http://exchange.betfair.com").to_return(:body => load_response("get_all_markets.xml"), :status => 200)
|
82
|
+
EM::run {
|
83
|
+
@bf_client.get_all_markets do |rsp|
|
84
|
+
rsp.successfull.should eq true
|
85
|
+
rsp.error.should eq ""
|
86
|
+
rsp.hash_response.should be_an_instance_of Hash
|
87
|
+
rsp.parsed_response.xpath("//marketData").text.should_not eq ""
|
88
|
+
EM::stop
|
89
|
+
end
|
90
|
+
}
|
91
|
+
end
|
92
|
+
|
93
|
+
end
|
94
|
+
|
95
|
+
describe "get_market" do
|
96
|
+
|
97
|
+
it "should handle an OK response" do
|
98
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_ok.xml"), :status => 200)
|
99
|
+
stub_request(:post, "http://exchange.betfair.com").to_return(:body => load_response("get_market.xml"), :status => 200)
|
100
|
+
EM::run {
|
101
|
+
@bf_client.get_market "104968439" do |rsp|
|
102
|
+
rsp.successfull.should eq true
|
103
|
+
rsp.error.should eq ""
|
104
|
+
rsp.hash_response.should be_an_instance_of Hash
|
105
|
+
rsp.parsed_response.xpath("//runners").children.should_not be_empty
|
106
|
+
EM::stop
|
107
|
+
end
|
108
|
+
}
|
109
|
+
end
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
describe "get_market_prices_compressed" do
|
114
|
+
|
115
|
+
it "should handle an OK response" do
|
116
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_ok.xml"), :status => 200)
|
117
|
+
stub_request(:post, "http://exchange.betfair.com").to_return(:body => load_response("get_market_prices_compressed.xml"), :status => 200)
|
118
|
+
EM::run {
|
119
|
+
@bf_client.get_market_prices_compressed "104968512" do |rsp|
|
120
|
+
rsp.successfull.should eq true
|
121
|
+
rsp.error.should eq ""
|
122
|
+
rsp.hash_response.should be_an_instance_of Hash
|
123
|
+
rsp.parsed_response.xpath("//marketPrices").first.should_not be_nil
|
124
|
+
EM::stop
|
125
|
+
end
|
126
|
+
}
|
127
|
+
end
|
128
|
+
|
129
|
+
end
|
130
|
+
|
131
|
+
describe "get_market_traded_volume_compressed" do
|
132
|
+
|
133
|
+
it "should handle an OK response" do
|
134
|
+
stub_request(:post, "http://global.betfair.com").to_return(:body => load_response("login_ok.xml"), :status => 200)
|
135
|
+
stub_request(:post, "http://exchange.betfair.com").to_return(:body => load_response("get_market_traded_volume_compressed.xml"), :status => 200)
|
136
|
+
EM::run {
|
137
|
+
@bf_client.get_market_prices_compressed "104968512" do |rsp|
|
138
|
+
rsp.successfull.should eq true
|
139
|
+
rsp.error.should eq ""
|
140
|
+
rsp.hash_response.should be_an_instance_of Hash
|
141
|
+
rsp.parsed_response.xpath("//tradedVolume").first.should_not be_nil
|
142
|
+
EM::stop
|
143
|
+
end
|
144
|
+
}
|
145
|
+
end
|
146
|
+
|
147
|
+
end
|
148
|
+
|
149
|
+
end
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
config = {
|
4
|
+
"username" => "<YOUR BETFAIR USERNAME>",
|
5
|
+
"password" => "<YOUR BETFAIR PASSWORD>",
|
6
|
+
"product_id" => "<YOUR BETFAIR PRODUCTID>",
|
7
|
+
"exchange_endpoint" => "https://api.betfair.com/exchange/v5/BFExchangeService",
|
8
|
+
"global_endpoint" => "https://api.betfair.com/global/v3/BFGlobalService"
|
9
|
+
}
|
10
|
+
|
11
|
+
describe Betfair::Client do
|
12
|
+
|
13
|
+
before :all do
|
14
|
+
@bf_client = Betfair::Client.new(config)
|
15
|
+
end
|
16
|
+
|
17
|
+
describe "get_all_markets" do
|
18
|
+
|
19
|
+
it "should work against a remote API" do
|
20
|
+
# EM::run {
|
21
|
+
# @bf_client.get_all_markets ["GBR"],[7] do |response|
|
22
|
+
# puts response.raw_response
|
23
|
+
# EM::stop
|
24
|
+
# end
|
25
|
+
# }
|
26
|
+
end
|
27
|
+
|
28
|
+
end
|
29
|
+
|
30
|
+
describe "get_market" do
|
31
|
+
|
32
|
+
it "should work against a remote API" do
|
33
|
+
# EM::run {
|
34
|
+
# @bf_client.get_market "104968439" do |response|
|
35
|
+
# puts response.raw_response
|
36
|
+
# EM::stop
|
37
|
+
# end
|
38
|
+
# }
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
42
|
+
|
43
|
+
describe "get_market_prices_compressed" do
|
44
|
+
|
45
|
+
it "should work against a remote API" do
|
46
|
+
# EM::run {
|
47
|
+
# @bf_client.get_market_prices_compressed "104968512" do |response|
|
48
|
+
# puts response.raw_response
|
49
|
+
# EM::stop
|
50
|
+
# end
|
51
|
+
# }
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
describe "get_market_traded_volume_compressed" do
|
57
|
+
|
58
|
+
it "should work against a remote API" do
|
59
|
+
# EM::run {
|
60
|
+
# @bf_client.get_market_traded_volume_compressed "104968512" do |response|
|
61
|
+
# puts response.raw_response
|
62
|
+
# EM::stop
|
63
|
+
# end
|
64
|
+
# }
|
65
|
+
end
|
66
|
+
|
67
|
+
end
|
68
|
+
|
69
|
+
end
|
data/spec/spec_helper.rb
ADDED
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'pathname'
|
2
|
+
require Pathname.new(__FILE__).realpath.parent.parent + 'lib' + 'em-betfair'
|
3
|
+
require 'eventmachine'
|
4
|
+
|
5
|
+
RSpec.configure do |config|
|
6
|
+
config.color_enabled = true
|
7
|
+
end
|
8
|
+
|
9
|
+
CANNED_RSP_DIR = Pathname.new(__FILE__).realpath.parent + "support" + "canned_responses"
|
10
|
+
|
11
|
+
def load_response response_file
|
12
|
+
File.open(CANNED_RSP_DIR+response_file).read
|
13
|
+
end
|
14
|
+
|
15
|
+
def load_xml_response response_file
|
16
|
+
Nokogiri::XML File.open(CANNED_RSP_DIR+response_file).read
|
17
|
+
end
|
@@ -0,0 +1,18 @@
|
|
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/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
<n:getAllMarketsResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/">
|
5
|
+
<n:Result xsi:type="n2:GetAllMarketsResp">
|
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">z27P3pqsn2P9+9I8TYGrZSme0VNdrGn2RzE7IhNXwlM=</sessionToken>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-02-25T13:56:17.316Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<errorCode xsi:type="n2:GetAllMarketsErrorEnum">OK</errorCode>
|
13
|
+
<marketData xsi:type="xsd:string">:102426090~Champion Hrd~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/102426090~0~1~GBR~1330178010840~72~1~653619.68~N~N:102426091~World Hrd~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/102426091~0~1~GBR~1330178010840~70~1~274298.52~N~N:102426092~Champion Chs~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/102426092~0~1~GBR~1330178010840~39~1~150794.56~N~N:102426093~Gold Cup~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/102426093~0~1~GBR~1330178010840~101~1~700393.34~N~N:102463405~Arkle Chs~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/102463405~0~1~GBR~1330178010840~15~1~376484.44~N~N:102463408~Supreme Nov Hrd~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/102463408~0~1~GBR~1330178010840~60~1~206911.02~N~N:102463411~RSA Chs~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/102463411~0~1~GBR~1330178010840~25~1~153848.5~N~N:102582544~Grand National~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBAint 14th Apr~/7/10394282/10394283/26790784/102582544~0~1~GBR~1330178010840~81~1~349036.74~N~N:102756478~Grand National TBP~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBAint 14th Apr~/7/10394282/10394283/26790784/102756478~0~1~GBR~1330178010840~81~4~33683.64~N~N:102756589~Arkle Chs TBP~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/102756589~0~1~GBR~1330178010840~15~3~19243.12~N~N:102756595~Champion Chs TBP~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/102756595~0~1~GBR~1330178010840~39~3~10756.02~N~N:102756665~Champion Hrd TBP~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/102756665~0~1~GBR~1330178010840~72~3~43262.06~N~N:102756697~Gold Cup TBP~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/102756697~0~1~GBR~1330178010840~101~3~62500.18~N~N:102756812~RSA Chs TBP~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/102756812~0~1~GBR~1330178010840~25~3~12441.84~N~N:102756814~Supreme Nov Hrd TBP~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/102756814~0~1~GBR~1330178010840~60~3~18841.1~N~N:102756857~World Hrd TBP~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/102756857~0~1~GBR~1330178010840~70~3~19783.0~N~N:102934130~1000 Guineas~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBNewm 6th May~/7/10394282/10394283/26719089/102934130~0~1~GBR~1330178010840~57~1~40054.8~N~N:102934131~2000 Guineas~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBNewm 5th May~/7/10394282/10394283/26790788/102934131~0~1~GBR~1330178010840~79~1~58483.56~N~N:102934133~1000 Guineas TBP~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBNewm 6th May~/7/10394282/10394283/26719089/102934133~0~1~GBR~1330178010840~57~3~1771.08~N~N:102934134~2000 Guineas TBP~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBNewm 5th May~/7/10394282/10394283/26790788/102934134~0~1~GBR~1330178010840~79~3~3160.72~N~N:103357091~Ryanair Chs~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/103357091~0~1~GBR~1330178010840~69~1~124199.64~N~N:103357114~Ryanair Chs TBP~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/103357114~0~1~GBR~1330178010840~69~3~10750.54~N~N:103357119~The Derby~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBEpsm 2nd Jun~/7/10394282/10394283/26735694/103357119~0~1~GBR~1330178010840~70~1~46258.84~N~N:103357120~The Derby TBP~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBEpsm 2nd Jun~/7/10394282/10394283/26735694/103357120~0~1~GBR~1330178010840~70~3~1627.4~N~N:103928723~Top NH Trainer 2011-12~O~ACTIVE~1335610800000~Horse RacingGBSpecial BetsJump Specials~/7/298251/467121/1777333/103928723~0~1~GBR~1330178010840~10~1~62519.68~N~N:103930398~The Oaks~O~ACTIVE~1331640000000~Horse RacingANTEPOSTGBEpsm 1st Jun~/7/10394282/10394283/26790786/103930398~0~1~GBR~1330178010840~23~1~4033.68~N~N:103930410~The Oaks TBP~O~ACTIVE~1331640000000~Horse RacingANTEPOSTGBEpsm 1st Jun~/7/10394282/10394283/26790786/103930410~0~1~GBR~1330178010840~23~3~136.0~N~N:103961414~Triumph Hrd~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/103961414~0~1~GBR~1330178010840~64~1~210472.28~N~N:103961610~Albert Bartlett Nov Hrd~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/103961610~0~1~GBR~1330178010840~74~1~51678.64~N~N:103961611~Albert Bartlett Nov Hrd TBP~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/103961611~0~1~GBR~1330178010840~74~3~4029.02~N~N:103963844~Neptune Nov Hrd~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/103963844~0~1~GBR~1330178010840~77~1~74165.58~N~N:103963869~Neptune Nov Hrd TBP~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/103963869~0~1~GBR~1330178010840~77~3~5761.36~N~N:103963888~Triumph Hrd TBP~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/103963888~0~1~GBR~1330178010840~64~3~12137.86~N~N:104287555~AW Top Jockey 2011/12~O~ACTIVE~1320843600000~Horse RacingGBSpecial BetsAW Specials~/7/298251/467121/10610489/104287555~0~1~GBR~1330178010840~26~1~3132.28~N~N:104397626~Jewson Nov Chs~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104397626~0~1~GBR~1330178010840~34~1~30094.76~N~N:104397627~Jewson Nov Chs TBP~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104397627~0~1~GBR~1330178010840~34~3~2270.24~N~N:104397628~DN Mares Hrd~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104397628~0~1~GBR~1330178010840~21~1~47522.7~N~N:104397629~DN Mares Hrd TBP~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104397629~0~1~GBR~1330178010840~21~3~2799.8~N~N:104436147~Keep The Race?~O~SUSPENDED~1253021017000~Horse RacingGBStewards Enquiry~/7/298251/3453086/104436147~0~1~GBR~1330178010840~2~1~0.0~N~N:104559734~Champion Bumper~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104559734~0~1~GBR~1330178010840~43~1~51138.82~N~N:104559781~Champion Bumper TBP~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104559781~0~1~GBR~1330178010840~43~3~4423.82~N~N:104592808~Championship Acca~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt AP Specials~/7/10394282/10394283/26790824/104592808~0~1~GBR~1330178010840~18~0~25966.44~N~N:104592980~Win A Festival Race?~O~ACTIVE~1331640000000~Horse RacingANTEPOSTGBChelt AP Specials~/7/10394282/10394283/26790824/104592980~0~1~GBR~1330178010840~12~0~459.04~N~N:104612388~County Hurdle~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104612388~0~1~GBR~1330178010840~109~1~6441.46~N~N:104612389~Foxhunter Chs~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104612389~0~1~GBR~1330178010840~33~1~25092.76~N~N:104612503~Festival Hcap Chs~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104612503~0~1~GBR~1330178010840~84~1~7017.0~N~N:104612504~Martin Pipe Hcap Hrd~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104612504~0~1~GBR~1330178010840~192~1~2528.24~N~N:104612533~Grand Annual Chs~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104612533~0~1~GBR~1330178010840~49~1~4227.58~N~N:104612550~Byrne Group Plate~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104612550~0~1~GBR~1330178010840~78~1~2416.92~N~N:104612552~Pertemps Hcap Hrd~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104612552~0~1~GBR~1330178010840~92~1~7720.46~N~N:104612553~Centenary Hcap Chs~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104612553~0~1~GBR~1330178010840~71~1~3681.9~N~N:104612555~Kim Muir Hcap Chs~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104612555~0~1~GBR~1330178010840~103~1~1790.16~N~N:104612581~XC Hcap Chs~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104612581~0~1~GBR~1330178010840~41~1~14312.26~N~N:104612720~NH Chs~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104612720~0~1~GBR~1330178010840~57~1~12571.36~N~N:104612950~Coral Cup~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104612950~0~1~GBR~1330178010840~148~1~5174.92~N~N:104612952~Fred Winter Hcap Hrd~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104612952~0~1~GBR~1330178010840~81~1~9165.18~N~N:104615627~Top Flat Jockey 2012~O~ACTIVE~1333191600000~Horse RacingGBSpecial BetsFlat Specials~/7/298251/467121/4391229/104615627~0~1~GBR~1330178010840~19~1~1106.88~N~N:104679513~Gold Cup W/O Long/Kauto~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104679513~0~1~GBR~1330178010840~99~1~13752.34~N~N:104687200~Champion Hrd W/O HFly~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104687200~0~1~GBR~1330178010840~71~1~10418.84~N~N:104692521~World Hrd W/O B Bucks~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104692521~0~1~GBR~1330178010840~69~1~9338.96~N~N:104697154~Top Jockey~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104697154~0~1~GBR~1330178010840~19~1~3264.78~N~Y:104697601~Official Going~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104697601~0~1~GBR~1330178010840~5~1~354.22~N~N:104698201~Winning Distance (Odds)~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104698201~0~1~GBR~1330178010840~3~1~602.4~N~Y:104698774~Top Trainer~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104698774~0~1~GBR~1330178010840~13~1~4187.68~N~Y:104745810~NH Chs TBP~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104745810~0~1~GBR~1330178010840~57~3~1793.7~N~N:104779772~Racing Plus Chs~O~SUSPENDED~1329991200000~Horse RacingANTEPOSTGBKemp 25th Feb~/7/10394282/10394283/26803346/104779772~0~1~GBR~1330178010840~10~1~7150.32~N~N:104816329~Winning Distance (Line)~L~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816329~0~1~GBR~1330178010840~1~0~0.0~N~Y:104816358~AP McCoy Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816358~0~1~GBR~1330178010840~3~1~85.34~N~Y:104816361~B Geraghty Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816361~0~1~GBR~1330178010840~3~1~4.0~N~Y:104816362~R Walsh Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816362~0~1~GBR~1330178010840~3~1~11.38~N~Y:104816367~Irish Trained Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816367~0~1~GBR~1330178010840~5~1~74.88~N~Y:104816410~Jockey/Trainer Double~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816410~0~1~GBR~1330178010840~9~1~20.0~N~Y:104816425~Longest SP Winner~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816425~0~1~GBR~1330178010840~3~1~417.46~N~Y:104816427~NJ Henderson Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816427~0~1~GBR~1330178010840~3~1~150.0~N~Y:104816434~PF Nicholls Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816434~0~1~GBR~1330178010840~3~1~144.0~N~Y:104816439~WP Mullins Winners~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816439~0~1~GBR~1330178010840~3~1~6.0~N~Y:104816446~Odd v Even~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816446~0~1~GBR~1330178010840~3~1~362.46~N~Y:104816451~PF Nicholls v WP Mullins~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816451~0~1~GBR~1330178010840~2~1~140.0~N~Y:104816455~R Walsh v B Geraghty~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816455~0~1~GBR~1330178010840~2~1~10.0~N~Y:104816483~Biggest Win Dist~O~ACTIVE~1331645400000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104816483~0~1~GBR~1330178010840~3~1~46.44~N~Y:104831311~Lincoln Hcap~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBDonc 31st Mar~/7/10394282/10394283/26806029/104831311~0~1~GBR~1330178010840~97~1~1839.02~N~N:104861388~Repeat Big 4 Champions?~O~ACTIVE~1331651700000~Horse RacingGBCheltenham Festival Specials~/7/298251/26798515/104861388~0~1~GBR~1330178010840~5~1~606.0~N~Y:104922244~Favourites Acca~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt AP Specials~/7/10394282/10394283/26790824/104922244~0~1~GBR~1330178010840~31~0~1322.16~N~N:104942241~Winter Derby~O~ACTIVE~1331035200000~Horse RacingANTEPOSTGBLing 24th Mar~/7/10394282/10394283/26812183/104942241~0~1~GBR~1330178010840~32~1~0.0~N~N:104951259~3m Hcap Chs~O~ACTIVE~1330182300000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104951259~0~1~GBR~1330178010840~10~1~329948.84~Y~Y:104951260~To Be Placed~O~ACTIVE~1330182300000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104951260~0~1~GBR~1330178010840~10~3~40818.24~Y~Y:104961790~Grand Annual Chs TBP~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104961790~0~1~GBR~1330178010840~49~4~129.44~N~N:104961791~XC Hcap Chs TBP~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104961791~0~1~GBR~1330178010840~41~4~111.52~N~N:104961859~Coral Cup TBP~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104961859~0~1~GBR~1330178010840~148~4~164.6~N~N:104961861~Fred Winter Hcap Hrd TBP~O~ACTIVE~1331208000000~Horse RacingANTEPOSTGBChelt 14th Mar~/7/10394282/10394283/26790769/104961861~0~1~GBR~1330178010840~81~4~123.98~N~N:104961969~Centenary Hcap Chs TBP~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104961969~0~1~GBR~1330178010840~71~4~108.54~N~N:104961970~County Hurdle TBP~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104961970~0~1~GBR~1330178010840~109~4~237.52~N~N:104962523~Festival Hcap Chs TBP~O~ACTIVE~1331121600000~Horse RacingANTEPOSTGBChelt 13th Mar~/7/10394282/10394283/26790766/104962523~0~1~GBR~1330178010840~84~4~184.12~N~N:104962712~Martin Pipe Hcap Hrd TBP~O~ACTIVE~1331380800000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104962712~0~1~GBR~1330178010840~192~4~53.6~N~N:104962723~Byrne Group Plate TBP~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104962723~0~1~GBR~1330178010840~78~4~20.0~N~N:104963687~1m4f Mdn Stks~O~ACTIVE~1330177500000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963687~1~1~GBR~1330178010840~6~1~1335164.01~Y~Y:104963688~To Be Placed~O~ACTIVE~1330177500000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963688~1~1~GBR~1330178010840~6~2~146574.26~Y~Y:104963689~6f Hcap~O~ACTIVE~1330179300000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963689~0~1~GBR~1330178010840~12~1~121225.62~Y~Y:104963690~To Be Placed~O~ACTIVE~1330179300000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963690~0~1~GBR~1330178010840~12~3~18753.48~Y~Y:104963691~6f Listed~O~ACTIVE~1330181400000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963691~0~1~GBR~1330178010840~11~1~81967.68~Y~Y:104963692~To Be Placed~O~ACTIVE~1330181400000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963692~0~1~GBR~1330178010840~11~3~9216.36~Y~Y:104963693~1m2f Listed~O~ACTIVE~1330183200000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963693~0~1~GBR~1330178010840~11~1~41356.8~Y~Y:104963694~To Be Placed~O~ACTIVE~1330183200000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963694~0~1~GBR~1330178010840~11~3~12655.18~Y~Y:104963695~7f Hcap~O~ACTIVE~1330185300000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963695~0~1~GBR~1330178010840~8~1~24032.84~Y~Y:104963696~To Be Placed~O~ACTIVE~1330185300000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963696~0~1~GBR~1330178010840~8~3~5948.04~Y~Y:104963697~1m5f Hcap~O~ACTIVE~1330187400000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963697~0~1~GBR~1330178010840~7~1~12096.62~Y~Y:104963698~To Be Placed~O~ACTIVE~1330187400000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963698~0~1~GBR~1330178010840~7~3~2570.58~Y~Y:104963699~5f Hcap~O~ACTIVE~1330189500000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963699~0~1~GBR~1330178010840~8~1~26191.58~Y~Y:104963700~To Be Placed~O~ACTIVE~1330189500000~Horse RacingGBLing 25th Feb~/7/298251/26812906/104963700~0~1~GBR~1330178010840~8~3~5288.0~Y~Y:104967997~Ctappers v Rapid~O~SUSPENDED~1330177500000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104967997~0~1~GBR~1330178010840~2~1~2438.59~N~N:104967998~SulisM v Aldermoor~O~ACTIVE~1330179300000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104967998~0~1~GBR~1330178010840~2~1~377.32~N~N:104967999~Oasis v Palace~O~ACTIVE~1330181400000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104967999~0~1~GBR~1330178010840~2~1~211.3~N~N:104968001~Loyalty v Emmas~O~ACTIVE~1330183200000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104968001~0~1~GBR~1330178010840~2~1~0.0~N~N:104968002~CutAnd v Showboat~O~ACTIVE~1330185300000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104968002~0~1~GBR~1330178010840~2~1~0.0~N~N:104968003~Quinsm v TheHoly~O~ACTIVE~1330187400000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104968003~0~1~GBR~1330178010840~2~1~6.34~N~N:104968004~Taajub v Diamond~O~ACTIVE~1330189500000~Horse RacingGBMatch BetsLing (AvB) 25th Feb~/7/298251/463814/26813000/104968004~0~1~GBR~1330178010840~2~1~0.0~N~N:104968007~Lingfield~L~ACTIVE~1330177500000~Horse RacingGBDaily Win Dist Line~/7/298251/75873/104968007~0~1~GBR~1330178010840~1~0~178.0~N~N:104968011~Lingfield~O~ACTIVE~1330177500000~Horse RacingGBDaily Win Dist Odds~/7/298251/12713050/104968011~1~1~GBR~1330178010840~3~1~1396.12~N~Y:104968015~Forecast~O~SUSPENDED~1330177500000~Horse RacingGBForecast BettingLing (F/C) 25th Feb~/7/298251/518212/26813001/104968015~0~1~GBR~1330178010840~30~1~10371.72~N~N:104968017~Reverse FC~O~ACTIVE~1330185300000~Horse RacingGBReverse ForecastLing (RFC) 25th Feb~/7/298251/14479933/26813002/104968017~0~1~GBR~1330178010840~28~1~10.0~N~N:104968020~Reverse FC~O~ACTIVE~1330187400000~Horse RacingGBReverse ForecastLing (RFC) 25th Feb~/7/298251/14479933/26813002/104968020~0~1~GBR~1330178010840~21~1~10.0~N~N:104968021~Reverse FC~O~ACTIVE~1330189500000~Horse RacingGBReverse ForecastLing (RFC) 25th Feb~/7/298251/14479933/26813002/104968021~0~1~GBR~1330178010840~28~1~4.0~N~N:104968433~2m4f Mdn Hrd~O~ACTIVE~1330178700000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968433~0~1~GBR~1330178010840~11~1~33677.9~Y~Y:104968434~To Be Placed~O~ACTIVE~1330178700000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968434~0~1~GBR~1330178010840~11~3~8694.8~Y~Y:104968435~3m Nov Chs~O~ACTIVE~1330180800000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968435~0~1~GBR~1330178010840~3~1~62772.34~Y~Y:104968436~To Be Placed~O~ACTIVE~1330180800000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968436~0~1~GBR~1330178010840~3~2~8726.78~Y~Y:104968437~2m Hcap Hrd~O~ACTIVE~1330182600000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968437~0~1~GBR~1330178010840~8~1~29975.24~Y~Y:104968438~To Be Placed~O~ACTIVE~1330182600000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968438~0~1~GBR~1330178010840~8~3~5511.46~Y~Y:104968439~2m Hcap Chs~O~ACTIVE~1330184700000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968439~0~1~GBR~1330178010840~9~1~35022.38~Y~Y:104968440~To Be Placed~O~ACTIVE~1330184700000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968440~0~1~GBR~1330178010840~9~3~7181.96~Y~Y:104968441~2m Hcap Hrd~O~ACTIVE~1330186800000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968441~0~1~GBR~1330178010840~9~1~34142.26~Y~Y:104968442~To Be Placed~O~ACTIVE~1330186800000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968442~0~1~GBR~1330178010840~9~3~4877.1~Y~Y:104968443~2m Hcap Chs~O~ACTIVE~1330188900000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968443~0~1~GBR~1330178010840~8~1~9515.1~Y~Y:104968444~To Be Placed~O~ACTIVE~1330188900000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968444~0~1~GBR~1330178010840~8~3~2787.14~Y~Y:104968445~2m NHF~O~ACTIVE~1330191000000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968445~0~1~GBR~1330178010840~13~1~5194.12~Y~Y:104968446~To Be Placed~O~ACTIVE~1330191000000~Horse RacingGBChep 25th Feb~/7/298251/26813086/104968446~0~1~GBR~1330178010840~13~3~878.06~Y~Y:104968447~2m Juv Hrd~O~ACTIVE~1330178400000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968447~0~1~GBR~1330178010840~8~1~230888.04~Y~Y:104968448~To Be Placed~O~ACTIVE~1330178400000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968448~0~1~GBR~1330178010840~8~3~33339.18~Y~Y:104968449~2m4f Hcap Chs~O~ACTIVE~1330180200000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968449~0~1~GBR~1330178010840~8~1~80485.72~Y~Y:104968450~To Be Placed~O~ACTIVE~1330180200000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968450~0~1~GBR~1330178010840~8~3~13208.06~Y~Y:104968453~2m Nov Hrd~O~ACTIVE~1330184400000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968453~0~1~GBR~1330178010840~6~1~89884.96~Y~Y:104968454~To Be Placed~O~ACTIVE~1330184400000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968454~0~1~GBR~1330178010840~6~2~5579.62~Y~Y:104968455~2m4f Nov Chs~O~ACTIVE~1330186200000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968455~0~1~GBR~1330178010840~6~1~53650.08~Y~Y:104968456~To Be Placed~O~ACTIVE~1330186200000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968456~0~1~GBR~1330178010840~6~2~3507.46~Y~Y:104968457~2m5f Hcap Hrd~O~ACTIVE~1330188300000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968457~0~1~GBR~1330178010840~15~1~52068.5~Y~Y:104968458~To Be Placed~O~ACTIVE~1330188300000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968458~0~1~GBR~1330178010840~15~3~10915.8~Y~Y:104968459~2m NHF~O~ACTIVE~1330190100000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968459~0~1~GBR~1330178010840~4~1~17324.56~Y~Y:104968460~To Be Placed~O~ACTIVE~1330190100000~Horse RacingGBKemp 25th Feb~/7/298251/26813087/104968460~0~1~GBR~1330178010840~4~2~637.6~Y~Y:104968478~2m6f Nov Hrd~O~ACTIVE~1330177800000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968478~0~1~GBR~1330178010840~9~1~205947.44~Y~Y:104968479~To Be Placed~O~ACTIVE~1330177800000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968479~0~1~GBR~1330178010840~9~3~43322.48~Y~Y:104968480~2m4f Hcap Chs~O~ACTIVE~1330179600000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968480~0~1~GBR~1330178010840~8~1~29801.22~Y~Y:104968481~To Be Placed~O~ACTIVE~1330179600000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968481~0~1~GBR~1330178010840~8~3~7813.08~Y~Y:104968482~2m Hcap Hrd~O~ACTIVE~1330181700000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968482~0~1~GBR~1330178010840~11~1~58355.5~Y~Y:104968483~To Be Placed~O~ACTIVE~1330181700000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968483~0~1~GBR~1330178010840~11~3~9540.9~Y~Y:104968484~4m1f Hcap Chs~O~ACTIVE~1330183500000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968484~0~1~GBR~1330178010840~11~1~272816.82~Y~Y:104968485~To Be Placed~O~ACTIVE~1330183500000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968485~0~1~GBR~1330178010840~11~3~23510.46~Y~Y:104968486~2m Nov Hrd~O~ACTIVE~1330185600000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968486~0~1~GBR~1330178010840~15~1~20730.72~Y~Y:104968487~To Be Placed~O~ACTIVE~1330185600000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968487~0~1~GBR~1330178010840~15~3~5860.96~Y~Y:104968488~3m Nov Chs~O~ACTIVE~1330187700000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968488~0~1~GBR~1330178010840~6~1~21839.26~Y~Y:104968489~To Be Placed~O~ACTIVE~1330187700000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968489~0~1~GBR~1330178010840~6~2~1913.32~Y~Y:104968490~2m NHF~O~ACTIVE~1330189800000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968490~0~1~GBR~1330178010840~11~1~10793.6~Y~Y:104968491~To Be Placed~O~ACTIVE~1330189800000~Horse RacingGBNewc 25th Feb~/7/298251/26813089/104968491~0~1~GBR~1330178010840~11~3~3529.16~Y~Y:104968512~2m6f Nov Hrd~O~ACTIVE~1330265100000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968512~0~1~GBR~1330178010840~9~1~0.0~Y~Y:104968513~To Be Placed~O~ACTIVE~1330265100000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968513~0~1~GBR~1330178010840~9~3~0.0~Y~Y:104968514~2m6f Nov Chs~O~ACTIVE~1330266900000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968514~0~1~GBR~1330178010840~5~1~0.0~Y~Y:104968515~To Be Placed~O~ACTIVE~1330266900000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968515~0~1~GBR~1330178010840~5~2~0.0~Y~Y:104968516~2m6f Hcap Chs~O~ACTIVE~1330269000000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968516~0~1~GBR~1330178010840~9~1~18.0~Y~Y:104968517~To Be Placed~O~ACTIVE~1330269000000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968517~0~1~GBR~1330178010840~9~3~0.0~Y~Y:104968518~2m4f Grd2 Hrd~O~ACTIVE~1330270800000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968518~0~1~GBR~1330178010840~8~1~0.0~Y~Y:104968519~To Be Placed~O~ACTIVE~1330270800000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968519~0~1~GBR~1330178010840~8~3~0.0~Y~Y:104968520~3m2f Hunt Chs~O~ACTIVE~1330272900000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968520~0~1~GBR~1330178010840~7~1~26.0~Y~Y:104968521~To Be Placed~O~ACTIVE~1330272900000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968521~0~1~GBR~1330178010840~7~2~0.0~Y~Y:104968522~2m2f Hcap Hrd~O~ACTIVE~1330274700000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968522~0~1~GBR~1330178010840~9~1~3.4~Y~Y:104968523~To Be Placed~O~ACTIVE~1330274700000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968523~0~1~GBR~1330178010840~9~3~0.0~Y~Y:104968524~2m2f NHF~O~ACTIVE~1330276500000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968524~0~1~GBR~1330178010840~12~1~0.0~Y~Y:104968525~To Be Placed~O~ACTIVE~1330276500000~Horse RacingGBFont 26th Feb~/7/298251/26813091/104968525~0~1~GBR~1330178010840~12~3~0.0~Y~Y:104968526~2m Nov Hrd~O~ACTIVE~1330266000000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968526~0~1~GBR~1330178010840~13~1~8.0~Y~Y:104968527~To Be Placed~O~ACTIVE~1330266000000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968527~0~1~GBR~1330178010840~13~3~0.0~Y~Y:104968528~2m Nov Hrd~O~ACTIVE~1330267800000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968528~0~1~GBR~1330178010840~13~1~4.0~Y~Y:104968529~To Be Placed~O~ACTIVE~1330267800000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968529~0~1~GBR~1330178010840~13~3~0.0~Y~Y:104968530~2m Hcap Hrd~O~ACTIVE~1330269600000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968530~0~1~GBR~1330178010840~15~1~0.0~Y~Y:104968531~To Be Placed~O~ACTIVE~1330269600000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968531~0~1~GBR~1330178010840~15~3~0.0~Y~Y:104968532~2m3f Hcap Chs~O~ACTIVE~1330271400000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968532~0~1~GBR~1330178010840~10~1~0.0~Y~Y:104968533~To Be Placed~O~ACTIVE~1330271400000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968533~0~1~GBR~1330178010840~10~3~0.0~Y~Y:104968534~3m Hcap Hrd~O~ACTIVE~1330273500000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968534~0~1~GBR~1330178010840~18~1~0.0~Y~Y:104968535~To Be Placed~O~ACTIVE~1330273500000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968535~0~1~GBR~1330178010840~18~4~0.0~Y~Y:104968536~2m6f Hcap Chs~O~ACTIVE~1330275300000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968536~0~1~GBR~1330178010840~12~1~0.0~Y~Y:104968537~To Be Placed~O~ACTIVE~1330275300000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968537~0~1~GBR~1330178010840~12~3~0.0~Y~Y:104968538~2m NHF~O~ACTIVE~1330277100000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968538~0~1~GBR~1330178010840~13~1~8.0~Y~Y:104968539~To Be Placed~O~ACTIVE~1330277100000~Horse RacingGBTowc 26th Feb~/7/298251/26813092/104968539~0~1~GBR~1330178010840~13~3~0.0~Y~Y:104968557~Forecast~O~ACTIVE~1330180800000~Horse RacingGBForecast BettingChep (F/C) 25th Feb~/7/298251/518212/26813099/104968557~0~1~GBR~1330178010840~6~1~110.74~N~N:104968558~Reverse FC~O~ACTIVE~1330182600000~Horse RacingGBReverse ForecastChep (RFC) 25th Feb~/7/298251/14479933/26813100/104968558~0~1~GBR~1330178010840~28~1~40.24~N~N:104968559~Reverse FC~O~ACTIVE~1330184700000~Horse RacingGBReverse ForecastChep (RFC) 25th Feb~/7/298251/14479933/26813100/104968559~0~1~GBR~1330178010840~36~1~36.0~N~N:104968560~Reverse FC~O~ACTIVE~1330186800000~Horse RacingGBReverse ForecastChep (RFC) 25th Feb~/7/298251/14479933/26813100/104968560~0~1~GBR~1330178010840~36~1~8.0~N~N:104968561~Reverse FC~O~ACTIVE~1330188900000~Horse RacingGBReverse ForecastChep (RFC) 25th Feb~/7/298251/14479933/26813100/104968561~0~1~GBR~1330178010840~28~1~14.0~N~N:104968800~Ardkilly v Western~O~SUSPENDED~1330176600000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968800~0~1~GBR~1330178010840~2~1~2626.51~N~N:104968801~WingsOf v Special~O~ACTIVE~1330178700000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968801~0~1~GBR~1330178010840~2~1~396.03~N~N:104968802~Roalco v Golden~O~ACTIVE~1330180800000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968802~0~1~GBR~1330178010840~2~1~0.0~N~N:104968803~Bendant v Shallow~O~ACTIVE~1330182600000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968803~0~1~GBR~1330178010840~2~1~200.0~N~N:104968804~Arctic v Educated~O~ACTIVE~1330184700000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968804~0~1~GBR~1330178010840~2~1~0.0~N~N:104968805~CharmS v DreamE~O~ACTIVE~1330186800000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968805~0~1~GBR~1330178010840~2~1~0.0~N~N:104968807~LadyW v Paddy~O~ACTIVE~1330188900000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968807~0~1~GBR~1330178010840~2~1~0.0~N~N:104968808~TheMad v Workbench~O~ACTIVE~1330191000000~Horse RacingGBMatch BetsChep (AvB) 25th Feb~/7/298251/463814/26813107/104968808~0~1~GBR~1330178010840~2~1~0.0~N~N:104968871~Reverse FC~O~ACTIVE~1330178400000~Horse RacingGBReverse ForecastKemp (RFC) 25th Feb~/7/298251/14479933/26813108/104968871~0~1~GBR~1330178010840~28~1~375.36~N~N:104968872~Reverse FC~O~ACTIVE~1330180200000~Horse RacingGBReverse ForecastKemp (RFC) 25th Feb~/7/298251/14479933/26813108/104968872~0~1~GBR~1330178010840~28~1~62.0~N~N:104968873~Reverse FC~O~ACTIVE~1330182300000~Horse RacingGBReverse ForecastKemp (RFC) 25th Feb~/7/298251/14479933/26813108/104968873~0~1~GBR~1330178010840~45~1~438.34~N~N:104968874~Reverse FC~O~ACTIVE~1330184400000~Horse RacingGBReverse ForecastKemp (RFC) 25th Feb~/7/298251/14479933/26813108/104968874~0~1~GBR~1330178010840~15~1~58.34~N~N:104968876~Forecast~O~ACTIVE~1330186200000~Horse RacingGBForecast BettingKemp (F/C) 25th Feb~/7/298251/518212/26813111/104968876~0~1~GBR~1330178010840~30~1~14.0~N~N:104968939~Forecast~O~ACTIVE~1330190100000~Horse RacingGBForecast BettingKemp (F/C) 25th Feb~/7/298251/518212/26813111/104968939~0~1~GBR~1330178010840~12~1~40.0~N~N:104969064~Sadlers v Dildar~O~ACTIVE~1330178400000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104969064~0~1~GBR~1330178010840~2~1~350.39~N~N:104969127~HuntB v NotSoSure~O~ACTIVE~1330180200000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104969127~0~1~GBR~1330178010840~2~1~0.0~N~N:104969128~Planet v Nacarat~O~ACTIVE~1330182300000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104969128~0~1~GBR~1330178010840~2~1~200.0~N~N:104969130~Cristal v Minella~O~ACTIVE~1330186200000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104969130~0~1~GBR~1330178010840~2~1~0.0~N~N:104969131~Ashbri v SemiC~O~ACTIVE~1330188300000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104969131~0~1~GBR~1330178010840~2~1~0.0~N~N:104969132~Virginia v OffThe~O~ACTIVE~1330190100000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104969132~0~1~GBR~1330178010840~2~1~0.0~N~N:104969133~Reverse FC~O~ACTIVE~1330177800000~Horse RacingGBReverse ForecastNewc (RFC) 25th Feb~/7/298251/14479933/26813119/104969133~0~1~GBR~1330178010840~36~1~597.32~N~N:104969134~Reverse FC~O~ACTIVE~1330179600000~Horse RacingGBReverse ForecastNewc (RFC) 25th Feb~/7/298251/14479933/26813119/104969134~0~1~GBR~1330178010840~28~1~14.0~N~N:104969383~Forecast~O~ACTIVE~1330187700000~Horse RacingGBForecast BettingNewc (F/C) 25th Feb~/7/298251/518212/26813124/104969383~0~1~GBR~1330178010840~30~1~32.0~N~N:104969384~BarDeL v Netminder~O~ACTIVE~1330177800000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104969384~0~1~GBR~1330178010840~2~1~508.69~N~N:104969385~MrSyntax v Gansey~O~ACTIVE~1330179600000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104969385~0~1~GBR~1330178010840~2~1~200.0~N~N:104969386~Spieke v Stormy~O~ACTIVE~1330181700000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104969386~0~1~GBR~1330178010840~2~1~200.0~N~N:104969387~Portrait v EyreS~O~ACTIVE~1330183500000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104969387~0~1~GBR~1330178010840~2~1~0.0~N~N:104969389~Frascati v Helpston~O~ACTIVE~1330187700000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104969389~0~1~GBR~1330178010840~2~1~0.0~N~N:104969390~BigWater v KingOf~O~ACTIVE~1330189800000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104969390~0~1~GBR~1330178010840~2~1~0.0~N~N:104969827~Chepstow~O~ACTIVE~1330178700000~Horse RacingGBDaily Win Dist Odds~/7/298251/12713050/104969827~1~1~GBR~1330178010840~3~1~1464.1~N~Y:104969828~Kempton~O~ACTIVE~1330178400000~Horse RacingGBDaily Win Dist Odds~/7/298251/12713050/104969828~0~1~GBR~1330178010840~3~1~1247.8~N~Y:104969829~Newcastle~O~ACTIVE~1330177800000~Horse RacingGBDaily Win Dist Odds~/7/298251/12713050/104969829~0~1~GBR~1330178010840~3~1~883.5~N~Y:104969831~Chepstow~L~ACTIVE~1330178700000~Horse RacingGBDaily Win Dist Line~/7/298251/75873/104969831~0~1~GBR~1330178010840~1~0~788.0~N~N:104969832~Kempton~L~ACTIVE~1330178400000~Horse RacingGBDaily Win Dist Line~/7/298251/75873/104969832~0~1~GBR~1330178010840~1~0~0.0~N~N:104969833~Newcastle~L~ACTIVE~1330177800000~Horse RacingGBDaily Win Dist Line~/7/298251/75873/104969833~0~1~GBR~1330178010840~1~0~623.06~N~N:104977200~Pertemps Hcap Hrd TBP~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104977200~0~1~GBR~1330178010840~92~4~0.0~N~N:104977201~Kim Muir Hcap Chs TBP~O~ACTIVE~1331294400000~Horse RacingANTEPOSTGBChelt 15th Mar~/7/10394282/10394283/26790775/104977201~0~1~GBR~1330178010840~103~4~0.0~N~N:104977203~Foxhunter Chs TBP~O~ACTIVE~1330430400000~Horse RacingANTEPOSTGBChelt 16th Mar~/7/10394282/10394283/26790778/104977203~0~1~GBR~1330178010840~33~3~0.0~N~N:104978686~Forecast~O~ACTIVE~1330266900000~Horse RacingGBForecast BettingFont (F/C) 26th Feb~/7/298251/518212/26813442/104978686~0~1~GBR~1330178010840~20~1~0.0~N~N:104978699~Reverse FC~O~ACTIVE~1330265100000~Horse RacingGBReverse ForecastFont (RFC) 26th Feb~/7/298251/14479933/26813444/104978699~0~1~GBR~1330178010840~36~1~0.0~N~N:104978700~Reverse FC~O~ACTIVE~1330269000000~Horse RacingGBReverse ForecastFont (RFC) 26th Feb~/7/298251/14479933/26813444/104978700~0~1~GBR~1330178010840~36~1~0.0~N~N:104978705~Reverse FC~O~ACTIVE~1330270800000~Horse RacingGBReverse ForecastFont (RFC) 26th Feb~/7/298251/14479933/26813444/104978705~0~1~GBR~1330178010840~28~1~0.0~N~N:104978706~Reverse FC~O~ACTIVE~1330272900000~Horse RacingGBReverse ForecastFont (RFC) 26th Feb~/7/298251/14479933/26813444/104978706~0~1~GBR~1330178010840~21~1~0.0~N~N:104978707~Reverse FC~O~ACTIVE~1330274700000~Horse RacingGBReverse ForecastFont (RFC) 26th Feb~/7/298251/14479933/26813444/104978707~0~1~GBR~1330178010840~36~1~0.0~N~N:104978739~Reverse FC~O~ACTIVE~1330271400000~Horse RacingGBReverse ForecastTowc (RFC) 26th Feb~/7/298251/14479933/26813455/104978739~0~1~GBR~1330178010840~45~1~0.0~N~N:104978814~Michel v DeepP~O~ACTIVE~1330182300000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104978814~0~1~GBR~1330178010840~2~1~110.0~N~N:104978902~Beaumo v Master~O~ACTIVE~1330185600000~Horse RacingGBMatch BetsNewc (AvB) 25th Feb~/7/298251/463814/26813126/104978902~0~1~GBR~1330178010840~2~1~0.0~N~N:104978903~Without Fav(s)~O~SUSPENDED~1330177500000~Horse RacingGBWithout Horse(s)Ling (W/O) 25th Feb~/7/298251/11959133/26813506/104978903~0~1~GBR~1330178010840~5~1~5657.7~N~N:104978906~Without Fav(s)~O~ACTIVE~1330185600000~Horse RacingGBWithout Horse(s)Newc (W/O) 25th Feb~/7/298251/11959133/26813507/104978906~0~1~GBR~1330178010840~14~1~0.0~N~N:104978909~Without Fav(s)~O~ACTIVE~1330184400000~Horse RacingGBWithout Horse(s)Kemp (W/O) 25th Feb~/7/298251/11959133/26813509/104978909~0~1~GBR~1330178010840~5~1~0.0~N~N:104978940~Dodgin v TerreD~O~ACTIVE~1330184400000~Horse RacingGBMatch BetsKemp (AvB) 25th Feb~/7/298251/463814/26813114/104978940~0~1~GBR~1330178010840~2~1~0.0~N~N</marketData>
|
14
|
+
<minorErrorCode xsi:nil="1"/>
|
15
|
+
</n:Result>
|
16
|
+
</n:getAllMarketsResponse>
|
17
|
+
</soap:Body>
|
18
|
+
</soap:Envelope>
|
@@ -0,0 +1,18 @@
|
|
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/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
<n:getAllMarketsResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/">
|
5
|
+
<n:Result xsi:type="n2:GetAllMarketsResp">
|
6
|
+
<header xsi:type="n2:APIResponseHeader">
|
7
|
+
<errorCode xsi:type="n2:APIErrorEnum">NO_SESSION</errorCode>
|
8
|
+
<minorErrorCode xsi:nil="1"/>
|
9
|
+
<sessionToken xsi:nil="1"/>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-02-25T13:48:41.169Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<errorCode xsi:type="n2:GetAllMarketsErrorEnum">API_ERROR</errorCode>
|
13
|
+
<marketData xsi:nil="1"/>
|
14
|
+
<minorErrorCode xsi:nil="1"/>
|
15
|
+
</n:Result>
|
16
|
+
</n:getAllMarketsResponse>
|
17
|
+
</soap:Body>
|
18
|
+
</soap:Envelope>
|
@@ -0,0 +1,3 @@
|
|
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/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"><soap:Body><n:getMarketResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/"><n:Result xsi:type="n2:GetMarketResp"><header xsi:type="n2:APIResponseHeader"><errorCode xsi:type="n2:APIErrorEnum">OK</errorCode><minorErrorCode xsi:nil="1"></minorErrorCode><sessionToken xsi:type="xsd:string">10MDBCK7Mk4Gqh3asbYenOPB49RQf6Mbg2N+EpCO2ow=</sessionToken><timestamp xsi:type="xsd:dateTime">2012-02-25T15:20:02.090Z</timestamp></header><errorCode xsi:type="n2:GetMarketErrorEnum">OK</errorCode><market xsi:type="n2:Market"><countryISO3 xsi:type="xsd:string">GBR</countryISO3><discountAllowed xsi:type="xsd:boolean">true</discountAllowed><eventTypeId xsi:type="xsd:int">7</eventTypeId><lastRefresh xsi:type="xsd:long">1330183199725</lastRefresh><marketBaseRate xsi:type="xsd:float">5.0</marketBaseRate><marketDescription xsi:type="xsd:string"><table cellborder="0" width="100%"><tr><td><img src="http://content-cache.betfair.com/images/en_GB/homepage/ATRlogo.gif" border="0"></td><td width="5">&nbsp;</td><td class="marketInfo_GreyText">This meeting is on Attheraces</td></tr></table><br><a href="http://radio.betfair.com" target="_blank"><img src=" http://content-cache.betfair.com/images/en_GB/mr_tr.gif" title="Timeform Radio" border="0"></a> <a href="http://form.horseracing.betfair.com" target="_blank"><img src=" http://content-cache.betfair.com/images/en_GB/mr_fr.gif" title=”Form/ Results” border="0"></a>
|
3
|
+
<br><br><b>MARKET INFORMATION</b><br><br>For further information please see <a href=http://content.betfair.com/aboutus/content.asp?sWhichKey=Rules%20and%20Regulations#undefined.do style=color:0163ad; text-decoration: underline; target=_blank>Rules & Regs.</a><br><br>Who will win this race? Betfair Non-Runner Rule applies. This market will turn IN PLAY at the off with unmatched bets (with the exception of bets for which the "keep" option has been selected) cancelled once the Betfair SP reconciliation process has been completed. Betting will be suspended at the end of the race. Should a Photo, Stewards Enquiry or Objection be called the market may be re-opened with unmatched bets (again with the exception of bets for which the "keep" option has been selected) cancelled. The market will then be suspended when this result is announced. This market will initially be settled on a First Past the Post basis. However we will re-settle all bets should the official result at the time of the "weigh-in" announcement differ from any initial settlement. BETS ARE PLACED ON A NAMED HORSE. Dead Heat rules apply.<br><br>Customers should be aware that:<b><ol><li>transmissions described as "live" by some broadcasters may actually be delayed;</li><li>the extent of any such delay may vary, depending on the set-up through which they are receiving pictures or data;</b> and </li><li>information (such as jockey silks, saddlecloth numbers etc) is provided "as is" and is for guidance only. Betfair does not guarantee the accuracy of this information and use of it to place bets is entirely at your own risk.</li></ol><br></marketDescription><marketDescriptionHasDate xsi:type="xsd:boolean">true</marketDescriptionHasDate><marketDisplayTime xsi:type="xsd:dateTime">2012-02-25T15:45:00.000Z</marketDisplayTime><marketId xsi:type="xsd:int">104968439</marketId><marketStatus xsi:type="n2:MarketStatusEnum">ACTIVE</marketStatus><marketSuspendTime xsi:type="xsd:dateTime">2012-02-25T15:45:00.000Z</marketSuspendTime><marketTime xsi:type="xsd:dateTime">2012-02-25T15:45:00.000Z</marketTime><marketType xsi:type="n2:MarketTypeEnum">O</marketType><marketTypeVariant xsi:type="n2:MarketTypeVariantEnum">D</marketTypeVariant><menuPath xsi:type="xsd:string">GBChep 25th Feb</menuPath><eventHierarchy xsi:type="n2:ArrayOfEventId"><n2:EventId xsi:type="xsd:int">7</n2:EventId><n2:EventId xsi:type="xsd:int">298251</n2:EventId><n2:EventId xsi:type="xsd:int">26813086</n2:EventId></eventHierarchy><name xsi:type="xsd:string">2m Hcap Chs</name><numberOfWinners xsi:type="xsd:int">1</numberOfWinners><parentEventId xsi:type="xsd:int">26813086</parentEventId><runners xsi:type="n2:ArrayOfRunner"><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Arctic Ben</name><selectionId xsi:type="xsd:int">3043342</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Educated Evans</name><selectionId xsi:type="xsd:int">4493849</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Buffalo Bob</name><selectionId xsi:type="xsd:int">2795387</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Rileyev</name><selectionId xsi:type="xsd:int">3687553</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Oh Crick</name><selectionId xsi:type="xsd:int">2610448</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Oscar Gogo</name><selectionId xsi:type="xsd:int">2406110</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Dinarius</name><selectionId xsi:type="xsd:int">2446696</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Moon Over Miami</name><selectionId xsi:type="xsd:int">1381307</selectionId></n2:Runner><n2:Runner xsi:type="n2:Runner"><asianLineId xsi:type="xsd:int">0</asianLineId><handicap xsi:type="xsd:double">0.0</handicap><name xsi:type="xsd:string">Super Formen</name><selectionId xsi:type="xsd:int">2810086</selectionId></n2:Runner></runners><unit xsi:nil="1"></unit><maxUnitValue xsi:type="xsd:double">0.0</maxUnitValue><minUnitValue xsi:type="xsd:double">0.0</minUnitValue><interval xsi:type="xsd:double">0.0</interval><runnersMayBeAdded xsi:type="xsd:boolean">false</runnersMayBeAdded><timezone xsi:type="xsd:string">UKT</timezone><licenceId xsi:type="xsd:int">1</licenceId><couponLinks xsi:nil="1"></couponLinks><bspMarket xsi:type="xsd:boolean">true</bspMarket></market><minorErrorCode xsi:nil="1"></minorErrorCode></n:Result></n:getMarketResponse></soap:Body></soap:Envelope>
|
@@ -0,0 +1,18 @@
|
|
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/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
<n:getMarketPricesCompressedResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/">
|
5
|
+
<n:Result xsi:type="n2:GetMarketPricesCompressedResp">
|
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">w+47XCesvhcNOuwNpgiSDNsJav/eZH7li7FX/dukRO8=</sessionToken>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-02-26T11:20:16.812Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<errorCode xsi:type="n2:GetMarketPricesErrorEnum">OK</errorCode>
|
13
|
+
<marketPrices xsi:type="xsd:string">104968512~GBP~ACTIVE~0~1~NR\: (UKT) <br> 7. Philadelphus(0%,10\:46)~true~5.0~1330255216701~Philadelphus,10.46,2.3;~Y:5898478~0~9402.08~2.96~~34.0~false~2.0~2.92~~|2.96~29.73~L~1~2.94~78.25~L~2~2.92~77.76~L~3~|2.98~36.69~B~1~3.0~971.78~B~2~3.05~57.0~B~3~:5191694~1~4768.0~4.2~~19.9~false~1.24~4.03~~|4.1~90.02~L~1~4.0~187.18~L~2~3.95~10.0~L~3~|4.2~80.89~B~1~4.3~153.9~B~2~4.4~181.81~B~3~:5678817~2~2631.92~5.4~~19.6~false~2.96~5.3~~|5.3~33.08~L~1~5.2~5.96~L~2~5.1~20.46~L~3~|5.4~16.51~B~1~5.5~16.24~B~2~5.6~2.0~B~3~:5921135~3~1855.28~8.4~~11.8~false~1.6~7.8~~|8.2~3.39~L~1~8.0~44.03~L~2~7.8~6.0~L~3~|8.6~28.78~B~1~8.8~24.0~B~2~9.0~2.0~B~3~:4509182~4~664.54~18.0~~6.9~false~1.86~13.75~~|17.5~9.36~L~1~15.5~7.97~L~2~14.0~15.19~L~3~|18.0~3.52~B~1~18.5~22.0~B~2~19.0~8.0~B~3~:4801791~5~587.64~23.0~~5.2~false~1.82~17.1~~|22.0~7.44~L~1~21.0~7.6~L~2~18.5~5.08~L~3~|23.0~3.17~B~1~24.0~4.53~B~2~25.0~6.0~B~3~:2803150~6~334.38~55.0~~2.3~false~8.12~46.41~~|46.0~10.46~L~1~44.0~53.83~L~2~42.0~6.5~L~3~|55.0~8.13~B~1~100.0~3.08~B~2~660.0~5.0~B~3~:6084518~7~14.48~410.0~~0.5~false~29.74~332.98~~|320.0~5.93~L~1~310.0~21.0~L~2~300.0~37.01~L~3~|790.0~6.0~B~1~900.0~13.0~B~2~990.0~2.0~B~3~</marketPrices>
|
14
|
+
<minorErrorCode xsi:nil="1"/>
|
15
|
+
</n:Result>
|
16
|
+
</n:getMarketPricesCompressedResponse>
|
17
|
+
</soap:Body>
|
18
|
+
</soap:Envelope>
|
@@ -0,0 +1,20 @@
|
|
1
|
+
<?xml version="1.0"?>
|
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/exchange/v5/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
|
3
|
+
<soap:Body>
|
4
|
+
<n:getMarketTradedVolumeCompressedResponse xmlns:n="http://www.betfair.com/publicapi/v5/BFExchangeService/">
|
5
|
+
<n:Result xsi:type="n2:GetMarketTradedVolumeCompressedResp">
|
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">w+47XCesvhcNOuwNpgiSDNsJav/eZH7li7FX/dukRO8=</sessionToken>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-02-26T11:20:26.774Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<errorCode xsi:type="n2:GetMarketTradedVolumeCompressedErrorEnum">OK</errorCode>
|
13
|
+
<tradedVolume xsi:type="xsd:string">:2803150~0~0.0~0.0~0.0|25.0~2.08|26.0~3.92|28.0~4.6|29.0~3.7|34.0~18.16|36.0~0.08|38.0~58.06|40.0~27.74|42.0~12.38|44.0~63.26|46.0~55.7|48.0~29.38|50.0~37.2|55.0~17.92|130.0~0.18:4801791~0~0.0~0.0~0.0|14.5~10.0|15.0~14.0|15.5~33.52|16.0~23.4|16.5~47.32|17.0~42.54|17.5~18.68|18.0~31.92|18.5~30.9|19.0~45.8|19.5~59.76|20.0~137.54|21.0~10.44|22.0~31.64|23.0~30.4|24.0~4.48|25.0~15.26:5921135~0~0.0~0.0~0.0|7.8~152.1|8.0~116.08|8.2~183.2|8.4~262.64|8.6~267.02|8.8~276.68|9.0~248.56|9.2~172.56|9.4~67.08|9.6~109.36:5191694~0~0.0~0.0~0.0|3.95~44.0|4.0~94.58|4.1~633.6|4.2~820.24|4.3~115.88|4.4~317.12|4.5~108.34|4.6~102.42|4.7~197.98|4.8~197.06|4.9~166.64|5.0~417.08|5.1~339.68|5.2~596.3|5.3~259.34|5.4~251.12|5.5~75.04|5.6~4.52|5.7~15.8|5.8~11.28:5898478~0~0.0~0.0~0.0|2.4~0.24|2.42~3.76|2.68~2.24|2.7~3.76|2.72~7.1|2.74~59.84|2.78~8.74|2.8~3.76|2.82~0.9|2.84~30.24|2.86~149.84|2.88~739.78|2.9~936.66|2.92~988.0|2.94~1422.04|2.96~1116.78|2.98~1292.38|3.0~748.78|3.05~290.82|3.1~227.16|3.15~379.42|3.2~226.4|3.25~228.26|3.3~155.94|3.35~183.44|3.4~81.18|3.5~80.0|3.55~18.4|3.6~12.16|3.65~3.98:6084518~0~0.0~0.0~0.0|250.0~0.02|280.0~3.4|290.0~0.6|300.0~7.64|310.0~0.84|370.0~1.0|410.0~0.94|490.0~0.02|530.0~0.04:5678817~0~0.0~0.0~0.0|3.35~4.0|4.2~18.38|4.3~78.84|4.4~26.2|4.5~192.0|4.6~232.42|4.7~217.52|4.8~277.98|4.9~496.04|5.0~361.86|5.1~377.16|5.2~234.08|5.3~62.48|5.4~52.98:4509182~0~0.0~0.0~0.0|13.5~11.2|14.0~11.32|14.5~38.04|15.0~143.94|15.5~157.56|16.0~68.22|16.5~56.04|17.0~64.54|17.5~59.76|18.0~40.6|19.5~3.34|20.0~6.24|21.0~3.76</tradedVolume>
|
14
|
+
<currencyCode xsi:type="xsd:string">GBP</currencyCode>
|
15
|
+
<marketId xsi:type="xsd:int">104968512</marketId>
|
16
|
+
<minorErrorCode xsi:nil="1"/>
|
17
|
+
</n:Result>
|
18
|
+
</n:getMarketTradedVolumeCompressedResponse>
|
19
|
+
</soap:Body>
|
20
|
+
</soap:Envelope>
|
@@ -0,0 +1,19 @@
|
|
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:loginResponse xmlns:n="http://www.betfair.com/publicapi/v3/BFGlobalService/">
|
5
|
+
<n:Result xsi:type="n2:LoginResp">
|
6
|
+
<header xsi:type="n2:APIResponseHeader">
|
7
|
+
<errorCode xsi:type="n2:APIErrorEnum">OK</errorCode>
|
8
|
+
<minorErrorCode xsi:nil="1"/>
|
9
|
+
<sessionToken xsi:nil="1"/>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-02-25T12:38:56.107Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<currency xsi:nil="1"/>
|
13
|
+
<errorCode xsi:type="n2:LoginErrorEnum">INVALID_USERNAME_OR_PASSWORD</errorCode>
|
14
|
+
<minorErrorCode xsi:nil="1"/>
|
15
|
+
<validUntil xsi:type="xsd:dateTime">0001-01-01T00:00:00.000Z</validUntil>
|
16
|
+
</n:Result>
|
17
|
+
</n:loginResponse>
|
18
|
+
</soap:Body>
|
19
|
+
</soap:Envelope>
|
@@ -0,0 +1,19 @@
|
|
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:loginResponse xmlns:n="http://www.betfair.com/publicapi/v3/BFGlobalService/">
|
5
|
+
<n:Result xsi:type="n2:LoginResp">
|
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">nVhCnN1fCaNMTAHMYUs8Wv8NsU+zSC3GUpcQjoldT1c=</sessionToken>
|
10
|
+
<timestamp xsi:type="xsd:dateTime">2012-02-25T12:37:36.897Z</timestamp>
|
11
|
+
</header>
|
12
|
+
<currency xsi:type="xsd:string">GBP</currency>
|
13
|
+
<errorCode xsi:type="n2:LoginErrorEnum">OK</errorCode>
|
14
|
+
<minorErrorCode xsi:nil="1"/>
|
15
|
+
<validUntil xsi:type="xsd:dateTime">2012-02-05T00:00:00.000Z</validUntil>
|
16
|
+
</n:Result>
|
17
|
+
</n:loginResponse>
|
18
|
+
</soap:Body>
|
19
|
+
</soap:Envelope>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
|
3
|
+
<soap:Body soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
|
4
|
+
<soap:Fault>
|
5
|
+
<faultcode>soap:Server</faultcode>
|
6
|
+
<faultstring>INTERNAL_ERROR</faultstring>
|
7
|
+
</soap:Fault>
|
8
|
+
</soap:Body>
|
9
|
+
</soap:Envelope>
|
@@ -0,0 +1,45 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Betfair::ResponseParser do
|
4
|
+
|
5
|
+
# Dummy class to test module
|
6
|
+
module Betfair
|
7
|
+
class Foo; include ResponseParser; end
|
8
|
+
end
|
9
|
+
|
10
|
+
before do
|
11
|
+
@parser = Betfair::Foo.new
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should parse login response" do
|
15
|
+
login_xml = load_xml_response("login_ok.xml")
|
16
|
+
parsed = @parser.login login_xml
|
17
|
+
parsed.should == {"currency" => "GBP"}
|
18
|
+
end
|
19
|
+
|
20
|
+
it "should parse get_all_markets response" do
|
21
|
+
get_all_markets_xml = load_xml_response("get_all_markets.xml")
|
22
|
+
parsed = @parser.get_all_markets get_all_markets_xml
|
23
|
+
parsed["market_data"].keys.size.should eq 246
|
24
|
+
parsed["market_data"]["104968448"].should == {"id"=>"104968448", "name"=>"To Be Placed", "type"=>"O", "status"=>"ACTIVE", "date"=> Time.parse("2012-02-25 14:00:00 UTC"), "menu_path"=>"Horse RacingGBKemp 25th Feb", "event_hierarchy"=>"/7/298251/26813087/104968448", "bet_delay"=>"0", "exchange_id"=>"1", "country_code"=>"GBR", "last_refresh"=> Time.parse("2012-02-25 13:53:30 UTC"), "num_runners"=>"8", "num_winners"=>"3", "total_amount_matched"=>"33339.18", "bsp_market"=>true, "turning_in_play"=>true}
|
25
|
+
end
|
26
|
+
|
27
|
+
it "should parse get_market response" do
|
28
|
+
get_market_xml = load_xml_response("get_market.xml")
|
29
|
+
parsed = @parser.get_market get_market_xml
|
30
|
+
parsed.should == {"id"=>"104968439", "parent_id"=>"26813086", "country_code"=>"GBR", "event_type"=>"7", "base_rate"=>"5.0", "market_name"=>"2m Hcap Chs", "num_winners"=>"1", "runners"=>[{"selection_id"=>"3043342", "name"=>"Arctic Ben"}, {"selection_id"=>"4493849", "name"=>"Educated Evans"}, {"selection_id"=>"2795387", "name"=>"Buffalo Bob"}, {"selection_id"=>"3687553", "name"=>"Rileyev"}, {"selection_id"=>"2610448", "name"=>"Oh Crick"}, {"selection_id"=>"2406110", "name"=>"Oscar Gogo"}, {"selection_id"=>"2446696", "name"=>"Dinarius"}, {"selection_id"=>"1381307", "name"=>"Moon Over Miami"}, {"selection_id"=>"2810086", "name"=>"Super Formen"}]}
|
31
|
+
end
|
32
|
+
|
33
|
+
it "should parse get_market_prices_compressed response" do
|
34
|
+
compressed_prices_xml = load_xml_response("get_market_prices_compressed.xml")
|
35
|
+
parsed = @parser.get_market_prices_compressed compressed_prices_xml
|
36
|
+
parsed.should == {"market_id"=>"04968512", "currency"=>"GBP", "status"=>"ACTIVE", "in_play_delay"=>"0", "num_winners"=>"1", "market_info"=>"NR: (UKT) <br> 7. Philadelphus(0%,10:46)", "discount_allowed"=>"true", "market_base_rate"=>"5.0", "refresh_time"=>"1330255216701", "removed_runners"=>"Philadelphus,10.46,2.3;", "bsp_market"=>"Y", "5898478"=>{"selection_id"=>"5898478", "order_index"=>"0", "total_matched"=>"9402.08", "last_price_matched"=>"2.96", "handicap"=>"", "reduction_factor"=>"34.0", "vacant"=>"false", "asian_line_id"=>"2.0", "far_sp_price"=>"2.92", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"2.96", "amount"=>"29.73", "type"=>"L", "depth"=>"1"}, {"odds"=>"2.94", "amount"=>"78.25", "type"=>"L", "depth"=>"2"}, {"odds"=>"2.92", "amount"=>"77.76", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"2.98", "amount"=>"36.69", "type"=>"B", "depth"=>"1"}, {"odds"=>"3.0", "amount"=>"971.78", "type"=>"B", "depth"=>"2"}, {"odds"=>"3.05", "amount"=>"57.0", "type"=>"B", "depth"=>"3"}]}, "5191694"=>{"selection_id"=>"5191694", "order_index"=>"1", "total_matched"=>"4768.0", "last_price_matched"=>"4.2", "handicap"=>"", "reduction_factor"=>"19.9", "vacant"=>"false", "asian_line_id"=>"1.24", "far_sp_price"=>"4.03", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"4.1", "amount"=>"90.02", "type"=>"L", "depth"=>"1"}, {"odds"=>"4.0", "amount"=>"187.18", "type"=>"L", "depth"=>"2"}, {"odds"=>"3.95", "amount"=>"10.0", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"4.2", "amount"=>"80.89", "type"=>"B", "depth"=>"1"}, {"odds"=>"4.3", "amount"=>"153.9", "type"=>"B", "depth"=>"2"}, {"odds"=>"4.4", "amount"=>"181.81", "type"=>"B", "depth"=>"3"}]}, "5678817"=>{"selection_id"=>"5678817", "order_index"=>"2", "total_matched"=>"2631.92", "last_price_matched"=>"5.4", "handicap"=>"", "reduction_factor"=>"19.6", "vacant"=>"false", "asian_line_id"=>"2.96", "far_sp_price"=>"5.3", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"5.3", "amount"=>"33.08", "type"=>"L", "depth"=>"1"}, {"odds"=>"5.2", "amount"=>"5.96", "type"=>"L", "depth"=>"2"}, {"odds"=>"5.1", "amount"=>"20.46", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"5.4", "amount"=>"16.51", "type"=>"B", "depth"=>"1"}, {"odds"=>"5.5", "amount"=>"16.24", "type"=>"B", "depth"=>"2"}, {"odds"=>"5.6", "amount"=>"2.0", "type"=>"B", "depth"=>"3"}]}, "5921135"=>{"selection_id"=>"5921135", "order_index"=>"3", "total_matched"=>"1855.28", "last_price_matched"=>"8.4", "handicap"=>"", "reduction_factor"=>"11.8", "vacant"=>"false", "asian_line_id"=>"1.6", "far_sp_price"=>"7.8", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"8.2", "amount"=>"3.39", "type"=>"L", "depth"=>"1"}, {"odds"=>"8.0", "amount"=>"44.03", "type"=>"L", "depth"=>"2"}, {"odds"=>"7.8", "amount"=>"6.0", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"8.6", "amount"=>"28.78", "type"=>"B", "depth"=>"1"}, {"odds"=>"8.8", "amount"=>"24.0", "type"=>"B", "depth"=>"2"}, {"odds"=>"9.0", "amount"=>"2.0", "type"=>"B", "depth"=>"3"}]}, "4509182"=>{"selection_id"=>"4509182", "order_index"=>"4", "total_matched"=>"664.54", "last_price_matched"=>"18.0", "handicap"=>"", "reduction_factor"=>"6.9", "vacant"=>"false", "asian_line_id"=>"1.86", "far_sp_price"=>"13.75", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"17.5", "amount"=>"9.36", "type"=>"L", "depth"=>"1"}, {"odds"=>"15.5", "amount"=>"7.97", "type"=>"L", "depth"=>"2"}, {"odds"=>"14.0", "amount"=>"15.19", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"18.0", "amount"=>"3.52", "type"=>"B", "depth"=>"1"}, {"odds"=>"18.5", "amount"=>"22.0", "type"=>"B", "depth"=>"2"}, {"odds"=>"19.0", "amount"=>"8.0", "type"=>"B", "depth"=>"3"}]}, "4801791"=>{"selection_id"=>"4801791", "order_index"=>"5", "total_matched"=>"587.64", "last_price_matched"=>"23.0", "handicap"=>"", "reduction_factor"=>"5.2", "vacant"=>"false", "asian_line_id"=>"1.82", "far_sp_price"=>"17.1", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"22.0", "amount"=>"7.44", "type"=>"L", "depth"=>"1"}, {"odds"=>"21.0", "amount"=>"7.6", "type"=>"L", "depth"=>"2"}, {"odds"=>"18.5", "amount"=>"5.08", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"23.0", "amount"=>"3.17", "type"=>"B", "depth"=>"1"}, {"odds"=>"24.0", "amount"=>"4.53", "type"=>"B", "depth"=>"2"}, {"odds"=>"25.0", "amount"=>"6.0", "type"=>"B", "depth"=>"3"}]}, "2803150"=>{"selection_id"=>"2803150", "order_index"=>"6", "total_matched"=>"334.38", "last_price_matched"=>"55.0", "handicap"=>"", "reduction_factor"=>"2.3", "vacant"=>"false", "asian_line_id"=>"8.12", "far_sp_price"=>"46.41", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"46.0", "amount"=>"10.46", "type"=>"L", "depth"=>"1"}, {"odds"=>"44.0", "amount"=>"53.83", "type"=>"L", "depth"=>"2"}, {"odds"=>"42.0", "amount"=>"6.5", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"55.0", "amount"=>"8.13", "type"=>"B", "depth"=>"1"}, {"odds"=>"100.0", "amount"=>"3.08", "type"=>"B", "depth"=>"2"}, {"odds"=>"660.0", "amount"=>"5.0", "type"=>"B", "depth"=>"3"}]}, "6084518"=>{"selection_id"=>"6084518", "order_index"=>"7", "total_matched"=>"14.48", "last_price_matched"=>"410.0", "handicap"=>"", "reduction_factor"=>"0.5", "vacant"=>"false", "asian_line_id"=>"29.74", "far_sp_price"=>"332.98", "near_sp_price"=>nil, "actual_sp_price"=>nil, "lay_prices"=>[{"odds"=>"320.0", "amount"=>"5.93", "type"=>"L", "depth"=>"1"}, {"odds"=>"310.0", "amount"=>"21.0", "type"=>"L", "depth"=>"2"}, {"odds"=>"300.0", "amount"=>"37.01", "type"=>"L", "depth"=>"3"}], "back_prices"=>[{"odds"=>"790.0", "amount"=>"6.0", "type"=>"B", "depth"=>"1"}, {"odds"=>"900.0", "amount"=>"13.0", "type"=>"B", "depth"=>"2"}, {"odds"=>"990.0", "amount"=>"2.0", "type"=>"B", "depth"=>"3"}]}}
|
37
|
+
end
|
38
|
+
|
39
|
+
it "should parse get_market_traded_volume_compressed response" do
|
40
|
+
compressed_traded_volumes_xml = load_xml_response("get_market_traded_volume_compressed.xml")
|
41
|
+
parsed = @parser.get_market_traded_volume_compressed compressed_traded_volumes_xml
|
42
|
+
parsed.should == {"2803150"=>{"traded_amounts"=>[{"odds"=>"25.0", "total_matched"=>"2.08"}, {"odds"=>"26.0", "total_matched"=>"3.92"}, {"odds"=>"28.0", "total_matched"=>"4.6"}, {"odds"=>"29.0", "total_matched"=>"3.7"}, {"odds"=>"34.0", "total_matched"=>"18.16"}, {"odds"=>"36.0", "total_matched"=>"0.08"}, {"odds"=>"38.0", "total_matched"=>"58.06"}, {"odds"=>"40.0", "total_matched"=>"27.74"}, {"odds"=>"42.0", "total_matched"=>"12.38"}, {"odds"=>"44.0", "total_matched"=>"63.26"}, {"odds"=>"46.0", "total_matched"=>"55.7"}, {"odds"=>"48.0", "total_matched"=>"29.38"}, {"odds"=>"50.0", "total_matched"=>"37.2"}, {"odds"=>"55.0", "total_matched"=>"17.92"}, {"odds"=>"130.0", "total_matched"=>"0.18"}], "selection_id"=>"2803150", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "4801791"=>{"traded_amounts"=>[{"odds"=>"14.5", "total_matched"=>"10.0"}, {"odds"=>"15.0", "total_matched"=>"14.0"}, {"odds"=>"15.5", "total_matched"=>"33.52"}, {"odds"=>"16.0", "total_matched"=>"23.4"}, {"odds"=>"16.5", "total_matched"=>"47.32"}, {"odds"=>"17.0", "total_matched"=>"42.54"}, {"odds"=>"17.5", "total_matched"=>"18.68"}, {"odds"=>"18.0", "total_matched"=>"31.92"}, {"odds"=>"18.5", "total_matched"=>"30.9"}, {"odds"=>"19.0", "total_matched"=>"45.8"}, {"odds"=>"19.5", "total_matched"=>"59.76"}, {"odds"=>"20.0", "total_matched"=>"137.54"}, {"odds"=>"21.0", "total_matched"=>"10.44"}, {"odds"=>"22.0", "total_matched"=>"31.64"}, {"odds"=>"23.0", "total_matched"=>"30.4"}, {"odds"=>"24.0", "total_matched"=>"4.48"}, {"odds"=>"25.0", "total_matched"=>"15.26"}], "selection_id"=>"4801791", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "5921135"=>{"traded_amounts"=>[{"odds"=>"7.8", "total_matched"=>"152.1"}, {"odds"=>"8.0", "total_matched"=>"116.08"}, {"odds"=>"8.2", "total_matched"=>"183.2"}, {"odds"=>"8.4", "total_matched"=>"262.64"}, {"odds"=>"8.6", "total_matched"=>"267.02"}, {"odds"=>"8.8", "total_matched"=>"276.68"}, {"odds"=>"9.0", "total_matched"=>"248.56"}, {"odds"=>"9.2", "total_matched"=>"172.56"}, {"odds"=>"9.4", "total_matched"=>"67.08"}, {"odds"=>"9.6", "total_matched"=>"109.36"}], "selection_id"=>"5921135", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "5191694"=>{"traded_amounts"=>[{"odds"=>"3.95", "total_matched"=>"44.0"}, {"odds"=>"4.0", "total_matched"=>"94.58"}, {"odds"=>"4.1", "total_matched"=>"633.6"}, {"odds"=>"4.2", "total_matched"=>"820.24"}, {"odds"=>"4.3", "total_matched"=>"115.88"}, {"odds"=>"4.4", "total_matched"=>"317.12"}, {"odds"=>"4.5", "total_matched"=>"108.34"}, {"odds"=>"4.6", "total_matched"=>"102.42"}, {"odds"=>"4.7", "total_matched"=>"197.98"}, {"odds"=>"4.8", "total_matched"=>"197.06"}, {"odds"=>"4.9", "total_matched"=>"166.64"}, {"odds"=>"5.0", "total_matched"=>"417.08"}, {"odds"=>"5.1", "total_matched"=>"339.68"}, {"odds"=>"5.2", "total_matched"=>"596.3"}, {"odds"=>"5.3", "total_matched"=>"259.34"}, {"odds"=>"5.4", "total_matched"=>"251.12"}, {"odds"=>"5.5", "total_matched"=>"75.04"}, {"odds"=>"5.6", "total_matched"=>"4.52"}, {"odds"=>"5.7", "total_matched"=>"15.8"}, {"odds"=>"5.8", "total_matched"=>"11.28"}], "selection_id"=>"5191694", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "5898478"=>{"traded_amounts"=>[{"odds"=>"2.4", "total_matched"=>"0.24"}, {"odds"=>"2.42", "total_matched"=>"3.76"}, {"odds"=>"2.68", "total_matched"=>"2.24"}, {"odds"=>"2.7", "total_matched"=>"3.76"}, {"odds"=>"2.72", "total_matched"=>"7.1"}, {"odds"=>"2.74", "total_matched"=>"59.84"}, {"odds"=>"2.78", "total_matched"=>"8.74"}, {"odds"=>"2.8", "total_matched"=>"3.76"}, {"odds"=>"2.82", "total_matched"=>"0.9"}, {"odds"=>"2.84", "total_matched"=>"30.24"}, {"odds"=>"2.86", "total_matched"=>"149.84"}, {"odds"=>"2.88", "total_matched"=>"739.78"}, {"odds"=>"2.9", "total_matched"=>"936.66"}, {"odds"=>"2.92", "total_matched"=>"988.0"}, {"odds"=>"2.94", "total_matched"=>"1422.04"}, {"odds"=>"2.96", "total_matched"=>"1116.78"}, {"odds"=>"2.98", "total_matched"=>"1292.38"}, {"odds"=>"3.0", "total_matched"=>"748.78"}, {"odds"=>"3.05", "total_matched"=>"290.82"}, {"odds"=>"3.1", "total_matched"=>"227.16"}, {"odds"=>"3.15", "total_matched"=>"379.42"}, {"odds"=>"3.2", "total_matched"=>"226.4"}, {"odds"=>"3.25", "total_matched"=>"228.26"}, {"odds"=>"3.3", "total_matched"=>"155.94"}, {"odds"=>"3.35", "total_matched"=>"183.44"}, {"odds"=>"3.4", "total_matched"=>"81.18"}, {"odds"=>"3.5", "total_matched"=>"80.0"}, {"odds"=>"3.55", "total_matched"=>"18.4"}, {"odds"=>"3.6", "total_matched"=>"12.16"}, {"odds"=>"3.65", "total_matched"=>"3.98"}], "selection_id"=>"5898478", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "6084518"=>{"traded_amounts"=>[{"odds"=>"250.0", "total_matched"=>"0.02"}, {"odds"=>"280.0", "total_matched"=>"3.4"}, {"odds"=>"290.0", "total_matched"=>"0.6"}, {"odds"=>"300.0", "total_matched"=>"7.64"}, {"odds"=>"310.0", "total_matched"=>"0.84"}, {"odds"=>"370.0", "total_matched"=>"1.0"}, {"odds"=>"410.0", "total_matched"=>"0.94"}, {"odds"=>"490.0", "total_matched"=>"0.02"}, {"odds"=>"530.0", "total_matched"=>"0.04"}], "selection_id"=>"6084518", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "5678817"=>{"traded_amounts"=>[{"odds"=>"3.35", "total_matched"=>"4.0"}, {"odds"=>"4.2", "total_matched"=>"18.38"}, {"odds"=>"4.3", "total_matched"=>"78.84"}, {"odds"=>"4.4", "total_matched"=>"26.2"}, {"odds"=>"4.5", "total_matched"=>"192.0"}, {"odds"=>"4.6", "total_matched"=>"232.42"}, {"odds"=>"4.7", "total_matched"=>"217.52"}, {"odds"=>"4.8", "total_matched"=>"277.98"}, {"odds"=>"4.9", "total_matched"=>"496.04"}, {"odds"=>"5.0", "total_matched"=>"361.86"}, {"odds"=>"5.1", "total_matched"=>"377.16"}, {"odds"=>"5.2", "total_matched"=>"234.08"}, {"odds"=>"5.3", "total_matched"=>"62.48"}, {"odds"=>"5.4", "total_matched"=>"52.98"}], "selection_id"=>"5678817", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}, "4509182"=>{"traded_amounts"=>[{"odds"=>"13.5", "total_matched"=>"11.2"}, {"odds"=>"14.0", "total_matched"=>"11.32"}, {"odds"=>"14.5", "total_matched"=>"38.04"}, {"odds"=>"15.0", "total_matched"=>"143.94"}, {"odds"=>"15.5", "total_matched"=>"157.56"}, {"odds"=>"16.0", "total_matched"=>"68.22"}, {"odds"=>"16.5", "total_matched"=>"56.04"}, {"odds"=>"17.0", "total_matched"=>"64.54"}, {"odds"=>"17.5", "total_matched"=>"59.76"}, {"odds"=>"18.0", "total_matched"=>"40.6"}, {"odds"=>"19.5", "total_matched"=>"3.34"}, {"odds"=>"20.0", "total_matched"=>"6.24"}, {"odds"=>"21.0", "total_matched"=>"3.76"}], "selection_id"=>"4509182", "asian_line_id"=>"0", "bsp"=>"0.0", "total_bsp_back_matched"=>"0.0", "total_bsp_liability_matched"=>"0.0"}}
|
43
|
+
end
|
44
|
+
|
45
|
+
end
|