Присылайте нам свои события
Для организаторов, площадок и платформ, которые хотят видеть свои события на tuka.events. Куратор проверяет каждое событие перед публикацией.
Как стать поставщиком
Мы подключаем поставщиков вручную, самостоятельной регистрации нет. Напишите на [email protected]: кто вы, в каком городе и какие события проводите, ссылку на сайт и как вам удобнее их присылать. Мы выдадим личный адрес, API-ключ или и то и другое.
Три способа
Почта
Пишете своими словами на личный адрес. Настраивать ничего не нужно.
API со свободным текстом
Присылаете описание через API, а мы превращаем его в события.
API с полями
Присылаете каждое событие структурированными данными из своей системы.
Почта
Вы получите адрес вида имя[email protected]. Пишите на него как человеку: программа в тексте письма, афиша или PDF вложением. Укажите название, дату, время и место. Так же можно сообщать об изменениях: новое время, отмена, дополнительная дата.
API
Адрес: https://vendors.tuka.events/api/v1. Полная схема: openapi.json (OpenAPI 3.1). Передавайте ключ в заголовке каждого запроса и храните его как пароль. Проверить ключ можно через GET /api/v1/me, он ничего не сохраняет:
curl https://vendors.tuka.events/api/v1/me \
-H "Authorization: Bearer $TUKA_API_KEY"
Свободный текст: POST /api/v1/letters
Самый простой способ. Один запрос может описывать много событий.
curl https://vendors.tuka.events/api/v1/letters \
-H "Authorization: Bearer $TUKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"subject": "Программа на декабрь",
"text": "12 декабря, 20:00, Sofia Live Club: Вечер джаза. Билеты от 15 EUR."}'
Событие: POST /api/v1/events
Обязательны title и starts_at. Названия достаточно на одном из языков bg, en, ru, остальные напишем мы. Время местное, без смещения. Если час неизвестен, пришлите только дату. Один запрос — одна дата.
curl https://vendors.tuka.events/api/v1/events \
-H "Authorization: Bearer $TUKA_API_KEY" \
-H "Content-Type: application/json" \
-d '{"title": {"ru": "Вечер джаза"},
"starts_at": "2026-12-12T20:00",
"city": "sofia",
"venue": {"name": "Sofia Live Club", "address": "бул. Витоша 1"},
"url": "https://example.com/jazz-night",
"price": {"from": 15, "currency": "EUR"}}'
Площадка: POST /api/v1/venues
Только для площадки, у которой ещё нет события: событие само называет свою площадку. Обязательно поле name.
Ответы
| Код | Значение |
|---|---|
202 | Принято и сохранено. Обычно доходит до куратора в течение двух часов. |
200 | Такое же содержимое уже принято ("duplicate": true). Отправлять повторно безопасно. |
401 | Ключ недействителен или отозван. |
422 | Поля с ошибками перечислены в error.fields. Ничего не сохранено. |
429 | Больше примерно 30 запросов в минуту. Подождите Retry-After секунд. |
503 | Ничего не сохранено. Повторите через минуту. |
Совместимость. /api/v1 не будет меняться несовместимо. Могут появляться новые необязательные поля и новые адреса, а неизвестные поля в запросе игнорируются. Изменение, которое сломало бы интеграцию, выйдет в новой версии.
