New API-NG Release - 29th April
ListMarketBook - change to orderProjection = EXECUTABLE response behavior
This release will include the following efficiency improvement for those who track their bet positions using listMarketBookusing orderProjection. The changes involve an improvement in the data set returned by listMarketBook when orderProjection = EXECUTABLE is specified with matchProjection =ROLLED_UP_BY_AVG_PRICE or ROLLED_UP_BY_PRICE.
We recommend is used this instead of OrderProjection ‘ALL’ to track the state of both unmatched orders and matched positions.
Please see a full explanation of the current and new behaviour as a result of this release.
Current Behaviour
Customers seeking to use listMarketBook to obtain price, volume, unmatched (EXECUTABLE) orders and matched position in a single operation are forced to provide anOrderProjection of “ALL” in their listMarketBook request in order for the matched position to include matched volume from fully matched (EXECUTION_COMPLETE) orders. Consequently the response also includes all fully matched orders belonging to the customer which is most cases is an ever increasing data set.
New Behaviour
Customers seeking to use listMarketBook to obtain price, volume, unmatched (EXECUTABLE) orders and matched position in a single operation should provide an OrderProjectionof “EXECUTABLE” in their listMarketBook request and receive all unmatched (EXECUTABLE) orders and the aggregated matched volume from all orders irrespective of whether they are partially or fully matched. Consequently the response will not include an ever increasing set of all matched orders. The level of matched volume aggregation (MatchProjection) requested should be ROLLED_UP_BY_AVG_PRICE or ROLLED_UP_BY_PRICE, the former being preferred. This provides a single call in which the customer can track prices, traded volume, their own unmatched orders and their evolving matched position with a reasonably fixed, minimally sized response.
Betfair Developer Program