Отчёты
Отчёты через ChatGPT: подключение JuraSale
Подключение сайта, разрешения пользователей и создание PDF-отчётов в ChatGPT.
1Можно ли использовать прежний чат?
- Да, после настройки и установки приложения JuraSale в ChatGPT откройте чат, где создавали отчёты, и выберите JuraSale через @ в поле сообщения.
- Подключение настраивается в аккаунте ChatGPT; одна ссылка на сайт в сообщении не даёт доступа к приватной статистике. Если в этом чате приложение выбрать нельзя, начните новый чат с JuraSale и приложите предыдущий PDF.
2Одноразовая настройка администратором сервера
- Откройте «Настройки → Обновление» и установите актуальный релиз. Современный обновлятор JuraSale устанавливает Composer-зависимости и выполняет миграции сам. После успешного обновления вручную повторять эти операции не нужно.
- Создание OAuth keys пока не вынесено в админку. Откройте SSH или терминал сервера в ISPmanager от имени владельца файлов сайта, затем перейдите в корень проекта: папку, где находятся artisan, .env и storage. Это не папка public и не каталог служебного deploy-репозитория.
- Проверьте storage/oauth-private.key и storage/oauth-public.key. Если оба существуют, пропустите генерацию. Если обоих нет, выполните в корне проекта: /opt/php84/bin/php artisan passport:keys. Команда создаёт пару ключей подписи OAuth-токенов, а не ключ OpenAI. Если есть только один файл или команда выдаёт ошибку, сначала устраните причину; не используйте --force.
- В файле .env укажите APP_URL=https://jurasale.com и MCP_ENABLED=true. Затем в той же папке выполните /opt/php84/bin/php artisan config:cache. Ключи сохраняются между обновлениями; не публикуйте и не перегенерируйте их.
- Обычные пользователи этих команд не выполняют. После настройки администратор JuraSale управляет разрешениями и подключениями через /admin/mcp.
3Кому можно разрешить MCP
- MCP может использовать любой пользователь JuraSale, которому администратор разрешил MCP: глобальная роль администратора не обязательна. По умолчанию разрешение выключено у всех.
- В /admin/mcp включите разрешение конкретному пользователю, создайте его отдельное подключение и выберите сайты. Доступ ограничен пересечением обычных прав пользователя и сайтов подключения; одно разрешение MCP не открывает чужие сайты.
- Каждый пользователь подключает JuraSale в своём аккаунте ChatGPT и входит под своей учётной записью JuraSale. Доступность собственного MCP-приложения дополнительно зависит от возможностей и правил его аккаунта ChatGPT. Доступ можно отозвать в /admin/mcp.
4Деньги и лимиты
- Этот MCP читает уже сохранённую статистику из базы JuraSale. Он не вызывает OpenAI API, не расходует ваш API-баланс OpenAI и не изменяет рекламные бюджеты. Отдельная плата за MCP-вызов в коде JuraSale не предусмотрена.
- Генерация отчёта в ChatGPT расходует обычные лимиты или кредиты аккаунта/workspace, где пользователь создаёт отчёт. Если пользователь работает в своём отдельном аккаунте, ваши личные лимиты ChatGPT не используются. Использование MCP не делает работу ChatGPT безлимитной.
- Сервер обрабатывает запросы с обычными затратами хостинга. По умолчанию лимит MCP — 60 запросов в минуту на пользователя и 366 дней в одном запросе; это настраиваемые технические ограничения, а не денежные списания.
5Подключение в ChatGPT
- В веб-интерфейсе ChatGPT откройте Plugins / приложения, выберите добавление собственного MCP-сервера. Доступность и названия пунктов зависят от аккаунта и workspace.
- Введите название JuraSale, адрес https://jurasale.com/mcp и OAuth. Используйте заранее зарегистрированный client (Pre-defined): точный callback из ChatGPT внесите в подключение JuraSale, а его Client ID — в ChatGPT. Client secret отсутствует: это public client с PKCE S256.
- Scope: advertising:read; resource: https://jurasale.com/mcp. Войдите своим пользователем JuraSale, подтвердите чтение, выполните сканирование и установите приложение. Если интерфейс требует secret или только DCR/CIMD, этот способ ещё нужно адаптировать; не выбирайте режим без авторизации.
6Первый запрос для сайта
- Выберите @JuraSale и попросите: «Покажи мой профиль и доступные сайты». В результате list_sites должен быть домен выбранного сайта. ID сайта берите из ответа, а не из примера документации.
- Затем попросите: «Используй JuraSale. Получи Google Ads и Meta Ads для моего сайта отдельно за август и сентябрь 2026 года. Сделай PDF по оформлению предыдущего отчёта. Раздели расходы без НДС, НДС, расчётную сумму с НДС и фактические списания. Недоступные показатели объясни».
7Как используется образец PDF
- Прежний PDF задаёт оформление: карточки показателей, общие результаты, сравнение месяцев, зелёные и красные изменения, примечания по НДС. Если файл недоступен модели в этом чате, приложите его снова.
- Новые цифры берутся из MCP; цифры предыдущего PDF не переносятся. Шаблон не сохранён внутри JuraSale как автоматический генератор. Сейчас PDF создаёт ChatGPT, кнопка на странице сайта остаётся на будущее.
8Проверка результата и ограничения
- Для подключения должны обнаружиться get_profile, list_sites, get_advertising_summary, get_meta_audience, get_meta_platforms и get_ad_billing. Данные сверяйте с дашбордом за те же даты, источники и origin=platform_reported.
- Фактические списания, демография, площадки Meta и уникальный охват за месяц пока недоступны. Расчётная сумма с НДС не является фактическим списанием. Недоступное значение — null, не ноль.
- 404 может означать выключенный MCP или неустановленный маршрут; 401 — нужна авторизация; отказ или отсутствие сайта — проверьте разрешение пользователя и сайты подключения. Ключи, токены и пароли не отправляйте в чат.
Не отправляйте другим пользователям API-токены, OAuth secrets или JSON-ключ сервисного аккаунта.