Все системы в норме · uptime 99,98%
Statch
Разработчикам · API v2.4

Техническая документация и справочник API

REST API, вебхуки, SDK и примеры для автоматизации: от подключения первого источника до публикации метрик в пайплайне. Всё, что нужно, чтобы встроить Statch в вашу инфраструктуру.

140+ эндпоинтов · SDK на Python и TypeScript · OpenAPI 3.1

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

Подключение за 5 минут

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

Требуется только роль Developer в вашем рабочем пространстве. Полный доступ к данным не нужен.

5 шагов до первой метрики

  1. 01Создайте API-токен в Настройки → Интеграции с правами kpi:read.
  2. 02Подключите источник — например, корпоративный банк через защищённый SFTP или REST.
  3. 03Опишите метрику декларативно в YAML-декларации KPI.
  4. 04Запустите пересчёт: POST /v2/kpis/{id}/recalculate.
  5. 05Скопируйте read-only ссылку на опубликованный слайд для команды и аудитора.

Первый запрос

curl -X GET \
  https://api.statch.dev/v2/kpis \
  -H "Authorization: Bearer sk_live_9f4a..." \
  -H "X-Workspace: hedge-alpha" \
  -H "Accept: application/json"

В ответе приходит список метрик с текущей версией, контрольной суммой и статусом валидации. Поле checksum_sha256 позволяет проверить целостность без повторного расчёта.

Справочник API

Все эндпоинты — в одном месте

Версия v2 стабильна с марта 2024 года. Каждый ресурс описан в OpenAPI 3.1, доступна интерактивная песочница и строгие контракты для генерации клиентов.

Базовый URL: https://api.statch.dev. Все ответы — JSON, кодирование UTF-8.

KPI и версии

  • GET  /v2/kpis
  • POST  /v2/kpis
  • GET  /v2/kpis/{id}/versions
  • POST  /v2/kpis/{id}/recalculate

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

Источники и валидация

  • GET  /v2/sources
  • POST  /v2/sources/{id}/sync
  • GET  /v2/validations/{id}
  • GET  /v2/reports/{id}/export

Синхронизация банковских и торговых систем, правила согласованности и экспорт отчётов в PDF/CSV.

Команды и права

  • GET  /v2/workspaces/{id}/members
  • POST  /v2/invitations
  • GET  /v2/audit-logs
  • GET  /v2/public/{slug}

Управление ролями, приглашения и неизменяемый аудит-трейл для внешних проверяющих.

Коды ответов. 200 — успех; 202 — пересчёт принят в очередь; 409 — конфликт версий, нужен If-Match; 429 — превышен лимит, смотрите заголовок Retry-After.

Вебхуки

Настройка событий в реальном времени

Подписывайтесь на ключевые события и реагируйте мгновенно — от завершения валидации до публикации квартального отчёта. Каждый вызов подписывается и защищён от подделок.

Поддерживаемые события

  • kpi.recalculated — пересчёт завершён
  • validation.failed — найдено расхождение
  • report.published — отчёт опубликован
  • source.synced — источник обновлён

События доставляются с ретраями по экспоненциальной задержке до 24 часов.

Проверка подписи

import hmac, hashlib

sig = request.headers["Statch-Signature"]
payload = request.get_data()
expected = hmac.new(
    secret, payload, hashlib.sha256
).hexdigest()
assert hmac.compare_digest(sig, expected)

Секрет подписи задаётся при создании вебхука. Никогда не храните его на клиенте.

Тестирование

Отправьте тестовое событие без изменения данных:

curl -X POST \
  https://api.statch.dev/v2/webhooks/{id}/test \
  -H "Authorization: Bearer sk_live_..."
Безопасность

Использование токенов и прав

Токены Statch — это bearer-ключи с минимально необходимыми правами. Мы советуем выдавать отдельный токен под каждую задачу и ротировать их не реже 90 дней.

Все запросы — только по HTTPS. Токены передаются в заголовке Authorization и никогда не попадают в URL.

Типы токенов

Тестовые ключи sk_test_ не трогают реальные данные. Продакшен-ключи sk_live_ работают только в активном рабочем пространстве.

Скopes

Выбирайте гранулярные права: kpi:read, kpi:write, report:export, webhooks:manage. Принцип наименьших привилегий — по умолчанию.

Ротация и отмена

Каждый токен можно мгновенно отозвать или заменить. При ротации старый ключ остаётся валидным 24 часа — достаточно времени, чтобы переключить все пайплайны без простоя.

Разработчик в редакторе кода настраивает интеграцию Statch API и проверяет подписи вебхуков
FAQ разработчиков

Частые вопросы о работе с API

Как определить лимиты вызовов API?

Базовый лимит — 1200 запросов в минуту на токен, с burst до 2000. Текущий остаток возвращается в заголовках X-RateLimit-Limit и X-RateLimit-Remaining. При превышении приходит 429 с заголовком Retry-After.

Есть ли песочница для тестирования без реальных данных?

Да. Тестовые токены sk_test_ работают в изолированной среде с синтетическими источниками. Все операции — создание метрик, пересчёт, публикация — выполняются, но не влияют на продакшен.

Как обеспечить идемпотентность пересчёта?

Передайте заголовок Idempotency-Key с уникальным UUID. Повторный запрос с тем же ключом вернёт исходный результат, а не запустит пересчёт заново. Ключ хранится 7 дней.

Поддерживаются ли SDK на языках кроме Python и TypeScript?

Официальные SDK — Python (3.9+) и TypeScript (Node 18+). Для Go, Java и Rust можно сгенерировать клиент из OpenAPI-спецификации. API полностью описан в OpenAPI 3.1, так что любой генератор типов справится.

Как проверить целостность опубликованной метрики?

Каждая версия KPI содержит поле checksum_sha256. Сравнив его со значением в read-only слайде, аудитор подтверждает, что данные не менялись после публикации — без доступа к вашему рабочему пространству.