# API для разработчиков

Qixoo сделан так, чтобы разработчик был не нужен, но контент, который он хранит, открыт
для тебя.

## API контента

Сохранённый контент каждого сайта читается как JSON по постоянному адресу. Найти его
можно на карточке сайта в **Connect → Content API**, с примерами на вкладке Code.
Аутентификация — через заголовок `X-API-Key`, который несёт то же значение Site ID, что
стоит в твоём сниппете установки.

В ответе два массива:

- **`edits`** — все изменения текста, ссылок, фото и стилей, сделанные в редакторе,
  каждое как `{selector, type, content, updated_at}`. `type` — одно из `text`, `html`,
  `image`, `link` или `style`; `selector` — это CSS-селектор, к которому привязано
  изменение. Правки действуют на весь сайт: правка применяется везде, где совпадает её
  селектор.
- **`blocks`** — блоки из библиотеки, вставленные через **+ Add**, как
  `{id, type, position, anchor, content.html, updated_at}`, где `type` — это id шаблона.

`site.language` несёт язык, на котором был сгенерирован сайт, сделанный ИИ. Для сайта,
подключённого сниппетом, там ничего не хранится, поэтому будет `null`.

Ответы кэшируются на 60 секунд. Переведённые языковые версии не включены — они живут в
собственном хранилище модуля «Языки».

## Вебхуки

Зарегистрируй адреса, которые получают POST с событием `content.updated` каждый раз,
когда контент сайта меняется. Настраиваются в **Connect → Webhooks**. Полезная нагрузка
имеет ту же форму, что и массив `edits` выше. Пригодится для сброса кэшей и запуска
пересборок.

## MCP

Qixoo предоставляет MCP-эндпойнт, так что ИИ-клиент вроде Claude может перечислять твои
сайты и читать, добавлять, обновлять и удалять блоки контента с твоим токеном. Это
позволяет управлять контентом сайта прямо в разговоре с ИИ-ассистентом.

## Сценарии применения

Затянуть отредактированный контент в мобильное приложение или в ленту. Запустить
пересборку статического сайта, когда клиент сохранил правку. Дать ИИ-ассистенту
обновить часы работы клиента без того, чтобы кто-то открывал браузер.
