https://demoaccount.s02.radio-tochka.com:8080/api/v2/api-token-auth/
(домен demoaccount.s02.radio-tochka.com здесь только для примера, Вы должны использовать домен своей панели управления) в payload запроса необходимо передать имя пользователя и пароль от входа в Вашу панель управления, все запросы происходят в JSON формате:
{ "username":"demo", "password":"123" }
в случае успешной авторизации в ответ на этот запрос будет возвращен токен, например:
{ "token":"eyJ0eX" }
(значение токена сокращено для удобства).
В дальнейших запросах к API необходимо включать этот токен в заголовки запросов в виде:
"authorization: JWT eyJ0eX"То есть имя заголовка - "authorization", значение - строка "JWT" + пробел + значение токена. Теперь, когда у вас есть токен вы можете использовать следующие методы API для управления защищенными пользователями:
GET /api/v2/authlisteners/?server=1Выгружает существующих авторизованных слушателей из панели управления, где server=1 это номер радио сервера в панели. Для листинга большого количества пользователей поддерживается пагинация через параметры limit & offset, например
/api/v2/authlisteners/?server=1&limit=10&offset=0
Пример ответа API
[ { "id": 3, "listen_links": [ { "bitrate": "64", "s_format": "aac", "stream_url": "http://s02.radio-tochka.com:4600/stream?cnk1yszthed4za5fyscnwuq0af5i07ccn", "secure_stream_url": "https://demoaccount.s02.radio-tochka.com:4605/stream?cnk1yszthed4za5fyscnwuq0af5i07ccn" } ], "created": "2022-05-14T17:28:15.128152", "username": "test", "token": "cnk1yszthed4za5fyscnwuq0af5i07ccn", "active": true, "last_connection_ts": "2022-05-14T17:28:42.915369", "server": 1 } ]
Здесь видно имя пользователя (оно существует только для удобства, что важно - это ID пользователя), токен на прослушивание для этого пользователя, время когда слушатель создан (created), активен ли слушатель (active), время последнего его подключения к потоку (last_connection_ts) и listen_links - это массив ссылок на прослушивание, которые уже включают в себя токен этого слушателя.
В панели управления у каждого радио сервера может быть несколько каналов вещания в разном формате и качестве, например 128кбит и 256. Для того, чтобы к определенному каналу могли подключиться только авторизованные слушатели, а для всех он стал недоступен - нужно нажать "Редактировать" напротив нужного канала, перейти в раздел "Дополнительно" и включить опцию "Только для авторизованных слушателей". После этого подключение без токена к этому потоку для не авторизованных слушателей перестанет работать.
Таким образом, можно вообще полностью сделать все радио каналы доступными авторизованным слушателям, или сделать, например, каналы в низком качестве доступным для всех, а качество 256кбит и выше - только платным пользователям, Вы свободны выбирать вариант, который максимально подходит под Ваш вариант монетизации радио.
URL: POST /api/v2/authlisteners/
Payload:
{ "active": true, "token": "wx9zf2wn64n0y5wfnvan36k62u3u2ev24b", "username": "test", "server": 1 }
Поля:
Этот метод необходим для изменения данных пользователя. Можно менять токен, имя пользователя, username и поле active.
URL: PUT /api/v2/authlisteners/LISTENER_ID/
Где LISTENER_ID - это ID слушателя, сохраненный после его создания через API POST /api/v2/authlisteners/ (см. выше).
URL: PUT /api/v2/authlisteners/LISTENER_ID/
Где в поле active передаёте false.
Чтобы удалить слушателя полностью:
URL: DELETE /api/v2/authlisteners/LISTENER_ID/
У Вас на сайте есть регистрация пользователей для платного прослушивания, прикручены методы оплаты и т.п. После создания такого пользователя в базе данных Вашего сайта - делается запрос к нашему API, который заводит такого слушателя в панели управления радио, после чего ID этого авторизованного слушателя в нашей платформе Вы сохраняете у себя + его токен на прослушивание или сразу ссылку (или несколько ссылок) на прослушивание потоков.
У себя на сайте после того, как пользователь авторизовался, вместо обычных ссылок на прослушивание в плеере - Вы выводите защищенные ссылки с токеном этого слушателя.
Далее, если пользователь не оплатил, или отказался - Вы делаете запрос на деактивацию слушателя в наш API или просто его удаляете, как удобнее, при помощи сохраненного ID слушателя из нашей базы. Также в любой момент можно через API поменять токены слушателя, если, например у Вас реализован механизм их устаревания со временем (замену токенов на прослушивание лучше реализовать на тот случай, если токен будет перехвачен каким-либо образом).
В случае вопросов - обращайтесь в нашу техническую поддержку, мы дополним эту статью или предоставим конкретные указания под Ваш проект.