Импорт данных по расписанию
Импорт новых подписчиков в базы данных Altcraft, а также обновление данных существующих профилей можно автоматизировать с помощью Импорта по расписанию. Модуль импорта забирает данные из внешних таблиц данных. Для настройки автоматического забора данных требуется настроить в панели администратора SQL-коннектор и привязать его к аккаунту. В аккаунте, чтобы перейти к созданию импорта, перейдите в Данные —> Импорты по расписанию.
Также можно перейти в этот раздел из списка баз данных, выбрав в контекстном меню справа "Импорт профилей клиентов":

Основные настройки
В основных настройках импорта вы можете задать имя импорта, назначить группы доступа и метки и установить, как импорт будет обрабатывать данные в аккаунте платформы:
- База данных — импорт будет добавлять или обновлять поля в выбранной базе профилей клиентов. От базы зависит набор доступных полей для хранения информации.
- Режим импорта по расписанию — импорт может работать в трёх режимах:
- Добавить новых и обновить существующих
- Только добавить новых, не обновлять существующих
- Только обновлять существующих, не добавлять новых
- Режим поиска профиля — доступен поиск по контактным данным профиля, данным подписки (по Email, SMS, Push и кастомным подпискам), по идентификатору профиля для обновления существующих профилей — и по кастомному полю базы данных. Также доступен мультиматчинг — по Email или телефону из профиля и подписок (
email_phone), или по email или телефону из подписок (email_phone_sub) - Поле для поиска профиля — при поиске профилей по кастомному полю базы данных его нужно выбрать в этом меню.

Для импорта по расписанию также доступно автоопределение геолокации по IP. Если у вас настроены триггерные рассылки на импорт или обновление профилей, можно ограничить их срабатывание для импорта по расписанию.
В основных настройках находится опция мгновенного запуска импорта помимо расписания. Если отмечен этот пункт, после нажатия на кнопку Применить или Сохранить импорт будет запущен.
Расписание импорта
Для регулярного импорта можно гибко настроить расписание. Из выпадающего меню выберите план расписания и настройте в зависимости от назначения импорта. Есть разовые и регулярные планы расписания.
Расписание рассылок подробно описано в отдельной статье.

Для каждого плана расписания можно установить часовой пояс для расчёта. Также можно указать дату деактивации импорта:

Настройки импорта
В настройках импорта выберите необходимый коннектор к базе данных (настраивается в панели администратора) и таблицу в этой базе.

Составьте тело запроса в зависимости от используемой СУБД: MySQL, PostgreSQL, MSSQL, Oracle, Hive или ClickHouse. В запросах обязательно должен присутствовать оператор SELECT. Других ограничений не предусмотрено.
Исключение повторного обновления
Чтобы исключить повторное обновление данных, доступны следующие функции:
- Очистить таблицу — удаляет все записи в таблице данных
- Удалить таблицу — удаляет таблицу из базы данных
- Удалить записи в таблице — если значение указанной колонки в записи из таблицы и в профиле в базе данных совпадает, такая запись будет удалена.
- Изменить записи в таблице — меняет значения в выбранной колонке для импортированных записей. Идентифицирует записи по Колонке для выбора (уникальна для каждого профиля и не используется для поиска) и обновляет данные в Колонке для обновления на установленное значение.

Разделение импорта на части
При импорте большого количества записей можно разделить процесс на части, чтобы распределить нагрузку. Для этого нужно добавить переменную {lastItem} в тело запроса для колонки с уникальным идентификатором. Идентификаторы при составлении запроса рекомендуется отсортировать.
Пример запроса: SELECT * from TestTable where id>{lastItem} LIMIT 10
Далее нужно указать, с какой строки в таблице вы хотите запустить первый импорт. Для этого выберите колонку с идентификатором в Колонка для начала импорта и укажите Значение поля.
Пример настроек для запуска импорта с первой строки (если данные в колонке id отсортированы по возрастанию):

Когда вы запустите регулярный импорт, Значение поля будет автоматически обновляться — в него будет подставляться последний идентификатор после предыдущего импорта.