# Audio API
## Получение баннеров
### Request
GET `/api/v2/audio/banners`
### Response
```jsonld=
{
"data": [
{
"banner_id": <ObjectId>, # required
"banner_title": "str",
"banner_cover_url": "http://...", # required
"target_url": "http://..." # required
},
...
]
}
```
## Получение музыкальных категорий
### Request
GET `/api/v2/audio/music/categories`
### Response
```jsonld=
{
"data": [
{
"category_id": <ObjectId>,
"category_title": "str",
"category_cover_url": "http://...",
"total_audio_count": int
},
...
]
}
```
## Получение композиций из категории
### Request
GET `/api/v2/audio/music/categories/{category_id}`
### Response
```jsonld=
{
"data": {
"audio": [
<AudioObject>
],
"next_page": "str"
}
```
`AudioObject`:
```jsonld=
{
"audio_id": <ObjectId>,
"audio_title": "str",
"audio_author": "str", # optional
"audio_album ": "str", # optional
"audio_duration": float, # seconds
"audio_cover_url": "http://...",
"audio_url": "http://..."
}
```
## Поиск аудиозаписи
### Request
GET `/api/v2/audio/music/search`
#### Query params:
```yaml
"query": str
"category_id": <ObjectId>
"limit": int
"next_page_token": str
```
### Response
```jsonld=
{
"data": {
"audio": [
<AudioObject>
],
"next_page": "str"
}
}
```
## Получение категорий эффектов
### Request
GET `/api/v2/audio/effects/categories`
### Response
```jsonld=
{
"data": [
{
"category_id": <ObjectId>,
"category_title": "str",
"category_cover_url": "http://...",
"total_audio_count": int
},
...
]
}
```
## Получение эффектов из категории
### Request
GET `/api/v2/audio/effects/categories/{category_id}`
### Response
```jsonld=
{
"data": {
"audio": [
<AudioObject>
],
"next_page": "str"
}
```
`AudioObject`:
```jsonld=
{
"audio_id": <ObjectId>,
"audio_title": "str",
"audio_author": "str", # optional
"audio_album ": "str", # optional
"audio_duration": float, # seconds
"audio_cover_url": "http://...",
"audio_url": "http://..."
}
```
## Поиск эффекта
### Request
GET `/api/v2/audio/effects/search`
#### Query params:
```yaml
"query": str
"category_id": <ObjectId>
"limit": int
"next_page_token": str
```
### Response
```jsonld=
{
"data": {
"audio": [
<AudioObject>
],
"next_page": "str"
}
}
```