HTTP метод: GET, POST
Авторизация: необходима
Параметры:
server: ID радиосервера
Это API позволяет управлять плейлистами вашей станции.
Пример: GET
Получить все плейлисты с сервера с ID 1:
import requests
API_KEY = "6aNLaqRN.87L4xZ5LUXwWLCkK7dBswDafWZNcaLOB"
headers = {"SC-API-KEY": API_KEY}
response = requests.get(
"https://demo.streaming.center:1030/api/v2/playlists/?server=1",
headers=headers
)
print(response.json())Пример ответа
[
{
"id":1,
"duration":9244067,
"playlist_files_per_page":1000,
"tracks_num":55,
"name":"All music",
"is_default":true,
"is_random":true,
"on_air":false,
"directory_name":"",
"current_track_order":-9,
"server":1
},
{
"id":2,
"duration":9240712,
"playlist_files_per_page":1000,
"tracks_num":54,
"name":"Morning shows",
"is_default":false,
"is_random":false,
"on_air":true,
"directory_name":"",
"current_track_order":43,
"server":1
}
]Описание
Этот API endpoint возвращает массив ваших плейлистов. Каждый плейлист содержит следующие свойства:
- id: уникальный ID плейлиста
- duration: длительность воспроизведения плейлиста в миллисекундах
- playlist_files_per_page: специальная настройка, ограничивающая количество треков плейлиста на одной странице. Влияет только на отображение плейлиста в административном веб-интерфейсе.
- tracks_num: количество треков в плейлисте
- name: название плейлиста
- is_default: boolean-значение, указывающее, является ли плейлист плейлистом по умолчанию на сервере. Вы не можете удалить плейлисты по умолчанию. Вся музыка, которую вы загружаете на сервер, добавляется в плейлист по умолчанию, который используется как запасной вариант, когда Auto DJ больше нечего воспроизводить. На сервере может быть только один плейлист по умолчанию. В нашем случае “All music” является плейлистом по умолчанию на сервере 1.
- is_random: указывает, перемешивается ли плейлист или воспроизводится последовательно по порядку.
- on_air: true, если плейлист воспроизводится в данный момент.
- directory_name: указывает, создан ли плейлист из директории сервера с включенной опцией синхронизации.
- current_track_order: число, указывающее текущую позицию воспроизведения в плейлисте.
- server: число, ID текущего сервера.
Пример: POST
Создать плейлист на сервере с ID 1:
import requests
API_KEY = "6aNLaqRN.87L4xZ5LUXwWLCkK7dBswDafWZNcaLOA"
headers = {"SC-API-KEY": API_KEY}
response = requests.post(
"https://demo.streaming.center:1030/api/v2/playlists/",
headers=headers,
json={"name":"New playlist","is_random":True,"server":1}
)
if response.ok:
print("The playlist was created successfully")
newly_created_playlist = response.json()Для создания плейлиста нужно отправить следующий JSON payload:
- name: название нового плейлиста
- is_random: передайте
true, если хотите перемешивать плейлист - server: целое число, обозначающее ID сервера.
Пример: POST-запрос для импорта файла плейлиста M3U.
Чтобы импортировать файл M3U, сначала необходимо загрузить сами аудиофайлы на сервер через FTP или веб-интерфейс. Затем отправьте POST-запрос с заголовком Content-Type, установленным в multipart/form-data. Вот как это сделать на Python:
import requests
API_KEY = "oaChhEn3.5Dnmm0rkJiJA4TNVE7266ypdOcp4Uakl"
headers = {"SC-API-KEY": API_KEY}
m3u_file = "import.m3u"
data = {
"name":"m3u import",
"is_random":True,
"server":1
}
files = {
'm3u': (m3u_file, open(m3u_file, 'rb'),)
}
response = requests.post(
"https://demo.streaming.center:1030/api/v2/playlists/",
headers=headers,
data=data,
files=files
)HTTP метод: GET, PUT, DELETE
Авторизация: необходима
Параметры:
id: ID плейлиста
Позволяет загрузить конкретный плейлист по ID при использовании метода GET и обновить плейлист при использовании метода PUT. С помощью метода DELETE можно удалить плейлист по ID.
HTTP метод: POST
Авторизация: необходима
Параметры:
id: ID плейлиста
Пример payload:
[40, 52, 7]
Этот endpoint позволяет добавлять треки в плейлист. Необходимо передать массив ID музыкальных файлов для треков, которые вы хотите добавить. Порядок ID в payload важен: треки будут добавлены в плейлист в том же порядке, в котором они указаны в массиве.
HTTP метод: POST
Авторизация: необходима
Параметры:
id: ID плейлиста
Позволяет запланировать воспроизведение плейлиста. Воспроизведение начнется в следующую полную минуту. Например, если вызвать это API в 11:30:25, в планировщике будет создано событие на 11:31 для запуска этого плейлиста. Этот endpoint не требует payload.