MusicBuddy API

MusicBuddy API

Данный API предоставляет возможность получения информации о музыкальных артистах, треках и рекомендациях. Документация содержит описание всех доступных методов, параметров и форматов ответов.

Base URI:

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net
Информационный блок

Этот раздел документации посвящен получению информационной справки о музыкальных исполнителях, которые представлены в веб-приложении на странице под названием “Artists”. В данном разделе можно найти описание метода, позволяющего получить биографию и подборку песен:

GET /discoverArtists/{artistName}
Биография и подборка песен
GET /discoverArtists/{artistName}

Authentication

Open

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

Path variables

artistName
string required

Имя исполнителя на английском языке

Example:
Sia

Responses

200 OK
Body
Object
description
string

Описание исполнителя

Example:
Sia Kate Isobelle Furler (/ˈsiːə/; born 18 December 1975) is an Australian singer-songwriter, record producer and music video director.
random_tracks
Object

Подборка из пяти музыкальных композиций

track1
Object

Песня №1

name
string

Название песни

Example:
Breathe Me
url
string

Ссылка на страницу песни (Last.fm)

Example:
https://www.last.fm/music/Sia/_/Breathe+Me
track2
Object

Песня №2

name
string

Название песни

Example:
Butterflies
url
string

Ссылка на страницу песни (Last.fm)

Example:
https://www.last.fm/music/Sia/_/Butterflies
track3
Object

Песня №3

name
string

Название песни

Example:
Reaper
url
string

Ссылка на страницу песни (Last.fm)

Example:
https://www.last.fm/music/Sia/_/Reaper
track4
Object

Песня №4

name
string

Название песни

Example:
Fair Game
url
string

Ссылка на страницу песни (Last.fm)

Example:
https://www.last.fm/music/Sia/_/Fair+Game
track5
Object

Песня №5

name
string

Название песни

Example:
Big Girls Cry
url
string

Ссылка на страницу песни (Last.fm)

Example:
https://www.last.fm/music/Sia/_/Big+Girls+Cry
tags
Object

Теги исполнителя

tag1
Object

Тег №1

name
string

Название тега

Example:
female vocalists
url
string

Ссылка на страницу тега (Last.fm)

Example:
https://www.last.fm/tag/female+vocalists
tag2
Object

Тег №2

name
string

Название тега

Example:
chillout
url
string

Ссылка на страницу тега (Last.fm)

Example:
https://www.last.fm/tag/chillout
tag3
Object

Тег №3

name
string

Название тега

Example:
indie
url
string

Ссылка на страницу тега (Last.fm)

Example:
https://www.last.fm/tag/indie
tag4
Object

Тег №4

name
string

Название тега

Example:
trip-hop
url
string

Ссылка на страницу тега (Last.fm)

Example:
https://www.last.fm/tag/trip-hop
tag5
Object

Тег №5

name
string

Название тега

Example:
downtempo
url
string

Ссылка на страницу тега (Last.fm)

Example:
https://www.last.fm/tag/downtempo
Пример запроса

Получаем биографию и подборку песен исполнителя Sia

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/discoverArtists/Sia
Блок взаимодействия с БД

Данный раздел документации посвящен операциям, связанным с базой данных (Yandex Managed Service for YDB). Здесь мы рассматриваем четыре различных способа взаимодействия:

Выведение песен из БД
GET /userSongs

Этот запрос дает возможность пользователям получить файл в формате JSON, содержащий информацию о песнях, добавленных в базу данных. Важно отметить, что здесь выводятся только уникальные значения. Если одна и та же песня (того же самого исполнителя) была добавлена в базу данных несколько раз, она отобразиться только один раз.

Responses

200 OK
Body
application/json
Object
artist
string

Имя исполнителя

Example:
Cigarettes After Sex
song
string

Название песни

Example:
Apocalypse
Пример запроса

Выводим все песни из БД

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/userSongs
Наличие песни в БД
GET /modifySongs

Данный запрос предоставляет пользователю возможность получить файл в формате JSON, содержащий информацию о наличии песни X исполнителя Y в базе данных.

Request parameters

songName
string required

Название песни на английском языке

Example:
Cry
artistName
string required

Имя исполнителя на английском языке

Example:
Cigarettes After Sex

Responses

200 OK
Body
Object
result
boolean

Есть ли песня в базе данных?

Example:
true
count
integer

Количество совпадений

Example:
1
Пример запроса

Проверяем наличие песни Cry исполнителя Cigarettes After Sex

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/modifySongs?songName=Cry&artistName=Cigarettes+After+Sex
Добавление песни в БД
POST /modifySongs

Данный запрос предоставляет пользователю возможность добавить песню X исполнителя Y в базу данных.

Request parameters

songName
string required

Название песни на английском языке

Example:
Young And Beautiful
artistName
string required

Имя исполнителя на английском языке

Example:
Lana Del Rey

Responses

200 OK

Запись успешно удалена

Body
text/plain
string
Default:
Song saved successfully
400 Bad Request

Проблема со стороны сервера

Body
text/plain
string
Default:
Something went wrong
Пример запроса

Сохраняем песню Young And Beautiful исполнителя Lana Del Rey

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/modifySongs?songName=Young+and+Beautiful&artistName=Lana+Del+Rey
Удаление песни из БД
DELETE /modifySongs

Данный запрос предоставляет пользователю возможность удалить песню X исполнителя Y из базы данных.

Request parameters

songName
string required

Название песни на английском языке

Example:
Shelter
artistName
string required

Имя исполнителя на английском языке

Example:
Birdy

Responses

200 OK

Запись успешно удалена

Body
text/plain
string
Default:
Song deleted successfully
400 Bad Request

Проблема со стороны сервера

Body
text/plain
string
Default:
Something went wrong
404 Not Found

Песня или исполнитель не найдены

Body
text/plain
string
Default:
No such artist or song
Пример запроса

Удаляем песню Shelter исполнителя Birdy

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/modifySongs?songName=Shelter&artistName=Birdy
Рекомендательный блок

Данный раздел документации посвящен операциям, связанным с выведением музыкальных рекомендаций. Здесь мы рассмотриваем два способа взаимодействия:

GET /similarSongs/{songName}/{artistName}
"Ежедневная" рекомендация
GET /dailySong

Данный запрос предоставляет пользователю возможность получить файл в формате JSON, содержащий коллекцию из 10 песен, которые используются в секции Daily Songs.

Responses

200 OK
Body
Object
tracks
Object

Коллекция песен

track1
Object

Песня №1

song
string

Название песни

Example:
Keeping Your Head Up
artist
string

Имя исполнителя

Example:
Birdy
image
string

Ссылка на обложку песни

Example:
https://images.genius.com/13503375901b48f7592c74bd442501f1.1000x1000x1.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/Birdy/_/Keeping+Your+Head+Up
track2
Object

Песня №2

song
string

Название песни

Example:
Heavenly
artist
string

Имя исполнителя

Example:
Cigarettes After Sex
image
string

Ссылка на обложку песни

Example:
https://static.stereogum.com/uploads/2019/08/140440-1567021086.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/Cigarettes+After+Sex/_/Heavenly
track3
Object

Песня №3

song
string

Название песни

Example:
Crowded Places
artist
string

Имя исполнителя

Example:
Banks
image
string

Ссылка на обложку песни

Example:
https://lastfm.freetls.fastly.net/i/u/ar0/38b2599f1f5b7dab23360a01fbf68f52
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/BANKS/_/Crowded+Places
track4
Object

Песня №4

song
string

Название песни

Example:
Agora Hills
artist
string

Имя исполнителя

Example:
Doja Cat
image
string

Ссылка на обложку песни

Example:
https://images.genius.com/e1c7dc1e1a5aaa5d8238702efc786725.1000x1000x1.png
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/Doja+Cat/_/Agora+Hills
track5
Object

Песня №5

song
string

Название песни

Example:
To Rage
artist
string

Имя исполнителя

Example:
Daughter
image
string

Ссылка на обложку песни

Example:
https://images.genius.com/39d8caeaf0ed8c060cd36ed40cb3f14e.900x900x1.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/Daughter/_/To+Rage
track6
Object

Песня №6

song
string

Название песни

Example:
Dancing With Your Ghost
artist
string

Имя исполнителя

Example:
Sasha Sloan
image
string

Ссылка на обложку песни

Example:
https://lastfm.freetls.fastly.net/i/u/ar0/dd139423c2d4f3770c2cb32331bda7f7.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/Sasha+Sloan/_/Dancing+With+Your+Ghost
track7
Object

Песня №7

song
string

Название песни

Example:
Good Days
artist
string

Имя исполнителя

Example:
SZA
image
string

Ссылка на обложку песни

Example:
https://lastfm.freetls.fastly.net/i/u/500x500/495303dcdd2569d91c786b3af6d6dc3c.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/ru/music/SZA/_/Good+Days
track8
Object

Песня №8

song
string

Название песни

Example:
When We Were Young
artist
string

Имя исполнителя

Example:
Passenger
image
string

Ссылка на обложку песни

Example:
https://lastfm.freetls.fastly.net/i/u/ar0/48be21a04ff7cf102493e6281478bc2c.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Passenger/_/When+We+Were+Young
track9
Object

Песня №9

song
string

Название песни

Example:
How To Disappear
artist
string

Имя исполнителя

Example:
Lana Del Rey
image
string

Ссылка на обложку песни

Example:
https://lastfm.freetls.fastly.net/i/u/ar0/b66c572f7d89374dd746d7b02fc324b5.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Lana+Del+Rey/_/How+to+disappear
track10
Object

Песня №9

song
string

Название песни

Example:
Falling
artist
string

Имя исполнителя

Example:
Harry Styles
image
string

Ссылка на обложку песни

Example:
https://lastfm.freetls.fastly.net/i/u/ar0/7940fbb1df766b4683951aed490a8b5a.jpg
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Harry+Styles/_/Falling
Пример запроса

Обращаемся к Object Storage

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/dailySong
Похожие песни
GET /similarSongs/{songName}/{artistName}

Данный запрос предоставляет пользователю возможность получить файл в формате JSON, содержащий пять песен, похожих на композицицию X исполнителя Y.

Path variables

songName
string required

Название песни на английском языке

Example:
Another Love
artistName
string required

Имя исполнителя на английском языке

Example:
Tom Odell

Responses

200 OK
Body
Object
track1
Object

Песня №1

name
string

Название песни

Example:
The Night We Met
artist
string

Имя исполнителя

Example:
Lord Huron
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Lord+Huron/_/The+Night+We+Met
track2
Object

Песня №2

name
string

Название песни

Example:
Heal
artist
string

Имя исполнителя

Example:
Tom Odell
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Tom+Odell/_/Heal
track3
Object

Песня №3

name
string

Название песни

Example:
Can`t Pretend
artist
string

Имя исполнителя

Example:
Tom Odell
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Tom+Odell/_/Can%27t+Pretend
track4
Object

Песня №4

name
string

Название песни

Example:
Car`s Outside
artist
string

Имя исполнителя

Example:
James Arthur
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/James+Arthur/_/Car%27s+Outside
track5
Object

Песня №5

name
string

Название песни

Example:
Pompeii
artist
string

Имя исполнителя

Example:
Bastille
url
string

Ссылка на песню (Last.fm)

Example:
https://www.last.fm/music/Bastille/_/Pompeii
Пример запроса

Получаем список песен похожих на песню Another Love исполнителя Tom Odell

https://d5d25uuvi8egrdfdgltk.apigw.yandexcloud.net/similarSongs/Another+Love/Tom+Odell