Общее
Этот раздел 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": "{}" }