API предоставляется без каких-либо условий - "как есть". Если оно вас устраивает - вы им пользуетесь без ограничений. Не планируется никакой монетизации API. Возможно будут какие-то ограничения по кол-ву запросов в секунду (искусственное замедление ответов), возможно нужно будет зарегистрироваться как пользователь API и получить ключ. Но пока API доступно без ограничения.
Вы можете использовать API на своём сайте, либо делать мобильное приложение. Единственное условие — это должны быть ссылки на сайт zeroevent на страницы мероприятий (поле event.url). Если при разработке вам понадобятся ещё какие-то методы API, либо фильтры — свяжитесь с нами, обсудим.
Префикс для всех запросов - https://zeroevent.ru/api/
Шаблон запроса - https://zeroevent.ru/api/имя-объекта/id-объекта?параметр1=значение&...
Шаблон метода (с id
и без):
https://zeroevent.ru/api/имя-метода?параметр1=значение&...
https://zeroevent.ru/api/имя-метода/id?параметр1=значение&...
Назначение возвращаемых полей в большинстве случаев интуитивно понятны, и большинство полей не требуют какого-либо пояснения. Если вы встретили в ответе какое-то поле, значение которого вам не понятно, и оно не описано здесь в документации, то скорей всего оно является внутренним (для служебных нужд), и вам не нужно.
Обязательные поля. В общем случае лучше исходить из того, что нет никаких обязательных полей, — нет таких полей, которые обязательно должны бы присутствовать в ответе API. Это допущение делает код более защищённым и может помочь избежать возможных ошибок в будущем.
Дата/Время. Если поле связано с датой/временем, то скорее всего это будет integer
представляющий собой unix time в секундах (в локальной таймзоне).
Замечания, предложения, ошибки направлять по адресу info@zeroevent.ru
Далее идёт описание объектов и методов.
id
города — Как узнать id города?
GET https://zeroevent.ru/api/city/96
{
"id": 96,
"name": "Нижний Тагил",
"country": {
"id": 1,
"name": "Россия"
},
"location": {
"lat": 5.79076049999999966644e+01,
"lon": 5.99688329999999965025e+01
},
"region": {
"country": 1,
"id": 1154131,
"name": "Свердловская область"
}
}
id
- либо просто цифровое значение, либо с префиксом из двух букв обозначающих источник данных и id
объекта от источника.
Пример:
23414
- id
в zeroevent;vk2345215
- id
в vk (число соответствует id
event в vk
- адрес https://vk.com/event2345215
);tl23414
- id
в ticketland.Если имя поля начинается на r_
, то это строковое (html) представление соответствующего поля.
html: true/false
- отдавать description (поле des) с тегами html. Без тегов (html: false
) работает только в случае если src: vk
.
name
— название;sname
— короткое название;url
— ссылка на страницу;start
/ finish
— unix time начала и окончания;min_price
/ max_price
— минимальная/максимальная стоимость билета (только для tl/mt);src
: vk|tl|mt
— источник данных. vk - vk.com, tl - tiketland, mt - mts.live. tl/mt - это можно сказать один источник со схожими данными (разные сайты, один владелец MTS);age
— ограничение по возрасту;photo_xx
— url картинки с соответствующим размером;des
— описание (description).
GET https://zeroevent.ru/api/event/695943
{
"id": 695943,
"url": "https://zeroevent.ru/event/695943"
"start": 1704456000,
"finish": 1704467700,
"src": "vk",
"name": "Мещеряков Александр 05.01.24 Loft Salsa Social",
"r_start": "Завтра, 5 января в 15.00 — 18.15",
"r_addr_full": "Санкт-Петербург, Заставская ул., 33, с.2",
"is_pushkin_card": false,
"place": {
"address": "Заставская ул., 33, с.2",
"title": "loft salsa social"
},
"city": {
"id": 2,
"name": "Санкт-Петербург"
},
"r_place": "loft salsa social",
"des": "'НАЧНЕМ Новый 2024 ГОД ТАНЦЕВАЛЬНО под руководством нового ⚡️ бомбического гостя",
"photo_50": "https://sun83-1.userapi.com/s/v1/ig2/ePGvLkIkcEbu1fJafLpzd8LclwO2AKK7G5G27wTKqjFgq2ecmJq1-Aa2IpK1TiO-BPS2puUxGyE01A1prG_CZ4w0.jpg?size=50x50&quality=95&crop=80,216,1057,1057&ava=1",
"photo_100": "https://sun83-1.userapi.com/s/v1/ig2/xqoqOBiTinlpP7VKZOQyjWZHsNp7fFRuKRIW3zdK81DRvD-9Kosjfm0VhSAulzPbNQEcr5oFnghgNVG4Lwnit8Lj.jpg?size=100x100&quality=95&crop=80,216,1057,1057&ava=1",
"photo_200": "https://sun83-1.userapi.com/s/v1/ig2/mOVzFYvc8VlwCz8TXci74z13G0rhj4ubxoXrzMnp2S7EvXOW4IP0RHEf6-3YlfHCpZ2ifWWycZjuBLv_8sK7m61T.jpg?size=200x200&quality=95&crop=80,216,1057,1057&ava=1",
}
Выдача объектов event
, отфильтрованных по параметрам. city-id
— обязательный параметр. Как узнать id города?. Объекты event
выдаются отсортированными по уменьшению рейтинга.
limit
— ограничение кол-ва возвращаемых объектов event
. Если не указано, то = 70, max: 100
;date
— дата в формате YYYY
, YYYY-MM
или YYYY-MM-DD
. Фильтрация за период год, месяц, день соответственно. Если параметр не указан, то выдаются event
наиболее популярные в будущем.
Возвращает объект типа {city: city, events: [event]}
В events
— список объектов event
. Поля соответствуют полям в объекте event
, однако в этой выдаче список выдаваемых полей в сокращённом варианте (наиболее востребованные). Для получения полных данных, нужно запросить объекты event
непосредственно по-отдельности.
GET https://zeroevent.ru/api/events/2?date=2024-01-04&limit=2
{
"city": {
"country": {
"id": 1,
"name": "Россия"
},
"id": 2,
"location": {
"lat": 5.99339000000000012847e+01,
"lon": 3.03061000000000007049e+01
},
"name": "Санкт-Петербург",
},
"events": [{
"id": 7296928,
"age": 6,
"city": {
"id": 2,
"name": "Санкт-Петербург"
},
"des": "<p>Как в сказку попасть:</p>",
"start": 1704376800,
"finish": 1704376800,
"min_price": 600,
"name": "Выставка «Тайна забытых сказок»",
"place": {
"address": "г. Санкт-Петербург, Кожевенная линия, дом 40",
"id": 2051266,
"location": {
"lat": 5.99243969999999990250e+01,
"lon": 3.02420359999999988077e+01
},
"src": "mt",
"title": "Севкабель Порт"
},
"rate": 7.67066406780705396925e-05,
"src": "tl"
}, {
"id": 2047473,
"city": {
"id": 2,
"name": "Санкт-Петербург"
},
"des": "Горячие танцы и чай в уютных залах",
"start": 1704387600,
"finish": 1704400200,
"name": "Вечеринка Newton Day в YouDance 04.01.24",
"rate": 2.91706807784240962356e-01,
"src": "vk",
"status": "Life is better when you dance"
}]
}