Документация Gamering API V1.0.1
Данный API позволяет партнёрам получать игровые ваучеры, обрабатывать их выдачу, активировать ваучеры, пополнять балансы сервисов, игр и управлять статусами заказов. Ниже представлены основные методы API с примерами, описанием параметров и возможными ошибками.
changelog
V1.0.1
- Изменение логики URL, переход на поддомены для prod и test среды. Теперь сами endpoint одинаковы для prod и test среды
V1.0
- Релизная версия
Доступные endpoint API
/api/auth/login- Авторизация партнёров/api/balance- Получение актуального баланса/api/gameslist- Получение списка игр/сервисов доступных для пополнения через ваучеры или прямым пополнением баланса/api/voucher_available- Получение списка доступных ваучеров по id игры/сервиса/api/voucher_request- Запрос на бронирование ваучера и создание заказа (доступно не во всех сервисах)/api/pay- универсальный запрос на пополнение баланса, получения ваучера/api/order_update- Обновление статуса заказа/api/get_order_info- Получение статуса и информации о заказе/api/revise- Отправка реестра транзакций для сверки/api/get_orders- Получение списка заказов за выбранный период/api/pubg_check- Сервисный endpoint для проверки существования аккаунта PUBG Mobile/api/steam_check- Сервисный endpoint для проверки существования аккаунта и возможности его пополнения в Steam/api/steam_pay- Отдельный endpoint для пополения Steam
Общая логика работы API
Ниже описана типичная последовательность действий при использовании API:
- Авторизация: Партнёр отправляет POST-запрос на
/api/auth/loginс параметрамиloginиapi_key. В ответ получаем JWT-токен для авторизации при последующих запросах.Время жизни токена - 1 час - Получение баланса: С помощью GET запроса вызывается
/api/balanceдля получения актуального баланса партнёра. - Получение списка доступных игр и сервисов для пополнения: С помощью GET запроса вызывается
/api/gameslistдля получения списка доступных игр/сервисов. В зависимости от параметраtype = balance/voucherзависит дальнейший сценарий работы через ваучер или пополнение баланса. - Получение доступных номиналов ваучеров (type = voucher): С помощью GET запроса
/api/voucher_available?game_id=IDзапрашиваются доступные номиналы ваучеров по ID игры. - Резервирование ваучера (при request = true): Партнёр делает GET-запрос на
/api/voucher/requestс параметрамиvoucher_id, и опционально для игр с возможностью активации ваучераactivateиplayer_id. Если ваучер доступен — он резервируется и создаётся заказ. Данный метод доступен не для всех игр/сервисов - Ожидание оплаты: Ваучер имеет статус
зарезервировани ожидает статуса заказа от партнёра. - Подтверждение оплаты: Партнёр вызывает
/api/order_updateметодом POST с ID заказа и статусом:2— Успешная оплата, ваучер помечается какотправлен, а заказ какуспешный. В случае, если при запросе ваучера был передан параметр на активацию ваучера игры PUBG, происходит его автоматическая активация после получения данного статуса заказа.3— Ошибка оплаты, резерв снимается, ваучер становится сновадоступен.
- Фоновая проверка: Если статус оплаты не передан в течение срока
hold_until(согласовывается отдельно с партнёром) — резерв автоматически снимается или по результатам сверки. - Активация ваучеров (activation = auto): Если при первичном запросе на обновление статуса заказа произошёл сбой активации ваучера, можно либо повторно отправить запрос на обновление статуса заказа для повторной попытки активации ваучера, либо дождаться выполнения механизма повторной попытки активации ваучеров для успешных заказов. Механизм запускается на стороне нашего сервера каждые 5 минут. Статус активации партнёр также может получить через получение информации о заказе через
/api/get_order_info - Покупка ваучера (при request = false): Партнёр делает POST-запрос на
/api/payс параметрамиvoucher_id, и опционально для игр с возможностью активации ваучераactivateиplayer_id. В ответ на запрос партнёру придёт код ваучера, и статус активации (при наличии) - Пополнение баланса (при type = balance): Партнёр делает POST-запрос на
/api/payс параметрамиgameid,accountиamount. В ответ на запрос партнёру придёт статус операции по пополнению баланса
Авторизация и получение токена
Метод: POST
Метод используется для авторизации партнёра. После успешного запроса возвращается JWT-токен, используемый для авторизации в других методах.
Параметры запроса:
login— Логин партнёраapi_key— API ключ партнёра (строка)
Пример запроса:
{
"partner_id": 1,
"api_key": "password"
}
Поля ответа:
token— JWT-токенexpires_in— Время жизни токена в секундахexpires_at— Дата и время истечения токена
Пример ответа:
{
"token": "eyJhbGciOi...",
"expires_in": 3600,
"expires_at": "2025-04-15 15:30:14"
}
Ошибки:
401— Неверный partner_id или api_key500— Внутренняя ошибка сервера
Получение баланса аккаунта
Метод: GET
Метод используется для получения баланса аккаунта.
Заголовки:
Authorization: Bearer <токен>
Параметры запроса:
- без параметров, данные отправляются на основе авторизации
Поля ответа:
partner_id— id партнёраpartner_name— логин парнёраbalance— баланс партнёраcurrency— валюта баланса
Пример ответа:
{
"partner_id": 2,
"partner_name": "test",
"balance": 9990.80,
"currency": "USD"
}
Ошибки:
401— ошибка авториазции500— Внутренняя ошибка сервера
Получение списка игр
Метод: GET
Возвращает список доступных игр для партнёра.
Заголовки:
Authorization: Bearer <токен>
Поля ответа:
id— ID игрыgame_name— Название игрыdescription— Описание и доп информация по сервисуtype— Тип пополнения, баланс или ваучерactivation— Тип активации пополненияcurrency— Валюта платежейavalible— Доступность игры/сервиса для заказаrequest— Возможность предварительной резервации ваучера
Пример ответа:
{
"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
}
]
}
Ошибки:
401— Ошибка авторизации500— Внутренняя ошибка сервера
Получение доступных номиналов ваучеров:
Метод: GET
Возвращает список номиналов ваучеров по ID игры.
Заголовки:
Authorization: Bearer <токен>
Параметры:
game_id— ID игры
Поля ответа:
voucher_id- ID ваучера (используется для заказа)voucher_name- Название ваучераgame_coins- Номинал ваучера в валюте сервисаgame_currency- Валюта сервисаamount- Сумма к списанию с балансаcurrency- Валюта списания с балансаavalible- Доступность для покупкиaccount_need- Необходимость передачи акаунта при покупкеaccount_check- Проверка аккаунта перед активацией ваучераorigin_price- Оригинальная стоимость ваучераorigin_currency- Оригинальная валюта ваучераdiscount_rate- Ваш процент скидки
Пример ответа:
{
"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
}
]
}
Ошибки:
400— Не указан game_id401— Ошибка авторизации404— Игра или ваучеры не найдены500— Внутренняя ошибка
Запрос на резервирование ваучера
Метод: GET
Резервирует ваучер и возвращает номер заказа, стоимость.
Заголовки:
Authorization: Bearer <токен>
Параметры:
voucher_id— ID ваучераactivate (необязательный параметр)— Данный параметр передается с обозначением 0 (активация ваучера не нужна), 1 (активация ваучера нужна). Применяется только для для сервисов с возможностью активацииplayer_id (необязательный параметр)— ID аккаунта в котором необходимо произвести активацию ваучера
success- Статус операцииorder_id- Номер заказаgame_name- Название игры/сервисаgame_id- ID игры/сервисаvoucher_id- ID ваучера из каталогаvoucher_name- Название ваучераgame_coins- Номинал ваучера в валюте сервисаgame_currency- Валюта сервисаaccount- Аккаунт пополнения (при передаче данного параметра)amount- Сумма пополнения/стоимость ваучера розничнаяamount_currency- Валюта пополненияamount_charged- Сумма списания с балансаamount_charged_currency- Валюта списания с балансаvoucher_code- код ваучера (Не всегда передаётся при резервировании)voucher_code_2- дополнительный код ваучера (если код состоит из 2х частей, не всегда передаётся при резервированииneed_activation- Необходимость активации (0 или 1 в зависимости от запроса)expiration_date_voucher- Срок действия ваучераmessage- сообщение о результатеdiscount_rate- Ваш процент скидки
Пример ответа при пополнении баланса:
{
"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 игрока при возможности.
Ошибки:
400— Ошибка запроса401— Неавторизован404— Ваучеры не найдены500— Внутренняя ошибка
Покупка ваучера/Пополнение баланса:
Метод: POST
Запрос на создание заказа и получение ваучера или пополнения баланса.
Заголовки:
Authorization: Bearer <токен>
Параметры:
Для пополнения баланса ("type": "balance"):
game_id— ID игры/сервисаaccount— Аккаунт для пополненияamount— Сумма пополнения
Для получения ваучера ("type": "voucher"):
voucher_id— ID ваучераaccount— Аккаунт для активации ваучера - необязательный параметр, при его передаче и возможности автоматической активации она будет произведена
Поля ответа при пополнении баланса:
success- Статус операцииorder_id- Номер заказаgame_name- Название игры/сервисаgame_id- ID игры/сервисаaccount- Аккаунт пополненияamount- Сумма пополненияamount_currency- Валюта пополненияamount_charged- Сумма списания с балансаamount_charged_currency- Валюта списания с балансаmessage- Сообщение о заказе
Пример ответа при пополнении баланса:
{
"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- Статус операцииorder_id- Номер заказаgame_name- Название игры/сервисаgame_id- ID игры/сервисаvoucher_id- ID ваучера из каталогаvoucher_name- Название ваучераgame_coins- Номинал ваучера в валюте сервисаgame_currency- Валюта сервисаaccount- Аккаунт пополнения (при передаче данного параметра)amount- Сумма пополнения/стоимость ваучера розничнаяamount_currency- Валюта пополненияamount_charged- Сумма списания с балансаamount_charged_currency- Валюта списания с балансаvoucher_code- код ваучераvoucher_code_2- дополнительный код ваучера (если код состоит из 2х частей)need_activation- Необходимость активации (0 или 1 в зависимости от запроса)expiration_date_voucher- Срок действия ваучераactivation_voucher- true/false результат активации ваучераmessage- сообщение о результате попытки активации ваучераdiscount_rate- Ваш процент скидки
Пример ответа при покупке ваучера:
{
"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
}
Ошибки:
400— Не указан game_id401— Ошибка авторизации404— Игра или ваучеры не найдены500— Внутренняя ошибка
Webhook: Обновление статуса заказа
Метод: POST
Используется партнёром для уведомления о результате оплаты.
В случае, если при создании заказа передавался параметр на активацию ваучера, при получении статуса об успешном заказе, происходит автоматическая активация ваучера.
В случае успешной активации возвращается соответствующий ответ.
В случае неуспешной активации ваучера, заказ помечается в системе как успешный, но с неуспешной активацией ваучера. Можно повторить запрос на обновление статуса заказа, при этом произойдёт повторная попытка активации ваучера.
Также в системе предусмотрен механизм, который с периодичностью раз в 10 минут, по успешным заказам в которых не произведена активация, будет производить попытки активации.
Вместо запроса на повторное изменение статуса заказа, партнёр может отправлять запрос на проверку статуса заказа, в котором будет отдаваться статус активации. Данный метод будет описан ниже (get_order_info).
В случае неуспешной активации ваучера, в дополнение к попыткам повторной активации, партнёр может вывести сообщение клиенту с кодом ваучера и инструкцией для активации, как это осуществлялось в первой версии API без автоматической активации.
Заголовки:
Authorization: Bearer <токен>
Параметры запроса:
order_id— ID заказаstatus— 2 — успешно, 3 — ошибка
Пример запроса:
{
"order_id": "32",
"status": 2
}
Поля ответа:
success- Статус операцииorder_id- Номер заказаgame_name- Название игры/сервисаgame_id- ID игры/сервисаvoucher_id- ID ваучера из каталогаvoucher_name- Название ваучераgame_coins- Номинал ваучера в валюте сервисаgame_currency- Валюта сервисаaccount- Аккаунт пополнения (при передаче данного параметра)amount- Сумма пополнения/стоимость ваучера розничнаяamount_currency- Валюта пополненияamount_charged- Сумма списания с балансаamount_charged_currency- Валюта списания с балансаvoucher_code- код ваучераvoucher_code_2- дополнительный код ваучера (если код состоит из 2х частей)need_activation- Необходимость активации (0 или 1 в зависимости от запроса)expiration_date_voucher- Срок действия ваучераactivation_voucher- true/false результат активации ваучераmessage- сообщение о результате попытки активации ваучераdiscount_rate- Ваш процент скидки
Пример ответа:
{
"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
}
Ошибки:
400— Некорректный запрос401— Неавторизован404— заказ не найден500— Ошибка сервера
Получение статуса заказа
Метод: GET
Возвращает информацию по заказу. Информация и формат ответа аналогичны получаемой при совершении заказа
Заголовки:
Authorization: Bearer <токен>
Параметры:
order_id— ID заказа
Ошибки:
400— Не указан game_id401— Ошибка авторизации404— Игра или ваучеры не найдены500— Внутренняя ошибка
Webhook: отправка данных по заказам со стороны партнера для сверки
Метод: POST
Используется партнёром для отправки данных по всем заказам за определённый период, для проведения сверки статусов заказов.
Заголовки:
Authorization: Bearer <токен>
Параметры запроса:
date_from— Начальная дата периодаdate_to— Дата окончания периодаpayments— Массив содержащий данные по заказамorder_id— Номер заказаamount— Сумма заказа которая списывалась с баланса партнёраstatus— Статус заказа (2 — успешно, 3 — ошибка)transaction_time— Дата и время операции на стороне партнёра
Поля ответа:
success— true/falsepayments_count— Количество принятых в обработку платежейrevise_payments_count— Количество сверенных заказов (количество найденых на стороне Gamering заказов по присланным данным)revise_payments_true— Количество успешно сверенных заказов (статусы совпадают)revise_payments_false— Количество неуспешно сверенных заказов (статусы различаются, в дальнейшем будем разрабатывать методологию работы с расхождениями)
Пример запроса:
{
"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
}
Ошибки:
400— Некорректный запрос401— Неавторизован500— Ошибка сервера
Проверка учётной записи PUBG
Метод: GET
Возвращает информацию по учётной записи PUBG по UID.
В тестовой среде для получения успешного ответа необходимо передвать UID 52323951037. На любой другой будет возвращаться ошибка
Заголовки:
Authorization: Bearer <токен>
Параметры:
player_id— UID игрока (число)
Поля ответа:
message— Сообщение с результатом проверки UIDplayer_id— UID игрокаplayer_name— Имя игрокаstatus— Статус запроса
Пример ответа:
{
"message": "Player found",
"player_id": 52323951037,
"player_name": "qweddfghk",
"status": "success"
}
{
"message": "Player not found",
"status": "false"
}
{
"message": "Invalid request data",
"status": false
}
Ошибки:
400— Не указан player_id или передан в неверном формате401— Ошибка авторизации500— Внутренняя ошибка
Запрос на проверку возможности пополнения баланса (STEAM)
Метод: GET
Проверяет возможность пополения баланса STEAM по аккаунту.
Заголовки:
Authorization: Bearer <токен>
Параметры:
account— имя аккаунтаamount— Желаемая сумма пополнения
Поля ответа:
success— true/false статус возможности проведения платежаgame_name— имя сервисаaccount— имя аккаунтаamount— желаемая сумма пополненияmessage— Сообщение от сервиса
Пример успешного ответа:
{
"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 можно переходить к оплате.
Ошибки:
400— Ошибка запроса401— Неавторизован500— Внутренняя ошибка
Запрос на пополнение баланса STEAM по аккаунту
Метод: POST
Проверяет возможность пополения баланса STEAM по аккаунту.
Заголовки:
Authorization: Bearer <токен>
Параметры:
account— имя аккаунтаamount— сумма пополнения
Поля ответа:
success— true/false статус возможности проведения платежаorder_id— номер заказа в системеgame_name— имя сервисаaccount— имя аккаунтаamount— сумма пополненияmessage— Сообщение от сервиса
Пример успешного ответа:
{
"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"
}
Ошибки:
400— Ошибка запроса401— Неавторизован500— Внутренняя ошибка