Адрес: POST (тело JSON) или GET (query string) на https://bettersmm.pro/api/v2. Оба способа читают одни и те же поля: сначала тело, затем строка запроса. Это публичная документация. Ключ создаётся в кабинете после регистрации — чужой ключ на этой странице не показывается.
На главной тот же пример add: key, action add, service 101, ссылка Telegram, quantity 1000. 101 — иллюстрация, как на главной; рабочие id берите из action=services. Разовый заказ по-прежнему через каталог и /register/; API нужен тем, у кого уже своя панель.
Реализованные action: services, add, status, cancel, refill, balance. Ниже — add, status и balance (как просили) и services, потому что без id заказать нельзя. cancel и refill есть на том же адресе; они зависят от флагов услуги и статуса заказа. В ответах валюта RUB, не USD. Неверный ключ → error «Invalid API key».
add — создать заказ
Обязательные поля: service, link, quantity. Возможные ошибки: нет полей, неверное количество, неверный id услуги, количество вне min/max, недостаточно баланса, провайдер не настроен.
Пример тела (как на главной)
{
"key": "your_api_key",
"action": "add",
"service": 101,
"link": "https://t.me/...",
"quantity": 1000
}
Пример ответа
{
"order": 23501
}
service
Числовой id из action=services
link
Публичный URL, который ждёт выбранная строка
quantity
Целое число в пределах min/max строки
status — статус заказа
Нужен order (id из ответа add). Нет id → «Missing order ID». Чужой или неизвестный → «Order not found». status — статус заказа с заглавной первой буквой (pending, in_progress, completed, partial, cancelled, refunded, error).
Пример тела
{
"key": "your_api_key",
"action": "status",
"order": 23501
}
Пример ответа
{
"charge": "12.50",
"start_count": 3572,
"status": "Completed",
"remains": 0,
"currency": "RUB"
}
charge
Списанная сумма строкой
start_count
Счётчик на момент активации
status
Статус заказа с заглавной буквы
remains
Оставшееся количество
currency
В этом API всегда RUB
balance — баланс аккаунта
Кроме key и action ничего не нужно. Возвращает баланс панели в RUB.
Пример тела
{
"key": "your_api_key",
"action": "balance"
}
Пример ответа
{
"balance": "99.80",
"currency": "RUB"
}
balance
Текущий баланс строкой
services — список услуг
Активные строки каталога: service (id), name, type (Default), category, rate (строка, персональная ставка если она есть), min, max, refill, cancel. Отсюда берите реальный id перед add.
Пример тела
{
"key": "your_api_key",
"action": "services"
}
rate
Цена за 1000 в валюте аккаунта (панель в RUB)
min / max
Лимиты количества
refill / cancel
Флаги строки (cancel в текущем API всегда true)
Также реализованы action=cancel (id заказа; не все статусы) и action=refill (если услуга позволяет refill, в пределах срока, лимита и паузы). FAQ панели: /faq/. Соглашение: /legal/.
После входа этот адрес открывает виджет ключа в кабинете. Гости и поиск получают эту публичную страницу.