Общее
Этот раздел API посвящён запросу данных о сценах», т.е. экранах, на которых пользователь «миксует» звуки определённой тематики
- вызов /scenes/all — позволяет получить перечень и конфигурацию актуальных сцен
- вызов /scenes/get — получает конкретную конфигурацию сцены, ссылки на изображения, файлы для микширования звуков, их названия и т.д.
- вызов /scenes/check — быстрая проверка доступности контента для пользователя (проверка наличия доступа или подписки к платному контенту)
Mime types
В ответах ниже встречается поле mime, которое может принимать следующие значения:
- Null — not set
- 0 — not set
- 1 — jpg
- 2 — bmp
- 3 — bmp
- 4 — gif
- 5 — image other
- 6 — qt/mov
- 7 — mp4
- 8 — 3gp
- 9 — avi
- 10 — video other
/all
Описание: предоставляет полную информацию про все доступные сцены (фактически является сочетанием /list + /get)
Полный путь к методу: https://www.s1eep.app/api/scenes/all
Полный путь к методу: https://www.s1eep.app/api/scenes/all
Тип запроса: POST
Требования безопасности: API-ключ
Дополнительные ожидаемые параметры:
- hash — сохранённый клиентом хеш с прошлого раза, в случае совпадения с актуальным (поле stories_hash) будет пустой ответ, необязательно
Дополнительные возвращаемые параметры (в случае отсутствия или несовпадения переданного hash'а):
- scenes — массив данных о сценах, каждый элемент является словарём со следующими полями
- id — идентификатор сцены, который нужно использовать при запросе о данных конкретной сцены
- paid — флаг true/false, индикатор платного контента
- sort — порядковый номер контента в списке
- mime — тип формата представляющего сцену медиа, число
- mime_description — название формата представляющего сцену медиа
- thumb_url — ссылка на маленькую картинку, представляющую сцену
- image_url — в случае представления сценой картинкой в этом поле передаётся полный URL картинки
- video_url — в случае представления сценой видео-файлом в этом поле передаётся полный URL видео
- scene_hash — хэш всех данных по сцене, чтобы не скачивать и пересохранять информацию о ней, если она уже была скачена с этим хэшом
- name — название сцены
- sounds — массив данных о звуках, доступных для микширования на этой сцене, каждый элемент которого представляет собой словарь, состоящий из следующих ключей:
- id — идентификатор звука
- name — название звука
- default_volume — значение для громкости звука по умолчанию, от 0 до 100
- sound_url — полный URL к файлу со звуком
- sound_secs — длина файла со звуком в секундах
- deleted_scenes — массив с идентификаторами удалённых сцен для синхронизации кеша
- scenes_hash — хэш массива scenes, чтобы при совпадении с ранее полученным ответом (если он был) не пересохранять данные
Пример ответа в случае несовпадения хеша:
{
"_code": 200,
"_msg": "OK",
"_need_payment": false,
"_data": {
"scenes": [
{
"id": 4,
"paid": false,
"scene_hash": "66bb66b6b1ee7a39a9d2cececdd10247",
"sort": 0,
"mime": 6,
"mime_description": "qt/mov",
"thumb_url": "https://406515.selcdn.ru/APPS/SLEEP/89/15889614151588961415_thumb_1588961415scene1.jpg",
"video_url": "https://www.s1eep.app/scenes/2020/01/1578931433https___www.s1eep.app_scenes_2019_12_1576413828Whales_1080p.mov",
"name": "Whales",
"sounds": [
{
"id": 111,
"name": "Space voices",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575894430space voices.m4a",
"sound_secs": 60
},
{
"id": 112,
"name": "Whales",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575894442whales.m4a",
"sound_secs": 60
},
{
"id": 113,
"name": "Space sonar",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575894479space sonar.m4a",
"sound_secs": 60
},
{
"id": 156,
"name": "Echoes of the stars",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2020/01/1578936114echos of the stars.m4a",
"sound_secs": 60
}
]
},
{
"id": 8,
"paid": true,
"scene_hash": "6ef1c8b89a65d80db944c1531636e214",
"sort": 1,
"mime": 6,
"mime_description": "qt/mov",
"thumb_url": "https://406515.selcdn.ru/APPS/SLEEP/89/15889614151588961415_thumb_1588961415scene1.jpg",
"video_url": "https://www.s1eep.app/scenes/2019/12/1576351162Zen_1080p.mov",
"name": "Zen",
"sounds": [
{
"id": 118,
"name": "Cicada",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896547cicada (light).m4a",
"sound_secs": 60
},
{
"id": 119,
"name": "River",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896557river (small stream).m4a",
"sound_secs": 60
},
{
"id": 120,
"name": "Wind chimes",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896566wind chimes (light).m4a",
"sound_secs": 60
},
{
"id": 121,
"name": "Night bird",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896578night bird.m4a",
"sound_secs": 60
},
{
"id": 122,
"name": "Tibetian bowls",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896587tibetan bowls (intense).m4a",
"sound_secs": 60
}
]
},
{
"id": 1,
"paid": true,
"scene_hash": "0c3f6dddcd0cd7590f391c917cb6ff96",
"sort": 2,
"mime": 6,
"mime_description": "qt/mov",
"video_url": "https://www.s1eep.app/scenes/2019/12/1576351229Forest_1080p.mov",
"name": "Forest",
"sounds": [
{
"id": 123,
"name": "Crickets",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896640crickets.m4a",
"sound_secs": 60
},
{
"id": 124,
"name": "Camp fire",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896650camp fire (small).m4a",
"sound_secs": 60
},
{
"id": 125,
"name": "Owls",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896662mysterious owls.m4a",
"sound_secs": 60
},
{
"id": 126,
"name": "Tibetian bowls",
"default_volume": 80,
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575896670tibetan bowls (light).m4a",
"sound_secs": 60
}
]
}
],
"deleted_scenes": [
13,
14
],
"scenes_hash": "f624d41c9bdee78a062e22e7c2ae454f"
}
}Пример ответа в случае совпадения хеша:
{
"_code": 200,
"_msg": "OK",
"_need_payment": false,
"_data": "{}"
}/get
Описание: для получения всех деталей для конкретной сцены
Полный путь к методу: https://www.s1eep.app/api/scenes/get
Тип запроса: POST
Требования безопасности: API-ключ + пользовательский токен (опционально)
Дополнительные ожидаемые параметры:
- _user_token — пользовательский токен при наличии, чтобы получить доступ к платному контенту, необязательно
- scene_id — идентификатор сцены
- hash — сохранённый клиентом хеш с прошлого раза, в случае совпадения с актуальным (поле stories_hash) будет пустой ответ, необязательно
Дополнительные возвращаемые параметры (в случае отсутствия или несовпадения переданного hash'а):
- scene — словарь данных о запрошенной сцене
- id — идентификатор сцены (совпадает с запрошенным scene_id)
- paid — флаг true/false, индикатор платного контента
- sort — порядковый номер контента в списке
- mime — тип формата представляющего сцену медиа, число
- mime_description — название формата представляющего сцену медиа
- image_url — в случае представления сценой картинкой в этом поле передаётся полный URL картинки
- video_url — в случае представления сценой видео-файлом в этом поле передаётся полный URL видео
- sounds — массив данных о звуках, доступных для микширования на этой сцене, каждый элемент которого представляет собой словарь, состоящий из следующих ключей:
- id — идентификатор звука
- name — название звука
- sound_url — полный URL к файлу со звуком
- sound_secs — длина файла со звуком в секундах
- scene_hash — хэш данных о сцене, чтобы при совпадении с ранее полученным ответом (если он был) не перезагружать данные
Пример ответа в случае несовпадения хеша:
{
"_code": 200,
"_msg": "OK",
"_need_payment": false,
"_data": {
"scene": {
"id": 4,
"name": "Whales",
"paid": false,
"sort": 0,
"mime": 6,
"mime_description": "qt/mov",
"thumb_url": "https://406515.selcdn.ru/APPS/SLEEP/89/15889614151588961415_thumb_1588961415scene1.jpg",
"video_url": "https://www.s1eep.app/scenes/2020/01/1578931433https___www.s1eep.app_scenes_2019_12_1576413828Whales_1080p.mov",
"sounds": [
{
"id": 111,
"name": "Space voices",
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575894430space voices.m4a",
"sound_secs": 60
},
{
"id": 112,
"name": "Whales",
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575894442whales.m4a",
"sound_secs": 60
},
{
"id": 113,
"name": "Space sonar",
"sounds_url": "https://www.s1eep.app/scenes/2019/12/1575894479space sonar.m4a",
"sound_secs": 60
},
{
"id": 156,
"name": "Echoes of the stars",
"sounds_url": "https://www.s1eep.app/scenes/2020/01/1578936114echos of the stars.m4a",
"sound_secs": 60
}
]
},
"scene_hash": "66bb66b6b1ee7a39a9d2cececdd10247"
}
}Пример ответа в случае совпадения хеша:
{
"_code": 200,
"_msg": "OK",
"_need_payment": false,
"_data": "{}"
}/check
Описание: быстрая проверка доступности контента для пользователя (проверка наличия доступа или подписки к платному контенту)
Полный путь к методу: https://www.s1eep.app/api/scenes/check
Тип запроса: POST
Требования безопасности: API-ключ + пользовательский токен (опционально)
Дополнительные ожидаемые параметры:
- _user_token — пользовательский токен при наличии, чтобы проверить доступ к платному контенту для конкретного пользователя приложения, необязательно
- scene_id — идентификатор сцены
Дополнительные возвращаемые параметры:
- нет
Пример ответа в случае возможности доступа:
{
"_code": 200,
"_msg": "OK",
"_need_payment": false,
"_data": "{}"
}Пример ответа в случае невозможности доступа:
{
"_code": 403,
"_msg": "Active subscription required",
"_need_payment": true,
"_data": "{}"
}