Woove API API кабинета: ключ и основные адреса

API кабинета: ключ и основные адреса

Тот же ключ, что для MCP; JSON-ответы кабинета по HTTP

Обновлено 29 сентября 2026 г. API 3 мин чтения

Всё, что делает кабинет, доступно по HTTP с тем же ключом, что и MCP. Ключ создаётся в «Аккаунт» → «Ключи API и MCP» и передаётся заголовком Authorization: Bearer wv_… или X-Api-Key: wv_…. Ответы — JSON; ошибки — объект {error} с кодом 4xx.

bash
curl -H "Authorization: Bearer wv_ВАШ_КЛЮЧ" https://woove.ru/api/me

Адреса чтения

АдресЧто возвращает
GET /api/meaccount, billing_ready — кто вы и включена ли оплата
GET /api/accountaccount, totals, daily, services — сводка аккаунта и заявки по дням
GET /api/site/projectsprojects, plan — сайты Woove Site и тариф
GET /api/site/leadsleads — заявки с форм сайтов
GET /api/site/bookingsbookings — записи через блок «Онлайн-запись»
GET /api/site/mediamedia — файлы медиатеки
GET /api/kbkbs, sub, host, design — базы знаний, подписка и шаблоны оформления
GET /api/botsbots — боты аккаунта
GET /api/inboxdialogs, unread, channels — диалоги ботов из всех каналов
GET /api/crmspaces, space, members, summary — CRM
GET /api/evevents, sub — мероприятия и билеты
GET /api/integrationsintegrations — интеграции Woove Connect
GET /api/catalogitems, plans, trial_days — каталог интеграций и цены
GET /api/billing/invoicesinvoices — счета
GET /api/teammembers, memberships — команда
GET /api/tokenstokens — ключи API (без самих ключей)

Изменения

POST, PATCH и DELETE — те же адреса, что использует кабинет; тела запросов — JSON. Для сайтов удобнее MCP: там у каждого инструмента описаны параметры (см. «Инструменты MCP»). Для остального ориентируйтесь на вкладку «Сеть» браузера в кабинете — он ходит в те же адреса с теми же телами.

Оформление базы знаний

Поле theme задаёт то же, что вкладка «Оформление» в кабинете. Меняется PATCH-запросом на /api/kb/<id>: поле без значения берётся из шаблона, неверное значение отбрасывается. Картинки берутся с домена базы (/img/…, загрузка через POST /api/kb/<id>/upload с data:image) или по абсолютному адресу.

ПолеЗначения
templateclassic, center, docs, paper, dark, minimal; без поля classic
modelight или dark
accent, bg, inkцвет #rrggbb: акцент, фон, текст
font, headonest, geologica, serif, system: шрифт текста и заголовков
radiusскругление углов, 0–28 px
cover, heroTextобложка первого экрана и текст под названием базы, до 200 знаков
logo, faviconлоготип и значок вкладки
links, footerLinksссылки { text, url }: до пяти в шапке, до шести в подвале
cssсвой CSS до 12 000 знаков, идёт после стилей шаблона

Контраст сервер держит сам: цвет текста и кнопок сдвигается, пока не станет не ниже 4,5:1 к фону. Адреса, заголовки и разметка страниц от шаблона не зависят.

json
{ "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}"
} }

Ограничения

  • Ключ действует от имени аккаунта: чужие сайты, базы и боты не видны
  • Не больше двадцати ключей на аккаунт; у ключа видно, когда он использовался в последний раз
  • Ключ — это полный доступ к аккаунту: храните как пароль, подрядчику выдайте отдельный ключ и отзовите после работ
Для приёма заявок с чужого сайта ключ не нужен — используйте Woove Connect (HTML-форма, скрипт или API).
Помогла статья?