Easily talk to an SportMonks API in PHP
Switch branches/tags
Clone or download
Latest commit e288fd3 Oct 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src/SportMonks/API Fix multi sintax. Oct 11, 2018
tests Added squad endpoint. Nov 7, 2017
.gitignore Fix gitignore. Nov 1, 2017
.travis.yml Added tests. Oct 31, 2017
LICENSE Create LICENSE Oct 31, 2017
README.md Update README.md Jan 8, 2018
composer.json Added tests. Oct 31, 2017
composer.lock Added empty array as default param on nextPage trait. Sep 9, 2018
phpunit.xml Added tests. Oct 31, 2017

README.md

SportMonks API Client Library

Build Status

API Version support

This API Client supports SportMonks v2.0.

Requirements

  • PHP 5.6 or higher

Installation

composer require hristonev/sportmonks-client-bundle

Configuration

// Bootstrap
require 'vendor/autoload.php';

use SportMonks\API\HTTPClient as SportMonksAPI;
use SportMonks\API\Utilities\Auth;

// Default values. Can be initialized without arguments.
$scheme = 'https';
$hostname = 'sportmonks.com';
$subDomain = 'soccer';
$port = 443;

// Auth.
$token = 'open sesame';

$client = new SportMonksAPI();
// or
//$client = new SportMonksAPI($scheme, $hostname, $subDomain, $port);

// Set auth.
$client->setAuth(Auth::BASIC, [
    'token' => $token
]);

Usage example

Paginated resource

$data = [];
do{
    $data = array_merge($data, $client->countries()->findAll());
}while($client->countries()->nextPage());
print_r($data);

Reference

Include data

$seasonId = 6361;
$teamId = 85;
$client->squad()->getBySeasonAndTeam(
    $seasonId,
    $teamId,
    [
        'query' => [
            'include' => 'player,position'
        ]
    ]
)

Above example, includes player info and player-position info into collection. Check for more query parameters.

Basic methods endpoints

Basic methods find({id}), findAll(), nextPage(). nextPage() is used on paginated response.

  • continents
  • countries
  • leagues
  • seasons
    • find(id, true) Include results.
    • standings(season_id)
    • standingsLive(season_id)
    • topScorers(season_id)
  • fixtures
    • between()->period(from, to, teamId) Params from and to are DateTime objects, teamId is integer. TeamId is optional.
    • date()->day(date) Param is DateTime object.
    • commentaries(fixture_id)
    • videoHighlights(fixture_id)
    • tvStations(fixture_id)
    • odds(fixture_id)
    • oddsByBookmaker(fixture_id, bookmaker_id)
    • oddsByMarket(fixture_id, market_id)
    • oddsInPlay(fixture_id)
    • Fixtures does not support findAll method.
  • teams
    • find(id, true) Include stats.
    • season(id) Get teams by season.
    • Teams does not support findAll method.
  • head2Head
    • get(array) Array must contain 2 elements(team1_id,team2_id).
    • There is no additional mthods.
  • liveScores
    • today()
    • inPlay()
  • highlights
    • Video haighlights does not support find method. Additional method in fixtures is presented.
  • venues
    • Venue does not support findAll method.
  • bookmakers
  • players
    • Players does not support findAll method.
  • squad
    • getBySeasonAndTeam(season_id, team_id) No other methods