Большинство запросов к API нацелены на получение информации о состоянии радио, но в некоторых случаях есть необходимость:

  • получить информацию, которая является не публичной, например, список диджеев на радио с паролями доступа
  • внести изменения на сервере радио, например, добавить новый канал, сервер, создать плей-лист и так далее.

В таких случаях API потребует авторизацию при запросе. Наша платформа Интернет-радио поддерживает стандартный механизм авторизации для API: ключи, которыми вы можете управлять в разделе “Настройки” -> “API ключи” панели управления Интернет-радио.

В целом процесс выглядит следующим образом:

  • в платформе заводится новый ключ API
  • этот ключ указывается при выполнении запросов к API в заголовке HTTP
  • API проверяет наличие ключа в запросе, проверяет его корректность и выполняет запрос если ключ валиден.

Обращаем внимание на то, что при работе с API ключами критически необходима работа по протоколу HTTPS, иначе API ключи могут быть скомпрометированы.

Пример использования ключа.

В разделе “Настройки” -> “API ключи” Панели Управления Интернет-радио был создан ключ: g0hsQEz6.JSXQWKby36Y1CefRA4JuUGKEg3ACY9wt. В Вашем случае необходимо самостоятельно перейти в этот раздел, завести собственный ключ и использовать его, в стате указанный ключ используется только для демонстрации и не будет работать с Вашим API!

Для демонстрации создадим на сервере с ID 1 случайный плей-лист с названием “Test Playlist”. Запрос выполняется методом POST по URL /api/v2/playlists/ :

import requests

payload = {
   "name":"Test Playlist",
   "is_random":True,
   "server":1
}

headers = {"SC-API-KEY": "p6HLVit4.trl8xfTaFCGpdv74FO3YHNeUsBSDofDx"}
response = requests.post("https://demoaccount.s02.radio-tochka.com:8080/api/v2/playlists/", headers=headers, json=payload)

Ключ передается в HTTP заголовке “SC-API-KEY”, если ключ оказался не правильным - ответ сервера будет содержать код HTTP 403 и описание ошибки в ответе.

Любой ключ можно отозвать, система позволяет создавать любое количество ключей и для каждого из них можно указать срок действия.