REST API uptime monitoring: автоматическое добавление клиентских сайтов

Каждый новый клиент на поддержке — ещё один сайт, ещё один health URL и ещё один вечер с кликами «добавить монитор» в кабинете. REST API для uptime monitoring (управление проверками через обычные HTTP-запросы) подключает клиента скриптом за минуты. Ниже — сравнение API вендоров, SOP онбординга для агентства и связка StillOnline REST + MCP на тарифе Pro.

Краткий ответ

Соберите ledger клиента (имя, prod URL, slug), проверьте health снаружи, затем один POST /v1/projects создаёт проект и первую проверку в StillOnline на Pro ($9/мес). UptimeRobot v3 тоже умеет create monitor через API, но на Free запрещена коммерческая работа с клиентами. MCP в Cursor повторяет те же вызовы после деплоя. Offboarding: отключите checks и передайте публичный status URL.

REST API — скрипт отправляет JSON вендору и получает «создано» или «ошибка», как заказ через форму, а не звонок менеджеру. Uptime monitoring пингует сайт клиента по расписанию. Онбординг клиента здесь — путь от подписанного договора до живого монитора и ссылки на статус.

Математика портфеля на 10–20 сайтов — в гайде для фрилансеров.

Схема: onboarding workflow для нового клиента

Прежде чем звать API, зафиксируйте входные поля. Без них скрипт создаст «проект №47» без имени клиента — и вы потеряете связь со счётом.

Цепочка онбординга: договор подписан → health URL на проде → внешняя проверка curl → POST project + check → запись project_id в ledger → письмо PM со status URL → алерт в ваш Telegram.

Делайте: один шаблон письма и один ledger на всех клиентов. Не создавайте монитор до стабильных DNS и TLS на проде — в день запуска получите красный статус без реальной аварии.

  1. Соберите client_name, prod_url (полный HTTPS), project_slug (латиница, без пробелов), alert_channel.
  2. Убедитесь, что health URL отвечает 200 с мобильного интернета, не только с ноутбука.
  3. Вызовите API create (см. таблицу ниже) или MCP checks.create из Cursor.
  4. Сохраните vendor_project_id и публичный status slug в Notion, Airtable или CSV ledger.
  5. Отправьте клиенту шаблон: «Мониторинг активен, статус: https://stillonline.tech/s/your-slug».
  6. Добавьте строку $9–29/мес в retainer как «мониторинг и status page».

Сравнение: API create-monitor у UptimeRobot, Better Stack и StillOnline

Вендоры называют сущности по-разному — monitor, check, project — но вопрос фрилансера один: создаёт ли один вызов API и мониторинг, и status URL для PM.

КритерийUptimeRobot v3Better StackStillOnline
Create через APIДа — monitors + status pagesДа — monitors; status page отдельным модулемPOST /v1/projects (проект + первая проверка)
API на FreeДа, но Free запрещает client workОграниченный free tierНет ключа на Free; публичный status JSON без ключа
Модель для фрилансераМониторы в одном аккаунте (Solo $9)Мониторы + доплата за каждую status pageОдин проект = один клиент + auto status page
Типичная цена API-автоматизацииSolo $9/мес, Team $33/месFree + add-ons; status ~$12/pagePro $9/мес (10 проектов), Ultimate $29/мес (100)
ИдемпотентностьИщите monitor по URL в listList + filter аналогичноПроверьте slug в ledger до POST

Делайте: выберите вендора, где одна сущность «клиент» = один проект со status URL, если продаёте прозрачность PM. Не считайте только цену мониторов — на 15 клиентов доплата за status pages у Better Stack часто дороже StillOnline Ultimate flat.

Вердикт: для solo-фрилансера с API-онбордингом и flat $9–29 на портфель StillOnline Pro/Ultimate проще: POST создаёт и проверку, и страницу статуса. UptimeRobot v3 силён, если вы уже на Solo и нужны только мониторы. Better Stack — если команда живёт в их incident flow.

Отчётность после онбординга: REST API автоматизация отчётов.

Настройте StillOnline REST и MCP на Pro для автоматического добавления сайтов

На StillOnline Pro ($9/мес) и Ultimate ($29/мес) в настройках API появляется ключ sk_live_…. Базовый URL: api.stillonline.tech/v1. Один POST /projects создаёт проект, первую HTTP-проверку и публичную status page — как мастер в UI, но из скрипта.

В теле запроса укажите name клиента, slug страницы статуса, url проверки, метод GET, ожидаемый код 200. Ответ вернёт project id — сохраните в ledger. Второй URL на том же клиенте: POST /projects/{id}/checks. Справочник: REST API uptime и статус.

MCP (Model Context Protocol — «розетка», через которую Cursor вызывает внешние инструменты) оборачивает тот же API. После деплоя клиента в Cursor можно сказать агенту: «создай проверку для acme-corp» — и он вызовет checks.create без ручного curl. Гайд: MCP uptime в Cursor. Для CI/CD вместо MCP — GitHub Actions + API.

Делайте: храните API-ключ в секретах (GitHub Secrets, 1Password), никогда в чате с клиентом. Не путайте GET /public/status (читает сохранённые пробы) с созданием монитора — GET не пингует сайт клиента при каждом открытии страницы.

Идемпотентный offboarding и handoff клиенту

Идемпотентность — повторный запуск скрипта не плодит дубликаты. Перед POST проверьте ledger по slug или сделайте GET list projects и сравните URL.

  • Онбординг: POST project только если slug свободен.
  • Пауза контракта: disable check через API или UI, не удаляйте историю сразу.
  • Offboarding: экспорт скриншота uptime за месяц, передайте status URL и инструкцию «подписаться на обновления».
  • Полный handoff: пригласите клиента на свой StillOnline login или создайте проект на его аккаунте.

Делайте: закрывайте инциденты в UI StillOnline перед передачей — API v1 создаёт инциденты, но закрытие пока только в кабинете. Не оставляйте алерты на свой Telegram после ухода клиента.

Workflow агентства: несколько status pages для агентства.

Чеклист: задокументируйте agency SOP в одной странице Notion

SOP (standard operating procedure) экономит вас, когда подключается junior или субподрядчик.

  1. Шаблон intake-формы: URL, контакт PM, SLA ответа.
  2. Pre-flight health: 200 снаружи, время ответа до ~2 сек.
  3. API create + запись в ledger (дата, project_id, status URL).
  4. Тест алерта: кратко выключите health или используйте staging 503.
  5. Welcome pack клиенту со ссылкой на status page.

На 11-м клиенте StillOnline Pro (лимит 10 проектов) переходите на Ultimate $29/мес или второй аккаунт — см. несколько status pages для агентства. Старт без карты: stillonline.tech/app. Тарифы: stillonline.tech/#pricing.

Что делать дальше

Оформите ledger, напишите один POST-шаблон, протестируйте на staging-клиенте, подключите MCP в Cursor на Pro. После третьего автоматического онбординга вы окупите час настройки.

  1. Скопируйте шестишаговый workflow в Notion SOP.
  2. Прототип POST /v1/projects на тестовом slug.
  3. Подключите Telegram или email-алерты на каждый проект.
  4. Добавьте строку retainer до клиента №4.
  5. Запланируйте Ultimate на клиенте №11.

Связанные материалы

FAQ

Нужен ли API-ключ StillOnline на Free для онбординга клиента?

На Free нет ключа для create. Один клиент — ручной мастер в UI или апгрейд на Pro ($9/мес) для REST и MCP. Публичный JSON status page работает без ключа, если страница public.

Чем REST отличается от MCP для фрилансера?

Один и тот же backend. REST удобен для скриптов, Zapier и GitHub Actions. MCP — когда вы в Cursor и хотите создать проверку голосом после деплоя. Оба требуют Pro или Ultimate.

Можно ли создать монитор UptimeRobot из скрипта на Free?

API на Free технически доступен, но коммерческая работа с клиентами запрещена. Для client onboarding берите Solo $9/мес или StillOnline Pro.

Как не создать дубликат проекта при повторном запуске скрипта?

Ведите ledger slug → project_id. Перед POST делайте list и ищите тот же URL. Если проект есть — пропустите create или обновите check.

Что передать клиенту после онбординга кроме status URL?

Короткое письмо: что означает зелёный/красный, куда писать при инциденте, что страница обновляется автоматически каждые 5 минут на Free. Приложите ссылку на ваш retainer SLA.

Пингует ли GET /public/status мой сервер при каждом запросе?

Нет. Этот GET читает уже сохранённые результаты проб StillOnline. Сайт клиента проверяют workers по расписанию, не при каждом открытии status page посетителем.

Когда переходить с Pro на Ultimate по числу клиентов?

Pro покрывает 10 проектов (10 клиентов с отдельной status page). С 11-го клиента Ultimate за $29/мес даёт до 100 проектов flat — дешевле, чем два аккаунта Pro.