betfair-sports-api

Betfair Sports API for Node

npm install betfair-sports-api
16 downloads in the last week
163 downloads in the last month

Betfair Sports API for Node.js

Installation

npm install betfair-sports-api

Tutorial

There is the Betfair Sports API for Node.js Tutorial that provides quick and easy start with the library. No Node.js and minimal JavaScript knowledge is required. Please note that the tutorial is not finished yet, but is still very good for start.

Synopsis

Login to Betfair:

var betfair = require('betfair-sports-api');
var login = 'nobody';
var password = 'password';

var session = betfair.newSession(login, password);
session.open(function (err, res) {
    console.log( !err ? "Login OK" : "Login error"); 
}

Placing a bet:

var bet = { 
        asianLineId: "0",
        betCategoryType: "E",
        betPersistenceType: "NONE",
        betType: "L",
        bspLiability: "0",
        marketId: "1234567890",
        price: "1.01",
        selectionId: "123456",
        size: "5.00"
};
var inv = session.placeBets( [bet] );
inv.execute(function(err, res) {
    console.log( !err ? "Bet placed OK" : "Bet place error"); 
}

Betfair Sports API Reference

var betfair = require('betfair-sports-api')

includes betfair-sports-api functions into current module

Exported functions

Summary: newSession, newBetfairPrice, isBetEmulationEnabled, setBetEmulationEnabled, setXmlLoggingEnabled, getInvocationHistory

var session = betfair.newSession('login','password');

Creates a new session to Betfair, returns session object. Session should not be confused with a HTTPS connection, in fact, session uses a pool of HTTPS connections. newSession does not connect to Betfair, it just creates the session object, call the open method to issue a login invocation. See the Session object methods for details.


var betPrice = betfair.newBetfairPrice(size);

Creates a new Betfair Price object. The Betfair price cannot be of arbitrary size, it should be a properly rounded (quantized) value. The newBetfairPrice allows to round price to a valid Betfair value, increment and decrement price values. See the Price object methods for details


Session object methods

Summary: open, close, keepAlive

session.open( function(err, invocation) {...} );

Issue the login invocation using login and password specified in newSession and call the callback on completion. if err is null the login invocation was successful, otherwise err describes error. You should not worry about the security token, it is remembered in session.header property and used automatically in all the further invacations. Returns nothing.


session.close( function(err, invocation) {...} );

Issue the logout invocation and call the callback on completion. if err is null the logout invocation was successful, otherwise err describes error. Returns nothing.


var inv = session.keepAlive();

Creates a keepAlive invocation object. Use inv.execute( function(err,inv) {...} ) to send the keepAlive to server and get its result.


var inv = session.getAllMarkets(options)

Creates a getAllMarkets invocation object. Use inv.execute( function(err,inv) {...} ) to send the getAllMarkets to server and get its result. The options are:

  • locale: String
    The locale to use when returning results. If not specified, the default locale for the user’s account is used.
  • eventTypeIds: Array
    If set, the events types to return. If not specified, markets from all event types are returned. For example [1, 2] will return only soccer and tennis markets.
  • fromDate: Date
    If this is set, the response contains only markets where the market time is not before the specified date. A null value indicated no limit.
  • toDate: Date
    If this is set, the response contains only markets where the market time is not after the specified date. A null value indicated no limit.

var inv = session.getMarket(marketId, options);

Creates a getMarket invocation object for market marketId. Use inv.execute( function(err,inv) {...} ) to send the getMarket to server and get its result. The options are:

  • locale: String
    The locale to use when returning results. If not specified, the default locale for the user’s account is used.
  • includeCouponLinks: bool
    If you set this parameter to true, the service response contains a list of any coupons that include the market you have requested. If you set the parameter to false, no coupon data is returned.

var inv = session.getMarketPricesCompressed(marketId, options);

Creates a getMarketPricesCompressed invocation object for market marketId. Use inv.execute( function(err,inv) {...} ) to send the getMarketPricesCompressed to server and get its result. The options are:

  • currencyCode: String
    The three letter ISO 4217 code. If not supplied, user’s currency is used

var inv = session.getCompleteMarketPricesCompressed(marketId, options);

Creates a getCompleteMarketPricesCompressed invocation object for market marketId. Use inv.execute( function(err,inv) {...} ) to send the getCompleteMarketPricesCompressed to server and get its result. The options are:

  • currencyCode: String
    The three letter ISO 4217 code. If not supplied, user’s currency is used

var inv = session.getMUBets(betStatus, orderBy, count, sortOrder, startRecord, options);

Creates a getMUBets invocation object for market marketId. Use inv.execute( function(err,inv) {...} ) to send the getMUBets to server and get its result. The options are:

  • currencyCode: String
    The three letter ISO 4217 code. If not supplied, user’s currency is used

Price object methods and properties

price.size

The quantized (or rounded) price value.

npm loves you