Документация API
Два API: API v2 — для сайтов и SMM-панелей, которые подключают HellPanel как провайдера услуг, и API софта — для программ исполнителей. Оба совместимы с Socpanel: достаточно сменить адрес и ключ.
API для панелей (v2)
Стандартный протокол SMM-провайдера (как у Socpanel, Perfect Panel и других). Добавьте HellPanel в своей панели как провайдера:
- Только
POST. Тело — форма (application/x-www-form-urlencoded) или JSON. - В каждом запросе —
key(ключ панели) иaction. - Ответ — всегда HTTP 200 и JSON. Ошибка — объект
{"error": "…"}. - Числа в ответах — строками (кроме номера заказа в
add). Деньги — в валюте баланса панели, сейчас USD. - Синонимы полей принимаются:
api_key→key,service_id→service,order_id→order,url→link,qty→quantity.
quantity × rate / 1000 сразу. Пополняет баланс администратор HellPanel.
При отмене и частичном выполнении остаток возвращается на баланс.POST action=services — каталог
Включённые услуги вашей панели.
curl -X POST https://botsapi.z1y1x1.ru/api/v2 -d key=ВАШ_КЛЮЧ -d action=services
[
{
"service": "1043",
"name": "Подписчики Telegram",
"type": "Default",
"category": "Telegram",
"rate": "0.90",
"min": "10",
"max": "100000",
"refill": false,
"cancel": true
}
]
| Поле | Что |
|---|---|
service | ID услуги — передаётся в add |
rate | цена за 1000 выполнений |
min, max | допустимое количество в заказе |
refill | докрутка (сейчас не поддерживается) |
cancel | можно ли отменять заказы |
POST action=add — новый заказ
| Параметр | Что |
|---|---|
service | ID услуги из каталога |
link | ссылка http(s), до 2048 символов |
quantity | количество, от min до max услуги |
curl -X POST https://botsapi.z1y1x1.ru/api/v2 -d key=ВАШ_КЛЮЧ -d action=add \ -d service=1043 -d link=https://t.me/channel -d quantity=500
{"order": 24731097}
Проверки идут по порядку: ключ → услуга → количество → ссылка → баланс.
POST action=status — статус заказа
Один заказ — order=24731097, несколько — orders=1,2,3 (до 100 номеров).
{"charge": "0.45", "start_count": "0", "status": "In progress", "remains": "120", "currency": "USD"}
{
"1": {"charge": "0.45", "start_count": "0", "status": "Completed", "remains": "0", "currency": "USD"},
"2": {"error": "Incorrect order ID"}
}
POST action=cancel — отмена
order=5 → объект, orders=5,6 → массив. Отмена асинхронная: пока выполнения в работе дозасчитываются,
статус — In progress, затем Canceled или Partial и возврат остатка.
{"order": 5, "cancel": 1}
[{"order": 5, "cancel": 1}, {"order": 6, "cancel": {"error": "Incorrect order status"}}]
POST action=balance — баланс
{"balance": "125.50", "currency": "USD"}
POST action=refill
{"error": "Refill is not supported"}
Ошибки и статусы
| Ошибка | Когда |
|---|---|
Invalid API key | ключа нет, он неверный или панель выключена |
Incorrect request | неизвестный action, битое тело, нет номера заказа |
Service not found | услуги нет или она выключена |
Quantity must be between X and Y | количество вне лимитов услуги |
Invalid link | ссылка не http(s) или длиннее 2048 |
Not enough funds | на балансе меньше стоимости заказа |
Incorrect order ID | заказа нет или он чужой |
Incorrect order status | заказ уже нельзя отменить |
Internal error | сбой у нас — повторите позже |
Статусы: Pending → In progress → Completed; после отмены — Canceled или Partial.
Заказ может отмениться и сам, если аккаунты исполнителей массово отказываются от ссылки (ignore).
API софта исполнителя
Совместим с botsapi.socpanel.com: в софте замените адрес и ключ. Ключ и service_id — в кабинете исполнителя.
- Только
GET, параметры в строке запроса, ответ — всегда HTTP 200 и JSON. - В каждом запросе:
api_token(ключ из кабинета, 30 букв и цифр) иaccount_identity(аккаунт соцсети). - Один ключ обслуживает сколько угодно аккаунтов. Заказ выдаётся одному аккаунту один раз.
- Неверный ключ —
{"error":"invalid_api_token"}.
GET /getOrder — взять заказ
Дополнительно: service_id вида 1_1043 (панель_услуга), берётся в кабинете.
GET https://bots.z1y1x1.ru/getOrder?api_token=КЛЮЧ&account_identity=acc1&service_id=1_1043
| Ответ | Что делать |
|---|---|
{"id":24731097,"url":"…","retry_after":30} | выполнить и вызвать check не позже 60 секунд |
{"error":"empty"} | работы нет, спросить позже |
{"error":"flood","retry_after":N} | аккаунт спрашивает чаще раза в 30 с — подождать N секунд |
GET /check — подтвердить выполнение
Параметр order_id. {"ok":true} — засчитано и оплачено. {"error":"invalid_order_status"} — повтор,
срок вышел (60 с) или заказ не выдавался этому аккаунту.
GET /ignore — отказаться
Параметр order_id. Всегда {"ok":true}. Этому аккаунту заказ больше не придёт, слот вернётся другим.
GET /cancel
Параметры order_id, count. Как у оригинала: {"error":"cancelling_not_available"} до check
и {"error":"order_not_taken"} после.