# Deploya > Deploya публикует готовые статические сайты и выдаёт HTTPS-адрес. ## Для пользователей и AI-агентов - [Один промт для AI-агента](https://docs.deploya.ru/ai-deploy.md) - [Деплой через npm/npx](https://docs.deploya.ru/cli.md) - [Deploy API v1](https://docs.deploya.ru/api.md) - [Полный контекст продукта](https://deploya.ru/llms-full.txt) - [Документация для LLM](https://docs.deploya.ru/llms.txt) - [Формы и заявки](https://docs.deploya.ru/forms.md) - [Webhook и CRM](https://docs.deploya.ru/webhooks.md) После входа агент начинает с `npx @deploya-app/cli status`, затем использует существующую привязку или выбирает проект через `projects`. Деплой: `npx @deploya-app/cli deploy --dir dist --prod`. ## Деплой из CLI и AI Deploya имеет стабильный CLI и Deploy API v1. Предпочтительный способ для AI-агента — CLI: ```bash npx @deploya-app/cli login npx @deploya-app/cli status npx @deploya-app/cli deploy --dir dist --prod ``` При первом входе пользователь подтверждает доступ в браузере. Не просите пользователя копировать пароль в AI и не сохраняйте API-токены в репозитории. В CI используйте секрет `DEPLOYA_TOKEN`. CLI также умеет менять название и поддомен существующего проекта, запускать и останавливать сайт, показывать лимиты и аналитику, восстанавливать версии и управлять кастомными доменами. Для смены адреса используйте `deploya project update --project ID --subdomain new-name`: эта команда не создаёт копию. Удаление и восстановление требуют `--yes` и явного согласия пользователя. - CLI: https://docs.deploya.ru/cli.md - API: https://docs.deploya.ru/api.md - OpenAPI: https://docs.deploya.ru/openapi.json ## Поддерживаемые проекты Deploya публикует готовые статические HTML/CSS/JavaScript-проекты. Для Vite и других сборщиков сначала выполните сборку и деплойте папку `dist`. Главный файл обычно называется `index.html`. --- # Формы и заявки Deploya Источник: https://docs.deploya.ru/forms Deploya автоматически обнаруживает HTML-формы в опубликованном статическом сайте. ## Минимальная форма ```html
``` Обязательны настоящий тег form, уникальный name, method="POST" и data-deploya="true". У каждого отправляемого поля должен быть name. Загрузка файлов не поддерживается. ## AJAX — рекомендуемый способ Перехватите submit, отправьте URLSearchParams(new FormData(form)) методом POST и добавьте Accept: application/json. Content-Type должен быть application/x-www-form-urlencoded. После публикации откройте Формы → выберите проект → Подключение → Проверить подключение. Заявки появятся во вкладке «Заявки». --- # Webhook Deploya: JSON, подпись и CRM Источник: https://docs.deploya.ru/webhooks Deploya отправляет заявку методом POST на публичный HTTPS URL. Успешным считается любой HTTP-статус 200–299. ## Заголовки ```http Content-Type: application/json User-Agent: Deploya-Forms/1.0 X-Deploya-Signature: sha256= # только если задан секрет ``` ## Точная схема события ```json { "event": "form.submitted", "submission": { "publicId": "sub_123", "siteId": 28, "formName": "contact", "siteName": "Мой проект", "siteUrl": "https://example.deploya.ru", "sourcePath": "/contacts", "createdAt": "2026-07-04T19:30:00Z", "payload": { "PHONE": "+7 999 000-00-00", "EMAIL": "client@example.ru" } } } ``` payload содержит поля формы. Настроенное сопоставление меняет только их ключи, например phone → PHONE. Системные поля события не меняются. ## Проверка подписи Вычислите HMAC-SHA256 от точных необработанных байтов HTTP-тела с тем же секретом. Сравните строку sha256= с X-Deploya-Signature через timing-safe сравнение до разбора JSON. Без секрета заголовок подписи отсутствует. Ошибки и HTTP-коды видны в истории доставок. Неудачную доставку можно повторить вручную; повтор создаёт отдельную попытку.