Перейти к содержанию

Добавление лендинга

Лендинг — статическая страница, связанная с шагом симуляции. Платформа готовит ZIP-пакет, а организация размещает его на публичном HTTPS-адресе.

Безопасность данных

Лендинг не должен собирать или передавать реальные пароли, платёжные данные и другие секреты сотрудника. AVB Fort фиксирует только разрешённые события, но не значения полей формы.

Как устроен процесс

Шаблон → ассет симуляции → snapshot → ZIP → размещение → проверка
  • Шаблон определяет внешний вид и доступные для настройки поля.
  • Ассет содержит значения для конкретной симуляции.
  • Snapshot фиксирует исходный пакет и защищает запущенную симуляцию от последующих изменений шаблона.
  • Сборщик подставляет значения и добавляет механизм регистрации событий.

1. Подготовьте шаблон

Откройте Симуляции → Шаблоны лендингов → Новый шаблон.

Заполните:

  • Название — понятное имя в каталоге;
  • Описание — назначение шаблона;
  • Статус — черновик, активный или архив;
  • Источник — встроенный пакет либо собственный ZIP.

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

2. Требования к собственному ZIP

Пакет должен содержать как минимум:

landing-template.zip
├── index.html
└── template.json

Дополнительно можно включить CSS, JavaScript, изображения и шрифты. Серверный код не поддерживается.

Обязательные маркеры index.html

<meta name="avbfort-build" content="__AVBFORT_BUILD_FINGERPRINT__">

<script id="avbfort-runtime-config" type="application/json">
  __AVBFORT_RUNTIME_CONFIG__
</script>
<script src="avbfort-runtime.js"></script>

Сборщик заменяет маркеры при подготовке готового ZIP. Файл avbfort-runtime.js добавляется платформой автоматически — включать его в исходный пакет не нужно.

Полностью статичный шаблон

Если текст и оформление не должны изменяться в каждой симуляции, используйте:

{
  "schema_version": 1,
  "fields": []
}

Шаблон с изменяемыми полями

Объявите поля в template.json:

{
  "schema_version": 1,
  "key": "document_portal",
  "fields": [
    {
      "key": "page_title",
      "label": "Заголовок страницы",
      "default": "Документ доступен для просмотра",
      "required": true,
      "max_length": 255
    },
    {
      "key": "button_label",
      "label": "Текст кнопки",
      "default": "Открыть документ",
      "required": true,
      "max_length": 80
    }
  ]
}

В index.html используйте соответствующие placeholders:

<h1>{{ page_title }}</h1>
<button type="submit">{{ button_label }}</button>

Значения default служат начальными значениями. Конкретный текст задаётся в ассете симуляции. Перед вставкой платформа экранирует значения как текст.

3. Создайте ассет

  1. Откройте симуляцию в статусе Черновик.
  2. Нажмите Ассеты → Добавить ассет.
  3. Выберите тип Лендинг.
  4. Укажите режим самостоятельного размещения.
  5. Выберите активный шаблон.
  6. Сохраните ассет.

После создания откроется карточка лендинга. Поля на ней берутся из template.json выбранного шаблона.

4. Настройте и соберите

На карточке ассета:

  1. Проверьте название ассета и выбранный шаблон.
  2. Заполните изменяемые поля.
  3. Нажмите Сохранить.
  4. Нажмите Собрать ZIP.
  5. Скачайте подготовленный архив.

Платформа не соберёт пакет, если обязательное поле осталось пустым.

Изменение шаблона

Ассет хранит независимый snapshot. Изменение шаблона в каталоге не меняет уже подготовленный лендинг автоматически.

5. Разместите лендинг

Распакуйте содержимое ZIP в корневой каталог сайта или отдельный каталог на shared hosting. Главная страница должна открываться по публичному HTTPS URL, например:

https://documents-example.ru/

URL должен:

  • использовать HTTPS;
  • быть доступен из интернета;
  • открывать index.html без авторизации;
  • не содержать query-параметры или fragment;
  • отдавать файлы сборки без изменения их содержимого.

6. Проверьте размещение

  1. Вернитесь в карточку ассета.
  2. Укажите публичный HTTPS URL.
  3. Сохраните изменения.
  4. Нажмите Проверить размещение.

Платформа проверит manifest, fingerprint и runtime текущей сборки. После успешной проверки лендинг получит статус Готов.

Регистрация событий

Tracking runtime добавляется при сборке автоматически. Для стандартных действий в HTML можно использовать:

<form data-avbfort-track-form>
  <!-- Поля формы -->
</form>

<button data-avbfort-event="button_clicked">
  Продолжить
</button>

Runtime регистрирует только тип разрешённого события и технический контекст симуляции. Значения полей формы в событие не включаются.

Частые проблемы

ZIP не принимается

Проверьте наличие index.html, template.json и обязательных runtime-маркеров. Имена файлов внутри архива должны использовать безопасные относительные пути.

Сборка не выполняется

Проверьте обязательные поля ассета. У каждого поля с required: true должно быть задано значение.

Проверка URL не проходит

Убедитесь, что URL публичный, использует HTTPS и содержит именно последнюю сборку. После пересборки загрузите новый ZIP на hosting повторно.