Чек-лист публичного виджета
Аккаунт и приложение
- Статус разработчика
active, действия выполняет владелец аккаунта. - Постоянный код приложения занят и совпадает с идентичностью в deployment.
client_id, secret и API key сохранены в secret store, не закоммичены и не упакованы.required_permissionsсодержит только реально используемые права.- Install, revoke и webhook URL публичны и используют HTTPS.
Карточка маркетплейса
- На каждом выбранном языке есть название и понятное описание до установки.
- Текст после установки объясняет настройку и поддержку и использует только допустимые placeholders.
- Политика конфиденциальности и поддержка публичны и проверены.
- Цена и ответственность за оплату указаны ясно.
- Изображения 400×272, 108×108 и галерея читаемы на каждом языке.
Пакет виджета
manifest.jsonиscript.jsлежат в корне ZIP.- Для каждого языка manifest есть
i18n/<lang>.json. - Объявлены только используемые точки и точные сетевые origins.
- Каждый
title_keyнеобязательногоleft_menuесть в bundle языка по умолчанию (лучше — во всех). - Нет секретов, тестовых данных клиентов, source map, вложенных архивов, debug-кода и неиспользуемых файлов.
- Валидация именно отправляемого архива вернула
ok: true.
Реальное тестирование
- Версия просмотрена или сохранена локально в developer tenant.
- Проверены все объявленные точки, настройки и teardown.
- Проверены install, uninstall и reinstall callback.
- Согласие показывает ожидаемые права и адреса.
- Ошибки внешнего сервиса понятны и fail-closed.
- Подпись webhook проверяется по raw body; обработчик выдерживает дубли, пропуски и другой порядок событий.
Модерация и публикация
- Нет другого релиза в
queuedилиtesting. - Примечания описывают изменения и воспроизводимый тест.
- Релиз виджета отправлен и одобрен модератором.
- Карточка отправлена отдельно и одобрена.
- Второй tenant находит, устанавливает и принимает опубликованную версию.
- После публикации загружается именно та версия, которую проверяли.
Чек-лист следует дисциплине private-тест → архив → модерация → публикация из требований amoCRM к публичным интеграциям, но все пункты сформулированы для Bito.