-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathlistcurrentorders.go
84 lines (73 loc) · 3.77 KB
/
listcurrentorders.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
package betfair
import (
"time"
)
type SortDir string
const (
SD_EARLIEST_TO_LATEST SortDir = "EARLIEST_TO_LATEST"
SD_LATEST_TO_EARLIEST SortDir = "LATEST_TO_EARLIEST"
)
type OrderBy string
const (
OB_BY_BET OrderBy = "BY_BET"
OB_BY_MARKET OrderBy = "BY_MARKET"
OB_BY_MATCH_TIME OrderBy = "BY_MATCH_TIME"
OB_BY_PLACE_TIME OrderBy = "BY_PLACE_TIME"
OB_BY_SETTLED_TIME OrderBy = "BY_SETTLED_TIME"
OB_BY_VOID_TIME OrderBy = "BY_VOID_TIME"
)
type (
CurrentOrdersParams struct {
BetIDs []string `json:"betIds,omitempty"`
MarketIDs []string `json:"marketIds,omitempty"`
OrderProjection OrderProjection `json:"orderProjection,omitempty"`
CustomerOrderRefs []string `json:"customerOrderRefs,omitempty"`
CustomerStrategyRefs []string `json:"customerStrategyRefs,omitempty"`
DateRange TimeRange `json:"dateRange,omitempty"`
OrderBy OrderBy `json:"orderBy,omitempty"`
SortDir SortDir `json:"sortDir,omitempty"`
FromDate time.Time `json:"fromDate,omitempty"`
FromRecord int `json:"fromRecord,omitempty"`
RecordCount int `json:"recordCount,omitempty"`
IncludeItemDescription bool `json:"includeItemDescription,omitempty"`
IncludeSourceID bool `json:"includeSourceId,omitempty"`
}
CurrentOrderSummaryReport struct {
CurrentOrders []CurrentOrderSummary `json:"currentOrders"`
MoreAvailable bool `json:"moreAvailable"`
}
CurrentOrderSummary struct {
BetID string `json:"betId"`
MarketID string `json:"marketId"`
SelectionID int64 `json:"selectionId"`
Handicap float64 `json:"handicap"`
PriceSize PriceSize `json:"priceSize"`
BspLiability float64 `json:"bspLiability"`
Side Side `json:"side"`
OrderStatus OrderStatus `json:"status"`
PersistenceType PersistenceType `json:"persistenceType"`
OrderType OrderType `json:"orderType"`
PlacedDate time.Time `json:"placedDate"`
MatchedDate time.Time `json:"matchedDate"`
AveragePriceMatched float64 `json:"averagePriceMatched,omitempty"`
SizeMatched float64 `json:"sizeMatched,omitempty"`
SizeRemaining float64 `json:"sizeRemaining,omitempty"`
SizeLapsed float64 `json:"sizeLapsed,omitempty"`
SizeCancelled float64 `json:"sizeCancelled,omitempty"`
SizeVoided float64 `json:"sizeVoided,omitempty"`
RegulatorAuthCode string `json:"regulatorAuthCode,omitempty"`
RegulatorCode string `json:"regulatorCode,omitempty"`
CustomerOrderRef string `json:"customerOrderRef,omitempty"`
CustomerStrategyRef string `json:"customerStrategyRef,omitempty"`
CurrentItemDescription CurrentItemDescription `json:"currentItemDescription,omitempty"`
SourceIdKey string `json:"sourceIdKey,omitempty"`
SourceIdDescription string `json:"sourceIdDescription,omitempty"`
}
CurrentItemDescription struct {
MarketVersion MarketVersion `json:"marketVersion,omitempty"`
}
)
func (client *Client) ListCurrentOrders(params CurrentOrdersParams) (CurrentOrderSummaryReport, error) {
json := CurrentOrderSummaryReport{}
return json, client.GetSports("listCurrentOrders", params, &json)
}