Изпращайте ни събитията си
За организатори, зали и платформи, които искат събитията им да са на 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": {"bg": "Вечер на джаза"},
"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 няма да се променя несъвместимо. Може да се появят нови незадължителни полета и нови адреси, а непознатите полета в заявката се пренебрегват. Промяна, която би счупила интеграция, ще е в нова версия.
