Перейти к содержимому

API

REST API для CI/CD и внешних интеграций. Тот же API использует наш собственный дашборд — никакой отдельной, урезанной поверхности.

Аутентификация

Создайте API-ключ в дашборде (Настройки → API-ключи) и передавайте его в заголовке:

Authorization: Bearer a11y_...

Базовый URL: https://digisreda.ru/api/v1

Сайты

GET /sites/Список сайтов организации.
POST /sites/Добавить сайт: {name, primary_url}.
GET /sites/{id}/Данные одного сайта.
GET /sites/{id}/widget-settings/Настройки виджета сайта.
PATCH /sites/{id}/widget-settings/Изменить настройки виджета.
PATCH /sites/{id}/monitoring/Изменить частоту мониторинга.

Сканирования

POST /scans/Запустить скан: {site: id}.
GET /scans/Список сканов (?site={id} для фильтра).
GET /scans/{id}/Статус и результат скана.

Проблемы

GET /scans/{scan_id}/issues/Список найденных проблем (?severity=critical и т.д.).
GET /scans/{scan_id}/issues/{id}/screenshot/Скриншот элемента с проблемой.
GET /scans/{scan_id}/issues/{id}/ai-suggestion/Ранее сгенерированное объяснение и исправление от AI.
POST /scans/{scan_id}/issues/{id}/ai-suggestion/Сгенерировать объяснение и исправление через AI (реальный запрос к модели).

Отчёты

POST /scans/{scan_id}/reports/Сформировать PDF-отчёт по скану.
GET /reports/{id}/Статус формирования отчёта.
GET /reports/{id}/download/Скачать готовый PDF.

Вебхуки

GET /webhook-endpoints/Список вебхук-эндпоинтов организации.
POST /webhook-endpoints/Создать эндпоинт: {url, subscribed_events: [...]}.
GET /webhook-endpoints/{id}/deliveries/История доставок для отладки.

События вебхуков

Каждая доставка подписана: заголовок X-Webhook-Signature содержит HMAC-SHA256 от тела запроса с секретом вашего эндпоинта.

scan.startedscan.completedscan.failedissue.createdissue.fixedscore.changedregression.detected

CI/CD

Для пайплайнов проще использовать готовый CLI, а не сырые запросы к API:

npm install -D @a11y-platform/cli
A11Y_API_KEY=a11y_... a11y scan https://staging.example.ru