API предоставляет возможность получения информации о футбольных командах. Доступны два основных метода: получение списка команд с возможностью фильтрации и пагинации, а также получение детальной информации о конкретной команде. **Базовый URL**: `/teams` **Формат ответа**: JSON --- ## Методы API ### 1. Получение списка команд **Метод**: `GET` **URL**: `/teams/list` #### Описание Возвращает список футбольных команд с возможностью фильтрации по стране и пагинации результатов. #### Параметры запроса | Параметр | Тип | Обязательный | Описание | Ограничения | |----------|-----|--------------|----------|-------------| | `name` | string | Нет | Название команды для поиска | 2-100 символов | | `country` | string | Нет | Код страны или название страны | До 50 символов | | `offset` | integer | Нет | Количество записей для пропуска (пагинация) | ≥ 0, по умолчанию: 0 | | `limit` | integer | Нет | Максимальное количество записей в ответе | 1-1000, по умолчанию: 100 | #### Примеры запросов ```http # Получить первые 10 команд GET /teams/list?limit=10 # Найти команды из России GET /teams/list?country=RUS # Найти команды по названию с пагинацией GET /teams/list?name=Arsenal&offset=0&limit=20 # Комбинированный поиск GET /teams/list?country=England&offset=10&limit=5 ``` #### Формат ответа Метод возвращает объект с массивом команд и информацией о пагинации: ```json { "status": "OK", "count": 100, "data": [ { "id": 1, "name": "Belgium", "flashId": "belgium/GbB957na", "logoUrl": "https://media-1.api-sports.io/football/teams/1.png", "country": { "code": "BE", "name": "Belgium" } }, { "id": 2, "name": "France", "flashId": "france/QkGeVG1n", "logoUrl": "https://media-1.api-sports.io/football/teams/2.png", "country": { "code": "FR", "name": "France" } } ], "totalCount": 25824 } ``` #### Поля ответа - `id` - уникальный идентификатор команды - `name` - название команды - `flashId` - внешний идентификатор (может быть null) - `logoUrl` - URL логотипа команды (может отсутствовать) - `country` - информация о стране команды - `totalCount` - общее количество команд (для пагинации) --- ### 2. Получение детальной информации о команде **Метод**: `GET` **URL**: `/Teams/{id}` #### Описание Возвращает подробную информацию о конкретной команде, включая список игроков, тренера, домашний стадион и сезоны участия. #### Параметры пути | Параметр | Тип | Обязательный | Описание | |----------|-----|--------------|----------| | `id` | integer | Да | Уникальный идентификатор команды (≥ 1) | #### Примеры запросов ```http # Получить информацию о команде с ID = 1 GET /Teams/1 # Получить информацию о команде с ID = 42 GET /Teams/42 ``` #### Формат ответа ```json { "status": "OK", "data": { "id": 16, "name": "Mexico", "flashId": "mexico/O6iHcNkd", "country": { "code": "MX", "name": "Mexico" }, "seasons": [ { "uid": "43d3d8d4-948a-11eb-a0f6-d8cb8ac15be9", "year": 2010, "league": { "id": 1, "name": "World Cup", "country": { "code": "WW", "name": "World" } } }, { "uid": "43d3d8d5-948a-11eb-a0f6-d8cb8ac15be9", "year": 2014, "league": { "id": 1, "name": "World Cup", "country": { "code": "WW", "name": "World" } } } ], "venue": { "name": "Estadio Azteca", "address": "Calzada de Tlalpan 3665, Coyoacán", "city": "D.F.", "capacity": 106187 }, "coach": { "id": 1693, "name": "D. Cocca" }, "players": [ { "id": 2869, "name": "E. Álvarez" }, { "id": 2873, "name": "C. Montes" }, { "id": 2879, "name": "R. Alvarado" }, { "id": 2881, "name": "J. Gallardo" } ] } } ``` #### Дополнительные поля в детальной информации - `seasons` - массив сезонов, в которых участвовала команда - `venue` - информация о домашнем стадионе - `name` - название стадиона - `address` - адрес - `city` - город - `capacity` - вместимость - `coach` - информация о главном тренере - `players` - массив игроков команды --- ## Коды ответов | Код | Описание | |-----|----------| | 200 | Успешный запрос | | 400 | Неверные параметры запроса | | 404 | Команда не найдена (только для метода получения по ID) | | 500 | Внутренняя ошибка сервера | ## Обработка ошибок В случае ошибки API возвращает объект с подробной информацией: ```json { "success": false, "data": null, "message": "Описание ошибки", "errors": { "fieldName": ["Список ошибок валидации"] } } ``` ## Примеры использования ### Поиск команд по стране ```http GET /teams/list?country=Spain&limit=50 ``` ### Получение команд с пагинацией ```http GET /teams/list?offset=20&limit=10 ``` ### Получение полной информации о команде ```http GET /Teams/15 ```
|API|Туториал|