Документация · Центр знаний

Руководства и API для спокойной разработки

Всё, что нужно, чтобы за 20 минут перейти от пустой папки к работающему сервису: учебники, синтаксис и ответы на технические вопросы — без воды и без сюрпризов.

Обновлено 14 марта 2025 Версия API 3.2 42 руководства
Уютный рабочий стол разработчика с ноутбуком и открытой документацией SnapApi
~20 мин до первого работающего эндпоинта

Быстрый старт

От регистрации до «hello, world» за пять шагов

Ни одной лишней настройки: создайте проект, свяжите репозиторий и получите публичную ссылку на API.

1. Создайте аккаунт — достаточно e-mail или GitHub; карта не нужна. На бесплатном тарифе «Пробный» вы получаете 10 000 запросов в месяц и два проекта.

2. Создайте проект и выберите язык (Node.js, Python, Go или Rust). Платформа сама подготовит шаблон с примером эндпоинта /health.

3. Свяжите репозиторий и нажмите «развернуть». Версионирование и превью-ссылки появятся автоматически.

4. Протестируйте из терминала:

curl https://api.snapapi.dev/v3/projects/7f3a/health
{ "status": "ok", "latency_ms": 31, "region": "eu-north-1" }

5. Зафиксируйте релиз — тег v1.0.0 станет стабильной версией. Готово: ваш сервис уже отвечает.

Введение в REST API

Прогнозируемый синтаксис, который не меняется от версии к версии

Единые правила маршрутов, пагинации и форматов — чтобы вы писали код один раз и не гуглили «как тут у них».

Маршруты и HTTP-глаголы

Стандартные пути: GET /v3/projects/:id, POST /v3/deployments. Каждый метод соответствует одному действию — без «магических» флагов в URL.

Пагинация и фильтры

Курсорная пагинация через ?cursor= и ?limit=100. Фильтры по дате, статусу и региону передаются в query-параметрах, а не в теле запроса.

Формат ответов

Всегда JSON с полями data, meta и request_id. Коды состояния строго по RFC 7231 — 200, 201, 400, 404, 429.

Настройка окружения

Переменные, секреты и окружения без хаоса

Разделите dev, staging и production так, чтобы деплой не стал гаданием, а секреты не утекли в лог.

Каждый проект по умолчанию имеет три окружения: development, staging и production. Переменные задаются в консоли или через файл env.yaml в корне репозитория:

SNAPAPI_REGION: eu-north-1
SNAPAPI_LOG_LEVEL: info
DATABASE_URL: snap://projects/7f3a/db

Секреты (ключи БД, токены) шифруются при записи и доступны только на этапе сборки — в логах они заменяются на ***. Чтобы переключить окружение в CLI, достаточно snapapi use staging.

Рекомендуем держать SNAPAPI_LOG_LEVEL: debug только в development — на production уровень info снижает объём записей и расход дискового пространства.

Обработка ошибок

Читаемые коды и понятные сообщения — без «что-то пошло не так»

Каждый ответ с ошибкой содержит request_id, машинный код и человекочитаемое описание. Ниже — самые частые сценарии.

Вы превысили лимит тарифа (например, 10 000 запросов/мес на «Пробном»). В ответе есть заголовок Retry-After и поле meta.quota. Увеличьте тариф или добавьте локальную очередь — платформа не роняет сервис, а мягко ограничивает поток.
Проверьте заголовок Authorization: Bearer sk_live_.... Тестовые (sk_test_) и боевые (sk_live_) ключи не взаимозаменяемы. Если ключ активен, убедитесь, что он привязан к нужному проекту и окружению.
Включите SNAPAPI_LOG_LEVEL: debug в development и повторите запрос. Затем откройте вкладку «Логи» → введите request_id из ответа — там будет полный трассировочный путь по всем узлам.
Чаще всего это плановое обслуживание узла. Проверьте статус-страницу и заголовок Retry-After. При аптайме 99,99% такие окна длятся не более 90 секунд, и балансировщик автоматически направляет трафик на соседний узел.

База данных и хранилище

Управляемая база и объектное хранилище — в одном месте

Подключите базу одной строкой, а файлы складывайте в S3-совместимое хранилище. Бэкапы и репликация работают автоматически.

К проекту можно подключить управляемую базу на Postgres 15 или на SQLite для лёгких сервисов. Подключение выглядит как строка snap://projects/7f3a/db — драйвер сам обрабатывает пул соединений и репликацию между узлами eu-north-1 и eu-west-2.

Объектное хранилище совместимо с S3 API: достаточно указать SNAPAPI_BUCKET и использовать любой из проверенных клиентов. Все объекты хранятся в трёх репликах, а удаление — только через версию, что защищает от случайной потери.

Автоматический бэкап выполняется каждые 6 часов; снимки сохраняются 30 дней и доступны для мгновенного отката. Для тарифа «Бизнес» включена горячая репликация с задержкой менее 200 мс.

Хотите проверить всё на живом проекте?

Создайте аккаунт за минуту и получите полный доступ к документации, CLI и песочнице — без карты и без обязательств.