MatchClub

1. Методы для интеграции с ГИД
Получение списка подписок пользователя
GET /v5/gid/user/{user_id}/subscriptions

Authentication

Open

Информация о подписках пользователя будет запрашиваться каждый раз при входе в личный кабинет Газпром ID

Важные моменты

  1. Вызов метода будет доступен только от белых списков IP-адресов, которые заранее будут добавлены
  2. При авторизации использовать API-ключ (API key)
  3. Информация по подпискам:
  • в случае если были куплены подписки в разные периоды без автопродления, то отдаются данные по подписке на позднюю дату,
  • ответ включает в себя и подписки по архивным продуктам

Path variables

user_id
string required

Идентификатор пользователя в ГИД

Example:
YUjBxoReNP1vV5W7nAecKV

Request headers

X-API-Key
string required

API-ключ для получения данных

Example:
1222e6a72c7212344a73d40acf6429bf1

Responses

200 200

OK

Body
application/json
Object
user_gid_id
string

Идентификатор пользователя

Example:
YUjBxoReNPGvV5W7nAecKV
url_lk
string

Ссылка для перехода в ЛК пользователя на Матч ТВ

Example:
https://matchtv.ru/profile
subscriptions
404 404

Пользователь не найден

Body
401 Unauthorized

Неверный API-ключ (API key)

Body
Подписки пользователя
Несколько подписок в ответе
Неправильный идентификатор
У пользователя никогда не было и нет активных подписок
Невалидный ApiKey
GET /v5/gid/user/YUjBxoReNPGvV5W7nAecKV/subscriptions HTTP/1.1 

X-API-Key: 168e6a72c72b4886a73d40acf6429bf1

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "user_gid_id": "YUjBxoReNPGvV5W7nAecKV",
    "url_lk": "https://matchtv.ru/profile"
    "subscriptions": [
        {
            "subscription_name": "М! Максимум",
            "subscription_logo": {
                "url": "https://filebank.zxz.su/files/match-club/new_app/product/icon/78a0/9e74/78a09e742a8edfdbc6a230a762b39a1c.svg",
                "width": 20,
                "height": 20,
                "mimo": "image/svg"
                },
            "is_active": true,
            "expired_at": "2025-06-20T23:59:59Z",
            "is_recurring": true
            }
        ]
}
GET /v5/gid/user/YUjBxoReNPGvV5W7nAecQW/subscriptions HTTP/1.1 

X-API-Key: 168e6a72c72b4886a73d40acf6429bf1

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "user_gid_id": "YUjBxoReNPGvV5W7nAecQW",
    "url_lk": "https://matchtv.ru/profile"
    "subscriptions": [
        {
            "subscription_name": "М! Максимум",
            "subscription_logo": {
                "url": "https://filebank.zxz.su/files/match-club/new_app/product/icon/78a0/9e74/78a09e742a8edfdbc6a230a762b39a1c.svg",
                "width": 20,
                "height": 20,
                "mimo": "image/svg"
                },
            "is_active": true,
            "expired_at": "2025-06-20T23:59:59Z",
            "is_recurring": true
        },
        {
            "subscription_name": "М! Премьер",
            "subscription_logo": {
                 "url": "https://api-dev-410.match-club.ru/files/match-club/new_app/product/icon/ce8d/000b/ce8d000b0d07b2f434fcdf02611500e2.svg",
                 "width": 20,
                 "height": 20,
                 "mimo": "image/svg"
                },
            "is_active": false,
            "expired_at": "2024-01-20T23:59:59Z",
            "is_recurring": false
        }
    ]
}
GET /v5/gid/user/1/subscriptions HTTP/1.1 

X-API-Key: 1222e6a72c7212344a73d40acf6429bf1

HTTP/1.1 404 Not Found 

Content-Type: application/json

{
    "server_time": "2025-07-23T10:47:31Z",
    "error": {
        "code": 404,
        "title": "Ошибка",
        "message": "User is not found"
    }
}
GET /v5/gid/user/YUjBxoReNPGvV5W7nerttf/subscriptions HTTP/1.1 

X-API-Key: 168e6a72c72b4886a73d40acf6429bf1

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "user_gid_id": "YUjBxoReNPGvV5W7nerttf",,
    "url_lk": "https://matchtv.ru/profile"
    "subscriptions": [
    ]
}
GET /v5/gid/user/YUjBxoReNP1vV5W7nAecKV/subscriptions HTTP/1.1 

X-API-Key: 001

HTTP/1.1 401 Unauthorized 

Content-Type: application/json

{
    "server_time": "2025-07-23T10:47:31Z",
    "error": {
        "code": 401,
        "title": "Ошибка",
        "message": "Unauthorized request"
    }
}
SchemesSubsriptions
UserSubsriptions
Object
subscription_name
string required

Название подписки

Example:
М! Максимум
subscription_logo
Object

Логотип подписки

url
string

Ссылка на логотип подписки

Example:
https://filebank.zxz.su/files/match-club/new_app/product/icon/78a0/9e74/78a09e742a8edfdbc6a230a762b39a1c.svg
width
integer

Ширина

Example:
20
height
integer

Высота

Example:
20
mimo
string

Формат

Example:
image/svg
is_active
boolean required

Статус подписки (Активна = true, Неактивна = false)

expired_at
string required

Дата истечения подписки

Example:
2025-06-20T23:59:59Z
is_recurring
boolean

Признак автопродления

Example:
true
Error
Object
server_time
string

Текущее время сервера в UTC

Example:
2025-07-23T10:47:31Z
error
Object

Ошибка

code
integer

Код ошибки

Example:
403
title
string

Название

Example:
Ошибка
message
string

Текст ошибки

Example:
Access denied
2. Полки TV
Получение видеоконтента в коллекции
GET /v5/shelves/collection/{id}/data

Authentication

1

Path variables

id
string required

Идентификатор коллекции

Request parameters

limit
integer optional

Максимальное количество элементов списка, которое будет отдано в ответе

Example:
20
offset
integer optional

Постраничная навигация (Отступ от начала списка)

Example:
0

Responses

200 OK
Body
Object
id
integer required

Идентификатор коллекции

Example:
1
name
string required

Наименование коллекции

Example:
Обзоры всех туров
has_more
boolean

Признак - есть ли в наличии еще контент для коллекции больше указанного значения в параметре limit

Example:
true
items
Array of ContentView

Список контентов в коллекции

404 Not Found

Неверный идентификатор коллекции

200
404
GET /v5/shelves/collection/5/data?limit=2 HTTP/1.1 

HTTP/1.1 200 OK 

Content-Type: application/json

{
    "id": 5,
    "name": "Обзоры всех туров",
    "has_more": true,
    "items": [
        {
            "type": "ppv",
            "data": {
                "id": 45,
                "title": "Зенит - Химки",
                "subtitle": "МИР Российская Премьер-Лига. Тур 1",
                "is_paid": true,
                "has_multicam": true,
                "has4k": true,
                "has_audio": true,
                "has_stat": true,
                "has_moments": true,
                "product_ids": [
                    16
                ],
                "image": {
                    "url": "https://cdn-sportbox.zxz.su/images/styles/upload/fp_fotos/47/dd/ea507573ba1b7bfea6bbd715e4aa4c10686e2c4c85bae538300555.jpg",
                    "width": 20,
                    "height": 20,
                    "mime": "png"
                },
                "background": {
                    "url": "https://cdn-sportbox.zxz.su/images/styles/upload/fp_fotos/47/dd/ea507573ba1b7bfea6bbd715e4aa4c10686e2c4c85bae538300555.jpg",
                    "width": 20,
                    "height": 20,
                    "mime": "png"
                },
                "state": "archive",
                "pg": "6+",
                "dt_start": "2025-06-20T11:55:32Z",
                "dt_finish": "2025-06-20T12:55:32Z"
            },
            "view_sec": 100
        },
        {
            "type": "ppv",
            "data": {
                "id": 43,
                "title": "Оренбург - Челябинск",
                "subtitle": "Лига PARI. Тур 1",
                "is_paid": false,
                "has_multicam": false,
                "has4k": false,
                "has_audio": false,
                "has_stat": false,
                "has_moments": false,
                "image": {
                    "url": "https://cdn-sportbox.zxz.su/images/styles/upload/fp_fotos/47/dd/ea507573ba1b7bfea6bbd715e4aa4c10686e2c4c85bae538300555.jpg",
                    "width": 20,
                    "height": 20,
                    "mime": "png"
                },
                "state": "archive",
                "pg": "6+",
                "dt_start": "2025-07-01T19:01:32Z",
                "dt_finish": "2025-07-01T20:55:32Z"
            },
            "view_sec": 100
        }
    ]
}
GET /v5/shelves/collection/999999999999999/data HTTP/1.1 

HTTP/1.1 404 Not Found 

Content-Type: application/json

{
    "error": {
        "code": "404",
        "title": "Ошибка",
        "message": "Коллекция не найдена"
    }
}
SchemesCollection
ContentView

Элемент видеоконтента в коллекции

Object
type
string

Тип контента

Enumeration:
ppv

Трансляция

video

Видео

Example:
ppv
data
Object

Данные для отображения карточки контента

id
integer required

Идентификатор контента

Example:
45
title
string required

Наименование контента

Для трансляций выводится “Основной заголовок” (basic_title), если отсутствует, то “Заголовок” (title)

Example:
Зенит - Химки
subtitle
string nullable

Описание контента

Для трансляций выводится “Подзаголовок” second_title, если отсутствует, то “Описание” (subtitle), если отсутствует и subtitle, то ничего не выводим

Example:
МИР Российская Премьер-Лига. Тур 1
is_paid
boolean nullable

Признак платности контента

Example:
true
has_multicam
boolean

Признак мультикама

Example:
true
has4k
boolean

Признак 4к

Example:
true
has_audio
boolean

Признак наличия аудиодорожек

Example:
true
has_stat
boolean

Признак отображения статистики

Example:
true
has_moments
boolean

Признак наличия моментов

Example:
true
product_ids
Array of integer nullable

Идентификаторы продуктов, в которые входят трансляция/видео по подписке Передается, если контент доступен только по подписке

image

Карточка контента

background

Фоновая картинка

state
string nullable

Статус трансляции

Enumeration:
announce
archive
live
Example:
archive
pg
string nullable

Возрастное ограничение

Enumeration:
0+
6+
12+
16+
18+
Example:
6+
dt_start
string nullable

Дата начала трансляции

Example:
2023-09-20T19:55:32Z
dt_finish
string nullable

Дата окончания трансляции

Example:
2023-09-20T19:55:32Z
duration
integer nullable

Продолжительность (только для видео)

Example:
64
published_at
string nullable

Дата публикации

Example:
2023-09-20T19:55:32Z
view_sec
integer

Время показа в секундах (для ручного добавленного контента)

Example:
10
image

Данные по изображению

Object

Данные по изображению

url
string

Ссылка на картинку

Example:
https://cdn-sportbox.zxz.su/images/styles/upload/fp_fotos/47/dd/ea507573ba1b7bfea6bbd715e4aa4c10686e2c4c85bae538300555.jpg
width
integer nullable

Ширина

Example:
20
height
integer nullable

Высота

Example:
20
mime
string nullable

Формат картинки

Example:
png
ErrorCollection

Ошибка

Object
error
Object
code
string

Код ошибки

Example:
404
title
string

Заголовок

Example:
Ошибка
message
string

Текст ошибки

Example:
Some document is not found