Документация 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 integer | quantity не число |
| 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"Поля ответа
| Поле | Описание |
|---|---|
| service | ID услуги — передаёте в «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" |
| service | ID услуги из списка услуг |
| 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"Поля ответа
| Поле | Описание |
|---|---|
| order | ID созданного заказа |
{ "order": 1 }Если заказ отклонён, вместо order придёт поле error — списанные за него деньги возвращаются на баланс.
Статус заказа
GET/api/v2?action=status
Параметры запроса
| Поле | Описание |
|---|---|
| action | Действие — "status" |
| order | ID заказа |
| 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"Поля ответа
| Поле | Описание |
|---|---|
| order | ID заказа |
| 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" |
| orders | ID заказов через запятую (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" |
| order | ID заказа. Передаётся либо order, либо orders. |
| orders | ID заказов через запятую (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" |
| order | ID заказа (только 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" }