Отправляйте запросы к API Owncast
В настоящее время мы поддерживаем следующие действия, которые вы можете выполнить через запросы из вашего кода.
| Событие | Конечная точка | Область действия |
|---|---|---|
| Сообщение системного чата | /api/integrations/chat/system | CAN_SEND_SYSTEM_MESSAGES |
| Стандартное сообщение чата | /api/integrations/chat/send | CAN_SEND_MESSAGES |
| Действие чата | /api/integrations/chat/action | CAN_SEND_SYSTEM_MESSAGES |
| Удалить сообщение чата | /api/integrations/chat/messagevisibility | HAS_ADMIN_ACCESS |
| Получить историю чата | /api/integrations/chat | HAS_ADMIN_ACCESS |
| Получить подключенных клиентов | /api/integrations/clients | HAS_ADMIN_ACCESS |
| Установить заголовок потока | /api/integrations/streamtitle | HAS_ADMIN_ACCESS |
| системное сообщение для клиента | /api/integrations/chat/system/client/{clientId} | CAN_SEND_SYSTEM_MESSAGES |
| Get server status | /api/integrations/status | HAS_ADMIN_ACCESS |
| Get a chat user's details | /api/integrations/moderation/chat/user/{userId} | HAS_ADMIN_ACCESS |
Посетите документацию API для каждой конечной точки, чтобы узнать больше о том, какие значения ожидаются или будут возвращены.
Ваш сервер Owncast будет принимать действия только от запросов с действительным токеном доступа. Следуйте приведенным ниже шагам, чтобы создать токен доступа.
- перейдите по адресу
/admin/access-tokensна вашем сервере owncast. - Нажмите
Создать токен доступа. - Выберите область разрешений, которую вы хотите предоставить этому токену.
- Сохраните этот токен доступа.
Ваш код
Отправьте аутентифицированный POST с вашим токеном доступа в заголовке Authorization и JSON телом. Например, чтобы отправить системное сообщение в чате:
const res = await fetch("https://your.owncast.server/api/integrations/chat/system", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: "Bearer " + YOUR_ACCESS_TOKEN,
},
body: JSON.stringify({ body: "this is a system chat message" }),
});
const result = await res.json();
// { "success": true, "message": "sent" }
Проверка отправки сообщений в чате
Измените следующую команду curl, чтобы указать URL вашего сервера и использовать ваш токен аутентификации с доступом "системное сообщение". Это отправит системное сообщение в ваш чат.
curl -X POST \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOURAUTHTOKEN" \
-d '{"body": "I am a system message!"}' \
https://your.owncast.server/api/integrations/chat/system
Успешный запрос возвращает 200 с телом JSON:
{ "success": true, "message": "sent" }
Области действия
Каждому токену доступа предоставляется одна или несколько областей действия, которые контролируют, что он может делать. Вышеуказанные конечные точки перечисляют область, требуемую каждой из них.
| Область | Предоставлять |
|---|---|
CAN_SEND_MESSAGES | Отправлять стандартные сообщения чата от лица пользователя токена. |
CAN_SEND_SYSTEM_MESSAGES | Отправлять сообщения чата от имени системы и отправлять действия чата. |
HAS_ADMIN_ACCESS | Administrative actions: read chat history, list connected clients, set the stream title, change message visibility, get the server status, and look up a chat user. |
Ответы и ошибки
| Статус | Значение |
|---|---|
200 | Запрос выполнен успешно. For the mutation (POST) endpoints the JSON body is the success: true envelope with a short message. The GET endpoints return the domain object instead: the server status, an array of chat messages, an array of connected clients, or a user's details. |
400 | Тело запроса было неправильно сформировано. Тело JSON содержит success: false и message. |
401 | Токен доступа отсутствует, недействителен или не имеет области, требуемой конечной точкой. Тело является простым текстом. |
500 | Сервер столкнулся с ошибкой при обработке запроса. |
Owncast не возвращает отдельный 403 за недостаточный доступ. Токен без необходимой области отклоняется с кодом 401, так же как и отсутствующий или недействительный токен.
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.
