API кабинета: ключ и основные адреса
Тот же ключ, что для MCP; JSON-ответы кабинета по HTTP
Всё, что делает кабинет, доступно по HTTP с тем же ключом, что и MCP. Ключ создаётся в «Аккаунт» → «Ключи API и MCP» и передаётся заголовком Authorization: Bearer wv_… или X-Api-Key: wv_…. Ответы — JSON; ошибки — объект {error} с кодом 4xx.
curl -H "Authorization: Bearer wv_ВАШ_КЛЮЧ" https://woove.ru/api/me
Адреса чтения
| Адрес | Что возвращает |
|---|---|
GET /api/me | account, billing_ready — кто вы и включена ли оплата |
GET /api/account | account, totals, daily, services — сводка аккаунта и заявки по дням |
GET /api/site/projects | projects, plan — сайты Woove Site и тариф |
GET /api/site/leads | leads — заявки с форм сайтов |
GET /api/site/bookings | bookings — записи через блок «Онлайн-запись» |
GET /api/site/media | media — файлы медиатеки |
GET /api/kb | kbs, sub, host, design — базы знаний, подписка и шаблоны оформления |
GET /api/bots | bots — боты аккаунта |
GET /api/inbox | dialogs, unread, channels — диалоги ботов из всех каналов |
GET /api/crm | spaces, space, members, summary — CRM |
GET /api/ev | events, sub — мероприятия и билеты |
GET /api/integrations | integrations — интеграции Woove Connect |
GET /api/catalog | items, plans, trial_days — каталог интеграций и цены |
GET /api/billing/invoices | invoices — счета |
GET /api/team | members, memberships — команда |
GET /api/tokens | tokens — ключи API (без самих ключей) |
Изменения
POST, PATCH и DELETE — те же адреса, что использует кабинет; тела запросов — JSON. Для сайтов удобнее MCP: там у каждого инструмента описаны параметры (см. «Инструменты MCP»). Для остального ориентируйтесь на вкладку «Сеть» браузера в кабинете — он ходит в те же адреса с теми же телами.
Оформление базы знаний
Поле theme задаёт то же, что вкладка «Оформление» в кабинете. Меняется PATCH-запросом на /api/kb/<id>: поле без значения берётся из шаблона, неверное значение отбрасывается. Картинки берутся с домена базы (/img/…, загрузка через POST /api/kb/<id>/upload с data:image) или по абсолютному адресу.
| Поле | Значения |
|---|---|
template | classic, center, docs, paper, dark, minimal; без поля classic |
mode | light или dark |
accent, bg, ink | цвет #rrggbb: акцент, фон, текст |
font, head | onest, geologica, serif, system: шрифт текста и заголовков |
radius | скругление углов, 0–28 px |
cover, heroText | обложка первого экрана и текст под названием базы, до 200 знаков |
logo, favicon | логотип и значок вкладки |
links, footerLinks | ссылки { text, url }: до пяти в шапке, до шести в подвале |
css | свой CSS до 12 000 знаков, идёт после стилей шаблона |
Контраст сервер держит сам: цвет текста и кнопок сдвигается, пока не станет не ниже 4,5:1 к фону. Адреса, заголовки и разметка страниц от шаблона не зависят.
{ "theme": {
"template": "center",
"accent": "#2f5bea",
"font": "onest",
"radius": 14,
"cover": "/img/cover.webp",
"heroText": "Ответы на вопросы о сервисе",
"logo": "https://example.com/logo.svg",
"links": [{ "text": "Сайт", "url": "https://example.com" }],
"css": ".hero h1{letter-spacing:0}"
} }Ограничения
- Ключ действует от имени аккаунта: чужие сайты, базы и боты не видны
- Не больше двадцати ключей на аккаунт; у ключа видно, когда он использовался в последний раз
- Ключ — это полный доступ к аккаунту: храните как пароль, подрядчику выдайте отдельный ключ и отзовите после работ