Демо-версия всекуда.рф: гиды, отзывы и цены демонстрационные, бронирование и оплата пока отключены. Скоро запуск!
Поддержка в эфире 8:00–22:00 МСК, ежедневно · чат, телефон, Telegram
Блокнот путешественника с фотографиями маршрутов и телефон на столе
Для бизнеса

API для партнёровREST и OpenAPI 3.1

REST API всекуда.рф для агентств, партнёров и мобильных приложений: доступность и цены по дням, расчёт заказа, бронирование, центр помощи и сертификаты. Спецификация OpenAPI 3.1.

  • RESTJSON, единый контракт для сайта и приложений
  • OpenAPIспецификация 3.1 и интерактивная документация
  • 15 минудержание мест при создании брони
Быстрый старт

Три запроса до брони

Базовый адрес, формат и аутентификация одинаковые для сайта, iOS и Android.

Базовый адрес

https://xn--80adgdz4bq.xn--p1ai/api/v1 — JSON в UTF-8, даты в ISO 8601, деньги в целых рублях.

Документация

Спецификация и интерактивный справочник методов с примерами запросов.

Открыть /api/v1/docsopenapi.json

Аутентификация

Authorization: Bearer <token>. Токен выдаёт POST /auth/otp/verify с параметром client=ios|android. Публичные методы доступны без токена.

# 1. Свободные дни и цены экскурсии
curl https://xn--80adgdz4bq.xn--p1ai/api/v1/products/12/days?from=2026-12-01&to=2026-12-31

# 2. Расчёт заказа на двух взрослых и ребёнка
curl -X POST https://xn--80adgdz4bq.xn--p1ai/api/v1/quote -H "content-type: application/json" \
  -d '{"productId":12,"slotId":3481,"participants":{"adult":2,"child":1}}'

# 3. Удержать места на 15 минут и создать бронь
curl -X POST https://xn--80adgdz4bq.xn--p1ai/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.

Оплата

Данные карт к нам не попадают: гость платит на странице банка, вы получаете статус платежа и брони.

Заявка

Начать работу

Расскажите о себе, менеджер отдела партнёрств пришлёт условия и договор.

  • Лимиты запросов под ваш объём по договору
  • Песочница оплаты для тестовых броней
  • Идемпотентные запросы: повтор не создаст вторую бронь
  • Технический контакт на время интеграции

Доступ к API

Расскажите о проекте и сценарии — выдадим доступ к тестовому стенду.

Программы для бизнеса