Базовый адрес
https://vsekuda.ru/api/v1 — JSON в UTF-8, даты в ISO 8601, деньги в целых рублях.

REST API всекуда.рф для агентств, партнёров и мобильных приложений: доступность и цены по дням, расчёт заказа, бронирование, центр помощи и сертификаты. Спецификация OpenAPI 3.1.
Базовый адрес, формат и аутентификация одинаковые для сайта, iOS и Android.
https://vsekuda.ru/api/v1 — JSON в UTF-8, даты в ISO 8601, деньги в целых рублях.
Спецификация и интерактивный справочник методов с примерами запросов.
Открыть /api/v1/docsopenapi.jsonAuthorization: Bearer <token>. Токен выдаёт POST /auth/otp/verify с параметром client=ios|android. Публичные методы доступны без токена.
# 1. Свободные дни и цены экскурсии curl https://vsekuda.ru/api/v1/products/12/days?from=2026-12-01&to=2026-12-31 # 2. Расчёт заказа на двух взрослых и ребёнка curl -X POST https://vsekuda.ru/api/v1/quote -H "content-type: application/json" \ -d '{"productId":12,"slotId":3481,"participants":{"adult":2,"child":1}}' # 3. Удержать места на 15 минут и создать бронь curl -X POST https://vsekuda.ru/api/v1/bookings -H "authorization: Bearer $TOKEN" \ -H "idempotency-key: $(uuidgen)" -H "content-type: application/json" \ -d '{"productId":12,"slotId":3481,"participants":{"adult":2,"child":1}}'
Полный список с параметрами и схемами ответов — в документации OpenAPI.
| Метод | Адрес | Что делает |
|---|---|---|
| GET | /products/{id}/days?from=&to= | Дни календаря: цена в ячейке, статус (есть места, мало, нет мест), двойные монетки |
| GET | /products/{id}/slots?date=YYYY-MM-DD | Слоты дня: время, свободные места, цена |
| GET | /products/{id}/departures | Заезды многодневного тура |
| POST | /quote | Расчёт: итог, предоплата 15% / 25%, монетки, точная дата бесплатной отмены |
| Метод | Адрес | Что делает |
|---|---|---|
| POST | /bookings | Удержать места на 15 минут и создать бронь (заголовок idempotency-key обязателен) |
| PATCH | /bookings/{id} | Участники и контакты ведущего группы |
| POST | /bookings/{id}/pay | Перейти к оплате: ссылка на страницу банка |
| GET | /bookings/{id}/cancel-preview | Сколько вернётся при отмене прямо сейчас |
| POST | /bookings/{id}/cancel | Отменить бронь по правилам · нужен токен или доступ к брони |
| GET | /bookings/{id}/ics | Событие в календарь (iCalendar) |
| Метод | Адрес | Что делает |
|---|---|---|
| POST | /auth/otp/request | Запросить SMS-код на номер телефона |
| POST | /auth/otp/verify | Подтвердить код; с client=ios|android в ответе токен для Bearer |
| GET | /help/search?q= | Поиск по вопросам центра помощи |
| GET | /certificates/{code}/balance | Остаток и срок действия подарочного сертификата |
| GET | /geo/suggest?q= | Подсказки «Куда?»: города, регионы, места |
До 600 запросов в минуту с адреса, на создание броней — до 60 в минуту. При превышении ответ 429 и заголовок Retry-After.
Единый формат: { error: { code, message, details } }. Сообщения на русском, поля формы — в details.fields.
Данные карт к нам не попадают: гость платит на странице банка, вы получаете статус платежа и брони.
Расскажите о себе, менеджер отдела партнёрств пришлёт условия и договор.