# SABSUS Site — ChatGPT / Codex

## ChatGPT (RU)
Plugins → + → Create app / Create MCP App (в некоторых версиях: Settings → Apps → Create). Название: SABSUS Site. MCP URL: https://sabsus-sites-control.web.app/mcp. Авторизация: OAuth. Войдите в SABSUS, выберите компанию и подтвердите запрошенные права. В новом чате выберите приложение SABSUS Site через @ или +.

ZIP с объявленным MCP-сервером может быть Desktop only и не запускаться в ChatGPT web. Это не ошибка SABSUS: для web подключите MCP App напрямую. Плагин: https://app.sabsus.site/system/downloads/sabsus-site-plugin.zip. Инструкция: https://app.sabsus.site/mcp-guide.

## ChatGPT (EN)
Plugins → + → Create app / Create MCP App (some versions: Settings → Apps → Create). Name: SABSUS Site. MCP URL: https://sabsus-sites-control.web.app/mcp. Authentication: OAuth. Sign in, choose the company and approve the requested permissions. Select SABSUS Site with @ or + in a new chat. ZIPs declaring MCP servers may be Desktop only; connect the MCP App directly for ChatGPT web.

## Codex
Install the ZIP in Codex, or run:

codex mcp add sabsus-site --url https://sabsus-sites-control.web.app/mcp
codex mcp login sabsus-site

## Account / trial / permissions
Call sites_list and site_plan_status. canCreate=true permits a private draft without payment. The first eligible Site starts a three-day trial. Site-only accounts default to purpose website; native SABSUS catalog, CRM, orders and bookings require a native business workspace. Purchasing Site hosting does not unlock native business access. Never infer paid subscription is required from canPublish=false before first creation. Email verification is required at publication, not registration or draft creation. The MCP uses existing account entitlements. When access is unavailable, explain current limits and use site_plan_help for the informational help page. The MCP does not offer plans, discounts, subscription checkout or upgrades. Existing-account invoice history, payment-method updates and cancellation remain available to authorized administrators. Never invent connection, publication or payment results.

If permissions are missing, inspect sites_list.connection.grantedScopes and the exact required scope, then reconnect OAuth; do not bypass consent or invent permissions. Existing connections retain their granted scopes until reconnection.

Prompt / Пример: Создай сайт для моего бизнеса. Сначала проверь sites_list и site_plan_status; если доступен первый бесплатный сайт, создай черновик без покупки. / Create a website for my business. Check sites_list and site_plan_status first; create the eligible first free draft without requiring checkout.

## Publication email preflight / Почта перед публикацией

At the start, call sites_list and inspect connection.publication. site_plan_status, site_get and site_create also return publication. If emailVerificationRequired=true, tell the user BEFORE preparing content or builds: drafts and previews are available, but publication requires verified email. Include publication.verificationUrl. Continue draft work without waiting. In Account, send the verification email; after following its link, refresh the verification status and reread MCP readiness. Never claim publication or require payment because of this email check. site_plan_status.canPublish includes both hosting access and verified email; hostingAccessCanPublish reports hosting access alone.

В начале задачи проверьте sites_list.connection.publication. Если emailVerificationRequired=true, сразу, до подготовки сайта, сообщите: «Черновик и предпросмотр доступны. Для публикации подтвердите email в разделе Аккаунт: https://app.sabsus.site/manage?section=account». Продолжайте работу над черновиком. В аккаунте можно отправить письмо; после перехода по ссылке обновите статус подтверждения и повторно проверьте MCP. Не откладывайте предупреждение до ошибки публикации и не требуйте оплату из-за неподтверждённой почты.


## Сохранённые корзины: свободный дизайн и код

Если владелец просит восстановление или ссылки на заранее собранную корзину, сначала вызовите `site_get_contract(section:"order-drafts")` или `site_cart_draft({operation:"contract",siteId})`. Используйте свою страницу, HTML, CSS и JavaScript; платформа предоставляет данные и методы, не вставляет интерфейс. Подключите `/system/runtime-v1.js`, дождитесь `Sabsus.ready`, затем используйте `Sabsus.cartDrafts.fromUrl/open/restore/save/current`. Отобразите текущие цены, недоступные позиции и выбор замены/объединения непустой корзины. После публикации вашей страницы укажите её путь в `draft.restorePath` при создании ссылки через MCP. Не считайте новую функцию уже подключённой к каждому существующему Site. Поля, состояния и примеры: https://app.sabsus.site/system/docs/order-drafts.md.


## История версий сайта

Хранятся последние **20 версий** сайта. Более старые копии, в том числе ранее опубликованные, автоматически удаляются. Текущая опубликованная версия, текущий черновик, активные сборки и предпросмотры защищены; на время этих операций копий может быть больше 20. Перед удалением действует 10-минутная пауза для завершения скачиваний. Откат возможен только к сохранённой готовой версии. Это история кода сайта: заказы, данные компании и аварийные копии Firestore регулируются отдельно. Статус и занятое место доступны через `site_usage.storage`.
