Перейти до вмісту
4SNS PLUS

SMM панель API: документація

SMM панель 4SNS PLUS приймає замовлення з вашого Telegram бота або власної панелі через стандартний API v2.

Що таке API SMM панелі?

API SMM панелі дає змогу програмі отримувати список послуг, створювати замовлення та перевіряти статус замовлень і баланс без заходу на сайт. 4SNS PLUS підтримує стандартний формат API v2, який використовують багато панелей і ботів, тож код, уже підключений до іншої панелі, запрацює одразу після заміни URL і ключа.

Ціни та баланс в API такі самі, як на сайті. rate у відповіді services дорівнює ціні за 1,000 (у доларах США) з прайсу, а замовлення через add списуються з балансу так само, як замовлення на сайті, і теж видно в історії замовлень в особистому кабінеті. Суми за скасованими та частковими замовленнями повертаються на той самий баланс.

Основне

Адреса (endpoint)https://4snsplus.com/api/v2
МетодPOST
Формат запитуПоля форми (application/x-www-form-urlencoded, multipart) або тіло JSON
ВідповідьJSON; помилки теж надходять з HTTP 200 і полем error
АвторизаціяПараметр key (ваш API ключ) у кожному запиті
Ліміт запитів300 запитів на хвилину на один ключ
ВалютаДолар США (USD)

Приклад запиту

curl -X POST https://4snsplus.com/api/v2 \
  -d key=YOUR_API_KEY \
  -d action=balance
import requests

r = requests.post("https://4snsplus.com/api/v2", data={
    "key": "YOUR_API_KEY",
    "action": "add",
    "service": 2210,
    "link": "https://t.me/yourchannel",
    "quantity": 1000,
})
print(r.json())  # {"order": 31877} or {"error": "..."}

Як отримати API ключ?

Щойно перше поповнення зараховано на баланс, ви можете створити API ключ у розділі API ключ особистого кабінету. Ключ показується лише один раз під час створення, тож збережіть його в надійному місці. Після створення нового ключа попередній одразу вимикається.

Ключ відокремлений від токена акаунта. У бот або на сервер додавайте лише API ключ, а токен акаунта не вказуйте ніде. Якщо вам здається, що ключ став відомий іншим, просто створіть новий на екрані API ключа.

Список послуг (services)

Повертає всі послуги, доступні для замовлення. rate це ціна за 1,000 (USD), а за type Package це ціна одного пакета. За type Custom Comments замість кількості ви надсилаєте список коментарів. category складається з назви платформи та назви групи.

ПараметрОпис
keyВаш API ключ
actionservices

Приклад відповіді

[
  {
    "service": 2210,
    "name": "Members - 30 Days Non Drop - 30 Days Refill",
    "type": "Default",
    "category": "Telegram - Members (30 Days Non Drop)",
    "rate": "1.4300",
    "min": "100",
    "max": "50000",
    "refill": true,
    "cancel": false
  }
]

Створити замовлення (add)

Створює замовлення і списує суму з балансу. Сума дорівнює ціні за 1,000, помноженій на кількість; для Package це ціна пакета, а для Custom Comments кількістю вважається число рядків коментарів. Замовлення доступні акаунтам, у яких зараховано перше поповнення. order у відповіді це ID вашого замовлення.

ПараметрОпис
keyВаш API ключ
actionadd
serviceID послуги (service із services)
linkПублічне посилання. Для Telegram: t.me/name, закрите посилання-запрошення t.me/+code, пост t.me/name/123, бот t.me/botname. @name теж приймається
quantityКількість (у межах min і max). Не потрібна для Package і Custom Comments
commentsЛише для Custom Comments. Один коментар на рядок, до 10,000 рядків, до 500 символів у рядку

Приклад відповіді

{
  "order": 31877
}

Статус замовлення (status)

Статус одного замовлення. charge це фактично сплачена сума після повернень (USD, 6 знаків після коми), start_count це значення лічильника на старті замовлення, remains це кількість, яку ще не виконано.

ПараметрОпис
keyВаш API ключ
actionstatus
orderID замовлення

Приклад відповіді

{
  "charge": "1.430000",
  "start_count": "8120",
  "status": "In progress",
  "remains": "410",
  "currency": "USD"
}

Статус кількох замовлень (status, orders)

Перевіряє до 100 замовлень за раз, ID замовлень перелічуються через кому. Для ID, яких немає або які не належать вашому акаунту, на їхньому місці повертається помилка.

ПараметрОпис
keyВаш API ключ
actionstatus
ordersСписок ID замовлень, наприклад 1,10,100

Приклад відповіді

{
  "1": { "charge": "0.300000", "start_count": "120", "status": "Completed", "remains": "0", "currency": "USD" },
  "10": { "error": "Incorrect order ID" }
}

Запит докрутки (refill)

Для замовлення послуги з періодом докрутки, яке завершилося зі статусом Completed або Partial, надішліть запит протягом періоду докрутки, рахуючи від моменту завершення. На кожне замовлення може бути один відкритий запит, з інтервалом 24 години між запитами.

ПараметрОпис
keyВаш API ключ
actionrefill
orderID замовлення

Приклад відповіді

{
  "refill": 512
}

Статус докрутки (refill_status)

Статус одного запиту на докрутку.

ПараметрОпис
keyВаш API ключ
actionrefill_status
refillID докрутки (refill з відповіді refill)

Приклад відповіді

{
  "status": "Completed"
}

Баланс (balance)

Ваш баланс (USD, 6 знаків після коми).

ПараметрОпис
keyВаш API ключ
actionbalance

Приклад відповіді

{
  "balance": "84.120000",
  "currency": "USD"
}

Значення статусу замовлення

PendingПрийнято. Передається в роботу, очікує старту, або оператор перевіряє результат передачі
In progressВиконується
CompletedВиконано повністю
PartialВиконано частково. Невиконана частина повертається на баланс
CanceledНе виконано. Повне повернення на баланс

Значення статусу докрутки

PendingЗапит на докрутку прийнято
In progressДокрутка виконується
CompletedДокрутку виконано
RejectedЗапит на докрутку не прийнято

Повідомлення про помилки

Помилки надходять у JSON з полем error у відповіді HTTP 200. У коді спершу перевіряйте наявність поля error.

{
  "error": "Not enough funds on balance"
}
Invalid API keyКлюч не вказано, він неправильний або замінений новим ключем
Too many requestsПонад 300 запитів на хвилину. Повторіть трохи згодом
Incorrect actionЗначення action немає у списку вище
Add funds firstЗамовлення з акаунта, у якого ще не зараховано перше поповнення
Incorrect service IDНемає доступної для замовлення послуги з таким ID
Incorrect linkПосилання порожнє або не є веб адресою
Quantity out of rangeКількість менша за мінімальну або більша за максимальну
Incorrect commentsCustom Comments порожні або перевищують 10,000 рядків чи 500 символів у рядку
Not enough funds on balanceБаланс менший за суму замовлення. Поповніть баланс і замовте знову
Incorrect order IDЗамовлення з таким ID немає у вашому акаунті
Refill is not available for this serviceПослуга не має періоду докрутки
Order is not finished yetДокрутка доступна, коли замовлення має статус Completed або Partial
Refill period has endedПеріод докрутки, рахуючи від завершення замовлення, минув
Refill already requestedЦе замовлення вже має відкритий запит на докрутку
Refill already requested, try again laterВід останнього запиту не минуло 24 години
Incorrect refill IDДокрутки з таким ID немає у вашому акаунті

Як підключити API SMM панелі до бота Telegram?

1. Збережіть список послуг

Викликайте services кілька разів на день і зберігайте в себе ID послуги, назву, rate, min і max. Ціну для клієнтів розраховуйте, додаючи свою націнку до rate, а під час замовлення використовуйте збережений ID послуги без змін.

2. Перевіряйте кількість і посилання перед замовленням

Якщо заздалегідь перевіряти, що кількість між min і max, а посилання у форматі t.me, помилок Quantity out of range та Incorrect link стане значно менше. Також корисно заздалегідь перевірити баланс через balance.

3. Перевіряйте статус пакетами

Перевіряйте замовлення в роботі кожні кілька хвилин пакетами по 100 через параметр orders. Так ви з запасом вкладаєтеся в ліміт 300 запитів на хвилину на ключ. Коли замовлення переходить у Completed, Partial або Canceled, повідомте клієнту результат.

4. Докрутку запитуйте лише для завершених замовлень

Коли замовлення послуги з докруткою переходить у Completed або Partial, можна надіслати refill. Збережіть ID докрутки з відповіді та стежте за перебігом через refill_status.