SDK · TypeScript · Python

Откройте ЗалПлан для своей системы.

Авто-генерируемые клиенты для нашего REST API. 296 эндпоинтов, типы для каждого запроса и ответа, JWT-аутентификация, multi-tenant из коробки. Подключайтесь к ЗалПлан из любого Node-сервиса или Python-скрипта без HTTP-бойлерплейта.

Установка

TypeScript
npm install @zalplan/sdk
Python
pip install zalplan

Quickstart — TypeScript

import {
  Configuration,
  AuthApi,
  LocationsApi,
  BookingsApi,
} from "@zalplan/sdk";

// 1. Войти и получить JWT
const auth = new AuthApi(
  new Configuration({ basePath: "https://zalplan.ru/api/v1" }),
);
const { access_token } = await auth.loginAuthLoginPost({
  loginRequest: { email: "you@example.com", password: "..." },
});

// 2. Передать токен в Configuration и пользоваться
const config = new Configuration({
  basePath: "https://zalplan.ru/api/v1",
  accessToken: access_token,
});

const locations = await new LocationsApi(config).listLocationsV1LocationsGet();
console.log(`${locations.data.length} площадок`);

const bookings = await new BookingsApi(config).listBookingsV1BookingsGet();
console.log(`${bookings.data.length} бронирований`);

Quickstart — Python

import zalplan
from zalplan.api.auth_api import AuthApi
from zalplan.api.locations_api import LocationsApi
from zalplan.api.bookings_api import BookingsApi
from zalplan.models.login_request import LoginRequest

config = zalplan.Configuration(host="https://zalplan.ru/api/v1")

# 1. Войти и получить JWT
with zalplan.ApiClient(config) as client:
    token = AuthApi(client).login_auth_login_post(
        LoginRequest(email="you@example.com", password="..."),
    ).access_token

# 2. Передать токен в Configuration и пользоваться
config.access_token = token
with zalplan.ApiClient(config) as client:
    locations = LocationsApi(client).list_locations_v1_locations_get()
    print(f"{len(locations.data)} площадок")

    bookings = BookingsApi(client).list_bookings_v1_bookings_get()
    print(f"{len(bookings.data)} бронирований")

Что внутри

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

Регенерация SDK после изменений API

SDK живут в монорепозитории под sdks/typescript/ и sdks/python/. После обновления бэкенда мы регенерируем их одной командой из live-спецификации:

cd sdks && make sdks    # docker pull openapitools/openapi-generator-cli:v7.10.0
                        # → typescript/src/ + python/zalplan/

Скрипт сохраняет рукописные overlay-файлы (package.json, tsconfig.json, pyproject.toml, README), снапшотит спеку в openapi-snapshot.json, и патчит дубли экспортов, которые возникают, когда один эндпоинт промечен несколькими OpenAPI-тегами.

Без SDK — голым curl

# 1. Получить токен
curl -X POST https://zalplan.ru/api/v1/auth/login \
  -H 'Content-Type: application/json' \
  -d '{"email":"you@example.com","password":"..."}'
# → {"access_token":"eyJ...","token_type":"bearer"}

# 2. Использовать токен
TOKEN="eyJ..."
curl -H "Authorization: Bearer $TOKEN" https://zalplan.ru/api/v1/locations