Для разработчиков: API, вебхуки, деплой
Личный кабинет CasperLab построен как API с интерфейсом поверх него. Всё, что можно сделать кнопкой, можно сделать запросом: заказать VPS, продлить домен, выпустить SSL, выгрузить лиды с сайта или получить событие о падении площадки.
$ 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 часов. Журнал с телом запроса и ответом вашего сервера хранится в кабинете.
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, или добавим недостающее.