← Блог

Uptime-мониторинг бэкенда Shopify-приложения

Shopify app — не только embedded UI. Мерчанты зависят от OAuth callback, приёма webhooks и compliance-эндпоинтов (включая GDPR). Partner dashboard показывает установки; он не заменяет внешнюю проверку HTTPS-маршрутов, которые приложение обязано отвечать, и не даёт нейтральную ссылку на статус при сбое синхронизации или биллинга.

StillOnline проверяет публичный health URL, размещает страницу статуса для коммуникации с мерчантами и шлёт алерты владельцу через бота StillOnline, Slack или email.

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

Бэкенд Shopify app обязан отвечать на OAuth, webhooks и compliance webhooks по HTTPS. Мониторьте публичный GET /health на production-домене с 200 и зарегистрируйте URL в StillOnline (Free: один URL, проверка каждые пять минут; тарифы). На странице статуса — компоненты Payments или Sync при сбое checkout — гайд.

Что нужно бэкенду Shopify app

Маршрут / темаКак мониторитьКомпонент на странице статуса
App URL / API healthGET /health200API или App backend
OAuth install callbackОбычно тот же hostAuthentication при отдельном сбое
Webhooks (/webhooks/shopify)Отдельная проверка при другом host — webhook platformWebhooks или Sync
GDPR webhooksТот же ingestion host или отдельный путь с 2xxCompliance
Сбой платформы ShopifyТолько справкаThird-party: Shopify degraded, не ваш major outage

Описывайте только то, что есть в prod сегодня.

Шаг 1 — Health на host приложения

Railway, Fly, Lambda и т.д. — паттерн один: лёгкий /health, без сессии на этом пути.

curl -sS https://your-app.example.com/health

Webhook без HMAC часто отдают 401 — не регистрируйте сырой webhook URL как проверку на 200, если нет test mode. Для liveness — /health; webhooks — осознанно — webhook platform.

Шаг 2 — StillOnline

  1. Вход.
  2. Новый проект — имя для мерчантов.
  3. HTTP-проверка → production health, GET, 200.
  4. Ссылка на страницу статуса в support docs листинга — не только в footer.

Подключить Telegram в настройкахгайд.

Free: один URL, один канал алертов. Pro / Ultimate: больше проверок и все каналы — тарифы.

Что видят мерчанты при инциденте

При сбое checkout или синка мерчанты ищут status link. Страница статуса StillOnline с компонентами API, Webhooks, Billing понятнее твита «мы лежим» — шаблон инцидента.

Если деградировали Stripe или Shopify, а ваши серверы в порядке — помечайте third-party как Degraded, не как полный outage — шаблон поста.

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

FAQ

StillOnline мониторит только Shopify App Bridge frontend?

Обычно нет — мониторьте health URL бэкенда, который вызывают магазины. Admin UI может грузиться при мёртвых webhooks. Free = один URL — health API — API-only.

StillOnline проверяет /webhooks/shopify обычным GET?

Shopify ждёт подписанный POST — наивный GET даст 404 или 405. Для uptime — /health; отдельный webhook monitoring — только с test endpoint на 200webhook platform.

StillOnline даёт свой домен для status page мерчантам?

Страницы на stillonline.tech/s/{id}. Делитесь ссылкой в support docs и при инцидентах — отдельный hostname для status page в продукте нет — публичная страница.