This page documents the BookiePro data abstraction layer with the Peerplays blockchain.
BookiePro communicates with the blockchain using web-socket API calls.
list_sports
Get a list of available sports.
Apis.instance().db_api().exec( "list_sports", [] )
A list of all the available sports.
ChainStore.getSportsList = function getSportsList() {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().db_api().exec('list_sports', []).then(function (sportsList) {
if (sportsList) {
resolve(sportsList);
} else {
resolve(null);
}
}, reject);
});
};
list_event_groups
Get a list of all event groups for a sport, for example, all soccer leagues in soccer.
Apis.instance().db_api().exec( "list_event_groups", [sportId] )
sportId
: The id of the sport that the event groups are to be listed for.
A list of all event groups for the selected sport.
ChainStore.prototype.getEventGroupsList = function getEventGroupsList(sportId) {
var _this17 = this;
var eventGroupsList = this.event_groups_list_by_sport_id.get(sportId);
if (eventGroupsList === undefined) {
this.event_groups_list_by_sport_id = this.event_groups_list_by_sport_id.set(sportId, _immutable2.default.Set());
_ws.Apis.instance().db_api().exec('list_event_groups', [sportId]).then(function (eventGroups) {
var set = new Set();
for (var i = 0, len = eventGroups.length; i < len; ++i) {
set.add(eventGroups[i]);
}
_this17.event_groups_list_by_sport_id = _this17.event_groups_list_by_sport_id.set(sportId, _immutable2.default.Set(set));
_this17.notifySubscribers();
}, function () {
_this17.event_groups_list_by_sport_id = _this17.event_groups_list_by_sport_id.delete(sportId);
});
}
return this.event_groups_list_by_sport_id.get(sportId);
};
list_betting_market_groups
Get a list of all betting market groups for an event, for example, Moneyline and OVER/UNDER for soccer)
Apis.instance().db_api().exec( "list_betting_market_groups", [eventId] )
eventId
: The id of the event that the betting market groups are to be listed for.
A list of all the betting market groups for the event.
ChainStore.prototype.getBettingMarketGroupsList = function getBettingMarketGroupsList(eventId) {
var _this18 = this;
var bettingMarketGroupsList = this.betting_market_groups_list_by_sport_id.get(eventId);
if (bettingMarketGroupsList === undefined) {
this.betting_market_groups_list_by_sport_id = this.betting_market_groups_list_by_sport_id.set(eventId, _immutable2.default.Set());
_ws.Apis.instance().db_api().exec('list_betting_market_groups', [eventId]).then(function (bettingMarketGroups) {
var set = new Set();
for (var i = 0, len = bettingMarketGroups.length; i < len; ++i) {
set.add(bettingMarketGroups[i]);
}
_this18.betting_market_groups_list_by_sport_id = _this18.betting_market_groups_list_by_sport_id.set( // eslint-disable-line
eventId, _immutable2.default.Set(set));
_this18.notifySubscribers();
}, function () {
_this18.betting_market_groups_list_by_sport_id = _this18.betting_market_groups_list_by_sport_id.delete( // eslint-disable-line
eventId);
});
}
return this.betting_market_groups_list_by_sport_id.get(eventId);
};
list_betting_markets
Get a list of all betting markets for a betting market group (BMG).
Apis.instance().db_api().exec( "list_betting_markets", [bettingMarketGroupId] )
bettingMarketGroupId:
The id of the betting market group that the betting markets are to be listed for.
A list of all the betting markets for the betting market group.
ChainStore.prototype.getBettingMarketsList = function getBettingMarketsList(bettingMarketGroupId) {
var _this19 = this;
var bettingMarketsList = this.betting_markets_list_by_sport_id.get(bettingMarketGroupId);
if (bettingMarketsList === undefined) {
this.betting_markets_list_by_sport_id = this.betting_markets_list_by_sport_id.set(bettingMarketGroupId, _immutable2.default.Set());
_ws.Apis.instance().db_api().exec('list_betting_markets', [bettingMarketGroupId]).then(function (bettingMarkets) {
var set = new Set();
for (var i = 0, len = bettingMarkets.length; i < len; ++i) {
set.add(bettingMarkets[i]);
}
_this19.betting_markets_list_by_sport_id = _this19.betting_markets_list_by_sport_id.set(bettingMarketGroupId, _immutable2.default.Set(set));
_this19.notifySubscribers();
}, function () {
_this19.betting_markets_list_by_sport_id = _this19.betting_markets_list_by_sport_id.delete(bettingMarketGroupId);
});
}
return this.betting_markets_list_by_sport_id.get(bettingMarketGroupId);
};
get_global_betting_statistics
Get global betting statistics
Apis.instance().db_api().exec( "get_global_betting_statistics", [] )
A list of all the global betting statistics.
ChainStore.getGlobalBettingStatistics = function getGlobalBettingStatistics() {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().db_api().exec('get_global_betting_statistics', []).then(function (getGlobalBettingStatistics) {
if (getGlobalBettingStatistics) {
resolve(getGlobalBettingStatistics);
} else {
resolve(null);
}
}, reject);
});
};
get_binned_order_book
Get the binned order book for a betting market.
Apis.instance().bookie_api().exec( "get_binned_order_book", [ betting_market_id, precision ] )
betting_market_id:
The id of the betting market for the order book.
A list of binned orders for the betting market.
ChainStore.getBinnedOrderBook = function getBinnedOrderBook(betting_market_id, precision) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().bookie_api().exec('get_binned_order_book', [betting_market_id, precision]).then(function (order_book_object) {
if (order_book_object) {
resolve(order_book_object);
} else {
resolve(null);
}
}, reject);
});
};
get_total_matched_bet_amount_for_betting_market_group
Get the total matched bets for a betting market group (BMG).
Apis.instance().bookie_api().exec( "get_total_matched_bet_amount_for_betting_market_group", [ group_id ] )
group_id
: The betting market group id.
Total of all the matched bet amounts for the selected betting market group.
ChainStore.getTotalMatchedBetAmountForBettingMarketGroup = function getTotalMatchedBetAmountForBettingMarketGroup(group_id) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().bookie_api().exec('get_total_matched_bet_amount_for_betting_market_group', [group_id]).then(function (total_matched_bet_amount) {
if (total_matched_bet_amount) {
resolve(total_matched_bet_amount);
} else {
resolve(null);
}
}, reject);
});
};
get_events_containing_sub_string
Used to search for events.
Apis.instance().bookie_api().exec( "get_events_containing_sub_string", [ sub_string, language ])
sub_string:
The (sub) string of text to search for
List of events that contain the sub-string
function getEventsContainingSubString(sub_string, language) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().bookie_api().exec('get_events_containing_sub_string', [sub_string, language]).then(
function (events_containing_sub_string) {
if (events_containing_sub_string) {
resolve(events_containing_sub_string);
} else {
resolve(null);
}
}, reject);
});
};
get_unmatched_bets_for_bettor
Get unmatched bets for a bettor.
Apis.instance().bookie_api().exec( "get_matched_bets_for_bettor", [ bettor_id ] )
bettor_id
: The id of the bettor.
List of all matched bets for a bettor.
ChainStore.getUnmatchedBetsForBettor = function getUnmatchedBetsForBettor(betting_market_id_type, account_id_type) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().db_api().exec('get_unmatched_bets_for_bettor', [betting_market_id_type, account_id_type]).then(function (unmatched_bets_for_bettor) {
if (unmatched_bets_for_bettor) {
resolve(unmatched_bets_for_bettor);
} else {
resolve(null);
}
}, reject);
});
};
list_events_in_group
Get a list of events in any event group.
Apis.instance().db_api().exec( "list_events_in_group", [ event_group_id ] )
event_group_id
: The id of the event group.
A list of all the events in the event group.
ChainStore.listEventsInGroup = function listEventsInGroup(event_group_id) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().db_api().exec('list_events_in_group', [event_group_id]).then(function (events_in_group) {
if (events_in_group) {
resolve(events_in_group);
} else {
resolve(null);
}
}, reject);
});
};
get_all_unmatched_bets_for_bettor
Get all unmatched bets of a bettor according to account type.
Apis.instance().db_api().exec( "get_all_unmatched_bets_for_bettor", [ account_id_type ] )
account_type_id
: The id of the bettor account type/
All unmatched bets by bettor account type.
ChainStore.getAllUnmatchedBetsForBettor = function getAllUnmatchedBetsForBettor(account_id_type) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().db_api().exec('get_all_unmatched_bets_for_bettor', [account_id_type]).then(function (all_unmatched_bets_for_bettor) {
if (all_unmatched_bets_for_bettor) {
resolve(all_unmatched_bets_for_bettor);
} else {
resolve(null);
}
}, reject);
});
};
get_matched_bets_for_bettor
Get the matched bets for a bettor.
Apis.instance().bookie_api().exec( "get_matched_bets_for_bettor", [ bettor_id ] )
bettor_id
: The id of the bettor.
All matched bets for the bettor.
ChainStore.getMatchedBetsForBettor = function getMatchedBetsForBettor(bettor_id) {
return new Promise(function (resolve, reject) {
_ws.Apis.instance().bookie_api().exec('get_matched_bets_for_bettor', [bettor_id]).then(function (matched_bets_for_bettor) {
if (matched_bets_for_bettor) {
resolve(matched_bets_for_bettor);
} else {
resolve(null);
}
}, reject);
});
};
get_all_matched_bets_for_bettor
Get all matched bets for a bettor within a range.
Apis.instance().bookie_api().exec( "get_all_matched_bets_for_bettor", [ bettor_id, start, limit ] )
bettor_id
: The id of the bettor
limit
: Number of bets to be returned
All matched bets for the better within the range start
to limit.
ChainStore.getAllMatchedBetsForBettor = function getAllMatchedBetsForBettor(bettor_id, start) {
var limit = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1000;
return new Promise(function (resolve, reject) {
_ws.Apis.instance().bookie_api().exec('get_all_matched_bets_for_bettor', [bettor_id, start, limit]).then(function (all_matched_bets_for_bettor) {
if (all_matched_bets_for_bettor) {
resolve(all_matched_bets_for_bettor);
} else {
resolve(null);
}
}, reject);
});
};