Перейти к основному содержимому

Импорт данных по расписанию

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

Также можно перейти в этот раздел из списка баз данных, выбрав в контекстном меню справа "Импорт профилей клиентов":

Основные настройки

В основных настройках импорта вы можете задать имя импорта, назначить группы доступа и метки и установить, как импорт будет обрабатывать данные в аккаунте платформы:

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

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

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

Расписание импорта

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

подсказка

Расписание кампаний подробно описано в отдельной статье.

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

Настройки импорта

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

Составьте тело запроса в зависимости от используемой СУБД: MySQL, PostgreSQL, MSSQL, Oracle или ClickHouse. В запросах обязательно должен присутствовать оператор SELECT. Других ограничений не предусмотрено.

Исключение повторного обновления

Чтобы исключить повторное обновление данных, доступны следующие функции:

  • Очистить таблицу — удаляет все записи в таблице данных
  • Удалить таблицу — удаляет таблицу из базы данных
  • Удалить записи в таблице — если значение указанной колонки в записи из таблицы и в профиле в базе данных совпадает, такая запись будет удалена.
  • Изменить записи в таблице — меняет значения в выбранной колонке для импортированных записей. Идентифицирует записи по Колонке для выбора (уникальна для каждого профиля и не используется для поиска) и обновляет данные в Колонке для обновления на установленное значение.

Разделение импорта на части

При импорте большого количества записей можно разделить процесс на части, чтобы распределить нагрузку. Для этого нужно добавить переменную {lastItem} в тело запроса для колонки с уникальным идентификатором. Идентификаторы при составлении запроса рекомендуется отсортировать.

примечание

Пример запроса: SELECT * from TestTable where id>{lastItem} LIMIT 10

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

Пример настроек для запуска импорта с первой строки (если данные в колонке id отсортированы по возрастанию):

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

Соответствие колонок

В этом блоке нужно определить соответствие полей профилей в базе данных Altcraft и колонок внешней SQL базы. После нажатия на кнопку Добавить колонку слева из выпадающего меню выберите поле профиля Altcraft для обновления или записи данных.

При выборе колонки внешней SQL базы данных первое значение в ней будет отображаться справа серым текстом, как в примере ниже:

Особенности импорта полей

При импорте данных в базу платформа ожидает определённые форматы значений для каждого типа поля. Все допустимые форматы описаны в этой статье. Убедитесь, что данные в вашем источнике соответствуют указанным требованиям, иначе платформа не сможет корректно обработать их.

Для полей типа Объект и Массив объектов платформа ожидает значение в виде строки, содержащей корректный JSON. Чтобы задать такое значение, необходимо сначала преобразовать JSON-объект в строку, а затем экранировать её по правилам CSV, описанным в RFC 4180 (двойные кавычки " заменяются на "").

Пример: "[{""field1"": 123, ""field2"": {""subfield"": false}, ""field3"": ""abc""}]"

В поле типа "Список" можно импортировать сами значения или их индексы. Например, если вы создали в базе список с вариантами "тариф_1", "тариф_2", "тариф_3", то в колонке источника можно указать эти же значения или использовать индексы: 1 — это "тариф_1", 2 — это "тариф_2", 3 — это "тариф_3", 0 — "Не выбрано" (значение по умолчанию).

Обратите внимание, что значения, которые состоят только из цифр, невозможно импортировать напрямую — платформа воспримет их как индексы. Например, если в списке указаны варианты 100 и 200, то при импорте нужно передать соответствующие им индексы: 1 — это 100, 2 — это 200.

Настройки подписок

При импорте можно автоматически подписывать клиентов на те или иные Ресурсы по одному или нескольким каналам. Для каждой подписки соответственно нужно выбрать ресурс, канал коммуникации и выбрать колонку в таблице данных, из которой будут импортироваться контактные данные для подписок.

Для каждой подписки можно установить статус:

  • при импорте можно передавать статус "Подписан" для Single opt-in, или "Не подтверждён" для Double opt-in логики
  • при обновлении данных можно менять статус подписки в зависимости от действий пользователя, например приостановить, возобновить или отменить подписку

Отчёт импорта по расписанию

В этом блоке вы можете просмотреть информацию по последним 10 запускам. Если во время последнего импорта произошли ошибки, отчёт по ним можно выгрузить.