API документация по управлению радио
Важная информация и безопасность
1. Важно! API-ключ даёт полный доступ к радио. Храните его только на своём сервере и никому не передавайте.2. API позволяет получать сведения о радиостанции и управлять функциями панели из своего сайта, приложения или бота.
3. API не является финальной стабильной версией. Параметры запроса могут быть изменены нами в любой момент.
4. API со всеми функциями доступен только для PRO тарифов.
5. Передавать API-ключ в ссылке запроса строго не рекомендуется. Используйте POST-запрос на наш HTTPS адрес.
6. Не размещайте API-ключ в коде страницы сайта и старайтесь не использовать его в ссылке.
7. Тестируйте команды на тестовых данных или тестовом радио прежде чем запустить в боевом режиме.
8. Выполняйте не более одного запроса к API в секунду. Слишком частые обращения могут привести к автоматической временной блокировке IP-адреса вашего сервера. Вы можете кешировать получаемые данные на своём сервере.
Как получить API-ключ
1. Откройте панель управления нужного радио.2. Перейдите в раздел Настройки -> Пакет PRO.
3. Найдите блок PRO API ключ для разработчиков.
4. Скопируйте API-ключ или готовую ссылку из этого блока.
5. Чтобы изменить API-ключ введите в поле новый Секретный пароль от 6 до 30 латинских букв или цифр и сохраните настройки. В запросах используется показанный панелью API-ключ, а не сам секретный пароль.
Как пользоваться API и выполнять команды
Публичный статус радио status.json работает без ключа и доступен для всех. Сервер возвращает название радио, текущий трек, ведущий, число слушателей, история, ссылки на потоки и другие публичные сведения. Подробное описание полей доступно в спецификации OpenAPI status.json. Откройте ссылку в браузере, заменив ЛОГИН на логин своей радиостанции:https://myradio24.com/users/ЛОГИН/status.json
Для управления радио отправляйте запрос на ваш API-адрес:
https://myradio24.com/ru/api/ЛОГИН
Как минимум необходимо передать API-ключ apikey и название команды параметром act.
Их можно передать методом GET прямо в ссылке, а дополнительные параметры необходимо передавать POST-запросом.
Для безопасности строго рекомендуем передавать API-ключ скрыто методом POST.
Для примера, эта ссылка показывает текущее состояние эфира и очередь:
https://myradio24.com/ru/api/ЛОГИН?apikey=YOUR_API_KEY&act=current_status
Как найти актуальные команды и параметры запроса
Вы можете самостоятельно найти и подсмотреть нужную API команду прямо в панели укравления радио. Откройте инструменты разработчика браузера, вкладку Network и фильтр Fetch/XHR. Затем выполните нужное действие в панели и откройте запрос к адресу /ru/api/ЛОГИН.В запросе будут видны название команды act и все переданные параметры. Не отправляйте другим людям API-ключ, cookie и данные слушателей.
Простой пример PHP-кода
Не размещайте файл с настоящим API-ключом в открытом доступе и не выводите ключ на страницу.Пример получает текущее состояние радио. Замените логин радио и ключ своими значениями:
<?php
$radio="ЛОГИН";
$apikey="YOUR_API_KEY";
function myradio24Api($radio, $apikey, $act, $post = []) {
$url = "https://myradio24.com/ru/api/$radio?act=$act";
$post['apikey'] = $apikey;
$post['act'] = $act;
$opts = [ 'http' => ['method' => 'POST', 'header' => 'Content-Type: application/x-www-form-urlencoded', 'content' => http_build_query($post)] ];
$get = file_get_contents($url, false, stream_context_create($opts));
if($act=="stats_getData") return $get; //download doc
$result = json_decode($get, true);
if(!$result || !is_array($result)) return ['error'=>'Ошибка запроса к серверу.'];
return $result;
}
$result = myradio24Api($radio, $apikey, 'current_status');
print_r($result);
Ответ и ошибки API
API возвращает JSON. На все обработанные запросы сервер отвечает статусом HTTP 200.Если отсутствует обязательный параметр или ответ содержит ошибку, то её описание будет в поле error.
В примере выше мы проверяем удалось ли выполнить запрос к серверу. Если не удалось, то возвращаем свою ошибку: Ошибка запроса к серверу. Некоторые команды возвращают готовые фрагменты панели в полях html, form или callback. Не выводите их на своём сайте без проверки.
Если ключ отсутствует или неверен:
{"error":"У вас нет доступа."}
Если команда неизвестна:
{"error":"no action"}
Примеры команд и описание
Текущий эфир и очередь
current_status - получить состояние эфира, Auto-DJ, число слушателей, ведущего, ретрансляцию, текущий трек и очередь.current_deleteQueue - удалить элемент из очереди. Параметр queueID берите из свежего ответа current_status.
Команды слушателей и модерации
mod_list - получить активные подключения по всем потокам. Дополнительные параметры не требуются.Ответ содержит html, div и callback. В HTML отображаются поток, IP, страна и город, время подключения, устройство, браузер и источник перехода, если эти данные имеются.
mod_menu - получить меню выбранного подключения.
Обязательные параметры: server, mount, listener_id и ip.
Берите все четыре значения только из свежего ответа mod_list. Параметр ip является непрозрачным токеном панели.
mod_banForm - получить форму блокировок по IP и странам.
mod_killListener - отключить выбранное подключение. Параметры server, mount и listener_id берите из свежего mod_list.
mod_banIp - заблокировать IP выбранного подключения. Параметры ip, server, mount и listener_id берите из свежего mod_list.
Чтобы снять блокировку, передайте ip и delete=1.
mod_banSave - сохранить правила доступа по странам. Параметры save=1, mod_access и mod_countries.
Значения mod_access: пустая строка - фильтр выключен, deny - блокировать перечисленные страны, allow - разрешить только перечисленные страны.
В mod_countries передавайте двухбуквенные коды стран через пробел.
Осторожно! mod_killListener сразу разрывает соединение, а mod_banIp может запретить доступ каталогу или ретранслятору, если он использует общий IP.
Управление эфиром
control_restartMenu - получить меню запуска и остановки радио.control_shuffleMenu - получить меню текущего режима воспроизведения.
control_next - перейти к следующему треку. Дополнительные параметры не требуются.
control_stop - остановить Auto-DJ. Дополнительные параметры не требуются.
control_restart - запустить или перезапустить Auto-DJ. Дополнительные параметры не требуются.
control_shuffle - изменить режим воспроизведения. Обязательный параметр shuffle.
Допустимые значения shuffle: 0 - по порядку, 1 - вразброс без перемешивания плейлиста, 2 - перемешивать плейлист в начале или конце.
Осторожно! control_stop, control_restart, control_next и control_shuffle сразу влияют на эфир.
Пользователи панели
users_editForm - получить форму создания или редактирования пользователя.users_list - получить список пользователей панели.
Для редактирования передайте параметр edit с именем пользователя.
users_menu - получить меню пользователя. Обязательный параметр name.
users_edit - создать или сохранить пользователя.
Основные параметры: name, pass, priority, starttime и stoptime.
Дополнительные параметры формы: edit_name, vmid, hide, delstat, weekdays и perms[].
При редактировании передайте edit_name с прежним именем пользователя.
Время starttime и stoptime задаётся с шагом 15 минут. Значения 00:00 и 00:00 означают круглосуточный доступ.
Если weekdays не передан, доступ разрешён в любой день. pass является паролем пользователя для LIVE-вещания.
Права передаются как perms[control], perms[settings], perms[streams], perms[users], perms[live], perms[table], perms[files], perms[cronlist], perms[library], perms[covers], perms[mod], perms[stats], perms[logs] и perms[idea].
users_upload - загрузить аватар пользователя. Отправьте multipart/form-data с name и file. Используйте JPG или PNG размером 300x300.
users_delete - удалить пользователя. Обязательный параметр name.
Важно! Не удаляйте администратора и не меняйте права реальных сотрудников без проверки имени.
Плейлисты
playlist_createForm - получить форму создания плейлиста.playlist_create - создать плейлист. Обязательный параметр newplaylist.
Необязательные параметры: allfiles - создать из всех файлов, replace - заменить существующий плейлист.
playlist_editForm - получить данные выбранного плейлиста. Обязательный параметр playlist_name.
Ответ содержит связанный playlist_id. Используйте только ID из ответа для нужного имени.
playlist_editName - переименовать плейлист. Параметры playlist_id и new_name.
playlist_editColor - изменить цвет плейлиста. Параметры playlist_id и new_color.
playlist_delete - удалить плейлист. Обязательный параметр playlist_id.
playlist_listTracks - получить треки плейлиста. Обязательный параметр playlist.
playlist_menu - получить контекстное меню треков выбранного плейлиста.
playlist_moveTrack - переместить трек. Параметры playlist, track_id и to_track_id.
playlist_deleteTracks - удалить выбранные треки. Передайте playlist и массив track_ids[].
playlist_setPlaylists - сохранить список активных эфирных плейлистов. Параметр playlists содержит строку из текущего current_status.
Осторожно! Перед playlist_delete ещё раз запросите playlist_editForm и убедитесь, что playlist_id относится к нужному плейлисту.
Файлы и папки
files_list - получить папки, файлы, плейлисты и сводные данные. Необязательные параметры folder и search.Ответ содержит folder, folders, files, files_count, files_size, files_length, playlists, files_back и callback.
file_playedInfo - получить сведения о последнем проигрывании. Обязательный параметр file_id, необязательный double.
file_info - получить сведения и форму файла. Параметры file_id и необязательный getvolume.
files_defaultMenu, folder_menu, files_menu - получить контекстные меню. Для files_menu передайте выбранные файлы в параметре files.
folder_renameForm - получить форму переименования папки. Параметр currentFolder.
folder_rename - переименовать папку. Параметры path, currentFolder и newname.
file_renameForm - получить форму переименования файла. Параметр file_id.
file_rename - переименовать файл. Параметры file_id и newname.
file_queueTrackForm - получить форму постановки файла в очередь. Параметры songid, songname, songpos и playlist.
В форме queuetype принимает replace, clear, first или last. Параметр startsong прерывает текущий трек, а playlist при необходимости меняет эфирный плейлист.
file_queueTrack - поставить файл в очередь. Параметры song, queuetype, startsong, playlist и songpos берите из file_queueTrackForm.
file_recode - перекодировать файл. Параметры file_id и recode.
files_toPlaylist - добавить файлы или папку в плейлист. Параметры playlist и массив files[]. Папка передаётся с начальным символом /.
files_delete - удалить выбранные файлы. Передайте индексированный массив file_ids[0], file_ids[1] и так далее.
fileupload_upload - загрузить файл. Используйте multipart/form-data с полями folder, file и idx.
Для загрузки в корень передайте пустой folder. Для новой папки передайте её имя с завершающим символом /.
file_play - получить ссылку на проигрывание или скачивание файла. Параметр play содержит ID файла.
Важно! file_recode не выполняется для файла, который хранится как Cloud: сервер возвращает сообщение, что действие для облачного файла недоступно.
Осторожно! files_delete удаляет файлы из медиатеки. Перед запросом повторно получите files_list и проверьте каждый ID.
Расписание
cronlist_list - получить готовый список заданий и их позиции.cronlist_edit - получить форму нового задания. Для существующего задания передайте edit с номером позиции.
cronlist_menu - получить меню задания. Параметры pos и disabled.
calendar_loadTemplate - получить календарную сетку. Обязательный параметр seldate в формате YYYY-MM-DD.
cronlist_save - создать или сохранить задание расписания.
Основные параметры: type, playlist, method, date[], minute, number, starttime, stoptime, shuffle, wait и queuetype.
Дополнительные параметры: edit, enabletable, relay, startsong, nointerrupt и nextlists.
Значения type: пустая строка - эфирный плейлист, insert - вставка полностью, insertone - вставка одного трека, insertover - вставка поверх PRO, enabletable - смена режима стола, changerelay - смена ретрансляции.
Значения method: date - по дате и времени, minute - через N минут, number - через N треков.
Значения queuetype: replace, clear, first или last.
Параметр date[] можно передавать несколько раз.
cronlist_play - запустить задание сейчас. Обязательный параметр pos.
Команда принимается сразу, но фактическое добавление трека в очередь может занять около минуты.
cronlist_disable - отключить задание. Обязательный параметр pos.
cronlist_enable - включить ранее отключённое задание. Обязательный параметр pos.
cronlist_sort - изменить порядок заданий. Параметры pos и newpos.
cronlist_delete - удалить задание. Обязательный параметр pos.
Осторожно! cronlist_play запускает задание сразу, а cronlist_delete удаляет его без восстановления.
Потоки и ретрансляции
streams_list - получить список основных, дополнительных и видео-потоков.streams_editForm - получить форму потока.
streams_menu - получить меню выбранного потока. Обязательный параметр mount.
streams_edit - создать или изменить поток. Использует параметры mount, kbpsformat, key, url, playlist, editmount и off.
streams_delete - удалить дополнительный поток. Обязательный параметр mount.
Значения kbpsformat для радио: 32.mp3, 48.mp3, 64.mp3, 96.mp3, 128.mp3, 192.mp3, 256.mp3, 320.mp3 и такие же значения с расширением .aac.
Для видео доступны audio.rtmp, video.rtmp, restream.rtmp и livestream.rtmp. Параметр url содержит адрес RTMP-сервера, key - ключ потока, playlist - номера файлов через пробел, off=1 отключает поток.
Для дополнительного потока используйте mount вида ЛОГИН_1, ЛОГИН_2 и далее. Для изменения существующего потока берите mount и editmount из свежего ответа streams_editForm или streams_menu. Неверное имя возвращает сообщение "Имя потока указано с ошибкой.".
intros_upload - загрузить музыкальную заставку потока. Используйте multipart/form-data с полями mount и file.
intros_download - скачать заставку. Параметры responseType=blob и kbpsformat.
intros_delete - удалить заставку. Параметр kbpsformat.
records_startForm - получить форму записи выбранного потока. Обязательный параметр mount.
records_start - включить или выключить запись. Параметры mount и hours. Положительное hours задаёт срок записи в часах, hours=0 полностью выключает запись.
videos_upload - загрузить видеофон через multipart/form-data с полем file. Поддерживаются JPG, изображения и MP4/FLV; рекомендуемый размер 1280x720, длительность до 60 секунд, файл до 50 МБ.
videos_list - получить список загруженных видеофонов.
videos_download - скачать видеофон. Параметры responseType=blob и file.
videos_delete - удалить видеофон. Параметр file.
Стол заказов и отдельные настройки
table_getTable - получить текущие и обработанные заказы, список блокировок и callback обновления.table_settings - получить форму настроек стола заказов.
radio_setConfig - изменить одну настройку. Обязательные параметры key и value.
Допустимые ключи: enabletable, table_limit, table_timeout, table_notplayed, table_notplayedartist, table_queue, table_priority и table_jingle.
enabletable: 0 - выключен, 1 - ручной эфир, 2 - Auto-DJ, 3 - ручной эфир и Auto-DJ.
table_limit - лимит необработанных заказов с одного IP; table_timeout - пауза в минутах перед новым заказом с того же IP; table_notplayed - пауза перед повторным заказом трека; table_notplayedartist - пауза перед повтором исполнителя.
table_queue: пусто - после похожих треков, first - в начало, last - в конец. table_priority: пусто - при пустой очереди, next - следующим, order - по порядку. table_jingle содержит имя плейлиста или папки для джингла либо пустую строку.
Перед использованием этих ключей получите table_settings и передавайте значение в формате формы.
table_setBan - заблокировать или разблокировать отправителя заказа. Параметры ip и ban. Значение ip берите из свежего table_getTable.
Значение ban=1 блокирует адрес, ban=0 снимает блокировку.
table_setStatus - изменить состояние заказа. Параметры order_id и status. Значения status: wait - в ожидании, next - в очереди, no - отклонён, ok - выполнен.
Публичная форма заказа находится по адресу:
https://myradio24.com/ru/table/ЛОГИН
Она отправляет команду table_order с параметрами from, for, songartist, songname, fileid и comment. Для сайта рекомендуется использовать готовую страницу или код стола из панели: это сохраняет совместимость при обновлении публичного обработчика.
Публичная часть также использует table_files для получения треков Auto-DJ и table_orders для списка заказов пользователя. Эти три команды не используют API-ключ и относятся к готовому столу заказов, а не к административному доступу.
Общие настройки радио
settings_loadTemplate - получить текущую форму основных настроек.settings_saveSettings - сохранить основные настройки станции.
Форма использует параметры limit, servertype, titlename, url, timezone, date_format, streamnametype, autodjname, shufflefiles, kbps, uploadrecode, version, statusver, dev_version, relays_on, redirect_listeners, genre, country, relay и setplayed.
public_loadTemplate - получить текущую форму публикации.
public_save - сохранить настройки публикации. Форма использует fm, googleplay, hidden, maxsongs, nogoogle, nolisteners, public и vmid.
Обе команды принимают полный снимок соответствующей формы.
settings_uploadLogo - загрузить логотип станции через multipart/form-data с полем file. Используйте JPG или PNG размером 300x80.
public_uploadIcon - загрузить иконку приложения MyRadio24 через multipart/form-data с полем file. Используйте JPG или PNG размером 64x64, желательно не более 5 КБ.
Чтобы удалить логотип или иконку, панель использует загрузку файла неверного формата. Сервер при этом возвращает ошибку формата, но изображение удаляется.
Важно! Эти формы нужно отправлять целиком. Частичный запрос может сбросить отсутствующие параметры.
Настройки раздела PRO с паролями, callback и API-ключом через API не автоматизируйте.
Библиотека, исполнители, альбомы и обложки
library_list - список общей медиабиблиотеки.library_menu - получить меню трека общей библиотеки. Параметры file и name.
library_copyTrack - скопировать трек общей библиотеки в свои файлы. Параметры file и name.
library_queueTrack - поставить трек общей библиотеки следующим. Параметры file и name.
artists_list - список или поиск исполнителей. Необязательные параметры search, strict, uploaded, my и p.
artists_menu - меню исполнителя. Параметр artist_id и необязательный own.
artists_add - добавить исполнителя. Параметр artist.
artists_uploadNocover - загрузить изображение для исполнителей без обложки через multipart/form-data с полем file.
artists_uploadCover - загрузить обложку исполнителя. Multipart-поля artist_id, file и необязательный own. Используйте JPG, PNG или WEBP размером 600x600.
artists_deleteCover - удалить обложку исполнителя. Параметры artist_id и необязательный own.
Команда artists_add создаёт запись исполнителя, но отдельная команда удаления записи в текущей панели не представлена. Добавляйте исполнителя только при необходимости.
albums_list - список или поиск альбомов. Необязательные параметры artist, search, strict, uploaded, my и p.
albums_menu - получить меню альбома. Параметр album_id и необязательный own.
albums_uploadCover - загрузить обложку альбома. Multipart-поля album_id, file и необязательный own.
albums_deleteCover - удалить обложку альбома. Параметры album_id и необязательный own.
songs_list - список или поиск треков. Необязательные параметры artist, search, strict, uploaded, my и p.
songs_menu - получить меню трека. Параметр song_id и необязательный own.
songs_uploadCover - загрузить обложку трека. Multipart-поля song_id, file и необязательный own.
songs_deleteCover - удалить обложку трека. Параметры song_id и необязательный own.
covers_list - список собственных обложек. Необязательные параметры artist, title и strict.
covers_listArtists - список исполнителей для обложек.
covers_listSongs - список треков для обложек.
searchcovers_list - поиск обложки. Обязательный параметр track в формате Исполнитель - Название трека.
Статистика, история и отчёты
stats_list - статистика подключений. Обязательный параметр date в формате YYYY-MM-DD.online_list - онлайн-статистика. Обязательный параметр date.
history_list - история проигрывания. Обязательный параметр date.
logs_list - поиск по логам. Необязательные параметры filter, rsort и search.
history_download - скачать историю. Параметры date и responseType=blob.
logs_download - скачать логи. Параметр responseType=blob, необязательные filter, rsort и search.
data_downloadFiles - скачать отчёт по файлам. Параметры fromdate, todate, fields, format и responseType=blob.
data_downloadSongs - скачать отчёт по трекам. Параметры fromdate, todate, fields, format и responseType=blob.
Выгрузки history_download, logs_download, data_downloadFiles и data_downloadSongs возвращают Content-Type: text/plain и содержимое файла.
Выгрузка статистики stats_getData
Выгрузка статистики можно вызывать как методом GET так и POST.stats_getData - скачать статистику. Параметры date, download, format.
Параметр date имеет формат YYYY-MM-DD, download равен 1, а format может быть json.
Сервер возвращает файл с именем вида ЛОГИН_stat_2026-08-20.json.