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

Два API: API v2 — для сайтов и SMM-панелей, которые подключают HellPanel как провайдера услуг, и API софта — для программ исполнителей. Оба совместимы с Socpanel: достаточно сменить адрес и ключ.

API для панелей (v2)

Стандартный протокол SMM-провайдера (как у Socpanel, Perfect Panel и других). Добавьте HellPanel в своей панели как провайдера:

Адрес провайдера
https://botsapi.z1y1x1.ru/api/v2
Ключ
Выдаёт администратор 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
  }
]
ПолеЧто
serviceID услуги — передаётся в add
rateцена за 1000 выполнений
min, maxдопустимое количество в заказе
refillдокрутка (сейчас не поддерживается)
cancelможно ли отменять заказы

POST action=add — новый заказ

ПараметрЧто
serviceID услуги из каталога
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 — в кабинете исполнителя.

Адрес
https://bots.z1y1x1.ru
Кабинет
bots.z1y1x1.ru — ключ, услуги, выплаты
  • Только 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"} после.