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

Для разработчиков: API, вебхуки, деплой

Личный кабинет CasperLab построен как API с интерфейсом поверх него. Всё, что можно сделать кнопкой, можно сделать запросом: заказать VPS, продлить домен, выпустить SSL, выгрузить лиды с сайта или получить событие о падении площадки.

terminallk.casperlab.ru/api
$ curl https://lk.casperlab.ru/api/services \
    -H "Authorization: Bearer $CASPER_TOKEN" \
    -H "Accept: application/json"
{"data":[{"id":512,"type":"vps","name":"Pro",
  "status":"active","expires_at":"2026-12-01"}]}
$ 
  • 10 групп правЧтение и запись отдельно для каждого раздела
  • Ограничение по IPТокен работает только с ваших адресов
  • HMAC-подписьКаждый вебхук подписан секретом
  • OpenAPIСхемы запросов и ответов в документации

Что есть для автоматизации

Шесть инструментов, которые включены в услуги и не стоят отдельных денег.

Клиентский API

Все разделы кабинета доступны по REST: услуги, баланс, VPS, хостинг, домены, SSL, сайты, тикеты. Токен с правами по разделам и, при желании, списком разрешённых IP.

Документация API

Исходящие вебхуки

Десять событий: от оплаты счёта до падения сайта на хостинге. Подпись HMAC-SHA256, повторы с нарастающей паузой, журнал доставок с ответом вашего сервера.

Настроить в кабинете

Деплой из Git на хостинг

Ключ развёртывания на каждый сайт, вебхук на push, выкладка выбранной ветки в public_html и composer install по желанию. Работает с GitHub, GitLab и Gitea.

Тарифы хостинга

Cloud-init и SSH на VPS

Свой #cloud-config или скрипт при заказе и переустановке, SSH-ключи вместо паролей, ~20 готовых приложений: Docker, Coolify, n8n, Gitea, PostgreSQL, WireGuard.

Тарифы VPS

WP-CLI, Composer и SSH на хостинге

Консоль в изолированном окружении аккаунта, Composer с рабочим зеркалом, Node.js и cron. Версии PHP от 7.4 до 8.3 на каждый сайт отдельно.

Что входит в хостинг

Статус сервисов и лента

Открытая страница статуса с инцидентами и плановыми работами, Atom-лента и подписка на почту без аккаунта.

Страница статуса

Права токена по разделам

Токен получает только нужные группы. Чтение разрешает GET, запись добавляет остальные методы. Разделы безопасности аккаунта и платёжные данные через API недоступны.

ГруппаПраваЧто покрывает
services services:read · services:write Услуги: список, продление, автопродление, отмена
billing billing:read · billing:write Финансы: баланс, транзакции, счета, документы
orders orders:read · orders:write Заказ новых услуг с баланса
vps vps:read · vps:write VPS: статус, питание, снапшоты, бэкапы, фаервол, смена тарифа
hosting hosting:read · hosting:write Хостинг: сайты, базы, почта, файлы, бэкапы
domains domains:read · domains:write Домены: поиск, регистрация, перенос, DNS, продление
ssl ssl:read · ssl:write SSL-сертификаты: заказ, статус, установка на хостинг
sites sites:read · sites:write Сайты из конструктора
tickets tickets:read · tickets:write Тикеты поддержки
webhooks webhooks:read · webhooks:write Вебхуки: адреса, секреты, журнал доставок

Лимит запросов считается на токен, при превышении ответ 429 с заголовком Retry-After. Токен создаётся в кабинете: «Настройки → API», значение показывается один раз.

Вебхуки

Укажите адрес, выберите события и получите секрет. Каждая доставка подписана, неудачные повторяются через 1 минуту, 5 минут, 30 минут, 2 часа и 6 часов. Журнал с телом запроса и ответом вашего сервера хранится в кабинете.

POST https://example.ru/hooks/casperheaders
X-Casper-Event: invoice.paid
X-Casper-Delivery: 9f2c1e7a-…
X-Casper-Signature: t=1761800000,
  v1=hex(HMAC-SHA256(secret, t + "." + body))
service.created

Создана услуга.

service.status_changed

Изменился статус услуги.

service.expiring

Скоро истекает услуга.

invoice.paid

Оплачен счёт.

balance.low

Баланса не хватит на продления.

ticket.replied

Поддержка ответила в тикет.

domain.status_changed

Изменился статус домена.

site.lead

Заявка с сайта из конструктора.

hosting.site_down

Сайт на хостинге недоступен.

hosting.site_up

Сайт на хостинге снова доступен.

Частые вопросы разработчиков

Не нашли свой? Напишите нам, ответим в течение рабочего дня.

Где документация к API?

Интерактивная документация открывается по адресу lk.casperlab.ru/docs/api: все методы, схемы запросов и ответов, примеры. Вход не нужен, токен понадобится только для вызовов.

Как получить токен?

В кабинете, раздел «Настройки → API». Вы называете токен, выбираете права по разделам (чтение или запись) и при желании ограничиваете его списком IP-адресов. Значение показывается один раз.

Какие лимиты?

Лимит запросов считается на токен, при превышении API отвечает 429 с заголовком Retry-After. Для интеграций, которым нужен больший поток, напишите в поддержку.

Как проверить подпись вебхука?

Заголовок X-Casper-Signature содержит время t и подпись v1 = HMAC-SHA256 от строки «t.тело запроса» с секретом вебхука. Сравните подпись и отбросьте запросы старше нескольких минут.

Что, если мой сервер не ответил на вебхук?

Мы повторяем доставку через 1 минуту, 5 минут, 30 минут, 2 часа и 6 часов. Журнал доставок с телом и ответом доступен в кабинете, любую доставку можно отправить ещё раз вручную.

Деплой из Git работает с приватными репозиториями?

Да. Кабинет создаёт ключ развёртывания для каждого сайта, вы добавляете его в GitHub, GitLab или Gitea, а по вебхуку на push сайт обновляется из нужной ветки. Composer install запускается по желанию.

Нужна интеграция, которой нет?

Расскажите, что хотите автоматизировать: биллинг партнёра, панель реселлера, свой мониторинг. Подскажем, как собрать это на текущем API, или добавим недостающее.