Документация Gamering API V1.0.1

Данный API позволяет партнёрам получать игровые ваучеры, обрабатывать их выдачу, активировать ваучеры, пополнять балансы сервисов, игр и управлять статусами заказов. Ниже представлены основные методы API с примерами, описанием параметров и возможными ошибками.

changelog

V1.0.1

V1.0

Доступные endpoint API

  1. /api/auth/login - Авторизация партнёров
  2. /api/balance - Получение актуального баланса
  3. /api/gameslist - Получение списка игр/сервисов доступных для пополнения через ваучеры или прямым пополнением баланса
  4. /api/voucher_available - Получение списка доступных ваучеров по id игры/сервиса
  5. /api/voucher_request - Запрос на бронирование ваучера и создание заказа (доступно не во всех сервисах)
  6. /api/pay - универсальный запрос на пополнение баланса, получения ваучера
  7. /api/order_update - Обновление статуса заказа
  8. /api/get_order_info - Получение статуса и информации о заказе
  9. /api/revise - Отправка реестра транзакций для сверки
  10. /api/get_orders - Получение списка заказов за выбранный период
  11. /api/pubg_check - Сервисный endpoint для проверки существования аккаунта PUBG Mobile
  12. /api/steam_check - Сервисный endpoint для проверки существования аккаунта и возможности его пополнения в Steam
  13. /api/steam_pay - Отдельный endpoint для пополения Steam

Общая логика работы API

Ниже описана типичная последовательность действий при использовании API:

  1. Авторизация: Партнёр отправляет POST-запрос на /api/auth/login с параметрами login и api_key. В ответ получаем JWT-токен для авторизации при последующих запросах. Время жизни токена - 1 час
  2. Получение баланса: С помощью GET запроса вызывается /api/balance для получения актуального баланса партнёра.
  3. Получение списка доступных игр и сервисов для пополнения: С помощью GET запроса вызывается /api/gameslist для получения списка доступных игр/сервисов. В зависимости от параметра type = balance/voucher зависит дальнейший сценарий работы через ваучер или пополнение баланса.
  4. Получение доступных номиналов ваучеров (type = voucher): С помощью GET запроса /api/voucher_available?game_id=ID запрашиваются доступные номиналы ваучеров по ID игры.
  5. Резервирование ваучера (при request = true): Партнёр делает GET-запрос на /api/voucher/request с параметрами voucher_id, и опционально для игр с возможностью активации ваучера activate и player_id. Если ваучер доступен — он резервируется и создаётся заказ. Данный метод доступен не для всех игр/сервисов
  6. Ожидание оплаты: Ваучер имеет статус зарезервирован и ожидает статуса заказа от партнёра.
  7. Подтверждение оплаты: Партнёр вызывает /api/order_update методом POST с ID заказа и статусом:
    • 2 — Успешная оплата, ваучер помечается как отправлен, а заказ как успешный. В случае, если при запросе ваучера был передан параметр на активацию ваучера игры PUBG, происходит его автоматическая активация после получения данного статуса заказа.
    • 3 — Ошибка оплаты, резерв снимается, ваучер становится снова доступен.
  8. Фоновая проверка: Если статус оплаты не передан в течение срока hold_until (согласовывается отдельно с партнёром) — резерв автоматически снимается или по результатам сверки.
  9. Активация ваучеров (activation = auto): Если при первичном запросе на обновление статуса заказа произошёл сбой активации ваучера, можно либо повторно отправить запрос на обновление статуса заказа для повторной попытки активации ваучера, либо дождаться выполнения механизма повторной попытки активации ваучеров для успешных заказов. Механизм запускается на стороне нашего сервера каждые 5 минут. Статус активации партнёр также может получить через получение информации о заказе через /api/get_order_info
  10. Покупка ваучера (при request = false): Партнёр делает POST-запрос на /api/pay с параметрами voucher_id, и опционально для игр с возможностью активации ваучера activate и player_id. В ответ на запрос партнёру придёт код ваучера, и статус активации (при наличии)
  11. Пополнение баланса (при type = balance): Партнёр делает POST-запрос на /api/pay с параметрами gameid, account и amount. В ответ на запрос партнёру придёт статус операции по пополнению баланса

Авторизация и получение токена

Метод: POST

Метод используется для авторизации партнёра. После успешного запроса возвращается JWT-токен, используемый для авторизации в других методах.

Параметры запроса:
Пример запроса:
{
  "partner_id": 1,
  "api_key": "password"
 }
Поля ответа:
Пример ответа:
{
  "token": "eyJhbGciOi...",
  "expires_in": 3600,
  "expires_at": "2025-04-15 15:30:14"
 }
Ошибки:

Получение баланса аккаунта

Метод: GET

Метод используется для получения баланса аккаунта.

Заголовки:
Параметры запроса:
Поля ответа:
Пример ответа:
{
    "partner_id": 2,
    "partner_name": "test",
    "balance": 9990.80,
    "currency": "USD"
}
Ошибки:

Получение списка игр

Метод: GET

Возвращает список доступных игр для партнёра.

Заголовки:
Поля ответа:
Пример ответа:
{
    "available_games": [
        {
            "id": 1,
            "game_name": "steam",
            "description": "Пополнение акаунта Steam",
            "type": "balance",
            "activation": "auto",
            "currency": "USD",
            "avalible": true,
            "request": false
        },
        {
            "id": 2,
            "game_name": "pubg",
            "description": "Ваучеры на пополнение акаунта с автоматической активацией",
            "type": "voucher",
            "activation": "auto",
            "currency": "USD",
            "avalible": true,
            "request": true
        }
    ]
}
Ошибки:

Получение доступных номиналов ваучеров:

Метод: GET

Возвращает список номиналов ваучеров по ID игры.

Заголовки:
Параметры:
Поля ответа:
Пример ответа:
{
    "game_id": 2,
    "available": [
        {
            "voucher_id": 19,
            "voucher_name": "60 UC",
            "game_coins": 60,
            "game_currency": "UC",
            "amount": "1.00",
            "currency": "USD",
            "avalible": "true",
            "account_need": "true",
            "account_check": "true",
            "origin_price": "1.00",
            "origin_currency": "USD",
            "discount_rate": 0
        },
        {
            "voucher_id": 20,
            "voucher_name": "300 + 25 UC",
            "game_coins": 325,
            "game_currency": "UC",
            "amount": "5.00",
            "currency": "USD",
            "avalible": "true",
            "account_need": "true",
            "account_check": "true",
            "origin_price": "5.00",
            "origin_currency": "USD",
            "discount_rate": 0
        }
    ]
}
Ошибки:

Запрос на резервирование ваучера

Метод: GET

Резервирует ваучер и возвращает номер заказа, стоимость.

Заголовки:
Параметры:
Пример ответа при пополнении баланса:
{
  "success": true,
  "order_id": "32",
  "game_name": "PUBG Mobile",
  "game_id": "2",
  "voucher_id": "123",
  "voucher_name": "600 UC",
  "game_coins": 600,
  "game_currency": "UC",
  "account": "player_123456789",
  "amount": 5.99,
  "amount_currency": "USD",
  "amount_charged": 5,
  "amount_charged_currency": "USD",
  "voucher_code": "ABCD-EFGH-IJKL",
  "voucher_code_2": "MNOP-QRST",
  "need_activation": 1,
  "expiration_date_voucher": "2026-12-31T23:59:59Z",
  "message": "Voucher reserved successfully",
  "discount_rate": 0
}

При запросе на ваучер с активацией (activate=1) производится проверка на валидность ID игрока при возможности.

Ошибки:

Покупка ваучера/Пополнение баланса:

Метод: POST

Запрос на создание заказа и получение ваучера или пополнения баланса.

Заголовки:
Параметры:

Для пополнения баланса ("type": "balance"):

Для получения ваучера ("type": "voucher"):

Поля ответа при пополнении баланса:
Пример ответа при пополнении баланса:
{
    "success": true,
    "order_id": "32",
    "game_name": "steam",
    "game_id": 1,
    "account": "vealis777",
    "amount": 5,
    "amount_currency": "USD",
    "amount_charged": 4,
    "amount_charged_currency": "USD",
    "message": "The balance has been successfully replenished"
}
Поля ответа при покупке ваучера:
Пример ответа при покупке ваучера:
{
  "success": true,
  "order_id": "32",
  "game_name": "PUBG Mobile",
  "game_id": "2",
  "voucher_id": "123",
  "voucher_name": "600 UC",
  "game_coins": 600,
  "game_currency": "UC",
  "account": "player_123456789",
  "amount": 5.99,
  "amount_currency": "USD",
  "amount_charged": 5,
  "amount_charged_currency": "USD",
  "voucher_code": "ABCD-EFGH-IJKL",
  "voucher_code_2": "MNOP-QRST",
  "need_activation": 1,
  "expiration_date_voucher": "2026-12-31T23:59:59Z",
  "activation_voucher": true,
  "message": "Voucher activated successfully",
  "discount_rate": 0
}
Ошибки:

Webhook: Обновление статуса заказа

Метод: POST

Используется партнёром для уведомления о результате оплаты.

В случае, если при создании заказа передавался параметр на активацию ваучера, при получении статуса об успешном заказе, происходит автоматическая активация ваучера.

В случае успешной активации возвращается соответствующий ответ.

В случае неуспешной активации ваучера, заказ помечается в системе как успешный, но с неуспешной активацией ваучера. Можно повторить запрос на обновление статуса заказа, при этом произойдёт повторная попытка активации ваучера.

Также в системе предусмотрен механизм, который с периодичностью раз в 10 минут, по успешным заказам в которых не произведена активация, будет производить попытки активации.

Вместо запроса на повторное изменение статуса заказа, партнёр может отправлять запрос на проверку статуса заказа, в котором будет отдаваться статус активации. Данный метод будет описан ниже (get_order_info).

В случае неуспешной активации ваучера, в дополнение к попыткам повторной активации, партнёр может вывести сообщение клиенту с кодом ваучера и инструкцией для активации, как это осуществлялось в первой версии API без автоматической активации.

Заголовки:
Параметры запроса:
Пример запроса:
{
  "order_id": "32",
  "status": 2
 }
Поля ответа:
Пример ответа:
{
  "success": true,
  "order_id": "32",
  "game_name": "PUBG Mobile",
  "game_id": "2",
  "voucher_id": "123",
  "voucher_name": "600 UC",
  "game_coins": 600,
  "game_currency": "UC",
  "account": "player_123456789",
  "amount": 5.99,
  "amount_currency": "USD",
  "amount_charged": 5,
  "amount_charged_currency": "USD",
  "voucher_code": "ABCD-EFGH-IJKL",
  "voucher_code_2": "MNOP-QRST",
  "need_activation": 1,
  "expiration_date_voucher": "2026-12-31T23:59:59Z",
  "activation_voucher": true,
  "message": "Voucher activated successfully",
  "discount_rate": 0
}
Ошибки:

Получение статуса заказа

Метод: GET

Возвращает информацию по заказу. Информация и формат ответа аналогичны получаемой при совершении заказа

Заголовки:
Параметры:
Ошибки:

Webhook: отправка данных по заказам со стороны партнера для сверки

Метод: POST

Используется партнёром для отправки данных по всем заказам за определённый период, для проведения сверки статусов заказов.

Заголовки:
Параметры запроса:
Поля ответа:
Пример запроса:
{
    "date_from": "21.01.2026",
    "date_to": "21.01.2026",
    "payments": [
        {
            "order_id": "32",
            "amount": 13164.1,
            "status": 2,
            "transaction_time": "01.04.2025 16:45:12",
        },
        {
            "order_id": "33",
            "amount": 12457.8,
            "status": 3,
            "transaction_time": "01.04.2025 10:37:52",
        },
        {
            "order_id": "34",
            "amount": 13142.32,
            "status": 2,
            "transaction_time": "01.04.2025 10:37:52",
        }
    ]
 }
Пример ответа:
{
    "success": true,
    "payments_count": 3,
    "revise_payments_count": 3,
    "revise_payments_true": 3,
    "revise_payments_false": 0
 }
Ошибки:

Проверка учётной записи PUBG

Метод: GET

Возвращает информацию по учётной записи PUBG по UID.

В тестовой среде для получения успешного ответа необходимо передвать UID 52323951037. На любой другой будет возвращаться ошибка

Заголовки:
Параметры:
Поля ответа:
Пример ответа:
{
    "message": "Player found",
    "player_id": 52323951037,
    "player_name": "qweddfghk",
    "status": "success"
 }
{
    "message": "Player not found",
    "status": "false"
 }
{
  "message": "Invalid request data",
  "status": false
 }
Ошибки:

Запрос на проверку возможности пополнения баланса (STEAM)

Метод: GET

Проверяет возможность пополения баланса STEAM по аккаунту.

Заголовки:
Параметры:
Поля ответа:
Пример успешного ответа:
{
    "success": true,
    "game_name": "Steam",
    "account": "dream",
    "amount": 5,
    "message": "you can pay"
}
Пример не успешного ответа:
{
    "success": false,
    "game_name": "Steam",
    "account": "devealis",
    "amount": 5,
    "message": "cannot be paid",
    "error_text": "User not found"
}

В случае "success": true можно переходить к оплате.

Ошибки:

Запрос на пополнение баланса STEAM по аккаунту

Метод: POST

Проверяет возможность пополения баланса STEAM по аккаунту.

Заголовки:
Параметры:
Поля ответа:
Пример успешного ответа:
{
    "success": true,
    "order_id": "TXN0000015689",
    "game_name": "steam",
    "account": "dream",
    "amount": 5,
    "message": "The balance has been successfully replenished"
}
Пример не успешного ответа:
{
    "success": false,
    "order_id": "TXN0000015689",
    "game_name": "steam",
    "account": "devealis",
    "amount": 5,
    "message": "Error while replenishing balance"
}
Ошибки: