Демо-платформа партнёра — LMS

Тестовый стенд интеграции с платформой SANA · embedded exam

⚙️ Подключение партнёра

На хостинге стенда — этот же домен (nginx проксирует /api/v1/integration/ в SANA). Локально — https://platform.sana-app.kz или http://localhost:4000.
Нужен только при локальном открытии файла. На demo-домене оставьте пустым.

🎓 Данные запуска демо-данные заполнены

▶️ Сценарий интеграции

🖥 Экзамен (iframe) не запущен

Нажмите «Запустить экзамен» — сюда встроится экран SANA.

📜 Журнал запросов

Готов. Заполните ключи и нажимайте кнопки сценария.
Как это работает / устранение проблем
• Каждый server-to-server запрос подписывается: каноническая строка METHOD\n/api/v1/integration/v1/...\nTIMESTAMP\nNONCE\nSHA256_HEX(body), подпись Ed25519 → base64.
redeem вызывать не нужно — страница SANA внутри iframe делает это сама.
401 — проверьте ключ/часы (±300с)/nonce. 403 — нет capability EXAM или origin не в allowedFrameAncestors. 404 — ученик/экзамен не синхронизирован. 410 — launchUrl уже использован (живёт ~120с). 422 — нужен classExternalId для автосоздания.
Failed to fetch / CORS — укажите CORS-прокси или запустите браузер с отключённой web-security.