Docs/Разработчикам/API

REST API

У платформы есть полноценный REST API под капотом — на нём работает её собственный веб-интерфейс. Внешняя публичная программа доступа (с персональными API-ключами и стабильным контрактом) пока в разработке — на этой странице честно описано, что доступно сейчас, и что планируется.

Текущий статус

в разработке
!
Эндпоинты под JWT существуют, но контракт не зафиксирован — мы можем менять схемы ответов и URL без предупреждения, потому что под них пока никто, кроме нашего фронта, не подвязан. Не стройте на этом production-интеграцию — подождите публичной версии API с ключами и версионированием.

Swagger / OpenAPI

живой

Все доступные сейчас эндпоинты задокументированы автоматически через декораторы NestJS. UI смотрите по адресу:

📘
Swagger UI
seasale.ru/api/docs — список модулей: auth, billing, projects, agents и др.
📄
OpenAPI JSON
seasale.ru/api/docs-json — машиночитаемая схема, можно скормить в Postman или Insomnia.

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

JWT

Защищённые эндпоинты ждут access-токен в заголовке Authorization: Bearer <jwt>. Токен выдаётся через POST /api/auth/login (email + пароль) или через Яндекс OAuth.

i
Персональных API-ключей (как у Stripe или OpenAI) пока нет. Они появятся в публичной версии API — будет отдельный раздел в настройках для выпуска и отзыва.

Публичные эндпоинты

без авторизации

Несколько эндпоинтов специально доступны без токена — на них опираются лендинг и публичные страницы. Они стабильны и ими можно пользоваться:

🧾
GET /api/public/requisites
Юридические реквизиты ИП, цена тарифа Pro, флаг готовности приёма платежей. Email и телефон возвращаются в обфусцированном виде — расшифровка только в браузере по клику.
🎉
GET /api/public/promo
Активная промо-кампания на тариф Pro: basePriceRub, effectivePriceRub, promo.endsAtIso и время сервера. На него же опирается реальный расчёт суммы платежа в ЮKassa — цена в баннере и цена в чеке не разойдутся.
🔗
GET /api/public/referral/resolve?code=XXXXXXXX
Проверяет реферальный код. Возвращает имя пригласившего и размер бонусов — именно так страница регистрации показывает «Вас пригласил такой-то».

Что планируем

в порядке приоритета
Персональные API-ключи

Выпуск ключа в настройках организации, ограничение по scope (только чтение отчётов, запись в базу знаний и т.п.), отзыв.

Версионирование

Префикс /api/v1/ и политика обратной совместимости — чтобы внешним интеграциям не ломались релизы.

SDK

Тонкие клиенты для Node.js и Python — поверх стабильного JSON-контракта.

i
Если есть конкретный сценарий, под который нужен внешний API уже сейчас — напишите на контакт поддержки, поможем подобрать обходной путь и добавим сценарий в приоритет.