Skip to content

Отправка на проверку ​

Отправляйте интеграцию только после сквозной проверки в developer tenant. У публичного виджета две независимые заявки; у API-интеграции — только карточка.

Перед отправкой ​

  • Постоянный код приложения занят.
  • На каждом выбранном языке есть название, описание до установки, политика конфиденциальности и URL или email поддержки.
  • Install, revoke и webhook URL доступны по HTTPS и проверены в работе.
  • required_permissions — минимальный рабочий список.
  • Именно прикреплённый widget.zip прошёл валидацию.
  • Релиз просмотрен или сохранён локально и проверен во всех объявленных точках.
  • Проверены удаление/повторная установка, ошибки и согласие.
  • Примечания к релизу объясняют изменения версии.

Официальное руководство amoCRM рекомендует дать воспроизводимый тест-кейс и необходимый тестовый доступ. Соблюдайте ту же дисциплину в Bito: путь модератора должен быть коротким, детерминированным и без production-данных клиентов. Не помещайте долговременные секреты в архив или публичную карточку.

1. Отправьте релиз ​

Откройте Мои приложения → приложение → Версии, выберите версию и нажмите Отправить на проверку.

http
POST /admin/settings/widget/release/submit
Authorization: Bearer <Bito session token>
Content-Type: application/json

{ "_id": "<release_id>" }

Релиз переходит из редактируемого состояния в queued, затем в testing, когда модератор начинает проверку. В очереди и на тестировании его можно отозвать.

2. Отправьте карточку ​

В Основной информации сохраните изменения и нажмите Отправить на проверку.

http
POST /admin/settings/integration/publish
Authorization: Bearer <Bito session token>
Content-Type: application/json

{ "_id": "<integration_id>" }

Карточка переходит в pending и блокируется до одобрения, отказа или отзыва. Работа с версиями продолжается, потому что проверки независимы.

Для первого публичного виджета релиз должен получить одобрение модератора до окончательного одобрения карточки. Bito не публикует карточку, указывающую на локально активированный или непроверенный релиз.

Что проверяют модераторы ​

Проверка следует тем же практическим слоям, что требования к публичным интеграциям и модерация amoCRM, но применяет контракты Bito. Пока релиз в testing, модератор проходит три этапа строго по порядку — следующий открывается только после предыдущего, а для одобрения нужны все три:

#ЭтапЧто проверяется
1Проверка кодаВалидация архива, ассеты и manifest пройдены; у статического сканера нет блокирующих находок; объявленные точки и права соответствуют тому, что вызывает код.
2Проверка карточкиНазвание, описания и инструкция по настройке есть на каждом объявленном языке; ссылки на политику конфиденциальности и поддержку открываются.
3Проверка использованияРелиз устанавливается на тестовый аккаунт: каждая объявленная точка открывается и работает, удаление проходит чисто.

Первый этап Bito блокирует сам: у релиза, не прошедшего валидацию, с ошибкой извлечения ассетов или с блокирующей находкой сканера, Проверку кода пройти нельзя.

Статический сканер кода ​

Файлы .js и .html из загруженного архива сканируются построчно, результат показывается модератору рядом с исходным кодом.

ПравилоУровеньЧто находит
evalБлокирующееeval(...) — выполнение строки как кода
new-functionБлокирующееnew Function(...) — сборка кода из строки во время работы
string-timerБлокирующееПередача строки в setTimeout/setInterval
plain-httpБлокирующееОбращение по http:// (кроме localhost)
ip-literalБлокирующееОбращение по IP-адресу вместо домена
remote-importБлокирующееimport('https://...') — загрузка кода с удалённого адреса
token-accessНа проверкуgetAccessToken() — проверьте, куда уходит токен
storage-accessНа проверкуdocument.cookie, localStorage, sessionStorage
inner-htmlНа проверку.innerHTML = — данные не должны попадать в разметку без экранирования
post-message-anyНа проверкуpostMessage(..., '*')
undeclared-originНа проверкуАдрес https:///wss://, который вызывает код, но который не объявлен в bito.network.connect_origins

Одна блокирующая находка закрывает первый этап — исправьте релиз и отправьте заново с новым архивом. Находки «на проверку» не останавливают процесс, но модератор их читает. Сканер ищет строковые шаблоны и не понимает код, поэтому модератор всё равно читает исходники.

Журнал решений ​

Bito ведёт журнал модерации: у релиза — начало проверки, каждый пройденный этап (с текстом того, что проверено), одобрение и отказ; у карточки — одобрение и отказ. В каждой записи есть имя модератора и время. Журнал только дополняется и не редактируется. Причина отказа показывается вам на релизе или карточке. Когда релиз снова попадает в testing, этапы начинаются с нуля.

Успешная загрузка или сборка не означает одобрения. Это отдельное решение человека, записанное на карточке или релизе.

Bito 2.0 Integration API