Создаём модуль для Inn-Book за 1 день — полный гайд

Пошагово от регистрации до публикации в магазине. Всё на основе актуальной документации Inn-Book 2026 года: HTML/JS + Node.js в execution, вызовы через внутренний REST API, изолированная среда.

  1. Шаг 1: Регистрация и создание модуля в личном кабинете

    Залогиньтесь в свой аккаунт на inn-book.com → перейдите в раздел «Для разработчиков» или «Модули».

    Нажмите «Создать модуль» → укажите название, описание (можно кратко), тип (встроенный / пользовательский).

    После создания скачайте тестовый архив модуля (одна кнопка в интерфейсе) — это готовый шаблон для локальной разработки.

    Совет: Для внутренних модулей описание необязательно. Модуль сразу доступен для тестирования в вашей копии Inn-Book.
  2. Шаг 2: Структура модуля и локальная разработка

    Распакуйте архив. Основные файлы/папки:

    • HTML/CSS/JS — для UI (встраивается в карточку брони, гостя и т.д.)
    • execution/ — Node.js-скрипты для серверной логики
    • manifest.json — описание модуля (UI-экстеншены, cron и т.д.)

    Установите Inn-Book локально (на компьютер разработчика) → модуль появится в системе автоматически.

  3. Шаг 3: Простой MVP — UI-кнопка + вызов API (30–60 мин)

    Пример: кнопка в карточке брони «Получить данные» → выводит информацию в консоль или alert.

    // В HTML/JS модуля (например, в файле guest_card.html или index.html)
    <button onclick="getBookingData()">Получить данные брони</button>

    <script>
    function getBookingData() {
      send('booking', {
        act: 'getBookingDataByID',
        idBooking: 922 // или динамически из контекста
      }).then(data => {
        alert('Данные: ' + JSON.stringify(data));
      });
    }

    function send(m, d) {
      return fetch(`/modules/api_v1/${m}`, {
        method: 'POST',
        headers: {
          'Content-Type': 'application/json',
          'token': APIKEY // глобальная переменная!
        },
        body: JSON.stringify(d)
      })
      .then(r => r.ok ? r.json() : Promise.reject(r.status))
      .catch(e => console.error('Ошибка:', e));
    }
    </script>

    APIKEY — автоматически доступен в контексте модуля.

  4. Шаг 4: Серверная логика в execution (Node.js)

    Создайте файл execution/index.js — он может запускаться по cron, как daemon или по вызову.

    // execution/index.js
    console.log('Модуль запущен. APIKEY:', APIKEY);

    // Пример: обработка события или ручной вызов
    // fetch(`/modules/api_v1/execution`, { ... }) из UI вызовет этот скрипт

    Ограничения: доступ только к файлам внутри папки модуля, нет прямого доступа к БД (только через API).

    Важно: Все модули из App Store шифруются — исходный код защищён.
  5. Шаг 5: Тестирование и публикация

    1. Тестируйте в локальной Inn-Book (создайте тестовые брони, гостей).

    2. Заархивируйте модуль → загрузите в ЛК → «Отправить на модерацию».

    Модерация: 1–3 дня. После одобрения — модуль в магазине, вы получаете доход от установок/подписок.

Готово за 1 день! Ваш модуль уже может работать

Самые быстрые MVP: кнопка в карточке брони + вызов данных, уведомления по cron, простая аналитика.
Для сложных интеграций (замки, терминалы) используйте execution + внешние API.

Документация: inn-book.com/api/moduleapi
Удачи — если нужно, поддержка Inn-Book поможет с модерацией!