API: /scenes

Korrekted
Korrekted
Last updated 

Общее

Этот раздел 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
Тип запроса: 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": "{}"
}