JSON API Documentation

Удостоверяване

Удостоверяването се извършва посредством API key, който се генерира специално за вашия сайт.

Може да заявите вашия API key на следния email: api@bgclubs.eu

Въведете вашия API key като X-GOALBg-Key хедър:

curl -H "X-GOALBg-Key: {api_key}" https://api.goal.bg/…

Примерен PHP код

$url = 'https://api.goal.bg/standings.json?season_id=220&tournament_id=1000000&phase_id=100'
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 2);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('X-GOALBG-Key: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'));
$result = @curl_exec($ch);
curl_close($ch);

Резултат

Хедъри

X-RateLimit-Limit Общият брой заявки, които можете да направите.
X-RateLimit-Remaining Оставащият брой заявки, които можете да направите.
X-RateLimit-Reset Оставащото време до нулиране на ограничението на заявките.

Грешки

400 API key not provided Не е предоставен ключ за удостоверяване.
400 Some of the filters you requested do not exist Подадени са филтри, които не съществуват.
400 Some of the filters you requested do not valid Некоректен формат на подадените филтри.
400 Missing required filters Липсват задължителни филтри.
401 API key not found Предоставеният ключ за удостоверяване не е регистриран.
403 Inactive Account Достъп до ресурс, който съществува, но не е достъпен.
404 Not Found Достъп до ресурс, който не съществува.
429 Rate limit exceeded Превишен е лимита на направените заявки.

Ресурси

Статус

/status.json

GET ТЕСТ
[
   {
      "user": "Test API",
      "email": "api@bgclubs.eu",
      "active": true,
      "plan": "Стандарт",
      "rateLimit": "10000",
      "subscription": "2022-09-30",
      "requests": "170"
   }
]

Сезони

/seasons.json

GET ТЕСТ
{
   "count": 25,
   "current": 220,
   "seasons": [
      {
         "id": "220",
         "key": "2019-2020",
         "name": "2019/2020"
      },
      {
         "id": "219",
         "key": "2018-2019",
         "name": "2018/2019"
      },
      ...
      {
         "id": "148",
         "key": "1948-1949",
         "name": "1948/1949"
      }
   ]
}

Клубове

/clubs.json

GET ТЕСТ
{
   "count": 1465,
   "clubs": [
      {
         "id": "10103",
         "key": "Levski(Sofia)",
         "name": "Левски (София)",
         "shortName": null,
         "active": true
      },
      ...
      {
         "id": "10256",
         "key": "Vitosha(Bistritsa)",
         "name": "Витоша (Бистрица, обл.София ст.)",
         "shortName": Витоша (Бистрица),
         "active": true
      },
      ...
      {
         "id": "10342",
         "key": "Ayaks(Oresh)",
         "name": "Аякс (Ореш)",
         "shortName": null,
         "active": false
      }
   ]
}

Филтри

Name Type Default Description
club_id optional integer
{\d\d\d\d\d}
- ID на клуба
name optional string
- Име на клуба
active optional integer
{1|0}
- Активен ли е клуба

Отбори

/teams.json

GET
[
   "В процес на разработка."
]

Турнири

/tournaments.json

GET ТЕСТ
{
   "count": 162,
   "tournaments": [
      {
         "id": "1000000",
         "name": "Първа професионална лига",
         "nameEng": "Parva profesionalna liga",
         "layer": "11",
         "type": "1",
         "phase": [
            {
               "id": "100",
               "name": "Първа фаза",
               "nameEng": "First phase"
            },
            {
               "id": "200",
               "name": "Втора фаза",
               "nameEng": "Second phase"
            }
         ]
      },
      {
         "id": "2000000",
         "name": "Втора професионална лига",
         "nameEng": "Vtora profesionalna liga",
         "layer": "11",
         "type": "1"
         "phase": [
            {
               "id": "100",
               "name": "",
               "nameEng": ""
            }
         ]
      },
      ...
      {
         "id": "8090101",
         "name": "Държавно първенство за жени",
         "nameEng": "Darzhavno parvenstvo - women",
         "layer": "91",
         "type": "1"
         "phase": [
            {
               "id": "100",
               "name": "",
               "nameEng": ""
            }
         ]
      }
   ]
}

Филтри

Name Type Default Description
season_id optional integer
{\d\d\d}
220 ID на сезона
tournament_id optional integer
{\d\d\d\d\d\d\d}
- ID на трурнира
phase_id optional integer
{\d\d\d}
- ID на фазата
type optional integer
{\d}
- Тип на турнира

Резултати

/results.json

GET
[
   "В процес на разработка."
]

Класирания

/standings.json

GET ТЕСТ
{
   "data":[
      {
         "position":1,
         "team":{
            "id":"10228-111",
            "key":"Ludogorets1945(Razgrad)",
            "logo":"https://api.goal.bg/logos/25/10228.png",
            "link":"http://bgclubs.eu/teams/Ludogorets1945(Razgrad)",
            "name":"Лудогорец 1945 (Разград)",
            "nameLatin":"Ludogorets 1945 (Razgrad)",
            "shortName34":"",
            "shortName27":"Лудогорец 1945 (Рз)",
            "additionalName":""
         },
         "playedGames":"23",
         "wins":"19",
         "draws":"3",
         "losses":"1",
         "goalsFor":"60",
         "goalsAgainst":"17",
         "goalDifference":"43",
         "points":"60",
         "status":"TOP2",
         "notes":"Първи 6"
      }
   ]
}

Филтри

Name Type Default Description
season_id optional integer
{\d\d\d}
220 ID на сезона
tournament_id required integer
{\d\d\d\d\d\d\d}
- ID на трурнира
phase_id optional integer
{\d\d\d}
100 ID на фазата
type optional ident
{full|home|away|round}
full не се подържа за момента