API конфигуратора зрителей
REST · JSONTwitchKickYouTubeVK Video Live
Зрители под ваши настройки — прямо из вашего кода
Те же возможности, что в Панели зрителей: скорость захода, гео, авторизация, плавающий онлайн, рейды, подписка на несколько каналов. Заказом можно управлять: пауза, остановка, смена канала, продление.
https://stream-promotion.ru/configurator/api/Authorization: ВАШ_КЛЮЧJSON, UTF-8из настроек APIпо умолчанию USDКакое API вам нужно
key и action. Для перепродажи в SMM-панели.Открыть документацию → Authorization.Быстрый старт
- Задайте ключв личном кабинете, «Настройки API»: латинские буквы и цифры.
- Проверьте ключзапросом
GET /user/info— он вернёт баланс. - Посчитайте ценучерез
POST /helper/calculator. Расчёт ничего не списывает. - Создайте заказчерез
POST /orderи сохранитеuuidиз ответа.
curl https://stream-promotion.ru/configurator/api/user/info \ -H "Authorization: ВАШ_КЛЮЧ"
<?php
$ch = curl_init('https://stream-promotion.ru/configurator/api/user/info');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: ВАШ_КЛЮЧ'],
]);
$res = json_decode(curl_exec($ch), true);
print_r($res); import requests
res = requests.get(
"https://stream-promotion.ru/configurator/api/user/info",
headers={"Authorization": "ВАШ_КЛЮЧ"},
timeout=30,
)
print(res.status_code, res.json()) const res = await fetch(
"https://stream-promotion.ru/configurator/api/user/info",
{ headers: { Authorization: "ВАШ_КЛЮЧ" } }
);
console.log(res.status, await res.json()); Ответ 200
{"balance": 176.0, "currency": "USD", "language": "ru-ru"} balance — сколько можно потратить на заказы: деньги на счёте плюс бонусные баллы, в валюте из настроек API.
Конструктор запроса
Заполните поля — ниже появится готовый запрос. Сначала проверьте цену, потом создавайте заказ. Страница ничего никуда не отправляет.
curl -X POST https://stream-promotion.ru/configurator/api/helper/calculator \
-H "Authorization: ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
-d '{"type":"twitch.viewers","total_time":"02:00:00","channels":[{"channel":"mychannel","viewers":{"maximum":50,"interval":1}}]}' curl -X POST https://stream-promotion.ru/configurator/api/order \
-H "Authorization: ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
-d '{"type":"twitch.viewers","total_time":"02:00:00","channels":[{"channel":"mychannel","viewers":{"maximum":50,"interval":1}}]}' Длительности в списке — только те, что API принимает без округления. Авторизацию, просмотры, рейды и гео добавьте по таблице настроек.
Авторизация
Ключ передаётся в заголовке Authorization как есть: без слова Bearer, без номера аккаунта и двоеточия.
Authorization: k7Hq2mXv9PaL
- Храните ключ на сервере. Не вставляйте его в код страницы, браузерное расширение или мобильное приложение.
- Сменили ключ в настройках — прежний сразу перестаёт работать.
- Нет заголовка — ответ 400. Неверный ключ или аккаунт отключён — 403.
Все методы
Пути указаны от https://stream-promotion.ru/configurator/api. Деньги списывают только два метода — они отмечены.
| Метод | Что делает |
|---|---|
| GET/user/info | Баланс, валюта, язык |
| GET/helper/type | Площадки |
| GET/helper/geo | Страны и регионы зрителей |
| GET/helper/kick/quality | Качество зрителей Kick |
| GET/helper/platforms | Устройства просмотров, Twitch |
| GET/helper/referrers | Источники просмотров, Twitch |
| POST/helper/calculator | Цена заказа без списания |
| POST/orderсписывает | Создать заказ |
| POST/orders | Список заказов |
| GET/order/{uuid} | Заказ подробно |
| PATCH/order/{uuid} | Изменить, пауза, остановка |
| PUT/order/{uuid}/renewсписывает | Продлить заказ |
Баланс: GET /user/info
Ответ показан в «Быстром старте». Удобно проверять ключ и остаток перед заказом.
Справочники: GET /helper/…
Значения меняются редко — кэшируйте их у себя на сутки.
| Путь | Что вернёт |
|---|---|
/helper/type | twitch, kick, youtube, vk — из них поле type заказа: twitch.viewers и т. д. |
/helper/geo | Список {id, label}, популярные первыми: Russia, SNG, SNG PRO, EuMix… 0 — Mix, смешанное гео. |
/helper/kick/quality | 0 MQ, 1 HQ (+66 % к цене), 2 UHQ (+133 %) |
/helper/platforms | 1 Web, 2 iOS, 3 Android, 4 Mobile Web, 5 Xbox, 6 PlayStation, 7 Curse |
/helper/referrers | 1 Following, 2 уведомление на сайте, 3 рекомендации, 4 рекомендации на главной, 5 прямой заход, 6 поиск, 7 каталог, 8 telegram.org, 9 discord.com, 10 google.com, 11 twitch.tv — с ним укажите value: имя канала |
Расчёт цены: POST /helper/calculator
Тело — такое же, как у создания заказа. Деньги не списываются, заказ не создаётся. Ответ: total_amount — к оплате, total_base — базовая цена без скидок и наценок.
curl -X POST https://stream-promotion.ru/configurator/api/helper/calculator \
-H "Authorization: ВАШ_КЛЮЧ" -H "Content-Type: application/json" \
-d '{"type":"twitch.viewers","total_time":"02:00:00",
"channels":[{"channel":"mychannel","viewers":{"maximum":50,"interval":1}}]}' Ответ 200
{"total_amount": "19.91", "total_base": "19.91", "currency": "RUB"} Создать заказ: POST /order
Списывает стоимость с баланса. Минимальная сумма заказа — 0.10 в валюте аккаунта.
| Поле | Описание |
|---|---|
typeобязательное | twitch.viewers, kick.viewers, youtube.viewers или vk.viewers |
channelsобязательное | Массив каналов. Без подписки учитывается только первый. |
channels[].channelобязательное | Имя канала или ссылка. Для YouTube подойдёт ссылка на канал или на трансляцию. |
channels[].viewers.maximumобязательное | Сколько зрителей. YouTube — не больше 200 на заказ. |
channels[].viewers.intervalобязательное | Пауза между заходами зрителей, секунды: 0.1–300 |
total_timeобязательное | Длительность Д.ЧЧ:ММ:СС. Допустимые значения — ниже. |
is_subscribeнеобязательное | true — подписка на несколько каналов |
couponнеобязательное | Промокод. Недействующий код игнорируется, заказ считается без него. |
max_total_amountнеобязательное | Предел цены. Если заказ дороже, придёт 409, деньги не спишутся. |
Пример: Twitch с авторизацией, просмотрами и рейдами
{
"type": "twitch.viewers",
"total_time": "1.00:00:00",
"viewers": {"auth_percent": 30, "is_collect_points": true,
"spread_percent": 20, "spread_delay": 300},
"views": {"views_per_viewers": 5, "retention": 300, "geo": 7},
"raid": {"count": 2, "time": 600, "viewers_percent": 50},
"is_casino": false,
"channels": [{"channel": "mychannel", "viewers": {"maximum": 100, "interval": 2}}],
"max_total_amount": 30
} Ответ 200
{"order_id": 7712345, "uuid": "3f8c1a2e-5b7d-4c1e-9a0b-2d4e6f8a1c3e"} order_id — номер заказа на сайте, uuid — номер для всех остальных методов.
- Если ответ не пришёл (обрыв, тайм-аут, 500), не повторяйте вслепую. Сначала посмотрите список заказов за последние минуты.
Настройки по площадкам
Блоки viewers, views и raid задаются на уровне заказа, рядом с type.
| Поле | Twitch | Kick | YouTube | VK |
|---|---|---|---|---|
viewers.auth_percentавторизованные зрители, % | 1–100 | — | — | 1–100 |
viewers.is_collect_pointsсобирать баллы канала | да, при авторизации | — | — | — |
viewers.spread_percentплавающие зрители, % | 1–50 | — | — | — |
viewers.spread_delayпауза разброса, сек — нужна вместе со spread_percent | 120–900 | — | — | — |
views.views_per_viewersпросмотры в час от зрителя | 1–50 | 1–10 | — | — |
views.retentionудержание, сек | 60–900, обязательно при просмотрах | — | — | — |
views.unique_viewers_percentуникальные зрители, % | 1–100 | — | — | — |
views.geoid из /helper/geo | да | да | — | — |
views.platforms, views.referrers[{id, min, max}], % просмотров | да | — | — | — |
raid.countсколько рейдов | 1–10000 | — | — | — |
raid.timeдлительность рейда, сек | 60–43200 | — | — | — |
raid.viewers_percentдоля зрителей в рейде, % | 1–100 | — | — | — |
is_casinoиндивидуальные зрители | +45 % к цене | — | — | — |
quality0 MQ, 1 HQ, 2 UHQ | — | да | — | — |
Поле, которого нет у площадки, игнорируется. Гео задаётся в блоке views. Просмотры включаются, когда views_per_viewers больше нуля, рейды — когда raid.count больше нуля. Все паузы и длительности — в секундах.
Длительность: total_time
Формат Д.ЧЧ:ММ:СС. Заказ считается в одной единице — минутах, часах, днях, неделях или месяцах. Месяц — 28 дней.
00:15:0002:00:003.00:00:0014.00:00:0028.00:00:00- Берётся самая крупная единица, остаток пропадает:
02:30:00— это 2 часа,1.12:00:00— 1 день,10.00:00:00— 1 неделя,30.00:00:00— 1 месяц. - Значения вне диапазона дают ошибку: 6 дней, 13 часов и 5 минут заказать нельзя.
- Перед заказом проверьте цену в калькуляторе: так видно, какой срок получился.
Подписка: is_subscribe
Один заказ сразу на несколько каналов — до 100. У каждого свой maximum и interval. Длительность — только дни, недели или месяцы. К цене +25 %. Список каналов в подписке можно менять без ограничений.
{"type": "kick.viewers", "quality": 1, "is_subscribe": true, "total_time": "7.00:00:00",
"channels": [
{"channel": "main_channel", "viewers": {"maximum": 80, "interval": 1}},
{"channel": "second_channel", "viewers": {"maximum": 40, "interval": 1}}
]} Список заказов: POST /orders
Все поля необязательные. Без фильтра по датам — заказы за последние 3 месяца.
| Поле | Описание |
|---|---|
filter.type | twitch, kick, youtube, vk |
filter.status | on — идут, off — завершены, all — все |
filter.order_id | Номера заказов с сайта, массив чисел: [7712345] |
filter.is_freez, filter.is_stop, filter.is_subscribe | true / false |
filter.date_from, filter.date_to | 2026-10-01. Окно — не больше 93 дней. |
limit | 1–50, по умолчанию 20 |
order | desc — новые первыми (по умолчанию) или asc |
last_id | Курсор следующей страницы — берите из прошлого ответа |
{"filter": {"type": "twitch", "status": "on"}, "limit": 20} Ответ 200
{
"items": [{
"uuid": "3f8c1a2e-…", "order_id": 7712345, "type": "twitch.viewers",
"viewers": {"count": 100, "interval": 2}, "channels": ["mychannel"],
"total_time": "1.00:00:00", "free_time": "0.17:42:10",
"is_subscribe": false, "is_stop": false, "is_freez": false,
"status": "on", "actions": ["edit", "stop", "pause", "renew"],
"added_at": "2026-10-11T12:05:40+03:00"
}],
"last_id": "Mjk4OTA0", "has_next": true
} Заказ подробно: GET /order/{uuid}
Те же поля, что в списке, плюс все настройки по каждому каналу: channels[].viewers, views, raid, priority. Время: total_time — сколько куплено, free_time — сколько осталось. Чужой или несуществующий uuid — ответ 404.
Изменить заказ: PATCH /order/{uuid}
Передайте только то, что меняете. Ответ: {"updated": true}.
{"is_freez": true} {"is_stop": true} {"channels": [{"channel": "new_channel"}]} {"channels": [{"channel": "mychannel",
"viewers": {"maximum": 60, "interval": 3, "spread_percent": 10, "spread_delay": 240}}]} - Снять паузу —
{"is_freez": false}, запустить после остановки —{"is_stop": false}. maximumможно снижать и повышать в рамках купленного (тарифа) — без перезапуска заказа.- Изменения одного заказа — не чаще раза в 10 секунд, иначе 429.
- Завершённый заказ (
status: off) не меняется — его можно только продлить.
Продлить: PUT /order/{uuid}/renew
Продлевает на тот же срок с теми же настройками и списывает оплату. Если продлить этот заказ нельзя, создаётся новый: в ответе будет "is_new": true и новый uuid.
{"uuid": "9a0b2d4e-…", "order_id": 7712399, "is_new": true} Статусы и ограничения
status: onЗрители на канале, время идёт.is_freez: trueЗрители уходят, время заказа стоит. Есть лимит.is_stop: trueЗрители уходят, время заказа идёт.status: offВремя кончилось. Доступно только продление.Что можно сделать с заказом прямо сейчас, показывает массив actions: edit, pause/play, stop/start, renew.
| Длительность заказа | Пауза, всего | Смен канала |
|---|---|---|
| до 1 дня | без ограничений | 1 |
| 1–3 дня | до 12 часов | 2 |
| 3–7 дней | до 24 часов | 2, неделя — 3 |
| больше недели | до 72 часов | 3, 2 месяца — 5 |
Смены канала считаются без подписки и не чаще раза в сутки. В подписке список каналов меняется свободно.
Ошибки
В отличие от API магазина, здесь HTTP-код значим. Тело ошибки: {"code": "…", "message": "…"}. В message — текст на языке из настроек API или код вида error_order_type.
| HTTP | Когда |
|---|---|
| 400 | Нет заголовка, неверное поле, значение вне диапазона, мало денег |
| 403 | Неверный ключ или аккаунт отключён |
| 404 | Заказ не найден или не ваш; с телом [] — неизвестный адрес |
| 405 | Не тот метод: например, POST вместо GET |
| 409 | Цена выше max_total_amount, ничего не списано |
| 429 | Заказ меняли меньше 10 секунд назад |
| 500 | Сбой на нашей стороне. Проверьте список заказов, прежде чем повторять |
| 503 | Технические работы, повторите позже (заголовок Retry-After) |
| message | Что поправить |
|---|---|
error_action | Неизвестный путь. Проверьте адрес: /configurator/api/… |
error_incorrect_request | Тело — не JSON. Нужен заголовок Content-Type: application/json |
error_order_type | type не из списка: twitch.viewers, kick.viewers… |
| «Канал не соответствует типу услуги» | Ссылка ведёт на другую площадку |
| «Срок действия должен быть больше / меньше N» | total_time вне диапазона, см. длительность |
«Недостаточно средств на балансе» (error_user_credit) | Пополните баланс |
error_param_*_min / _max | Значение поля вне диапазона из таблицы настроек |
error_order_allowed_action | Действия нет в actions заказа |
error_order_channels_change_* | Смены канала закончились или ещё не прошли сутки |
| «Достигнут лимит заморозки таймера» | Время паузы исчерпано |
error_filter_* | Неверный фильтр списка: дата, лимит, номер заказа |
Частые вопросы
Нужен ли отдельный ключ для конфигуратора?
Нет. Ключ тот же, что у API магазина, — из «Настроек API». Отличаются адрес и способ передачи: здесь заголовок Authorization, в API магазина — параметр key.
Ключ верный, а ответ 403 «Invalid Authorization header»
Передайте ключ без Bearer, номера аккаунта и пробелов. Проверьте, что ключ сохранён в настройках и не менялся после этого. Если ответ 400 — заголовок не дошёл: так бывает, когда прокси или хостинг срезает Authorization.
Есть ли тестовый режим?
Песочницы нет. Безопасно пробовать /user/info, справочники и /helper/calculator: они ничего не списывают. Деньги списывают только POST /order и PUT /renew.
Справочник ответил 404 с пустым списком
Справочники работают. 404 и [] значат, что адрес не распознан: проверьте полный путь, например /configurator/api/helper/platforms, и метод GET. Не помогло — пришлите в поддержку адрес, тело запроса и ответ сервера.
В какой валюте цены и на каком языке ошибки?
Валюта и язык берутся из «Настроек API». Если валюта не выбрана — USD.
Какие площадки есть? А Trovo?
В API конфигуратора — Twitch, Kick, YouTube и VK Video Live. Зрители для других площадок, в том числе Trovo, — это услуги каталога, их заказывают через API магазина.
Почему заказ на 10 дней получился на неделю?
Длительность считается в одной единице, остаток отбрасывается: 10 дней — это 1 неделя. Допустимы 1–5 дней, 1–2 недели, 1–2 месяца по 28 дней. Смотрите таблицу длительностей.
Что такое interval?
Пауза между заходами зрителей, в секундах. interval: 1 — 60 зрителей в минуту; при 100 зрителях и interval: 2 все зайдут примерно за 3 минуты 20 секунд. Чем больше пауза, тем естественнее рост онлайна.
Что дают плавающие зрители и пауза разброса?
spread_percent — доля зрителей, которые уходят и возвращаются, чтобы онлайн не стоял ровной линией. spread_delay — пауза между такими колебаниями, 120–900 секунд. Раньше при создании заказа поле принимало минуты (2–15) — такие значения работают и сейчас: меньше 60 считается минутами. Если задан spread_percent, передайте и spread_delay.
Что такое удержание и сколько просмотров ставить?
views.retention — сколько секунд зритель смотрит, прежде чем уйти и зайти заново. views.views_per_viewers — сколько просмотров в час даёт один зритель. Больше 5–10 ставить не советуем: такой рост выглядит неестественно.
Зачем авторизованные зрители?
Авторизованные зрители входят в аккаунты Twitch или VK: они видны в списке зрителей чата и на Twitch могут собирать баллы канала (is_collect_points). Пока баллы только копятся, тратить их — в планах. Неавторизованные учитываются в онлайне, но в списке чата их нет.
Что такое is_casino?
«Индивидуальные зрители» для каналов в разделах казино и крипто, а также для каналов, которые при накрутке перестают показываться в категориях и рекомендациях (ШБ). Это другие серверы и другое гео. Цена +45 %.
Как работают рейды?
raid.count — сколько рейдов за заказ (задаётся при покупке, до 10 000), raid.time — сколько секунд зрители стоят на чужом канале после перехода, raid.viewers_percent — какая доля зрителей уходит в рейд. Рейд запускается сам, когда стример даёт команду рейда в чате. Рейды платные: первый заметно поднимает цену, каждый следующий дешевле. Рейд не продлевает заказ: кончилось время заказа — зрители уходят, даже посреди рейда. На время эфира отключите в чате режим «только для подписчиков»: с ним рейд может не пройти.
Сколько стоит гео?
Выбор страны не меняет цену. Цену меняют просмотры, удержание, авторизация, плавающие зрители, рейды, is_casino, качество Kick и подписка. Итог покажет калькулятор.
Чем отличаются MQ, HQ и UHQ на Kick?
Качеством аккаунтов зрителей. HQ дороже MQ на 66 %, UHQ — на 133 %.
Зрители не пришли — что проверить?
Зрители заходят только на идущий эфир. Проверьте, что трансляция в сети, заказ не на паузе и не остановлен (is_freez, is_stop), free_time больше нуля и канал указан верно. Если всё так — напишите в поддержку и пришлите uuid.
Можно ли накрутить зрителей на запись?
Нет, конфигуратор работает с живым эфиром. Просмотры записей и клипов — отдельные услуги каталога, их заказывают через API магазина.
Чем пауза отличается от остановки?
На паузе (is_freez) время заказа стоит, но паузу можно взять ограниченное время — см. лимиты. При остановке (is_stop) зрители уходят, а время продолжает идти. Нужен перерыв в эфирах или купили заранее, а эфир вечером — ставьте паузу (если в actions есть pause).
Как поменять канал?
PATCH /order/{uuid} с новым channel. Без подписки число смен ограничено и не чаще раза в сутки, остаток видно в Панели зрителей. В подписке каналы меняются свободно.
Можно указать несколько каналов в одном заказе?
Без подписки работает один канал: в channels учитывается только первый. В подписке — до 100 каналов, у каждого свой maximum; зрители делятся между каналами, которые сейчас в эфире.
Настройки передавать на уровне заказа или внутри канала?
При расчёте и создании блоки viewers, views и raid — общие, на уровне заказа рядом с type. При изменении (PATCH) их задают для конкретного канала — внутри channels[], как в примере.
Можно убавить или добавить зрителей в работающем заказе?
Да, в рамках тарифа и без перезапуска: меняйте maximum через PATCH — вниз и обратно вверх до купленного количества. Больше купленного — только новым заказом.
Как продлить без перерыва?
Продлевайте заранее: PUT /order/{uuid}/renew, пока free_time больше нуля. Завершённый заказ продлить нельзя — создастся новый с теми же настройками: проверяйте is_new и сохраняйте новый uuid. Автопродления в API нет.
Как найти заказ по номеру с сайта?
POST /orders с {"filter": {"order_id": [7712345]}}. Номер — число, не строка.
Как часто можно спрашивать статус? Есть ли вебхуки?
Вебхуков нет — состояние узнают опросом. Не больше 3 запросов в секунду; для статусов хватит раза в минуту. Опрашивайте списком через /orders, а не каждый заказ отдельно. Изменять один заказ можно не чаще раза в 10 секунд.
Цена изменилась между расчётом и заказом?
Цены динамические и могут поменяться. total_amount — сколько спишется, total_base — базовая цена без скидок и наценок. Чтобы не переплатить, передайте max_total_amount: если заказ окажется дороже, придёт 409 и ничего не спишется. Минимумы по количеству и времени видно в Панели зрителей.
Что будет, если не хватит денег?
Ответ 400, в message — «Недостаточно средств на балансе» (error_user_credit). Заказ не создаётся. Деньги и бонусные баллы считаются вместе.
Работают ли промокоды и бонусные баллы?
Промокод — в поле coupon. Бонусные баллы входят в баланс и идут в оплату вместе с деньгами, если услуга их принимает.
Заказы из API видны в Панели зрителей?
Да, это один и тот же список. Заказы, созданные в Панели зрителей, тоже доступны через API.
Такого вопроса здесь нет. Напишите нам — ответим и добавим его на эту страницу.
Пришлите запрос, ответ и uuid заказа — разберёмся быстрее. Ключ в переписку не отправляйте.
Наши услуги для стримеров
YouTubeСтабильные зрители · Живые зрители · Лайки · Просмотры · Подписчики
TwitchПанель управления · Зрители uVHQ · Дешёвые MQ · Просмотры · Фолловеры · Битсы · Чат-боты
KickЗрители · Панель управления · Подписчики · Просмотры · Чат-боты
VK Video LiveЗрители · Просмотры · Подписчики · Лайки · Чат-боты
TrovoзакрытЗрители · Подписчики · Просмотры
DliveзакрытЗрители · Просмотры · Фолловеры
BigoЗрители · Просмотры
Наши услуги для контентмейкеров
VK.comПодписчики · Лайки · Просмотры · Комментарии · Голоса · Жалобы
TelegramПросмотры · Подписчики · Реакции · Бусты · Звёзды · Комментарии
InstagramПодписчики · Просмотры · Лайки · Комментарии · Репосты · Зрители
TikTokПодписчики · Лайки · Просмотры · Комментарии · Репосты · Зрители
DiscordПодписчики · Реакции · Бусты · Жалобы
FacebookПодписчики · Просмотры · Лайки · Реакции · Комментарии · Часы
TwitterПодписчики · Просмотры · Лайки · Комментарии · Репосты
ОдноклассникиКлассы · Подписчики · Просмотры
