Перейти к содержимому
← smmtrand

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

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

Подключите панель к своим инструментам. Ключ создаётся в личном кабинете; ниже приведён справочник методов и примеры запросов.

Получить API-ключ

Справочник методов

HTTP API для автоматизации заказов. Совместимо с форматом Perfect Panel и производными: один endpoint, параметры key и action, ответ — JSON, HTTP-статус всегда 200.

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

В каждом запросе — параметр key с вашим ключом (значение доступно выше после входа). Ключ хранится в зашифрованном виде.

Базовый URL

https://smmtrand.ru/api/v2

GET и POST равнозначны. POST — с типом application/x-www-form-urlencoded. service — числовой id услуги; order — непрозрачная строка (uuid).

Методы

action=services

Список доступных услуг с ценой и лимитами.

ПараметрОбяз.Описание
keyдаваш ключ API
actionда= services
Запрос
POST https://smmtrand.ru/api/v2
key=<KEY>&action=services
Ответ
[
  {
    "service": "10001",
    "name": "Подписчики Instagram",
    "type": "Default",
    "category": "Instagram",
    "rate": "10.00",
    "min": 100,
    "max": 100000,
    "dripfeed": false,
    "refill": false,
    "cancel": false,
    "fields": [
      { "key": "username", "name": "Ник", "type": "text", "required": true }
    ]
  }
]

rate — цена в рублях за 1000 единиц.

fields присутствует только у услуг с настраиваемыми полями заказа — их значения передаются в add дополнительными параметрами (по key).

type — одна из 16 стандартных строк PerfectPanel (Default, Web Traffic, Subscriptions, Invites from Groups, Comment Replies, Poll, Comment Likes, Custom Comments Package, Mentions Media Likers, Mentions User Followers, Mentions Hashtag, Mentions Custom List, Mentions with Hashtags, Mentions, Custom Comments, Package) — набор параметров add зависит от неё, см. ниже.

action=add

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

ПараметрОбяз.Описание
keyдаваш ключ API
actionда= add
serviceдаid услуги из services
linkдассылка на цель; не нужна для услуг из стока и услуг без ссылки
quantityдацелое количество в пределах min–max
idempotency_keyнетваш уникальный id запроса — защита от дублей при ретраях
Запрос
POST https://smmtrand.ru/api/v2
key=<KEY>&action=add&service=SERVICE_ID&link=https://...&quantity=1000
Ответ
{ "order": 23501 }

Повтор с тем же idempotency_key (или тот же набор параметров в ту же минуту) вернёт id существующего заказа, второго списания не будет.

action=status

Статус заказа — одиночный (order) или массовый (orders, до 100).

ПараметрОбяз.Описание
keyдаваш ключ API
actionда= status
orderнетuuid одного заказа
ordersнетuuid через запятую, до 100
Запрос
POST https://smmtrand.ru/api/v2
key=<KEY>&action=status&order=<uuid>
key=<KEY>&action=status&orders=<uuid>,<uuid>
Ответ
{
  "charge": "10.00",
  "start_count": "0",
  "status": "Completed",
  "remains": "0",
  "currency": "RUB"
}

status: Pending — в очереди · In progress — выполняется · Completed — выполнен · Partial — частично · Canceled — отменён.

При массовом запросе ответ — объект { "<uuid>": {…} }; неверный id даёт ошибку в своей позиции, остальные статусы приходят.

action=balance

Текущий баланс.

ПараметрОбяз.Описание
keyдаваш ключ API
actionда= balance
Запрос
POST https://smmtrand.ru/api/v2
key=<KEY>&action=balance
Ответ
{ "balance": "1234.56", "currency": "RUB" }

action=cancel

Запрос отмены — одиночный (order) или массовый (orders).

ПараметрОбяз.Описание
keyдаваш ключ API
actionда= cancel
orderнетuuid одного заказа
ordersнетuuid через запятую
Запрос
POST https://smmtrand.ru/api/v2
key=<KEY>&action=cancel&order=<uuid>
key=<KEY>&action=cancel&orders=<uuid>,<uuid>
Ответ
{ "order": "<uuid>", "cancel": 1 }

Доступно только для услуг, где "cancel": true в services.

action=order_items

Выданный контент заказа из стока (аккаунты, коды и т.п.).

ПараметрОбяз.Описание
keyдаваш ключ API
actionда= order_items
orderдаuuid заказа
Запрос
POST https://smmtrand.ru/api/v2
key=<KEY>&action=order_items&order=<uuid>
Ответ
{ "order": "<uuid>", "posts": ["login:pass", "login2:pass2"] }

Только для заказов из стока; для остальных — ошибка "No content available for this order".

Ошибки

При ошибке тело — JSON-объект с единственным полем error (текст), HTTP-статус всё равно 200. Частые причины: неверный ключ, нехватка средств, количество вне диапазона min/max, неизвестный service, заказ не найден или не ваш.

{ "error": "Not enough funds on balance" }

Пример (curl)

# список услуг
curl "https://smmtrand.ru/api/v2?key=<KEY>&action=services"

# создать заказ
curl -X POST "https://smmtrand.ru/api/v2" \
  -d "key=<KEY>" -d "action=add" \
  -d "service=SERVICE_ID" \
  -d "link=https://instagram.com/username" \
  -d "quantity=1000"

# статус заказа
curl "https://smmtrand.ru/api/v2?key=<KEY>&action=status&order=ORDER_UUID"