I am using the Betfair Streaming API and hit a bug in my program yesterday that actually cost me money in a Portuguese football match. That was pretty annoying but even worse is that is it not clear on what I need to do exactly to fix it and it is extremely difficult to test any fixes I do implement.
What happened was that the score in the game went to 1-1, and the market unsuspended for 30 seconds or so, during which time i placed my bet on the 1-1 score. Then the market suspended again and the score went backwards to 1-0. I am guessing Portugal have VAR and that caused Betfair's score confusion.
Checking later I can see that Betfair had voided my 1-1 bet, presumably that is their policy on VAR corrections ?
My code for processing incoming stream orders had missed this voided order and was incorrectly showing me that the bet had been placed and i was in profit. Of course you can guess what the final score on the match was, yep a real 1-1. So went to check my winnings and found I had lost on the game due to the voided bet.
The Betfair spec isnt detailed enough for me to know how to check for voided orders accurately. Their is a field in the order packet for "Sv" = Size Voided.
My question is what would a typical voided packet look like ?
For example:
Q1) Does a voided order have a new betId or same betId as the original order it is voiding
Q2) Is a voided order marked as execution complete or still executable ?
Q3) Can I assume that Size remainig will always be the same amount as the original bet it is voiding. I cant imagine a scenario where for instance you might want to just void 50% of the original bet ? Maybe that is possible though ?
Has anyone ever captured a voided order packet ? That would be very handy to see how this stuff is meant to work
If anyone or BDP Tech support could answer my 3 questions above it would be very helpful. Thanks for your time
Geoff
What happened was that the score in the game went to 1-1, and the market unsuspended for 30 seconds or so, during which time i placed my bet on the 1-1 score. Then the market suspended again and the score went backwards to 1-0. I am guessing Portugal have VAR and that caused Betfair's score confusion.
Checking later I can see that Betfair had voided my 1-1 bet, presumably that is their policy on VAR corrections ?
My code for processing incoming stream orders had missed this voided order and was incorrectly showing me that the bet had been placed and i was in profit. Of course you can guess what the final score on the match was, yep a real 1-1. So went to check my winnings and found I had lost on the game due to the voided bet.
The Betfair spec isnt detailed enough for me to know how to check for voided orders accurately. Their is a field in the order packet for "Sv" = Size Voided.
My question is what would a typical voided packet look like ?
For example:
Q1) Does a voided order have a new betId or same betId as the original order it is voiding
Q2) Is a voided order marked as execution complete or still executable ?
Q3) Can I assume that Size remainig will always be the same amount as the original bet it is voiding. I cant imagine a scenario where for instance you might want to just void 50% of the original bet ? Maybe that is possible though ?
Has anyone ever captured a voided order packet ? That would be very handy to see how this stuff is meant to work
If anyone or BDP Tech support could answer my 3 questions above it would be very helpful. Thanks for your time
Geoff


Comment