API: /sounds

Korrekted
Korrekted
Last updated 

Общее

Этот раздел API посвящён запросу данных о звуках, которые пользователь может микшировать в отдельном разделе приложения
  • вызов /sounds/categories — позволяет получить список актуальных категорий звуков и их полное наполнение (с путями к файлам)
  • вызов /sounds/get — получает детальную информацию по конкретному звуку
  • вызов /sounds/check — быстрая проверка доступности контента для пользователя (проверка наличия доступа или подписки к платному контенту)


/categories

Описание: отправляет список категорий звуков и их идентификаторов
Полный путь к методу: https://www.s1eep.app/api/sounds/categories
Тип запроса: POST
Требования безопасности: API-ключ
Дополнительные ожидаемые параметры:
  • hash — сохранённый клиентом хеш с прошлого раза, в случае совпадения с актуальным (поле sound_categories_hash) будет пустой ответ, необязательно
Дополнительные возвращаемые параметры (в случае отсутствия или несовпадения переданного hash'а):
  • sound_categories — массив данных о категориях и их наполнении, каждый элемент является словарём со следующими полями
    • id — идентификатор тегов
    • name — описание тега
    • sort — порядковый номер категории в списке
    • sounds_count — количество звуков в этой категории
    • sounds — массив словарей с информацией о звуках, состоит из следующих ключей:
      • id — идентификатор звука
      • name — название звука
      • paid — признак платности звука (требуется ли активная подписка для доступа)
      • sound_category_id — ID категории, к которой принадлежит звук
      • length_secs — длина звука в секундах
      • image_url — адрес изображения, сопровождающего звук
      • sound_hash — хеш звука для сравнение с информацией о звуке, сохранённой в локальном кеше
      • sounds — массив информации о аудиофайлах, составляющих звук
        • id — идентификатор аудиофайла
        • sound_url — адрес аудиофайла
        • sound_secs — длина аудиофайла в секундах
    • sound_category_hash — хэш категории звуков (зависит от её наполнения и удаления звуков)
  • deleted_sound_categories_ids — массив идентификаторов удалённых категорий звуков
  • deleted_sound_ids — массив идентификаторов удалённых звуков
  • sound_categories_hash — хэш всего контента, чтобы при совпадении с ранее полученным ответом (если он был) не пересохранять данные
Пример ответа в случае не совпадения хеша:
{
    "_code": 200,
    "_msg": "OK",
    "_need_payment": false,
    "_data": {
        "sound_categories": [
            {
                "id": 5,
                "name": "ASMR",
                "sort": 0,
                "sounds_count": 6,
                "sounds": [
                    {
                        "id": 33,
                        "name": "Pencil",
                        "paid": false,
                        "sort": 0,
                        "sound_category_id": 5,
                        "length_secs": 50,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415415i_s_003.png",
                        "sound_hash": "1410313b6568fc84dbfc32939e687592",
                        "sounds": [
                            {
                                "id": 187,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415415writing with a pencil .mp3",
                                "sound_secs": 50
                            }
                        ]
                    },
                    {
                        "id": 34,
                        "name": "Vinyl Crackle",
                        "paid": false,
                        "sort": 1,
                        "sound_category_id": 5,
                        "length_secs": 12,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415446i_s_008.png",
                        "sound_hash": "9dc237cef591ad08579c370b1781fd10",
                        "sounds": [
                            {
                                "id": 188,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415446vinyl crackle.mp3",
                                "sound_secs": 12
                            }
                        ]
                    },
                    {
                        "id": 35,
                        "name": "Fur Stroking",
                        "paid": true,
                        "sort": 2,
                        "sound_category_id": 5,
                        "length_secs": 66,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415494i_s_012.png",
                        "sound_hash": "d4abfa56c08e5981d649aba8b58a01d1",
                        "sounds": [
                            {
                                "id": 189,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415494fur stroking .mp3",
                                "sound_secs": 66
                            }
                        ]
                    }
                ],
                "sound_category_hash": "3ddccdfe546be391d19a92b53093c6d2"
            },
            {
                "id": 6,
                "name": "Colored Noises",
                "sort": 1,
                "sounds_count": 6,
                "sounds": [
                    {
                        "id": 20,
                        "name": "White Noise",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 6,
                        "length_secs": 10,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579412721i_s_002.png",
                        "sound_hash": "a40f9693e6d136788e5c75ce450b73d7",
                        "sounds": [
                            {
                                "id": 169,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579412722white noise.mp3",
                                "sound_secs": 10
                            }
                        ]
                    },
                    {
                        "id": 22,
                        "name": "Pink Noise",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 6,
                        "length_secs": 10,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579414774i_s_009.png",
                        "sound_hash": "17d4dad68c75e6b324b9d52ae1010513",
                        "sounds": [
                            {
                                "id": 176,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579414774pink noise.mp3",
                                "sound_secs": 10
                            }
                        ]
                    },
                    {
                        "id": 23,
                        "name": "Green Noise",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 6,
                        "length_secs": 10,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579414806i_s_006.png",
                        "sound_hash": "8a9614a8744ad662266eade30517fc53",
                        "sounds": [
                            {
                                "id": 177,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579414806green noise.mp3",
                                "sound_secs": 10
                            }
                        ]
                    },
                    {
                        "id": 24,
                        "name": "Delta Waves",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 6,
                        "length_secs": 10,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579414839i_s_004.png",
                        "sound_hash": "d2957380d5566e1eb14f5caff8da2c00",
                        "sounds": [
                            {
                                "id": 178,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579414839delta waves.mp3",
                                "sound_secs": 10
                            }
                        ]
                    },
                    {
                        "id": 25,
                        "name": "Brown Noise",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 6,
                        "length_secs": 10,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415007i_s_012.png",
                        "sound_hash": "4fcbb01536ea153d0bd43d80cffe1f84",
                        "sounds": [
                            {
                                "id": 179,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579414882brown noise.mp3",
                                "sound_secs": 10
                            }
                        ]
                    }
                ],
                "sound_category_hash": "7e0d8012f1a41832340af271f8a11a65"
            },
            {
                "id": 7,
                "name": "Nature Sounds",
                "sort": 2,
                "sounds_count": 7,
                "sounds": [
                    {
                        "id": 36,
                        "name": "Whales",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 7,
                        "length_secs": 80,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415642i_s_008.png",
                        "sound_hash": "7b640ca068217bc60a29bf7573c4280f",
                        "sounds": [
                            {
                                "id": 190,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415642whales.mp3",
                                "sound_secs": 80
                            }
                        ]
                    },
                    {
                        "id": 37,
                        "name": "Spring Birds",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 7,
                        "length_secs": 60,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415670i_s_013.png",
                        "sound_hash": "140babb83247a97b8bb6b9f4c41fca96",
                        "sounds": [
                            {
                                "id": 191,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415670spring birds.mp3",
                                "sound_secs": 60
                            }
                        ]
                    },
                    {
                        "id": 38,
                        "name": "Space Voices",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 7,
                        "length_secs": 80,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415698i_s_007.png",
                        "sound_hash": "b93fec4d09493772ed40b1045edaf353",
                        "sounds": [
                            {
                                "id": 192,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415698space voices.mp3",
                                "sound_secs": 80
                            }
                        ]
                    },
                    {
                        "id": 39,
                        "name": "Night Bird",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 7,
                        "length_secs": 120,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415731i_s_002.png",
                        "sound_hash": "b9f81cc0d235da0783b115a526f3f140",
                        "sounds": [
                            {
                                "id": 193,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415731night bird.mp3",
                                "sound_secs": 120
                            }
                        ]
                    },
                    {
                        "id": 40,
                        "name": "Mysterious Owls",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 7,
                        "length_secs": 120,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415763i_s_009.png",
                        "sound_hash": "e5ac753fd81d1c6dd8abd1c9d66f5c22",
                        "sounds": [
                            {
                                "id": 194,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415763mysterious owls.mp3",
                                "sound_secs": 120
                            }
                        ]
                    },
                    {
                        "id": 41,
                        "name": "Crickets",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 7,
                        "length_secs": null,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415793i_s_011.png",
                        "sound_hash": "962286e49aa2afe6d036612809faa8a2",
                        "sounds": [
                            {
                                "id": 198,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579480020https___test.s1eep.app_sounds_2020_01_1578485594121335__cityrocker__air-traffic-3.mp3",
                                "sound_secs": 42
                            }
                        ]
                    }
                ],
                "sound_category_hash": "8c70ab74f8d9bb8600bf2208b017fa31"
            },
            {
                "id": 8,
                "name": "Mechanical Sounds",
                "sort": 3,
                "sounds_count": 8,
                "sounds": [
                    {
                        "id": 26,
                        "name": "Submarine",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 30,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415131i_s_006.png",
                        "sound_hash": "6dc62ed2ea58fa33339a094d6327bdf0",
                        "sounds": [
                            {
                                "id": 180,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415131submarine.mp3",
                                "sound_secs": 30
                            }
                        ]
                    },
                    {
                        "id": 27,
                        "name": "Spaceship",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 32,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415159i_s_003.png",
                        "sound_hash": "df1603622cc0e4add5d6c77f0e0e2c40",
                        "sounds": [
                            {
                                "id": 181,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415159spaceship.mp3",
                                "sound_secs": 32
                            }
                        ]
                    },
                    {
                        "id": 28,
                        "name": "Space Sonar",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 28,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415210i_s_008.png",
                        "sound_hash": "1d72a50902ccb07b33683bf1a12372f1",
                        "sounds": [
                            {
                                "id": 182,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415210space sonar.mp3",
                                "sound_secs": 28
                            }
                        ]
                    },
                    {
                        "id": 29,
                        "name": "Keyboard Typing",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 32,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415244i_s_003.png",
                        "sound_hash": "2124e1eb8a737b15d8d9bd7e255e7023",
                        "sounds": [
                            {
                                "id": 183,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415244keyboard typing.mp3",
                                "sound_secs": 32
                            }
                        ]
                    },
                    {
                        "id": 30,
                        "name": "Hairdryer",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 22,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415278i_s_007.png",
                        "sound_hash": "4f539b93c20762433550b6c7bba61681",
                        "sounds": [
                            {
                                "id": 184,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415278hairdryer.mp3",
                                "sound_secs": 22
                            }
                        ]
                    },
                    {
                        "id": 31,
                        "name": "Drone Engine",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 28,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415307i_s_008.png",
                        "sound_hash": "83ba31dca62ade96f1cfbd686492ffbd",
                        "sounds": [
                            {
                                "id": 185,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415307drone engine.mp3",
                                "sound_secs": 28
                            }
                        ]
                    },
                    {
                        "id": 32,
                        "name": "Dishwasher",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 8,
                        "length_secs": 32,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1579415341i_s_002.png",
                        "sound_hash": "aaa641ad4a024e8d24cc30b593069189",
                        "sounds": [
                            {
                                "id": 186,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1579415341dishwasher.mp3",
                                "sound_secs": 32
                            }
                        ]
                    }
                ],
                "sound_category_hash": "e72a41b6410d2beb807987722a179740"
            },
            {
                "id": 9,
                "name": "Relax Melodies",
                "sort": 4,
                "sounds_count": 1,
                "sounds": [],
                "sound_category_hash": "df057541ddb07d45b2b473a39bdf448a"
            },
            {
                "id": 1,
                "name": "Air",
                "sort": 5,
                "sounds_count": 7,
                "sounds": [
                    {
                        "id": 5,
                        "name": "Duster",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 1,
                        "length_secs": 15,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1578486099Subtract2.png",
                        "sound_hash": "3130f30452081c836aacabb2ea11e9cb",
                        "sounds": [
                            {
                                "id": 144,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1578486099232920__bmusic92__duster.mp3",
                                "sound_secs": 15
                            }
                        ]
                    },
                    {
                        "id": 6,
                        "name": "Whiff",
                        "paid": false,
                        "sort": null,
                        "sound_category_id": 1,
                        "length_secs": 4,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1578486193Subtract2.png",
                        "sound_hash": "9d909c780b7f612c3a7f752985b1f95f",
                        "sounds": [
                            {
                                "id": 145,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1578486193182693__kingsrow__whiff.mp3",
                                "sound_secs": 4
                            }
                        ]
                    },
                    {
                        "id": 4,
                        "name": "Windstorm",
                        "paid": false,
                        "sort": 0,
                        "sound_category_id": 1,
                        "length_secs": 60,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1578485708Subtract2.png",
                        "sound_hash": "90e2b12a747acc3e0b6962ce0e4558c2",
                        "sounds": [
                            {
                                "id": 143,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/157848570879934__nickleus__ams-windstorm-20090917.mp3",
                                "sound_secs": 60
                            }
                        ]
                    },
                    {
                        "id": 3,
                        "name": "Air Traffic",
                        "paid": false,
                        "sort": 1,
                        "sound_category_id": 1,
                        "length_secs": 42,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1578485594Subtract2.png",
                        "sound_hash": "99d29673591ee0f957e8f78d64ca5848",
                        "sounds": [
                            {
                                "id": 142,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1578485594121335__cityrocker__air-traffic-3.mp3",
                                "sound_secs": 42
                            }
                        ]
                    },
                    {
                        "id": 1,
                        "name": "Cold & wet",
                        "paid": false,
                        "sort": 3,
                        "sound_category_id": 1,
                        "length_secs": 2,
                        "image_url": "https://test.s1eep.app/sound_images/2020/01/1578485370Subtract.png",
                        "sound_hash": "ea00a5627af6d4b86651043801056a7f",
                        "sounds": [
                            {
                                "id": 140,
                                "sound_url": "https://test.s1eep.app/sounds/2020/01/1578485119379470__vandale__wind3.mp3",
                                "sound_secs": 2
                            }
                        ]
                    }
                ],
                "sound_category_hash": "1ac7844a472837dfabf008c4a8536908"
            }
        ],
        "deleted_sound_categories_ids": [
            2,
            4
        ],
        "deleted_sound_ids": [
            2,
            7,
            8,
            9,
            10,
            11,
            12,
            13,
            14,
            15,
            16,
            17,
            18,
            19,
            21
        ],
        "sound_categories_hash": "715400a43694a0fc1e5c0e14a0c28b44"
    }
}

Пример ответа в случае совпадения хеша:
{
    "_code": 200,
    "_msg": "OK",
    "_need_payment": false,
    "_data": "{}"
}


/get

Описание: предоставляет информацию о конкретном звуке
Полный путь к методу: https://www.s1eep.app/api/sounds/get
Тип запроса: POST
Требования безопасности: API-ключ + пользовательский токен (опционально)
Дополнительные ожидаемые параметры:
  • _user_token — пользовательский токен при наличии, чтобы получить доступ к платному контенту, необязательно
  • sound_id — идентификатор звука
  • hash — сохранённый клиентом хеш с прошлого раза, в случае совпадения с актуальным (поле meditation_hash в ответе) будет пустой ответ, необязательно
Дополнительные возвращаемые параметры (в случае отсутствия или несовпадения переданного hash'а):
  • sound — словарь данных о запрошенном звуке
    • id — идентификатор звука, который нужно использовать при запросе детальных данных о нём
    • name — название звука
    • paid — флаг true/false, индикатор платного контента
    • sort — порядковый номер контента в списке
    • sound_category_id — идентификатор категории звука
    • length_secs — длина звука в секундах
    • image_url — полный URL для картинки, которая представляет звук
    • sounds — массив словарей с детальной информацией о звуковых файлах, состоящих из следующих ключей:
      • id — идентификатор звука
      • sound_url — полный URL к файлу со звуком
      • sound_secs — длина звука в секундах
  • sound_hash — хэш данных о звуке, чтобы при совпадении с ранее полученным ответом (если он был) не перезагружать данные

Пример ответа в случае несовпадения хеша:
{
    "_code": 200,
    "_msg": "OK",
    "_need_payment": false,
    "_data": {
        "sound": {
            "id": 11,
            "name": "Water",
            "paid": false,
            "sort": 0,
            "sound_category_id": 2,
            "image_url": "https://www.s1eep.app/sound_images/2020/01/1578487365SSS.png",
            "sounds": [
                {
                    "id": 150,
                    "sound_url": "https://www.s1eep.app/sounds/2020/01/1578487365165669__dn-kp__dn-kp-water-01.mp3",
                    "sound_secs": 13
                },
                {
                    "id": 151,
                    "sound_url": "https://www.s1eep.app/sounds/2020/01/1578538127367689__funwithsound__water-pour-into-sink.mp3",
                    "sound_secs": 6
                }
            ]
        },
        "sound_hash": "970b77f5bba4051835312cd9b153b670"
    }
}

Пример ответа в случае совпадения хеша:
{
    "_code": 200,
    "_msg": "OK",
    "_need_payment": false,
    "_data": "{}"
}

/check

Описание: быстрая проверка доступности контента для пользователя (проверка наличия доступа или подписки к платному контенту)
Полный путь к методу: https://www.s1eep.app/api/sounds/check
Тип запроса: POST
Требования безопасности: API-ключ + пользовательский токен (опционально)
Дополнительные ожидаемые параметры:
  • _user_token — пользовательский токен при наличии, чтобы проверить доступ к платному контенту для конкретного пользователя приложения, необязательно
  • sound_id — идентификатор медитации
Дополнительные возвращаемые параметры:
  • нет

Пример ответа в случае возможности доступа:
{
    "_code": 200,
    "_msg": "OK",
    "_need_payment": false,
    "_data": "{}"
}

Пример ответа в случае невозможности доступа:
{
    "_code": 403,
    "_msg": "Active subscription required",
    "_need_payment": true,
    "_data": "{}"
}