Частые вопросы
Обновлено
Где ввести ключ devAPI в плагине?
Собственных настроек у плагина нет. Добавьте аккаунт с ключом в приложении «Разработчик Webasyst». Плагин использует его оттуда. Ключ агенту передавать не требуется.
Почему агент не видит нужный инструмент?
Проверьте права его токена в приложении MCP, в разделе «Разработчик Webasyst». Для реестра нужны отдельные права группы «Реестр лицензий», для создания и удаления промокодов — группы «Промокоды». Одного права просмотра промокодов недостаточно.
Что означают no_accounts, account_required и account_not_found?
no_accounts — в приложении не добавлены аккаунты. account_required — аккаунтов несколько и требуется account_id. account_not_found — переданный идентификатор отсутствует. Получите актуальные идентификаторы через devapi_list_accounts.
Почему продажи за месяц неполные?
Сводка и начисления за месяц считаются по локальным транзакциям. Проверьте last_update в списке аккаунтов, выполните devapi_sync_transactions и повторите отчёт. with_cache=false не обновляет локальные транзакции и не является параметром сводки.
Почему баланс не равен сумме продаж?
Баланс счёта и сумма операций за период — разные показатели. Сводка зависит от периода, фильтров и локальной базы; баланс получается через приложение из кабинета. Если в сводке balance: null, получение баланса завершилось ошибкой, а не вернуло ноль.
Почему order_payment есть в records, но не в сумме?
По умолчанию exclude_order_payment=true исключает этот тип из count и sum, но не меняет список records. Счётчики license_counts пересчитываются отдельно. Подробности — в статье «Продажи и синхронизация».
Почему реестр пуст, хотя проверка домена находит лицензии?
Проверка домена и локальный реестр — разные операции. Сначала вызовите devapi_sync_licenses для того же аккаунта и продукта. Затем проверьте завершение обхода и фильтры devapi_list_licenses. Синхронизация транзакций реестр не наполняет.
Почему сбор реестра нужно повторять?
За вызов обрабатывается ограниченное число групп заказов, по умолчанию 500. Смотрите orders_remaining, backfill_done, failures и skipped. Продолжайте с тем же фильтром без full=true. Не обещайте полноту данных при пропущенных заказах или незавершённой истории.
Почему домен повторяется или остаётся старый домен?
Один домен может иметь несколько заказов, например покупку и переход на Премиум. Кроме того, плагин обновляет строки по ключу с доменом и не удаляет прежние строки после переноса лицензии. Даже full=true не очищает накопленные записи.
Почему промокод не создаётся?
Проверьте право «Создать промокод», confirm=true, длину кода до 10 символов, скидку 1–100 и непустой список slug продуктов. Уникальность и ограничения кабинета проверяются самим кабинетом; его сообщение возвращается как app_error.
Что делать при network_error или app_error?
network_error означает ошибку связи с devAPI: проверьте исходящий HTTPS на сервере. app_error содержит сообщение приложения или кабинета — например о ключе, правах или неверных данных. При internal_error разработчику следует проверить журнал devapi_mcp.log; плагин пишет туда сетевые и непредвиденные ошибки.
Нужны ли cron и правки темы?
Своих cron/CLI-обработчиков, хелперов и шаблонов витрины у плагина нет. Обновление данных запускается MCP-инструментами. Доступность регулярного запуска средствами других приложений этим плагином не определяется.