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

userToken

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
3. Оплата
Инициализация платежа
POST /v5/purchase/init

Authentication

userToken
  1. Авторизация обязательна
  2. При вызове метода создается платеж в магазине, который настроен в Админке - Глобальные настройки - Покупки

Request body

Object
offer
integer

Идентификатор оффера (если покупка продукта)

ppv
integer

Идентификатор трансляции (если покупка трансляции)

paymentType
string

Тип оплаты

Enumeration:
card

Оплата картой

sbp

Оплата по СБП

paymentID
string

Идентификатор сохраненного способа оплаты (карты)

redirectUrl
string nullable

Адрес страницы, на которую вернется пользователь после оплаты на сайте

Example:
https://www.example.com/return_url
storeWithout3ds
boolean

Оплата без 3ДС

savePaymentMethod
boolean

Сохранять способ оплаты

Example:
true

Responses

200 OK
Body
Object
server_time
string nullable

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

Example:
2025-09-05T10:47:31Z
result
Object

Результат

confirmation_url
string nullable

Ссылка на подтверждение платежа

Example:
https://paymentpage.gazprombank.ru/#LCS6VWYMT9ZL3AXA
transaction_id
integer nullable

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

Example:
34562
payment_status
string nullable

Статус платежа

Example:
pending
400 400

Продукт недоступен. Предложение(offer, ppv) не найден. Некорреткный способ оплаты (paymentType). RedirectUrl не может использоваться для оплаты СБП. Некорреткный идентификатор сохраненного способа оплаты ((paymentId)

401 Unauthorized

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

SchemesPurchase
errorPurchase

Ошибка

Object

Ошибка

error
Object

Инфорация об ошибка

code
integer

Код ошибки

Example:
1001
message
string

Текст ошибки

Example:
Some request parameter is wrong
title
string

Ошибка

Example:
Ошибка
server_time
string

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

Example:
2025-09-05T10:47:31Z