API: Получение списока матчей

Метод позволяет получить список футбольных матчей с возможностью фильтрации по различным параметрам. ## HTTP Запрос **Метод:** `GET` **URL:** `/games/list` Пример: https://api.sstats.net/games/list?today=true ## Параметры запроса Все параметры передаются через query string (в URL после знака `?`). ### Основные фильтры | Параметр | Тип | Описание | Пример | |----------|-----|----------|---------| | `Id` | string | Список ID матчей через запятую | `Id=1377788,1363444,1353374` | | `FlashId` | string | Список FlashId через запятую | `FlashId=4lLFUzGO,CzA7ZgkU` | | `LeagueId` | int | ID лиги | `LeagueId=39` | | `SeasonUid` | GUID | Уникальный идентификатор сезона | `SeasonUid=12345678-1234-1234-1234-123456789012` | | `Year` | int | Год сезона | `Year=2024` | ### Фильтры по дате и времени | Параметр | Тип | Описание | Пример | |----------|-----|----------|---------| | `From` | DateTimeOffset | Начальная дата (включительно) | `From=2024-01-01T00:00:00Z` | | `To` | DateTimeOffset | Конечная дата (не включительно) | `To=2024-12-31T23:59:59Z` | #### Подробно о работе с датами и временем Параметры `From` и `To` поддерживают гибкие форматы задания даты и времени: **1. Только дата (автоматически устанавливается время 00:00:00)** ``` From=2024-01-15 To=2024-01-16 ``` **2. Дата с временем в UTC** ``` From=2024-01-15T14:30:00Z To=2024-01-15T18:00:00Z ``` **3. Дата с временем и указанием часового пояса** ``` From=2024-01-15T14:30:00+03:00 To=2024-01-15T18:00:00+03:00 ``` **Важные особенности:** - Параметр `From` включает указанную дату/время (>=) - Параметр `To` исключает указанную дату/время (<) - При указании только даты время автоматически устанавливается в 00:00:00 - Рекомендуется всегда указывать часовой пояс для избежания недоразумений **Примеры для получения матчей за конкретные периоды:** **Матчи за сегодняшний день (например, 15 января 2024):** ``` GET /games/list?From=2024-01-15&To=2024-01-16 ``` **Матчи с 14:00 до 18:00 по московскому времени:** ``` GET /games/list?From=2024-01-15T14:00:00+03:00&To=2024-01-15T18:00:00+03:00 ``` **Матчи за последние 24 часа от текущего момента:** ``` GET /games/list?From=2024-01-14T15:30:00Z&To=2024-01-15T15:30:00Z ``` ### Фильтры по командам | Параметр | Тип | Описание | Пример | |----------|-----|----------|---------| | `HomeTeam` | string | ID домашних команд через запятую | `HomeTeam=1,2,3` | | `AwayTeam` | string | ID гостевых команд через запятую | `AwayTeam=4,5,6` | | `Team` | string | ID команд (домашние ИЛИ гостевые) через запятую | `Team=1,2,3` | | `BothTeams` | string | ID команд (домашние И гостевые одновременно) через запятую | `BothTeams=1,2` | ### Фильтры по состоянию матча | Параметр | Тип | Описание | Пример | |----------|-----|----------|---------| | `Status` | byte | Статус матча ([Таблица статусов](https://sstats.net/openapi#tag/games/get/Games/{id})) | `Status=2` | | `Ended` | bool | Завершенные матчи | `Ended=true` | | `Live` | bool | Матчи в прямом эфире (начались не более 3 часов назад) | `Live=true` | | `Upcoming` | bool | Предстоящие матчи | `Upcoming=true` | ### Параметры вывода | Параметр | Тип | Описание | По умолчанию | Пример | |----------|-----|----------|--------------|---------| | `Offset` | int | Смещение для пагинации | 0 | `Offset=20` | | `Limit` | int | Количество записей (1-1000) | 1000 | `Limit=50` | | `Order` | int | Сортировка по дате (-1 = по убыванию, остальное = по возрастанию) | 0 | `Order=-1` | | `IncludeOdds` | bool | Включить коэффициенты в ответ | false | `IncludeOdds=true` | ## Примеры запросов ### Получить матчи за сегодня ``` GET /games/list?Today=true ``` ### Получить матчи за 1 определенный день ``` GET /games/list?From=2024-06-15&To=2024-06-16 ``` *Обратите внимание*, что для получения данных за 1 день, указывается 2 даты. (день указанный в 'To' не включается. Включается всё до него) ### Получить матчи в определенное время дня ``` GET /games/list?From=2024-06-15T18:00:00+03:00&To=2024-06-15T22:00:00+03:00 ``` ### Получить последние 10 матчей ``` GET /games/list?Limit=10&Order=-1 ``` ### Получить матчи конкретной лиги за 2024 год ``` GET /games/list?LeagueId=1&Year=2024 ``` ### Получить завершенные матчи с участием команды ID=5 ``` GET /games/list?Team=5&Ended=true ``` ### Получить живые матчи с коэффициентами ``` GET /games/list?Live=true&IncludeOdds=true ``` ### Получить матчи между конкретными командами ``` GET /games/list?BothTeams=1,2 ``` ### Получить матчи за период с пагинацией ``` GET /games/list?From=2024-01-01T00:00:00Z&To=2024-01-31T23:59:59Z&Offset=0&Limit=20 ``` ## Важные особенности 1. **Обязательность фильтров**: Должен быть указан хотя бы один параметр фильтра, иначе метод вернет ошибку. 2. **Лимиты**: - Максимальное количество записей за один запрос: 1000 - Минимальное количество записей: 1 3. **Работа с датами**: - Поддерживаются форматы: только дата (`2024-01-15`) или дата с временем (`2024-01-15T14:30:00Z`) - При указании только даты время автоматически устанавливается в 00:00:00 - `From` включает указанное время (>=), `To` исключает указанное время (<) - Рекомендуется указывать часовой пояс для точности - Для получения матчей за весь день используйте: `From=YYYY-MM-DD&To=YYYY-MM-DD+1день` 4. **Множественные значения**: Для параметров, поддерживающих несколько значений, используйте запятую как разделитель. 5. **Живые матчи**: Фильтр `Live=true` показывает матчи, которые начались не более 3 часов назад и помечены как живые. # ## Коды ошибок - **400 Bad Request**: "Не задан ни один параметр фильтра" - когда не указан ни один фильтр - **400 Bad Request**: Некорректный формат параметров (например, неправильный формат даты или GUID)

|API|Туториал|