Import Workplaces

Опис

Функціонал імпорту дозволяє масово створювати воркплейси з Excel/CSV файлів.

Endpoint: POST /api/workplaces/import

Формати файлів: .xlsx, .xls, .csv

Максимальний розмір: 10MB


Структура файлу імпорту

Кожен рядок = 1 новий воркплейс.

Обов'язкові колонки

Колонка Опис Приклад
Workplace name Назва воркплейсу expodamu.kz
Template (code) Код або назва темплейту naz1
Domain1 Основний домен (position 0) mail.expodamu.kz

Опціональні колонки

Колонка Опис Приклад
# ID рядка (ігнорується) #1_1main
adminka Адмінка (ігнорується) 37.1.217.33
Domain2 Домен position 1 www.expodamu.kz
Domain3 Домен position 2 expodamu.kz
Domain4 Домен position 3 sub.expodamu.kz
partner-url URL партнера /click?key=abc123
disable-ssl Вимкнути SSL TRUE або пусто
Title Заголовок сторінки Pin Up Casino
Description Опис сторінки Опис сайту...
Field: HEAD-textarea Скрипт в HEAD <script>...</script>
uniq-html-for-google (part1) HTML контент частина 1 <!doctype html>...
uniq-html-for-google (part2) HTML контент частина 2 <h1>Title</h1>...

Автоматичні параметри

Наступні параметри встановлюються автоматично для кожного імпортованого воркплейсу:

Параметр Значення
uniq-html-for-google true
disable-chain-redirects true

Ієрархія доменів

Домени додаються з позиціями від 0 (найвищий) до 3 (найнижчий):

Domain1 → position 0 (найвищий пріоритет)
Domain2 → position 1
Domain3 → position 2
Domain4 → position 3 (найнижчий пріоритет)

Пусті домени пропускаються.


Структура content

Дані з Title, Description та uniq-html-for-google (part1/part2) зберігаються в структурі:

{
  "home": {
    "h1": null,
    "url": "home",
    "title": "Title з таблиці",
    "description": "Description з таблиці",
    "uniq_html_for_google": "part1\n\npart2",
    ...
  }
}

part1 та part2 об'єднуються з пустим рядком між ними.


Валідація

Перевірка перед імпортом

  1. Дублікат назви воркплейсу - якщо воркплейс з такою назвою вже існує, рядок пропускається

Поведінка при помилках

  • Проблемні рядки пропускаються, решта імпортується
  • Всі помилки логуються в System Errors / Notifications
  • Після імпорту показується кількість успішних та пропущених

Сповіщення

Результати імпорту відображаються в розділі Errors / Notifications:

Успішний імпорт

Import/filename.xlsx: OK - 15 workplaces imported

Імпорт з пропущеними рядками

Import/filename.xlsx: OK - 12 workplaces imported, 3 errors
Import/filename.xlsx: Row 5 - Workplace 'test.kz' already exists (skipped)

Критична помилка

Import/filename.xlsx: Error message

Очистка кешу

Після успішного імпорту автоматично запускається GenerateWorkplaceJson для:

  • Оновлення config.json
  • Очистка кешу на всіх контейнерах

Приклад файлу імпорту

# adminka Workplace name Template (code) Domain1 Domain2 Domain3 partner-url Title Description
#1 333333333 expodamu.kz naz1 mail.expodamu.kz www.expodamu.kz expodamu.kz /click?key=abc Pin Up Опис...
#2 333333333 test.kz naz1 mail.test.kz test.kz /click?key=xyz Test Тест...

Нормалізація колонок

Excel автоматично нормалізує назви колонок:

  • partner-urlpartner_url
  • Field: HEAD-textareafield_head_textarea

Імпорт коректно обробляє обидва формати.