I've been trying to make use of the API's ability to discover the winners/losers of a settled market, as it is a comprehensive source of results. But I keep hitting problems with markets and seemingly bad data.
For example, horse race market 1.119644596, Fair (RSA) 24th Jul - 15:55 R9 1000m Hcap.
calling listMarketBook() on this market returns a runner with selectionId 10064529, status 'LOSER', with no SP. From my records, this selectionId was the runner named 'Just To Early', which was actually marked as a non-runner the previous day. So the API should not be listing this horse as a loser, it took no part in the race.
The results might be broken for this race in particular because the horse was originally misnamed. The correct name is actually 'Just Too Early', and this was added as a separate runner, selectionId 9093205. Before the race was closed, the API was returning valid data. The horse 'Just Too Early', 9093205 was listed in the market, and the typo 'Just To Early', id 10064529, was listed as a non-runner.
Later on, the 'correct' horse 'Just Too Early' was declared a non-runner. So selectionIds 10064529 and 9093205 were listed in the non-runners. Again, up until the race started, the API is returning the correct information. The runners are correct, the non-runners are correct (ok, so a horse is listed as a NR twice because of the typo, but not a problem).
But, after the race finished and the market settled, somehow selectionId 10064529 is being reported again as a real runner in the race. It disappeared from the list of non-runners. This is broken, some part of Betfair's API is doing the wrong thing.
Although rare, this is not a one-off problem. I suspect it is all tied to the fact that the horse was misnamed. But in any case, it means that the API returns incorrect information and makes using the results feature of the API unreliable. Could this bug report get passed on to someone to investigate, please?
For example, horse race market 1.119644596, Fair (RSA) 24th Jul - 15:55 R9 1000m Hcap.
calling listMarketBook() on this market returns a runner with selectionId 10064529, status 'LOSER', with no SP. From my records, this selectionId was the runner named 'Just To Early', which was actually marked as a non-runner the previous day. So the API should not be listing this horse as a loser, it took no part in the race.
The results might be broken for this race in particular because the horse was originally misnamed. The correct name is actually 'Just Too Early', and this was added as a separate runner, selectionId 9093205. Before the race was closed, the API was returning valid data. The horse 'Just Too Early', 9093205 was listed in the market, and the typo 'Just To Early', id 10064529, was listed as a non-runner.
Later on, the 'correct' horse 'Just Too Early' was declared a non-runner. So selectionIds 10064529 and 9093205 were listed in the non-runners. Again, up until the race started, the API is returning the correct information. The runners are correct, the non-runners are correct (ok, so a horse is listed as a NR twice because of the typo, but not a problem).
But, after the race finished and the market settled, somehow selectionId 10064529 is being reported again as a real runner in the race. It disappeared from the list of non-runners. This is broken, some part of Betfair's API is doing the wrong thing.
Although rare, this is not a one-off problem. I suspect it is all tied to the fact that the horse was misnamed. But in any case, it means that the API returns incorrect information and makes using the results feature of the API unreliable. Could this bug report get passed on to someone to investigate, please?