BetterSMM BETTERSMM

API v2 для реселлеров

https://bettersmm.pro/api/v2

Адрес: 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
}
key
Ключ API из кабинета
action
add
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
Текущий баланс строкой
currency
RUB

services — список услуг

Активные строки каталога: service (id), name, type (Default), category, rate (строка, персональная ставка если она есть), min, max, refill, cancel. Отсюда берите реальный id перед add.

Пример тела
{
  "key": "your_api_key",
  "action": "services"
}
service
Id для action=add
rate
Цена за 1000 в валюте аккаунта (панель в RUB)
min / max
Лимиты количества
refill / cancel
Флаги строки (cancel в текущем API всегда true)

Также реализованы action=cancel (id заказа; не все статусы) и action=refill (если услуга позволяет refill, в пределах срока, лимита и паузы). FAQ панели: /faq/. Соглашение: /legal/.

После входа этот адрес открывает виджет ключа в кабинете. Гости и поиск получают эту публичную страницу.

Главная Каталог FAQ Регистрация Правила