Публічний API

Загальне

Вимкнений за замовчуванням: картка «Локальний API» на сторінці «Дії» вмикає його й показує ключ. Працює на порту сервера оверлеїв (за замовчуванням 5233) лише на цьому ПК.

  • Усі запити мають заголовок X-BotValeriy-Key: <ключ>. Заголовок Origin (запит із сторінки в браузері) відхиляється. Ключ — 256 випадкових біт; перевипуск обриває старі інтеграції.

Версія API: 1. Усі адреси мають префікс /api/v1. Старі адреси без версії (/api/actions, /api/ws) лишаються псевдонімами v1, тож Stream Deck і ранні скрипти працюють без змін. Правило сумісності: у v1 можуть з'являтись нові поля, події й адреси, але наявні не зникають і не міняють змісту; несумісна зміна вийде як /api/v2, а v1 житиме далі.

  • GET /api/v1 → {"name","version","endpoints","events"}: версія й перелік адрес та типів подій, які знає ця збірка.
  • GET /api/v1/actions → [{"id","name"}]
  • POST /api/v1/actions/{назва-або-id}/run, тіло (до 4 КБ, необов'язкове) {"user","input"} → 202/404
  • WebSocket /api/v1/ws: першим приходить state (apiVersion, live: true/false/null, actions), далі події:
    • stream.online, stream.offline;
    • action.finished (name, source, user, test, failed, ms);
    • event.follow, event.subscription, event.resub, event.gift-sub, event.raid, event.redeem, event.chat, event.donation, event.bits, event.power-up: події каналу, ті самі, що отримують оверлеї й модулі (data: user і extras із деталями події; тестові позначені extras.test; повтори історії оверлею не надсилаються). Повідомлення — JSON {"type","ts","data"}. Невідомі типи слухач має ігнорувати: їх додаватимуть. Повільний слухач губить найстаріші повідомлення.
Публічний API · Valeriy