REST API для интеграции интерактивной доски в ваш продукт.
Все запросы требуют API-ключ в заголовке Authorization:
Authorization: Bearer imk_a3f8x9K2mN4pQ7rS...
Ключ создаётся в Личном кабинете → SDK / API. Ключ показывается один раз — сохраните его.
SDK-тариф: 1 000 запросов/мин. Все ответы содержат заголовки:
X-RateLimit-Limit: 1000
X-RateLimit-Remaining: 847
X-RateLimit-Reset: 1711900800
При превышении: HTTP 429 + заголовок Retry-After.
Список ваших досок. Параметры: page, per_page, search, date_from, date_to.
Создать доску. Body: { "title": "...", "snapshot_json": {...} }
Получить доску с полным снапшотом.
Обновить доску (title, snapshot_json, tags).
Архивировать доску (soft delete).
Создать комнату. Body: { "board_id": "...", "mode": "full" }
Ответ: { "room_code": "abc123", "session_id": "...", "invite_link": "..." }
Распознать формулу из изображения. Body: { "image": "data:image/png;base64,..." }
Ответ: { "latex": "\\frac{1}{2}", "confidence": 0.95 }
Создать новый ключ. Параметры: name, scopes, expires_days.
Список ключей (prefix, scopes, last_used).
Перевыпустить ключ. Старый отзывается, новый возвращается.
Регистрируйте endpoint для получения событий в реальном времени.
| Событие | Когда |
|---|---|
board.created | Создана новая доска |
board.updated | Доска обновлена |
board.snapshot_saved | Сохранена версия снапшота |
board.archived | Доска архивирована |
session.started | Комната создана |
session.ended | Комната завершена |
ocr.completed | OCR-запрос завершён |
Каждый запрос подписан HMAC-SHA256. Заголовки:
X-iMathOs-Event: board.created
X-iMathOs-Signature: sha256=abc123...
X-iMathOs-Delivery: uuid
import hmac, hashlib
def verify(body: bytes, signature: str, secret: str) -> bool:
expected = hmac.new(secret.encode(), body, hashlib.sha256).hexdigest()
return hmac.compare_digest(f"sha256={expected}", signature)
Зарегистрировать endpoint. Параметры: url, events.
Отправить тестовое событие.
Встраивайте доску в ваш сайт через iframe.
Сгенерировать embed-токен. Body: { "board_id": "...", "mode": "view", "expires_in": 3600 }
Ответ содержит готовый <iframe> код:
<iframe src="https://imathos.ru/iMathOs/embed?token=TOKEN"
width="800" height="600" frameborder="0"
allow="camera;microphone"></iframe>
| Режим | Описание |
|---|---|
view | Только просмотр (тулбар скрыт) |
edit | Редактирование (полный тулбар) |
collab | Совместная работа (WebRTC) |
| Код | Описание |
|---|---|
401 | Неверный или отсутствующий API-ключ |
403 | Недостаточно прав (scope / tier) |
404 | Ресурс не найден |
429 | Rate limit превышен |
iMathOs SDK v1.0 · Тарифы · Личный кабинет