This is a simple PHP implementation for Betfair's API (API-NG). It handles both authentication against the SSO endpoint & requests against the JSON-RPC endpoint.
You can either get the files from GIT or you can install the library via Composer. To use Composer, simply add the following to your composer.json
file.
{
"require": {
"dcro/simple-betfair-php-api": "dev-master"
}
}
To initialize the API, you'll need to pass an array with your application key (appKey
), username
, password
and certificate file (cert
). Check out the Betfair API documentation for details on how to get these.
// Set the API configuration
$configuration = array(
'appKey' => '<betfair-application-key>',
'username' => '<betfair-api-username>',
'password' => '<betfair-api-password>',
'cert' => '/path/to/your/certificate.pem',
)
$api = new Betfair\SimpleAPI($configuration);
To make a request against the API endpoint, call the request()
method like this:
try {
// List event types
$response = $api->request('listEventTypes', '{"filter":{}}');
} catch (Exception $ex) {
// handle the exception
}
A more complex request example, to get the market catalogue for a specific event type (<your-event-type-id>
) from Great Britain and for the WIN
market.
try {
// Define the parameters
$params = '{
"filter" : {
"eventTypeIds" : ["<your-event-type-id>"],
"marketCountries" : ["GB"],
"marketTypeCodes" : ["WIN"],
"marketStartTime" : {"from":"' . date('c') . '"}
},
"sort" : "FIRST_TO_START",
"maxResults" : "1000",
"marketProjection" : ["EVENT","MARKET_START_TIME","RUNNER_DESCRIPTION","MARKET_DESCRIPTION"]
}';
// Get the market catalogue
$response = $api->request('listMarketCatalogue', $params);
} catch (Exception $ex) {
// handle the exception
}