Підключення PostgreSQL

Email

Омніканальність

Автоматизація

Підключення PostgreSQL

Підключення до PostgreSQL допоможе вирішити такі завдання:

  • імпорт даних у додаткові поля для сегментації;
  • налаштування безшовної синхронізації контенту;
  • експорт даних щодо результатів розсилки, поведінки у віджетах або контактної інформації з eSputnik.

Важливо

Інтеграція з PostgreSQL входить у платні тарифи

Крок 1. Налаштування конектора

1. Перейдіть на вкладку “Конектори” в налаштуваннях вашого акаунту і виберіть “Підключити PostgreSQL”.

Підключити PostgreSQL

2. Заповніть такі поля:

  • Назва.
  • Хост (може містити доменне ім'я віддаленого сервера або його IP-адресу).
  • Порт (за замовчуванням вводиться автоматично).
  • База даних (її назва на віддаленому сервері).
  • Ім'я користувача (логін користувача бази даних; достатньо ролі лише для читання).
  • Пароль.

Основні параметри

Натисніть кнопку “Перевірити підключення”, щоб перевірити коректність авторизаційних даних та виконати тестове підключення до віддаленої бази даних.

При успішному підключенні у верхньому правому куті розділу з'явиться сервісне повідомлення про те, що з'єднання встановлено. В іншому випадку, якщо підключення не вдалося, необхідно уточнити у вашого системного адміністратора коректність налаштувань або авторизаційних даних.

3. Для визначення унікальності контакту вкажіть колонку таблиці, що містить унікальний ключ контакту, та унікальне поле контакту в eSputnik. Вони повинні співпадати.

Визначення унікальності контакта

Так, якщо ви вибрали email, після підключення стовпець таблиці PostgreSQL з електронними адресами буде зіставлено з відповідним полем у eSputnik.

Ви можете задати будь-який ключ унікальності контакту, що міститься у таблиці та в eSputnik — зовнішній ID, номер телефону, додаткове поле тощо.

Важливо

Ви можете використовувати створений конектор для підключення до кількох джерел даних, які мають мати однаковий унікальний контактний ключ. Для роботи з іншими ключами створіть додаткові конектори з відповідним ID контакта.

4. Натисніть кнопку “Зберегти”.

Крок 2. Налаштування джерела даних

Ваша зовнішня база даних може містити кілька таблиць, і вам потрібно вибрати, до якої з них ви хочете підключитися.

1. Перейдіть у налаштування вашого профілю > вкладка “Джерела даних”, натисніть кнопку “Нове джерело” і оберіть “Зовнішні джерела даних”.

Налаштування джерела даних

2. Виберіть створений конектор.

Виберіть конектор

3. Виберіть dataset, таблицю і введіть назву джерела. Натисніть кнопку “Зберегти”.

Основні параметри

Імпортуйте контакти в eSputnik i наповніть даними зовнішню базу. Після цього у вашому обліковому записі буде доступна можливість будувати сегменти на основі значення полів у зовнішній базі даних за допомогою побудови умовних груп.

Створення умовної групи

Важливо

Для сегментації доступні лише ті контакти, які є у вашому обліковому записі eSputnik та у зовнішній базі даних. Імпорт контактів із зовнішньої бази до вашого облікового запису не відбувається. Тому важливо оперативно синхронізувати та актуалізувати контакти перед здійсненням розсилок.

Крок 3. Підстановка повідомлення даних із зовнішнього джерела

Щоб використовувати зовнішні дані у повідомленні, до них необхідно звернутися за допомогою velocity-конструкції $!data.get('назва_джерела')... – так, у цьому прикладі ми підготували джерело під назвою promo_codes.

Масова розсилка на групу

Наприклад, ви плануєте кампанію на адресу kozak@example.com.

Набір даних буде витягнуто з таблиці та вставлено в об’єкт:

{
  "data": {
    "promo_codes": [
      {
        "id": "2",
        "email": "kozak@example.com",
        "name": "Dina Kozak",
        "birthday": "2020-09-02T00:00:00Z",
        "promo_code": "AAAA-BBBB-DDDD"
      }
    ]
  }
}

На поля масиву promo_codes можна посилатися двома способами:

  • За допомогою елементів (цей спосіб підходить, якщо ви точно знаєте кількість елементів у масиві).
$!data.get('promo_codes').get(0).get('name')

$!data.get('promo_codes').get(0).get('promo_code')
  • За допомогою циклу (найпоширеніший спосіб).
#foreach($pc in $!data.get('promo_codes'))

$!pc.get('name')

$!pc.get('promo_code')

#end

Для тригерної розсилки

По-перше, вам потрібно створити динамічну групу з певними умовами. Наприклад, ваш сегмент включатиме лише контакти, у яких сьогодні день народження.

День народження сьогодні

Коли сценарій запускається для контактів, які відповідають цій умові, система генерує подію. Назва події формується зі статичної частини (regularEventType) та ідентифікатора сегмента, на який надсилається кампанія. Це може бути, наприклад, regularEventType-170531841.

Подія містить контактні дані, ідентифікатор контакту в eSputnik (ContactId), адресу електронної пошти (EmailAddress) і дані із зовнішньої таблиці.

Дані з кожного поля таблиці перетворюються на ключ і поміщаються в масив із числовою позначкою, що відповідає ідентифікатору джерела даних.

Цей масив серіалізується і розміщується як рядок у полі jsonParam. Тіло події може виглядати наступним чином:

{
  "params": [
    {
      "name": "ContactId",
      "value": "623927159"
    },
    {
      "name": "jsonParam",
      "value": "{\"1043\":[{\"id\":,\"email\":\"kozak@example.com\",\"name\":\"Dina Kozak\",\"birthday\":\"2020-09-02T00:00:00Z\",\"promo_code\":\"AAAA-BBBB-DDDD\"}]}"
    },
    {
      "name": "EmailAddress",
      "value": "kozak@example.com"
    }
  ]
}

Щоб десеріалізувати рядок у набір об’єктів, у сценарії > блок Email > поле JSON укажіть джерело даних із події — ${jsonParam}.

Укажіть джерело даних

Налаштувавши сценарій, налаштуйте запуск:

Налаштування запуску
Для отримання даних із події використовується той самий підхід, що й для масової кампанії, з невеликою різницею в назві масиву. В листі буде такий об’єкт:

{
  "data": {
    "1043": [
      {
        "id": "2",
        "email": "kozak@example.com",
        "name": "Dina Kozak",
        "birthday": "2020-09-02T00:00:00Z",
        "promo_code": "AAAA-BBBB-DDDD"
      }
    ]
  }
}

На поля масиву 1043 можна посилатися двома способами:

  • За параметрами (якщо відома кількість параметрів у масиві).
$!data.get('1043').get(0).get('name')
$!data.get('1043').get(0).get('promo_code')
  • За допомогою циклу (найпоширеніший спосіб).
#foreach($pc in $!data.get('1043'))

$!pc.get('name')

$!pc.get('promo_code')

#end

Підключіть PostgreSQL як зовнішнє джерело даних, щоб виконувати широкий спектр маркетингових завдань. Наприклад, додавати промокоди в тригерні кампанії або створювати складні сегменти на основі даних, зібраних на різних платформах.

Крок 4. Налаштування експорту даних

Щоб регулярно оновлювати інформацію про аудиторію, замовлення та результати кампанії в PostgreSQL, налаштуйте експорт даних з eSputnik в таблиці. Наприклад, ви можете експортувати відповіді на NPS-опитування, історію покупок, дату останнього переходу з в повідомлення тощо.

Доступні набори даних для експорту:

  • workflowInstanceId – ідентифікатор окремого запуску сценарію; використовуйте його для угрупування розсилок у рамках запуску одного сценарію;
  • contactActivities;
  • contacts;
  • orderItems;
  • orders;
  • revenue.

Список параметрів даних для експорту

ContactActivities

Параметр Тип даних Опис
activity string Статус активності:
  • DELIVERED – повідомлення доставлено.
  • UNDELIVERED – повідомлення не доставлено (містить причину statusDescription).
  • RECEIVED –повідомлення відкрито.
  • UNSUBSCRIBED – контакт відмовився від розсилки.
  • CLICKED – контакт клікнув посилання у повідомленні.
  • SPAM – контакт повідомив про спам.
  • SUBSCRIPTION_CHANGED – контакт змінив категорію підписки.
  • PUSH_SUBSCRIBED —контакт підписався на push-сповіщення.
workflowInstanceId int Ідентифікатор окремого запуску сценарію. Використовуйте його для угрупування розсилок у рамках запуску одного сценарію.
broadcastId int ID розсилки
campaignType string

Тип розсилки: 

  • IM — тригерне повідомлення, 
  • Group — масова розсилка.
clickEventLink string Містить посилання, яке клікнув контакт (статус CLICKED)
contactId int ID контакту в eSputnik (Внутрішній)
errorCode string Помилка доставки SMTP та опис
eventKey string Ключ події
eventTypeKey string Ключ типу події
externalCustomerId string ID контакту у вашій системі (Зовнішній)
mediaType string Медіатип (SMS, Email, Web Push, Viber, Mobile Push, AppInbox, Widget)
messageInstanceId int Службове поле
messageLanguageCode string Код мови повідомлення
messageName string Назва повідомлення в обліковому записі eSputnik
messageTags string Мітки повідомлення
messageURL string Містить посилання на веб-версію email
senderName string Ім'я відправника у Viber
started timestamp Дата та час відправки повідомлення (формат: '2021-10-08 11:11:02')
utmCampaign string UTM-мітка розсилки
workflowId int ID сценарію

Contacts

Параметр Тип даних Опис
contactId int ID контакту в eSputnik (Внутрішній)
contactSource string Джерело контакту:
  • SITE_AUTOMATED - прив'язка email до push-підписника (скрипт збору web push), 
  • I_MESSAGE -відправка одного повідомлення, 
  • CAMPAIGN - сценарій (блок "Створити контакт" або блок "Додати до групи"), 
  • IMPORT - імпорт файла або метод “Add contacts”, 
  • MANUAL - створен вручну, 
  • SUBSCRIPTION - форма підписки (API метод “Subscribe a contact”), 
  • API метод “Add contact”, 
  • ORDER - замовлення на сайті (API метод “Add orders”).
createdDate timestamp Дата та час створення контакту (формат: '2021-10-08 11:11:02')
email string Email контакту
emailDomain string Домен email
emailStatus string Статус email
externalCustomerId string ID контакту у вашій системі (Зовнішній)
firstName string Ім'я контакту
languageCode string Код мови повідомлень
lastClickedDate timestamp Дата та час останнього кліку (формат: '2021-10-08 11:11:02')
lastName string Прізвище контакту
lastReceivedDate timestamp Дата та час останньої доставки (формат: '2021-10-08 11:11:02')
lastSentDate timestamp Дата та час останньої відправки (формат: '2021-10-08 11:11:02')
lastViewedDate timestamp Дата та час останнього відкриття (формат: '2021-10-08 11:11:02')
sms string Номер телефону
totalClicked int Загальна кількість кліків
totalReceived int Загальна кількість отриманих повідомлень
totalSent int Загальна кількість надісланих повідомлень
totalViewed int Загальна кількість переглянутих повідомлень

Ця інформація буде передана в PostgreSQL і оновить дані в таблицях.

Важливо

Вам не потрібно попередньо створювати таблиці PostgreSQL. Вони будуть створені автоматично під час першого експорту, і з цього часу всі вхідні дані оновлюватимуться. Всі назви таблиць відповідатимуть наборам даних (contact activities, contacts, order items, orders, revenue)

Налаштування конектора PostgreSQL для експорту даних

1. Перейдіть у налаштування → “Експорт даних” та натисніть “Новий експорт даних”. Виберіть один із створених конекторів PostgreSQL.

Експорт даних

2. Виберіть інтервал завантаження та встановіть прапорці для наборів даних, які потрібно завантажити. Тип набору даних за замовчуванням public, ви можете вибрати інший тип, якщо вказали його в налаштуваннях PostgreSQL.

3. Натисніть “Зберегти”.

Редагування експорту даних

Підключення буде відображено в розділі “Експорт даних”, тут ви можете змінити його налаштування.

Залишилися питання?
Спеціалісти обов'язково нададуть відповідь та допоможуть вирішити вашу проблему!
Зворотний дзвінок
Залишіть заявку – і наш спеціаліст зв'яжеться з вами в робочий час.
Відправити заявку
Консультація в чаті
Готові до ваших запитань!
Написати в чат
Електронна пошта
Напишіть в службу підтримки eSputnik.
Надіслати email