К содержимому
aliveSMM

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

Стандартный протокол SMM-Panel v2. Если у вас уже есть интеграция с другой панелью, меняются только домен и ключ.

Обзор

Единый эндпоинт, стандартный протокол SMM-Panel v2. Каждый запрос идёт на /api/v2 с параметром action — работают и GET, и POST (x-www-form-urlencoded).

Пример
https://smm.alive-core.online/api/v2

Действия

actionЧто делает
servicesСписок услуг с ценами
addСоздать заказ
statusСтатус одного заказа или сразу нескольких
cancelОтменить заказ
refillЗапросить доливку
refill_statusСтатус запроса на доливку
balanceБаланс

Все суммы в ответах — рубли: ставки поставщиков переводятся в рубли ещё при импорте каталога, и у каждого денежного ответа есть поле currency со значением RUB.

Ограничение — 120 запросов в минуту с одного IP. Превышение приходит кодом 429 и телом {"detail": "rate limit exceeded"}; это единственная штатная ошибка не с кодом 200.

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

Каждый запрос авторизуется API-ключом. Передавайте его в заголовке X-Api-Key или параметром key в теле POST-запроса. Не добавляйте ключ в URL; при утечке сразу сгенерируйте новый.

Забрать API-ключ в кабинете

Ошибки

Ошибка приходит с кодом HTTP 200 и телом {"error": "..."} — так устроен протокол SMM-Panel. Проверяйте наличие поля error, а не код ответа.

Пример
{ "error": "Order not found" }

Частые сообщения

СообщениеКогда приходит
Invalid API keyКлюч не передан, неверен или отозван
Action is requiredНе указан параметр action
Unsupported actionЗначение action не из списка выше
Service not foundУслуги с таким ID нет или она отключена
Order not foundЗаказа с таким ID нет или он создан другим ключом
Quantity must be an integerquantity не число
Order cannot be canceled at this stageЗаказ уже выполнен или отменён
Cancel is unavailable for this serviceУ услуги отмена не поддерживается

В ответах сразу по нескольким заказам ошибка приходит объектом на конкретный ID, а не на весь запрос.

Список услуг

GET/api/v2?action=services

Параметры запроса

ПолеОписание
actionДействие — "services"
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -X POST https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  -H "Content-Type: application/x-www-form-urlencoded"
  --data "action=services"

Поля ответа

ПолеОписание
serviceID услуги — передаёте в «add»
nameНазвание услуги
typeТип услуги
categoryКатегория
rateКонечная цена за 1000 единиц для вашего ключа — уже со скидкой вашего аккаунта. Именно эта ставка и спишется при заказе.
rate_originalТа же цена до вашей скидки
discount_percentСкидка вашего аккаунта в процентах
currencyВалюта всех сумм ответа — RUB
minМинимальное количество в заказе
maxМаксимальное количество в заказе
refillПоддерживается ли доливка (true/false)
cancelПоддерживается ли отмена (true/false)
dripfeedПоддерживается ли интервальная подача (true/false)

Дополнительно · приходят не у всех услуг

ПолеОписание
descriptionОписание услуги
qualityКачество аудитории
guaranteeЕсть ли гарантия
drops_percentageОжидаемый процент отписок
speed_per_dayСкорость выполнения в сутки
link_sampleПример корректной ссылки
overflowДопускается ли перевыполнение
service_typeВнутренний тип услуги

Эти поля есть только у тех услуг, по которым их передал поставщик, — не рассчитывайте на их присутствие.

Пример
[
  {
    "service": "3837",
    "name": "Зрители Twitch [1 час]",
    "type": "Default",
    "category": "Twitch Зрители > Зрители #1",
    "rate": "105.3",
    "rate_original": "117.0",
    "discount_percent": 10.0,
    "currency": "RUB",
    "min": 10,
    "max": 5000,
    "refill": false,
    "cancel": false,
    "dripfeed": false,
    "quality": "real",
    "service_type": "default"
  }
]

Создать заказ

POST/api/v2?action=add

Параметры запроса

ПолеОписание
actionДействие — "add"
serviceID услуги из списка услуг
linkСсылка на цель: профиль / пост / видео (до 512 символов)
quantityКоличество, в пределах min…max услуги
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.

Опционально · по типу услуги

ПолеОписание
comments«Custom Comments»: комментарии, по одному на строку (перенос строки = %0A в URL). Количество берётся из их числа — quantity можно не указывать
usernames«Mentions» (упоминания): юзернеймы, по одному на строку (перенос строки = %0A в URL). Количество берётся из их числа — quantity можно не указывать
answer_number«Poll» (опрос): номер варианта ответа (1…1000)

Опционально · интервальная подача

ПолеОписание
runsЧисло прогонов, 1…1000. Учитывается только у услуг с dripfeed: true — у остальных отбрасывается и поставщику не уходит.
intervalИнтервал между прогонами в минутах. Уходит поставщику как есть, допустимые значения — на его стороне.

quantity — это количество на ОДИН прогон. При runs больше единицы во столько же раз растут и доставка, и списание: заказ стоит quantity × runs × rate / 1000.

Пример
curl -X POST https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  -H "Content-Type: application/x-www-form-urlencoded"
  --data "action=add&service=1&link=https://instagram.com/instagram&quantity=100"

Поля ответа

ПолеОписание
orderID созданного заказа
Пример
{ "order": 1 }

Если заказ отклонён, вместо order придёт поле error — списанные за него деньги возвращаются на баланс.

Статус заказа

GET/api/v2?action=status

Параметры запроса

ПолеОписание
actionДействие — "status"
orderID заказа
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -G https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  --data-urlencode "action=status"
  --data-urlencode "order=1"

Поля ответа

ПолеОписание
orderID заказа
chargeСколько списано за заказ, в рублях
start_countСчётчик (напр. подписчиков) на момент старта заказа
statusСтадия выполнения — см. ниже
remainsСколько ещё осталось долить
currencyВалюта — RUB

Пока заказ у поставщика, его статус проходит насквозь ровно в том виде, как его назвал поставщик, — включая Partial и Processing. Своими словами панель отвечает только когда статуса от поставщика ещё нет: Pending, In progress, Completed, Canceled. Сравнивайте статус со списком известных значений и предусмотрите ветку для незнакомого.

Пример
{
  "order": 1,
  "charge": "1.3200",
  "start_count": "3572",
  "status": "Partial",
  "remains": "157",
  "currency": "RUB"
}

Множественный статус

GET/api/v2?action=status

Параметры запроса

ПолеОписание
actionДействие — "status"
ordersID заказов через запятую (1,2,3)
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -G https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  --data-urlencode "action=status"
  --data-urlencode "orders=1,2,3"

Поля ответа

ПолеОписание
"<id>"Каждый ключ — ID заказа; значение — объект статуса с теми же полями, что в «status», либо {"error": "Order not found"}
Пример
{
  "1": { "order": 1, "charge": "1.3200", "status": "Partial", "remains": "157", "currency": "RUB" },
  "2": { "error": "Order not found" }
}

Отмена заказа

POST/api/v2?action=cancel

Параметры запроса

ПолеОписание
actionДействие — "cancel"
orderID заказа. Передаётся либо order, либо orders.
ordersID заказов через запятую (1,2,3) — ответ придёт объектом по каждому ID
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -X POST https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  -H "Content-Type: application/x-www-form-urlencoded"
  --data "action=cancel&order=1"

Отменить можно заказ, который ещё не выполнен, и только у услуги с cancel: true. Панель дополнительно перепроверяет заказ у поставщика: если тот принял запрос, но заказ всё ещё выполняется, отмена не засчитывается. По отменённому заказу деньги возвращаются на баланс.

Поля ответа

ПолеОписание
cancelПодтверждение отмены — ответ поставщика проходит насквозь
errorПричина, если отменить нельзя
Пример
{ "cancel": 1 }

Доливка

GET/api/v2?action=refill

Параметры запроса

ПолеОписание
actionДействие — "refill"
orderID заказа (только Completed / Partial)
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -G https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  --data-urlencode "action=refill"
  --data-urlencode "order=1"

Поля ответа

ПолеОписание
refillНомер запроса на доливку у поставщика — его передаёте в «refill_status»
Пример
{ "refill": 1 }

Статус доливки

GET/api/v2?action=refill_status

Параметры запроса

ПолеОписание
actionДействие — "refill_status"
refillНомер запроса на доливку из ответа «refill»
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -G https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  --data-urlencode "action=refill_status"
  --data-urlencode "refill=1"

Поля ответа

ПолеОписание
statusСтадия доливки — ответ поставщика проходит насквозь
Пример
{ "status": "Completed" }

Баланс

GET/api/v2?action=balance

Параметры запроса

ПолеОписание
actionДействие — "balance"
keyВаш API-ключ. Рекомендуется передавать через заголовок X-Api-Key.
Пример
curl -X POST https://smm.alive-core.online/api/v2
  -H "X-Api-Key: YOUR_KEY"
  -H "Content-Type: application/x-www-form-urlencoded"
  --data "action=balance"

Поля ответа

ПолеОписание
balanceБаланс аккаунта, с которым связан ключ
currencyВалюта — RUB
Пример
{ "balance": "99.80", "currency": "RUB" }