Персональные данные API
Войдите в аккаунт, чтобы увидеть свой токен, slug'и и готовые команды для OBS.
Переход с API v1 на v2
Если в проектах ещё используются старые ссылки /integrations/overlay/api/..., эта страница поможет обновить их до нового API v2 без неожиданностей.
План миграции в трёх шагах
- Замените URL и методы запросов.
- Обновите обработку ответов и ошибок (теперь чистый JSON).
- Включите новые возможности:
decrement,set, пакетные операции и/state/.
Каждый шаг описан ниже с примерами кода.
Что изменилось между версиями
| Функция | API v1 | API v2 |
|---|---|---|
| Формат ответа | HTML redirect | JSON с полем ok |
| Метод изменения | GET с query-параметрами | POST с JSON телом |
| Уменьшение счётчика | Нет — только reset + increment | Есть decrement |
| Batch-запросы | Отсутствуют | /counter/{token}/batch/ |
| Единое состояние | Несколько запросов | /state/{token}/ |
| CORS | Ограничен | Широкая поддержка |
Сопоставление URL
Получить значение
v1: GET /integrations/overlay/api/death-counter/{token}/{slug}/current/
v2: GET /api/v2/counter/{token}/{slug}/
Increment
v1: GET .../increment/?value=1
v2: POST /api/v2/counter/{token}/{slug}/ + тело {"action":"increment","value":1}
Decrement
v1: нужно reset + increment
v2: {"action":"decrement","value":1}
Reset
v1: GET .../reset/
v2: {"action":"reset"}
Как выглядел код и как станет
JavaScript / Fetch API
Было:
// API v1 — GET и HTML-ответ
await fetch(`https://vsestream.live/integrations/overlay/api/death-counter/${TOKEN}/${SLUG}/increment/?value=1`);
// Нужно было парсить редирект руками
Стало:
// API v2 — POST и JSON
const resp = await fetch(`https://vsestream.live/api/v2/counter/${TOKEN}/${SLUG}/`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ action: 'increment', value: 1 })
});
const data = await resp.json();
if (!data.ok) {
throw new Error(data.error);
}
console.log('New value:', data.counter.value);
Python / Requests
Было:
import requests
resp = requests.get(
f"https://vsestream.live/integrations/overlay/api/death-counter/{TOKEN}/{SLUG}/increment/",
params={'value': 1}
)
html = resp.text # приходилось искать число в HTML
Стало:
import requests
resp = requests.post(
f"https://vsestream.live/api/v2/counter/{TOKEN}/{SLUG}/",
json={'action': 'increment', 'value': 1}
)
data = resp.json()
print('New value:', data['counter']['value'])
cURL
Было:
curl "https://vsestream.live/integrations/overlay/api/death-counter/TOKEN/SLUG/increment/?value=1"
Стало:
curl -X POST "https://vsestream.live/api/v2/counter/TOKEN/SLUG/" \
-H "Content-Type: application/json" \
-d '{"action":"increment","value":1}'
Чек-лист миграции
- ☐ Заменили все URL на
/api/v2/...и обновили slug путей. - ☐ Поменяли методы: для действий теперь POST с JSON.
- ☐ Обновили клиентский код: читаем
data.ok,data.errorиdata.counter. - ☐ Реализовали новые действия
decrement,setвместо обходных путей. - ☐ Протестировали сценарии в интерактивной документации.
Что обязательно проверить
- Ответы HTML → JSON
- Если код раньше искал значение через регулярки в HTML, замените на парсинг JSON.
- Перенос параметров в тело
- Любые значения теперь отправляются в JSON. Query-параметры игнорируются.
- Ошибки и rate limit
- API возвращает понятные коды (
invalid_token,bad_request). Обработайте их в логике бота.
Что появилось нового
Batch операции
await fetch(`https://vsestream.live/api/v2/counter/${TOKEN}/batch/`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
operations: [
{ slug: 'dark-souls', action: 'increment', value: 1 },
{ slug: 'elden-ring', action: 'increment', value: 1 },
{ slug: 'bloodborne', action: 'reset' }
]
})
});
/state/
const resp = await fetch(`https://vsestream.live/api/v2/state/${TOKEN}/`);
const data = await resp.json();
console.log(data.counters, data.timers);
Готовая панель
Добавьте https://vsestream.live/api/v2/control/TOKEN/SLUG/ в OBS Browser Source и управляйте счётчиком без кода.
Лучшая поддержка web-приложений
CORS-настройки позволяют вызывать API прямо из фронтенда, не обходя ограничения v1.
Что почитать дальше
- Быстрый старт — соберите первый счётчик за 5 минут.
- Полная справка API v2 — все методы и ответы.
- Горячие клавиши OBS — пять рабочих сценариев.
- Интерактивная документация — проверка запросов в браузере.
- Health Check — быстро понять, доступен ли сервис.
Если столкнулись с уникальным кейсом, напишите в поддержку и приложите примеры запросов — поможем мигрировать.
Версия руководства: Migration Guide v2. Обновлено в октябре 2025.