Документация SteamSmm API
Аутентификация
Все запросы к API требуют Bearer токен в заголовке Authorization.
Получение API токена
POST /api/token/generate
Content-Type: application/json
{
"email": "ваш_email@example.com",
"password": "ваш_пароль",
"name": "Мой API ключ"
}
Ответ:
{
"status": "success",
"data": {
"token": "ваш_токен_здесь",
"token_id": 1,
"name": "Мой API ключ",
"created_at": "2024-01-01T12:00:00",
"expires_at": "2025-01-01T12:00:00",
"user": {
"id": 1,
"username": "username",
"email": "email@example.com"
}
}
}
Использование токена
Добавляйте токен в заголовок Authorization:
Authorization: Bearer ваш_токен_здесь
Или передавайте в параметре запроса:
GET /api/user/balance?api_token=ваш_токен_здесь
Заказы
Расчет цены
POST /api/order/price
Authorization: Bearer ваш_токен
Content-Type: application/json
{
"action_type": "comment",
"quantity": 100
}
Доступные типы действий:
Создание заказа
POST /api/order/create
Authorization: Bearer ваш_токен
Content-Type: application/json
{
"action_type": "comment",
"quantity": 100,
"target_link": "https://steamcommunity.com/id/username"
}
Внимание: Средства списываются с баланса сразу после создания заказа.
Ошибки при создании заказа
Коды ошибок:
Пример ошибки при закрытых комментариях:
{
"status": "error",
"code": "COMMENTS_NOT_ALLOWED",
"message": "❌ Профиль не принимает публичные комментарии. Убедитесь, что в настройках профиля Steam разрешены комментарии от всех пользователей.",
"instructions": [
"📝 Для решения проблемы выполните следующие действия:",
"1. Зайдите в настройки профиля Steam",
"2. Выберите вкладку 'Конфиденциальность'",
"3. Установите 'Мой профиль' в значение 'Публичный'",
"4. В разделе 'Комментарии' выберите 'Все'",
"5. Сохраните изменения и подождите 5-10 минут"
]
}
Пример ответа при успешном создании заказа:
{
"status": "success",
"data": {
"order_id": "API_1_1700000000",
"bot_order_id": "BOT_123456",
"action_type": "comment",
"quantity": 100,
"target_link": "https://steamcommunity.com/id/username",
"cost": 85.0,
"status": "processing",
"created_at": "2024-01-01T12:00:00",
"balance_after": 15.0
}
}
Важно: При ошибке COMMENTS_NOT_ALLOWED средства не списываются с баланса.
Заказ будет создан только после успешной проверки профиля.
Проверка комментариев: Для типов заказов comment и comment_rep автоматически проверяется,
открыты ли комментарии на профиле. Для других типов услуг эта проверка не выполняется.
Проверка статуса
GET /api/order/status/{order_id}
Authorization: Bearer ваш_токен
Статусы заказа:
pending - Ожидание
processing - В работе
completed - Выполнен
failed - Ошибка
Пользователь
Баланс
GET /api/user/balance
Authorization: Bearer ваш_токен
Статистика
GET /api/user/stats
Authorization: Bearer ваш_токен
Примеры кода
Python
import requests
class SteamSmmAPI:
def __init__(self, api_token):
self.base_url = "https://steamsmm.ru/api"
self.headers = {
"Authorization": f"Bearer {api_token}",
"Content-Type": "application/json"
}
def get_balance(self):
"""Получение баланса"""
response = requests.get(
f"{self.base_url}/user/balance",
headers=self.headers
)
return response.json()
def calculate_price(self, action_type, quantity):
"""Расчет цены"""
data = {
"action_type": action_type,
"quantity": quantity
}
response = requests.post(
f"{self.base_url}/order/price",
headers=self.headers,
json=data
)
return response.json()
def create_order(self, action_type, quantity, target_link):
"""Создание заказа"""
data = {
"action_type": action_type,
"quantity": quantity,
"target_link": target_link
}
response = requests.post(
f"{self.base_url}/order/create",
headers=self.headers,
json=data
)
return response.json()
def get_order_status(self, order_id):
"""Проверка статуса заказа"""
response = requests.get(
f"{self.base_url}/order/status/{order_id}",
headers=self.headers
)
return response.json()
# Использование
api = SteamSmmAPI("ваш_токен")
# Получение баланса
balance = api.get_balance()
print(f"Баланс: {balance['data']['balance']} руб.")
# Создание заказа
order = api.create_order(
action_type="comment",
quantity=100,
target_link="https://steamcommunity.com/id/username"
)
if order['status'] == 'success':
print(f"Заказ создан: {order['data']['order_id']}")