REST API

Документация SteamSmm API

Базовый URL: https://steamsmm.ru/api

Аутентификация

Создайте API-ключ в личном кабинете. Во всех запросах к защищённым методам передавайте ключ в заголовке Authorization Тело POST-запросов отправляйте в JSON.

Authorization: Bearer YOUR_API_TOKEN
Content-Type: application/json

Пример запроса

curl "https://steamsmm.ru/api/user/balance" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
Важно: не передавайте API-ключ третьим лицам и не размещайте его в клиентском JavaScript. Храните ключ только на сервере.

Управление ключами

МетодНазначениеАвторизация
POST /api/token/generateСоздать ключ. Необязательное поле: name.Активная сессия на сайте
POST /api/token/refreshЗаменить текущий ключ новым. Необязательное поле: password.Bearer-токен
GET /api/token/listПолучить список своих ключей без секретных значений.Bearer-токен

Накрутка

Для расчёта и создания обычных заказов используются единые методы /order/price и /order/create.

Доступные типы услуг

action_typeУслугаКакая ссылка нужна
commentКомментарии +repПрофиль Steam с открытыми комментариями
comment_repКомментарии -repПрофиль Steam с открытыми комментариями
comment_randomСлучайные комментарииПрофиль Steam с открытыми комментариями
comment_premiumPremium-комментарии с задержкойПрофиль Steam с открытыми комментариями
likeЛайкиПоддерживаемая страница Steam Community
disДизлайкиПоддерживаемая страница Steam Community
subscribeУчастники группыСсылка на группу Steam
reviewЛайки на обзорСсылка на обзор Steam
favoriteДобавление в избранноеСсылка на файл Steam Workshop

Общие параметры

ПараметрТипОбязателенОписание
action_typestringДаКод услуги из таблицы выше.
quantityintegerДаКоличество действий: от 10 до 2000.
target_linkstringТолько при созданииПолная ссылка на нужную страницу steamcommunity.com.

POST /api/order/price — расчёт цены

POST /api/order/price

{
  "action_type": "comment",
  "quantity": 100
}

Метод ничего не списывает. В ответе возвращаются price_per_item, total_cost и currency.

POST /api/order/create — создание заказа

POST /api/order/create

{
  "action_type": "comment",
  "quantity": 100,
  "target_link": "https://steamcommunity.com/id/username"
}

Добавление в избранное

Используется тот же endpoint автоматических заказов с action_type favorite. Поддерживаются файлы Workshop, скриншоты, artwork и гайды.

POST /api/order/create

{
  "action_type": "favorite",
  "quantity": 100,
  "target_link": "https://steamcommunity.com/sharedfiles/filedetails/?id=1234567890"
}

Premium-комментарии

Для comment_premium доступны три дополнительных параметра. Если их не передать, тип комментария будет random, а диапазон задержки — от 5 до 120 минут.

ПараметрТипОбязателенДопустимые значения
comment_variantstringНетplus, minus или random. По умолчанию: random.
delay_min_minutesintegerНетМинимальная пауза, не меньше 5 минут.
delay_max_minutesintegerНетМаксимальная пауза, не больше 120 минут и не меньше delay_min_minutes.
POST /api/order/create

{
  "action_type": "comment_premium",
  "quantity": 50,
  "target_link": "https://steamcommunity.com/id/username",
  "comment_variant": "plus",
  "delay_min_minutes": 10,
  "delay_max_minutes": 30
}

Успешный ответ

{
  "status": "success",
  "data": {
    "order_id": "API_1_...",
    "action_type": "comment_premium",
    "quantity": 50,
    "cost": 100.0,
    "status": "processing",
    "balance_after": 900.0
  }
}
Списание: сумма списывается при создании заказа. Если система выполнения отклонит заказ, деньги автоматически возвращаются на баланс.

API наград Steam

Это отдельная услуга автоматической выдачи, не накрутка. Цена: 1.00 ₽ за награду. Оплата списывается с баланса API-пользователя.

POST /api/order/create

{
  "action_type": "reward_pack",
  "quantity": 10,
  "target_type": "profile",
  "target_link": "https://steamcommunity.com/profiles/76561198000000000"
}
ПараметрТипОбязателенОписание
action_typestringДаreward_pack
quantityintegerДаКоличество наград 1–2000. Типы распределяются автоматически.
target_typestringДаprofile / content
target_linkstringДаСсылка на профиль или контент Steam.

Проверка статуса: GET /api/order/status/{order_id}.

Похвала CS2

friendly, teacher и leader задаются отдельно. Цена считается по максимальному значению. Комбинация 15/5/10 стоит как 15 похвал.

Перед созданием игрок должен зайти на сервер 185.9.145.248:24673 Промобаланс не используется.

Параметры

ПараметрТипОбязателенОписание
targetstringДля проверки и созданияSteamID64 или ссылка на профиль. Также принимаются steam_id и target_link.
friendlyintegerНетКоличество похвал «Дружелюбный». По умолчанию: 0.
teacherintegerНетКоличество похвал «Учитель». По умолчанию: 0.
leaderintegerНетКоличество похвал «Лидер». По умолчанию: 0.

Хотя бы одно значение должно быть больше нуля. Максимальное из трёх значений должно находиться в диапазоне от 15 до 7500.

POST /api/commend/check — проверка игрока

POST /api/commend/check

{"target": "https://steamcommunity.com/id/username"}

Проверьте поле data.on_server Создать заказ можно только когда оно равно true.

POST /api/commend/price — расчёт цены

POST /api/commend/price

{
  "friendly": 15,
  "teacher": 5,
  "leader": 10
}

Ответ содержит bots_required, price_per_bot, total_cost и применённую ранговую скидку.

POST /api/commend/create — создание

POST /api/commend/create

{
  "target": "76561198000000000",
  "friendly": 15,
  "teacher": 5,
  "leader": 10
}

При успехе возвращаются order_id, session_id, нормализованный steam_id, количества похвал, стоимость, статус и остаток баланса. Создание также поддерживается через POST /api/order/create с action_type: "commend_cs2".

Статус и журнал

GET /api/commend/{order_id}?logs_limit=100

logs_limit необязателен, допустимый диапазон — от 1 до 200. Ответ содержит прогресс, число выполненных и неудачных ботов, удалённый статус и журнал.

Перезапуск невыполненного остатка

POST /api/commend/{order_id}/restart

Перезапуск доступен только для отменённого заказа. После выхода игрока с сервера заказ продолжится автоматически при повторном подключении.

Автореги Steam

Автореги имеют динамический каталог и остатки. Всегда получайте актуальный category_id непосредственно перед расчётом или покупкой.

GET /api/autoreg/products — каталог

GET /api/autoreg/products
Authorization: Bearer YOUR_API_TOKEN

Товары находятся в data.groups.*.items. Для каждого товара возвращаются:

ПолеОписание
category_idИдентификатор товара для расчёта и покупки.
title, region, descriptionНазвание, регион и описание товара.
stockТекущий остаток.
min_count, max_countДопустимое количество в одном запросе.
price_per_itemЦена одного аккаунта в рублях.

POST /api/autoreg/price — расчёт цены

POST /api/autoreg/price

{
  "category_id": 2450503,
  "quantity": 10
}

category_id и quantity обязательны и должны быть целыми числами. Метод проверяет актуальное наличие и ничего не списывает.

POST /api/autoreg/create — покупка и выдача

POST /api/autoreg/create

{
  "category_id": 2450503,
  "quantity": 10
}

Аккаунты выдаются непосредственно в ответе: массив data.accounts и строка data.accounts_text Также возвращается download_url для TXT-файла.

{
  "status": "success",
  "data": {
    "order_id": "APIAUTOREG_...",
    "ordered_quantity": 2,
    "quantity": 2,
    "status": "completed",
    "accounts": ["login:password:email:email_password"],
    "accounts_text": "login:password:email:email_password",
    "balance_after": 500.0
  }
}
Безопасность: сохраните выданные аккаунты сразу и не записывайте полный ответ в публичные логи. Если поставщик выдаст меньше заказанного, API спишет деньги только за фактически выданное количество и вернёт поле warning.

Покупка также поддерживается через POST /api/order/create с action_type: "steam_autoreg", category_id и quantity.

Плащи Minecraft

Ключи выдаются сразу. Товар можно указать через актуальный category_id из каталога либо через cape_type: home или builder.

GET /api/minecraft/capes/products — каталог

GET /api/minecraft/capes/products

data.items возвращаются category_id, cape_type, название, остаток, допустимое количество и цена за ключ.

POST /api/minecraft/capes/price — расчёт цены

POST /api/minecraft/capes/price

{"cape_type": "builder", "quantity": 3}

POST /api/minecraft/capes/create — покупка

POST /api/minecraft/capes/create

{"cape_type": "home", "quantity": 1}

Укажите quantity и одно из полей: cape_type или category_id. При успехе ключи находятся в массиве data.keys и строке data.keys_text.

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

Покупка также поддерживается через POST /api/order/create с action_type: "minecraft_cape".

Заказы и баланс

GET /api/order/status/{order_id}

Возвращает тип заказа, цель, стоимость, основной и внутренний статусы, прогресс, ошибки и даты. Для похвал дополнительно возвращаются количества каждого типа, для premium-комментариев — вариант и задержки.

GET /api/order/list

GET /api/order/list?page=1&per_page=50&status=completed
ПараметрПо умолчаниюОписание
page1Номер страницы.
per_page50Количество заказов на странице.
statusВсеНеобязательный фильтр по статусу.

Ответ содержит массив orders и объект pagination с полями page, pages, total, has_next и has_prev.

GET /api/user/balance

{
  "status": "success",
  "data": {
    "balance": 1000.0,
    "regular_balance": 800.0,
    "promo_balance": 200.0,
    "currency": "RUB"
  }
}

balance — общий баланс, regular_balance — обычные средства, promo_balance — промосредства, которые можно использовать только для накрутки.

GET /api/user/stats

Возвращает количество всех и выполненных заказов, общие траты, средний чек и текущий баланс.

Статусы: pending, processing, paused, completed, failed, cancelled.

Формат ошибки

{
  "status": "error",
  "code": "ERROR_CODE",
  "message": "Описание ошибки"
}

Основные HTTP-коды

КодЗначение
200 / 201Запрос выполнен успешно.
400Не передан параметр или он имеет неверный формат.
401API-ключ отсутствует, недействителен или истёк.
402Недостаточно подходящего баланса.
404Заказ или товар не найден.
409Конфликт состояния, например игрок не на сервере или уже есть активная похвала.
500 / 502 / 503Временная ошибка сайта или внешней системы выполнения.
Рекомендация: всегда проверяйте HTTP-код, затем поле status Не считайте заказ созданным, пока не получили status: "success" и data.order_id.