SkyStream API

Изменить настройки канала

PATCH/channels/{id}/settings

Меняет только переданные поля; остальные остаются прежними. Разгон, стартовое число зрителей и плавающий онлайн применяются к следующему запуску; график онлайна и поля просмотров (география, источники, уникальность, автопросмотры) — и к уже идущему.

Поле, которого нет у площадки канала, отклоняется с ошибкой setting_not_supported, а не пропускается молча. Автопросмотры через API можно только выключить, значением 0: они оплачиваются поминутно, мимо суточного потолка ключа.

Право ключа: channels — каналы и их настройки.

Частота: класс «изменение» — 30 запросов в минуту на ключ, 60 на аккаунт.

Idempotency-Key: необязателен; с ним повтор запроса безопасен.

Авторизация

bearerAuth
АвторизацияBearer <ключ>

Ключ API из панели. Только в заголовке Authorization: ключ в строке запроса отклоняется.

Где: header

Параметры адреса

id*string

Id канала, например ch_12.

Заголовки

Idempotency-Key?string

Ключ идемпотентности: от 8 до 128 знаков из латинских букв, цифр и символов _ : . -. Повтор запроса с тем же ключом возвращает сохранённый ответ. Ключ хранится 24 часа.

Шаблон^[A-Za-z0-9_:.\-]+$
Длина8 <= length <= 128

Тело запроса

application/json

Типы TypeScript

Тип request body для TypeScript.

Изменение настроек канала. Поля, которых нет в запросе, не меняются.

Тело ответа

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

application/json

PATCH/channels/ch_12/settings
curl https://api.skystream.su/app/v1/channels/ch_12/settings \  -X PATCH \  -H "Authorization: Bearer $API_KEY" \  -H "Idempotency-Key: 7c0a5f4e-2b1d-4c9e-9a51-3f6d8e2b1c40" \  -H "Content-Type: application/json" \  -d '{    "ramp_up_minutes": 15,    "fluctuation_percent": 20,    "fluctuation_interval_minutes": 8  }'
bash, zshКлюч — в переменной API_KEY
Ответ

Ответ — все настройки канала, а не только изменённые.

{  "channel_id": "ch_12",  "start_viewers": 150,  "ramp_up_minutes": 15,  "graph_id": "gr_3",  "fluctuation_percent": 20,  "fluctuation_interval_minutes": 8,  "list_percent": 100,  "raid_percent": 80,  "unique_ratio": 3,  "auto_views_per_hour": 0,  "geo": {    "mode": "percent",    "percents": {      "RU": 70,      "KZ": 20,      "BY": 10    }  },  "view_targeting": {    "platform": {      "web": 38,      "android": 28,      "mobile": 15,      "ios": 14,      "other": 5    },    "source": {      "followers": 39,      "frontpage_recommendations": 15,      "search": 13,      "front_page_featured": 10,      "page_view": 9,      "onsite_notification": 6,      "email_notification": 4,      "other": 4    },    "external": {      "discord.com": 60,      "telegram.org": 40    }  },  "available": {    "geo_countries": [      "RU",      "KZ",      "BY",      "UZ"    ],    "view_targeting_groups": [      "platform",      "source",      "external"    ],    "auto_views": true  }}