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
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>
Только для заказов из стока; для остальных — ошибка "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"