В даному розділі надається можливість вносити додаткові налаштування до системи чат-боту. 

Щоб обрати необхідний розділ, потрібно натиснути Чат-бот – Налаштування.

Доступні налаштування наступних елементів: 

  1. Месенджери;
  2. Псевдоніми кроку;
  3. Крок мудьтимедіа;
  4. Логи месенджера;
  5. Чати;
  6. Скорочені відповіді;
  7. Сповіщення;
  8. По зовнішній події.

 

1. Месенджери. 

Щоб перейти до розділу «Месенджери» необхідно відкрити «Чат-бот – Налаштування – Псевдоніми кроку».

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

Детальна інструкція як вірно налаштувати канал зв’язку на прикладі Telegram каналу показана в розділі «Налаштування месенджера.»

2. Псевдоніми кроку.

Щоб перейти до розділу «Псевдоніми кроку» необхідно відкрити «Чат-бот – Налаштування – Псевдоніми кроку».

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


3. Крок мудьтимедіа.

Щоб перейти до розділу «Кроки медіа» необхідно відкрити «Чат-бот – Налаштування – Кроки медіа».

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

4. Логи месенджера.

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

Щоб перейти до розділу «Логи месенджеру» необхідно відкрити «Чат-бот – Налаштування – Логи месенджеру».

5. Чати.

В даному розділі розміщений список всіх чат-ботів, які працюють в системі. Щоб перейти до розділу «Чати» необхідно відкрити «Чат-бот – Налаштування – Чати». 


Натиснувши на запис чат-боту користувач переходить на форму налаштування цього боту. 

В полі «Месенджер» в випадаючому списку обираємо наш месенджер, через який буде відбуватись спілкування з клієнтом. В даному випадку, це буде Telegram.

В полі «Діалог» по замовчуванню обрано клієнтський чат.  Обираємо той чат-бот, до якого  має приєднуватись месенджер.  У вас в системі може бути необмежена кількість чат-ботів з різною варіацією кроків, які будуть працювати з різними чат-ботами в Telegram.

«Надсилати ім’я оператора» - якщо функція увімкнена, то клієнту буде надсилатись повідомлення, наприклад, «Юлія приєдналась до чату», в момент приєднання оператора до чату клієнта. Щоб в діалогах не відображалось ім’я оператора, необхідно вимкнути даний функціонал. По замовчуванню чек-бокс не встановлено. 

«Є автоматичне надсилання повідомлення» - якщо функція увімкнена, то клієнту буде надсилатись повідомлення про приєднання оператора до чату і можливість завершити діалог з налаштувань чат-боту. Наприклад, «Оператор Юлія приєднався до чату. Щоб завершити розмову, натисніть /end». 

«Is Send End Consultation» - якщо функція увімкнена, то після завершення консультації користувачу надсилається повідомлення про завершення діалогу з налаштувань чат-боту.

Нам необхідно в поле «Telegram Token» вставити наш скопійований токен для боту. (Як отримати токен описано в розділі Створення бота в Telegram.). Після цього натиснути кнопку «Оновити Hook».

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

Після цього натиснути кнопку «Оновити hook».

Головне меню

В розділі «Чати» налаштовується головного меню чат-боту, щоб надати можливість користувачу здійснити швидкий перехід до основних розділів чат-боту.  Розділи меню відображаються в порядку їх додавання до налаштувань.

Щоб додати новий рядок,  натискаємо «Додати рядок». 

В полі «Опис» вводимо короткий опис  для пункту меню.

В полі «Команда» вводимо команду –маркер кроку, який необхідно викликати.

В полі «Крок» указуємо на який саме крок має переходити бот, після вибору клієнта. 

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

Вигляд меню в телеграм:


6. Скорочені відповіді.

В чат-боті для підвищення ефективності та швидкості відповідей надається можливість використовувати заготовлені повідомлення. Щоб перейти до розділу налаштування заготовлених повідомлень необхідно відкрити «Чат-бот – Налаштування –Скорочені відповіді».

Щоб додати нове скорочення, потрібно натиснути кнопку «Створити»:

В новому рядку ввести скорочену назву повідомлення. В поле «Заміна» ввести текст повідомлення. 

Щоб визвати скорочення з консультаційного чату, необхідно в полі вводу повідомлення натиснути «:». Оператору відображається список всіх заготовлених відповідей. Якщо почати вводити назву скорочення, в списку залишаться лише ті повідомлення, які відповідають значенням фільтра. 




7. Сповіщення по події в Odoo.

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

Сповіщення спрацьовує, якщо в налаштуваннях поля тригер вказані наступні значення: 

  • При створені – сповіщення спрацьовує при створені нового запису в базі;
  • При зміні – сповіщення спрацьовує на зміну запису в базі;
  • При створені і зміні – сповіщення спрацьовує на створення нового запису та зміну вже існуючого;
  • При видалені –сповіщення спрацьовує при видалені запису з бази даних;
  • На основі часових умов – сповіщення спрацьовує в налаштовані часові проміжки часу.

Якщо тригер спрацьовує по зовнішній події, сповіщення потрібно створювати в розділі «По зовнішній події». 

Якшо тригером являється подія в системі Odoo, то сповіщення створюємо в розділі «Сповіщення».

Щоб перейти до розділу «Сповіщення» необхідно відкрити «Чат-бот – Налаштування –Сповіщення».

Обов’язковими для заповнення полями є: 

  • Назва сповіщення, 
  • Бот;
  • Модель;
  • Тригер;
  • Повідомлення. 

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

7.1. Загальна інформація створення сповіщень.

Щоб створити сповіщення необхідно перейти в меню налаштувань чат-боту в розділ «Сповіщення»:

Натиснути кнопку «Створити»: 

Вносимо в поле «Назва» назву сповіщення. Наприклад, це буде сповіщення, яке сповіщатиме користувача, що для нього створена нова задача. Назвемо сповіщення «Створено нову задачу». 

Поле «Бот» - випадаючий список налаштованих в системі чат-ботів. В цьому полі ми задаємо значення підписникам якого саме боту ми будемо надсилати повідомлення. Одне сповіщення працює тільки для одного чат-боту. Неможливо обрати декілька чат-ботів. Також можна зробити окремий чат-бот для сповіщень.

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

Перемикач «Додати URL-адресу» дозволяє в текст сповіщення додати кнопку, для переходу по посиланню посилання, по якому користувач зможе перейти на потрібну сторінку сайту. Наприклад посилання на задачу, яку біло створено для користувача боту.

По замовчуванню посилання створюється в форматі: 

https://chatbot-demo.kitworks.systems/web#id=X&model=sale.order&view_type=form&cids=X

Перехід по даному посиланню виглядає наступним чином: 

Можна замість використання стандартного функціоналу генерування URL  в сповіщенні додавати  посилання на необхідну сторінку в самому сповіщенні. 

Для цього  в налаштуваннях  вмикаємо режим розробника і в поле «Url в режимі розробника» додаємо шаблон нової  адреси. Щоб створити шаблон нової адреси копіюємо  посилання на меню, куди має перенаправлятись користувач. Наприклад:  

https://chatbot-demo.kitworks.systems/web#id=X&menu_id=383&action=609&model=sale.order&view_type=form

В повідомлення сповіщення додаємо посилання, але робимо заміну статичного номера ID на змінну в форматі ${object.id}, щоб переходило на запис з чат-боту наступним чином: 

https://chatbot.ct123.kitworks.systems/web#id=${object.id}&action=362&model=stock.picking&view_type=form&cids=&menu_id=224

В полі «Назва URL»  задається назва кнопки. По замовчуванню назва «Link».

Вигляд налаштованої кнопки в чат-боті: 

Перемикач «Персоналізований діалог» - можемо обирати визначеного користувача і відправляти повідомлення тільки йому. Після переведення перемикача в активний стан, з’являється додаткове поле «Особиста розмова», яке доступне для редагування. В ньому можна задати один або декілька користувачів, для яких буде спрацьовувати дане сповіщення: 

Чек-бокс «Обраний партнер» - дозволяє розсилати повідомлення партнерам, які визначені в полі «Партнер» вікна налаштування сповіщень. Якщо перемикач знаходиться вимкненим, поле «Партнер» недоступне для редагування. 

Працює або перемикач «Персоналізований діалог», або «Обраний партнер». Якщо обидва перемикачі вимкнені, то в полі «Всі діалоги» відображає список клієнтів, яким буде надсилатись повідомлення, якщо не задано обмеження на список партнерів чи користувачів.

Поле «Модель» дозволяє вказати з якою саме моделлю даних працює це сповіщення. 

В випадаючому списку моделей відображається сім перших значень з довідника. Щоб продовжити пошук, можна натиснути кнопку «Шукати ще…» або розпочати вводити назву моделі і в списку відобразяться всі відповідні фільтру значення. 

Поле «Тригер» - випадаючий список, який дозволяє обрати на зміну яких саме полів реагує і виконується сповіщення користувача. 

В системі налаштовані наступні види тригерів: 

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

В даному розділі створюються сповіщення для всіх типів, окрім «По зовнішній події». В залежності від типу тригера змінюється набір полів, необхідних для заповнення. Розглянемо більш детально:

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

При використані типу «На основі часових умов» в додаткових налаштуваннях приймають участь поля:

  • «Дата тригеру» - вказується поле, в якому налаштовано час відпрацювання сповіщення;
  • «Затримка після дати запуску» - дозволяє налаштувати через скільки годин з часу настання дати тригеру відпрацьовує подія. Якщо значення з мінусом, наприклад -10 хв, то сповіщення спрацює  за 10  хв до настання дати тригеру. Якщо значення з плюсом, наприклад, 10 хв, то спрацює через 10 хв після того, як настала Дата тригеру. 

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

По замовчуванню в полі «Домени Рівень всіх записів» стоїть фільтр, який повертає всі записи системи. Щоб налаштувати додаткові фільтри, необхідно натиснути на кнопку «Редагувати домен». 

У новому вікні редагування домену потрібно натиснути кнопку «Додати фільтр»:

Наприклад, ми бажаємо, щоб повідомлення надсилались для проектів конкретного керівника. В першому полі обрати назву поля моделі, по якому будемо здійснювати фільтрація. Наприклад, це буде поле «Керівник проекту». Значення можна знайти в випадаючому списку користуючись скролом або почати вводити в пошуковому рядку і обрати з значень, які будуть відповідати вашому фільтру. 

В другому полі обрати умову, яка буде накладатися на обране поле моделі. Якщо обрана «Вказано» чи «Не вказано», то ніяких додаткових значень для фільтрації не потрібно вносити. Якщо обрана функція не відповідає значенням «Вказано» чи «Не вказано», то ввести значення в третє поле:

Редактор дозволяє налаштовувати багатоступінчату структуру фільтрації. Наприклад, до фільтрації по керівнику проекту, ми можемо додати фільтр по даті завершення проекту. Для цього натискаємо «+», в новому рядку по аналогії шукаємо необхідне значення, налаштовуємо фільтр, де, наприклад, дата завершення після 16 березня. 

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


Поле «Тип повідомлення» дозволяє обрати яким саме чином буде будуватися відповідь абоненту в чат-боті:

  • Необроблене повідомлення – текстовий рядок; 
  • Конструктор повідомлення – конструктор значень полів моделі даних. 

Якщо нам потрібно клієнту надіслати інформаційне повідомлення про зміну статусу його замовлення довільної текстової структури, то має сенс використати тип повідомлення «Необроблене повідомлення». 

В полі «Необроблене повідомлення» вводимо наше текстове повідомлення та поля моделі, дані яких повинні відобразитись в сповіщенні абонента. Щоб в повідомлені відображалось коректне значення, а не назва поля, його необхідно заключити в подвійні фігурні дужки: {{ object.body }}.Текст повідомлення буде виглядати наступним чином: 

Вкладка «Шаблон не знайшов записів» - містить відповідь, яку отримує користувач, якщо з певних причин неможливо виконати сповіщення. По замовчуванню стоїть стандартна відповідь: «Sorry, I don't understand you».Текст відповіді можливо змінити. 

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

В полі «Генерувати номер для рядка повідомлення» можливо ввімкнути нумерований список для рядків відповіді. Якщо перемикач неактивний, то рядки виводяться без додаткової нумерації.

Конструктор містить в собі наступні поля: 

Поле «Текст до» - текст, який відображається перед указаним полем. Наприклад, «Проект:» перед назвою проекту;

Поле «Новий рядок після тексту» - чек-бокс, який дозволяє при необхідності установити перенос на наступний рядок;

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

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

Поле «Текст після» - текст, який відображається після значення поля;

Поле «Частина повідомлення» - системне поле, заповнюється після збереження сповіщення. Містить в собі шаблон, як буде відображатись весь рядок разом. 

Після завершення всіх налаштувань натиснути кнопку «Зберегти», щоб зберегти та застосувати налаштування.–Приклад сповіщення при створені нової задачі.

7.2. Приклад сповіщення при створені нової задачі. 

Потрібно створити сповіщення, яке буде надсилатися всім відповідальним по задачі, якщо задача новостворена або були внесені зміни відповідального по вже створеній задачі. 

Наприклад, ми хочемо отримувати сповіщення у вигляді: 

Вам призначили задачу REQ 2478-64

Створив задачу: Іванов Микита Серафимович

Зміст задачі: Необхідно зробити переадресацію замовлення S000012 з Нова пошта, Київ, відділення №15 на відділення №10.

Дата виконання: 13.03.2023

Виконавці: Сидоренко Василь


Заходимо в Чат-бот - Налаштування – Сповіщення. Натискаємо кнопку «Створити».

В поле «Назва» вводимо назву сповіщення «Створено нову задачу».

Вмикаємо перемикач «Додати URL-адресу», щоб користувач швидко міг перейти на потрібну йому задачу.

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

Для цього вмикаємо перемикач «Обраний партнер» та в полі «Партнер» вказуємо поле з моделі Завдання – Уповноважені. 

В полі «Тригер» встановлюємо значення «На створення та оновлення». Якщо необхідно, щоб спрацьовувало тільки на новостворені задачі, то обираємо просто «На створення». 

В полі «Поля тригеру» обираємо поле моделі Завдання – Відповідальний користувач, Уповноважені.

Для створення кінцевого повідомлення користувачу використовуємо конструктор повідомлень. 

В полі «Тип повідомлення» обираємо тип «Конструктор повідомлення». 

В полі «Дизайнер повідомлень» відображується шаблон кінцевого повідомлення користувачу після додавання всіх необхідних полів.

Таблицю «Дизайнер повідомлень» налаштовуємо наступним чином: 

Поле «Текст до» може залишатися пустим. В нашому прикладі вводимо в поле значення «Вам призначили задачу». В полі «Поля по замовчуванню» обираємо поле, в якому зберігається назва задачі - «Відобразити назву (project.task)». 

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

Подібним чином задаємо всі необхідні для повідомлення поля.

Після внесення всіх налаштувань ввімкнути перемикач «Активний»:



7.3. Приклад сповіщення при оновлені статусу замовлення на продаж.

Потрібно створити сповіщення, яке буде надсилатися всім партнерам та підписникам задачі повідомлення при додаванні нової інформації до задачі.. 

Наприклад, ми бажаємо отримувати сповіщення у вигляді: 

В задачі з’явився новий коментар.

Текст коментаря: {{object.body}}

Задача: посилання на задачу.

Заходимо в Чат-бот - Налаштування – Сповіщення. Натискаємо кнопку «Створити».

В поле «Назва» вводимо назву сповіщення «Нові коментарі в задачі».

Вмикаємо перемикач «Додати URL-адресу», щоб користувач швидко міг перейти на потрібну йому задачу. Посилання на задачу буде додаватись внизу повідомлення.

В полі «Бот» обираємо чат-бот, для якого буде спрацьовувати сповіщення:

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

Так як нам потрібно відслідковувати появи нових повідомлень, то в полі «Модель» обираємо «Повідомлення» і тригер буде спрацьовувати на створення нового повідомлення.

Вмикаємо перемикач «Обраний партнер» та в полі «Партнер» вказуємо поле з моделі Повідомлення – Партнер, що потребує дії, для якого буде надходити нове повідомлення. 

В полі «Тригер» встановлюємо значення «На створення». 

Так як нас цікавлять тільки повідомлення з завдань, то в полі «Модель поштового повідомлення» обираємо модель «Завдання». Після цього з’являється додаткове поле «Дочірній партнер». 

В ньому задаємо поле з моделі Завдання – Підписники(Партнери), щоб підключити розсилку повідомлень всім підписникам задачі, до якої додалися зміни.

Для створення кінцевого повідомлення користувачу використовуємо тип повідомлення - необроблене повідомлення.

В поле «Необроблене повідомлення» вводимо текст нашого повідомлення користувачу. Якщо потрібно в текст додати поле, вираз заповнювача поля можна отримати на вкладці «Динамічний генератор заповнювачів».

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

Після внесення всіх налаштувань ввімкнути перемикач «Активний»:

В чат-боті дана реалізація виглядає наступним чином: 


7.4. Приклад сповіщення на основі часових умов.

Розглянемо приклад створення сповіщення, де тригером виступає деяка дата. Наприклад, кінцевий термін виконання задачу. 

Заходимо в Чат-бот - Налаштування – Сповіщення. Натискаємо кнопку «Створити».

В поле «Назва» вводимо назву сповіщення «Прострочені задачі».

Вмикаємо перемикач «Додати URL-адресу», щоб користувач швидко міг перейти на потрібну йому задачу. Посилання на задачу буде додаватись внизу повідомлення.

В полі «Бот» обираємо чат-бот, для якого буде спрацьовувати сповіщення:

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

Для цього вмикаємо перемикач «Обраний партнер» та в полі «Партнер» вказуємо поле з моделі Завдання – Уповноважені. 

В полі «Тригер» встановлюємо значення «На основі часових умов».

В поле «Дата тригеру» встановлюємо поле типу дата або дата-час, яке являється тригером для запуску розсилки сповіщень. 

В додаткових полях «затримка після дати запуску» є можливість налаштування відкладеного або попереджуючого сповіщення. 

Наприклад, кінцевий термін, це поле формату дата без годин. Якщо в першому полі замість нуля ми установимо від’ємне значення, наприклад -2, то сповіщення спрацює за дві години до вказаної дати 00:00:00годин. Якщо установити додатнє значення, то тригер спрацює вказаної дати о 02:00:00. 

Окрім годин є можливість задати затримку в хвилинах, днях та місяцях. 

Для створення кінцевого повідомлення користувачу використовуємо тип повідомлення - необроблене повідомлення.

В поле «Необроблене повідомлення» вводимо текст нашого повідомлення користувачу. Якщо потрібно в текст додати поле, вираз заповнювача поля можна отримати на вкладці «Динамічний генератор заповнювачів».

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

Після внесення всіх налаштувань ввімкнути перемикач «Активний»:

В чат-боті дана реалізація виглядає наступним чином: 

7.5. Сповіщення по зовнішній події

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

Загальна інформація щодо методики введення полів описана в розділі «Загальна інформація створення сповіщень.»

Сповіщення бувають декількох рівнів вкладеності: однорівневі та дворівневі. Розглянемо кожен тип більш детально. 

Однорівневе сповіщення.

Однорівневим сповіщенням можна назвати сповіщення, яке надає деталізовану інформацію по поточній моделі даних, не звертаючись до пов’язаних додаткових моделей даних, для створення поглибленої деталізації. Таким прикладом може виступати сповіщення, про список всіх лідів. Інформація відображається тільки з моделі ліди, без звернення до додаткових дочірніх моделей: 

В налаштуваннях фінального повідомлення приймають участь тільки дані поточної моделі без звертання до дочірнього сповіщення: 


Дворівневе сповіщення. 

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

Дане сповіщення складається з двох моделей: батьківська модель «Замовлення» та дочірня модель «Рядки замовлення». Для кожної моделі створене окреме сповіщення, яке формує своє деталізоване інформаційне повідомлення:

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

Для цього обираємо відповідне поле в батьківській моделі даних і для нього підключаємо дочірнє сповіщення в колонці «Дочірнє сповіщення». 


Більш детально налаштування дворівневого сповіщення розглянемо в розділах «Приклад Рівень 1. Сповіщення «Всі замовлення на продаж»» та «Приклад Рівень2. Сповіщення «Рядки замовлення» для «Всі замовлення на продаж».»

Як створити різного типу Telegram кнопки, які використовуються в сповіщеннях, описано в документації по Automated Actions.

7.5.1. Приклад Рівень 1. Сповіщення «Всі замовлення на продаж». 

Створимо сповіщення, яке після натискання в чат-боті кнопки «Всі замовлення на продаж», буде повертати нам список замовлень в форматі: 

Замовлення № номер_замовлення 

Клієнт: ПІБ_клієнта 

Статус замовлення Статус_замовлення 

Статус рахунка: Статус_рахунка 

Рядки замовлення:

 № рядка. Назва товару Кількість товару.Вартість товару.Загалом Сума_товару.

Загалом: Сума_замовлення. 

URL: посилання_на_ замовлення 

Необхідно перейти в додаток Чат-бот – Налаштування – По зовнішній події. Натиснути кнопку «Створити». 

В полі «Назва» вводимо назву сповіщення: «Всі замовлення на продаж». 

Якщо необхідно в сповіщені виводити посилання на сторінку, то ставимо перемикач «Додати URL-адресу» активним. 

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

Фінальне повідомлення користувачу в нашому випадку не довільного характеру, а містить в собі певну структурованість даних. Для його створення використовуємо конструктор повідомлень. В полі «Тип повідомлення» обираємо «Конструктор повідомлень».

В вкладці дизайнер повідомлень натискаємо кнопку «Додати» рядок і по черзі згідно нашому стартовому шаблону додаємо всі необхідні поля з моделі Замовлення:

Натискаємо кнопку «Зберегти» та підключаємо створене сповіщення в налаштуваннях кроку до потрібної кнопки: 

В чат-боті, після натискання кнопки «Всі замовлення» отримуємо повідомлення в наступному вигляді: 

Як ми можемо помітити, замість розвернутої деталізації по рядкам замовлення ми отримуємо значення, яке зберігається в полі «Рядки замовлення». Потрібно створити сповіщення «Рядки замовлення», яке буде повертати список рядків кожного замовлення з деталізацією по товару. (Розділ «Рівень2. Сповіщення «Рядки замовлення» для «Всі замовлення на продаж».»).

Відкрити налаштування сповіщення «Всі замовлення на продаж» і в колонку «Дочірнє сповіщення» додати новостворене сповіщення «Рядки замовлення»: 


Натиснути кнопку «Зберегти» і налаштуваннях і перейти до боту. В боті повторно натиснути кнопку «Всі замовлення» і отримаємо список замовлень з детальною інформацією по кожному замовленому товару: 


7.5.2. Приклад Рівень 2. Сповіщення «Рядки замовлення» для «Всі замовлення на продаж». 

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

Переходимо в Налаштування – По зовнішній події та натискаємо кнопку «Створити». 

В поле «Назва» вводимо «Рядки замовлення».

Перемикач «Додати URL-адресу» не активуємо так як нас не цікавить посилання на кожен окремий рядок замовлення. 

В полі «Модель» обираємо «Рядок замовлення на продаж».

В полі «Тригер» встановлюємо «По зовнішній події», тому що інформацію ми будемо запитувати після натискання кнопки в чат-боті. 

Для того, щоб кожен рядок замовлення мав свій унікальний номер в повідомлення в розділі «Додайте серійний номер до рядка повідомлення» вмикаємо перемикач «генерувати номер для рядка повідомлення»:

За допомогою конструктору повідомлень формуємо структуру відповіді, яка буде відображуватися кінцевому користувачу наступним чином: 


7.5.3. Сповіщення для створення запиту.

Розглянемо другий варіант створення сповіщення на запит. Наприклад, при виборі кнопки «Всі проекти» користувачу необхідно відобразити список всіх його проектів та надати дивитися список всіх задач по проектам. 

Щоб створити нове сповіщення необхідно натиснути кнопку «Створити».

Відкривається вікно створення нового сповіщення.

В полі «Назва» вводимо назву нашого сповіщення, наприклад, «Всі проекти». 

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

Перемикач «Додавання URl» дозволяє в текст сповіщення додати посилання, по якому користувач зможе перейти на потрібну сторінку сайту. Вмикаємо перемикач «Додавання URl», щоб для кожного замовлення додавалось посилання. 

Поле «Модель» дозволяє вказати з якою саме моделлю даних працює це сповіщення. 

В випадаючому списку моделей відображається сім перших значень з довідника. Щоб продовжити пошук, можна натиснути кнопку «Шукати ще…» або розпочати вводити назву моделі і в списку відобразяться всі відповідні фільтру значення. 


Обираємо значення «Проекти».

Поле «Тригер» - випадаючий список, який дозволяє обрати на зміну яких саме полів реагує і виконується сповіщення користувача. 

В системі налаштовані наступні види тригерів: 

  • При створені;
  • При зміні;
  • При створені і зміні;
  • При видалені;
  • На основі часових умов;
  • По зовнішній події.

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

Так як наше сповіщення надає відповідь, а саме список проектів на запит клієнта в боті, то в полі «Тригер» установлюємо значення «По зовнішній події». 

По замовчуванню в полі «Match all records» стоїть фільтр, який повертає всі записи системи. Щоб налаштувати інші значення необхідно натиснути на кнопку «Редагувати домен». В нашому прикладі нам потрібно вивести всі значення, тому ми не будемо змінювати фільтр. Як налаштовувати фільтр можна переглянути в розділі «9.10.1 Сповіщення для створення повідомлень.».


Поле «Type Message» дозволяє обрати яким саме чином буде будуватися відповідь абоненту в чат-боті:

  • Raw Message – текстовий рядок; 
  • Construct Message – конструктор значень полів моделі даних. 

Якщо нам потрібно клієнту надіслати інформаційне повідомлення, наприклад, про зміну статусу його замовлення, то має сенс використати тип повідомлення «Raw Message». 

Якщо клієнту необхідно надати структуровану відповідь по кожному елементу запита, наприклад, деталі по кожному проекту, то використовується конструктор повідомлень «Construct Message».

Щоб додати новий рядок, необхідно натиснути кнопку «Додати рядок»:

8. Налаштування кнопок сповіщення.

Кнопка -  додатковий елемент сповіщення, який дозволяє  розширити можливості взаємодії чат-боту з клієнтами. В сповіщені доступно для налаштування 14 типів кнопок. 

  1. Приклад Python коду – дозволяє вирішувати нетривіальні задачі за допомогою виконання Python коду
  2. Створити новий запис – дозволяє створювати новий запис в системі;
  3. Оновити запис – виконується оновлення вже існуючого запису по вказаним полям;
  4. Виконати кілька дій;
  5. Відправити пошту;
  6. Додати підписників;
  7. Створити наступну активність;
  8. Надіслати SMS-текст повідомлення;
  9. Надіслати сповіщення – перевести діалог на сповіщення чат-боту;
  10. Крок вперед – перевести діалог на крок чат-боту;
  11. URL – дозволяє по кнопці перейти за посиланням;
  12. Динамічна кнопка – дозволяє реалізовувати порівняння обраного користувачем значення із значенням в системі і в залежності від результатів порівняння виконувати ті чи інші дії  та переходи;
  13. Продажа – здійснює створення замовлення на продаж;
  14. Опитування - дозволяє використовувати функціональність модуля Опитування для створення складних нових записів в одній чи декількох моделях системи.

Більш детально використання кожного типу кнопок розглянемо на прикладах вирішення різних задач.

8.1. Загальна функціональність. 

Поле «Назва»  - назва кнопки, яка буде відображатись в інтерфейсі месенджера.  Поле може бути лише текстом або складовою назвою, яка складається з тексту та значення поля діалогу, наприклад,  назва: «Купити {{ object.Назва_поля }} шт.»

Перемикач «Активний» - переводить кнопку в неактивний режим. Використовується, якщо налаштування кнопки потрібно залишити в системі, але тимчасово кнопку прибрати з відображення в сповіщенні. 

Поле «Model»  - відображає модель сповіщення, для якого створюється кнопка.

Поле «Модель» - в даному полі задається модель, з якою буде працювати кнопка, і з якої ми будемо обирати дані.

Поле «Модель» -  технічна назва обраної моделі, з якою буде працювати кнопка. 

Кожна з кнопок містить вкладки:

Вкладка «Дані зворотного виклику».

Вкладка «Дані зворотного виклику» - відображається id  створеної кнопки

Вкладка «Сповіщення при успішній операції»

Вкладка «Сповіщення при успішній операції» - конструктор повідомлення, яке буде відображатись користувачеві, при успішному виконанні дій, які викликає кнопка. 

Щоб створити запис, натискаємо кнопку «Додати рядок». 

Конструктор створення повідомлення працює  по тому самому принципу, що і конструктор повідомлень в сповіщенні.  Більш детально можна переглянути в пункті 8.7.1

Вкладка «Сповіщення при не успішній операції»

Вкладка «Сповіщення при не успішній операції» - конструктор повідомлення, яке буде відображатись користувачеві, якщо щось піде не так і не можливо успішно виконати дії, які викликає кнопка. 

Щоб створити запис, натискаємо кнопку «Додати рядок». 

Конструктор створення повідомлення працює  по тому самому принципу, що і конструктор повідомлень в сповіщенні.  Більш детально можна переглянути в пункті 8.7.1

Вкладка «Довідка»

Вкладка «Довідка» -містить пояснення- підказки стосовно формату заповнення полів та написання Python коду: 

8.2. Приклад Python коду

Задача: 

Необхідно надати партнеру можливість вивантажувати звіти в Excel форматі після натискання відповідної кнопки на сповіщенні.  В чат-боті готова реалізаціє має виглядати наступним чином:

Після натискання на кнопку «Звіти» користувач отримує текстове повідомлення, з кнопками культур, по яким хоче отримати звіт. Після натискання на кнопку культури, користувачу надсилається звіт файлом в форматі xlsx.

Для вирішення цієї задачі, нам необхідно звернутись до модуля Refreshable Excel report, який генерує звіти. Забрати інформацію і надіслати готовий файл в телеграм. Використаємо Python код для вирішення поставленої зхадачі.

Налаштування кнопки:

Поле «Стан»  - задається тип роботи  з кнопкою. В даному випадку обираємо «Python код»

Вкладка «Код  Python» - поле для написання Python коду.

Приклад коду: 

report = env['kw.refreshable.report'].sudo().search([('id', '=', 1)]) -  звертаємось до шаблону звіту з id = 1 в моделі kw.refreshable.report.

report.refreshable_report_prepare_xls(sheet_name='page1', criteria_xls="['&', '&', '&', ['state','!=',False],'|',['state', '=', 'uploaded'], ['state', '=', 'uploaded_in_stock'], ['product_id', '=', 9], ['partner_id', '=', {}]]".format(conversation.partner_id.id))

conversation.trade_telegram_send_file(tempfile_name=report.refreshable_report_prepare_xls_file_name, file_name='Corn.xlsx')


8.3. Створити новий запис

Задача

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

В чат-боті готова реалізаціє має виглядати наступним чином:

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

Налаштування кнопки:

Поле «Стан»  - задається тип роботи  з кнопкою. В даному випадку обираємо «Створити новий запис».

Поле «Цільова модель» - обирається модель, в якій буде створюватись новий запис.

Поле «Поле зв’язку» - використовується і заповнюється в тому випадку, якщо модель сповіщення відрізняється від цільової моделі. Обирається поле, в якому указується зв’язок двох моделей між собою. 

Вкладка «Дані для запису» - конструктор для створення нового запису в системі. 

При створені нового запису в полі «Write Type» обираємо значення «Value». Таким чином ми указуємо, що бажаємо створити запис з певними значеннями.  

Якщо необхідно, щоб певні значення полів з батьківської моделі були продубльовані в новому записі цільової моделі,  то в полі «Record Fields» вказуються всі поля, значення яких має бути продубльоване в новий запис.  Це може використовуватись, наприклад, якщо необхідно створити новий запис в рядках замовлення на продаж з дублювавнням загальної інформації  по замовленню з моделі Замовлення на продаж. 

Якщо після створення нового запису в системі необхідно надіслати користувачу сповіщення, яке переведе розмову на іншу гілку, то необхідно включити чекбокс «Send New Record» та вказати сповіщення в полі «New Record Notification»:

В конструкторі додавання нового запису  в полі «Поле» обираємо поле цільової моделі, яке має бути обов’язково заповнене при створені нового запису. 

В полі «Тип обчислення» обираємо одне із  3 значень: 

  • Значення –  в поле буде записане значення з  колонки «Значення», яке задається користувачем як константа.
  • Посилання -  в поле буде записане посилання на значення поля з довідника.  Частіше за все використовується для полів типу selection,  де має передаватись id запису замість його текстового значення.
  • Вираз Python – дозволяє передати будь-яке значення поля з батьківської моделі чи з діалогу для запису в цільову модель. В залежності від типу поля цільової моделі,  значення, яке необхідно записати передається одним із трьох способів: 
  • Пряме звернення до поля батьківської моделі в форматі record.Назва_поля. Наприклад, record.id record. date_from.
  • Якщо поле з батьківської моделі є пов’язаним з іншою моделю, то відбувається звернення до Id пов’язаної моделі в фоматі record.Назва_поля.id. 

Наприклад в моделі Замовлення на продаж у нас є поля Валюта і Партнер.  Партнер зберігається в моделі res.partner, а в моделі sale.order міститься поле partner_id, яке є пов’язаним полем з полем id в моделі res.partner. В такому випадку вираз виглядатиме як record.partner_id.id.

  • Вибрати будь-яке значення поля з запису діалогу, та передати в новий запис в форматі conversation.get_record().Назва_поля. Наприклад, conversation.get_record().price

Приклад заповненням конструктора для створення нового запису:

8.4. Оновити запис

Функціональність кнопок дозволяє здійснювати 2 типи оновлення значення полів моделі:

  • Шляхом введення нового значення з клавіатури месенджера.
  • Задати певне значення поля через конструктор.

 

Налаштування кнопки:

Поле «Стан»  - задається тип роботи  з кнопкою. В даному випадку обираємо «Оновити запис».

Поле «Тип запису» - обираємо «Telegram Input»,  якщо бажаємо надати користувачуч можливість вводити значення. Обираємо «Значення»,  якщо бажаємо самостійно сформувати масив оновлених значень. Виколистовуватись може або оновлення користувачем через месенджер, або налаштування значень для оновлення адміністратором.  

Якщо  тип запису «Telegram Input»,  то в полі «Поле запису» обираємо поле цільовох моделі, дані якого мають оновлюватись при натисканні кнопки. 

Якщо після оновлення запису необхідно користувачеві відобразити поточне сповіщення з вже оновленими даними, то вмикаємо перемикач «Resend Notification»,  інакше залишаємо його вимкненим.

Якщо тип запису «Значення», то в конструкторі додаєм новий рядок.  В полі «Поле» обираємо поле моделі, яке має бути обов’язково заповнене при створені нового запису. 

В полі «Тип обчислення» обираємо одне із  3 значень: 

  • Значення –  в поле буде записане значення з  колонки «Значення», яке задається користувачем як константа.
  • Посилання -  в поле буде записане посилання на значення поля з довідника.  Частіше за все використовується для полів типу selection,  де має передаватись id запису замість його текстового значення.
  • Вираз Python – дозволяє передати будь-яке значення поля з батьківської моделі чи з діалогу для запису в цільову модель. В залежності від типу поля цільової моделі,  значення, яке необхідно записати передається одним із трьох способів: 
  • Пряме звернення до поля батьківської моделі в форматі record.Назва_поля. Наприклад, record.id record. date_from.
  • Якщо поле з батьківської моделі є пов’язаним з іншою моделю, то відбувається звернення до Id пов’язаної моделі в фоматі record.Назва_поля.id. 

Наприклад в моделі Замовлення на продаж у нас є поля Валюта і Партнер.  Партнер зберігається в моделі res.partner, а в моделі sale.order міститься поле partner_id, яке є пов’язаним полем з полем id в моделі res.partner. В такому випадку вираз виглядатиме як record.partner_id.id.

  • Вибрати будь-яке значення поля з запису діалогу, та передати в новий запис в форматі conversation.get_record().Назва_поля. Наприклад, conversation.get_record().price

Приклад налаштувань:


8.5.Виконати кілька дій

8.6. Відправити пошту

8.7. Додати підписників

8.8. Створити наступну активність

8.9. Надіслати SMS-текст повідомлення



8.10. Надіслати сповіщення

Кнопка типу «Надіслати сповіщення»  дозволяє вибудовувати послідовний ланцюг спілкування з користувачем не тільки  з переходом від кроку до кроку, а і від сповіщення до сповіщення.  

Задача

У нас є список заявок на доставку.  До кожної заявки прив’язаний автомобіль доставки.  Ми хочемо відобразити менеджеру список його заявок на доставку і для кожної доставки вивести кнопку «Корегувати авто». При натискані на цю кнопку має відобразитись детальна інформація по авто, яке заявлене з кнопками зміни певної інформації. 

Інформацію  по списку заявок на доставку ми вибираємо в сповіщення «Заявки на доставку»,  інформаці.  По авто з моделі Авто обираємо в сповіщення «Корегування авто».  

Задача об’єднати ці авто і дати можливість менеджеру послідовно переглядати інформацію.

Налаштування кнопки:

Поле «Стан»  - задається тип роботи  з кнопкою. В даному випадку обираємо «Надіслати сповіщення».

В полі «Тип сповіщення, що надсилається»  обирається тип «Запис». 

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

В полі «Тип пошуку» задається значення зв’язку між моделями - «In Parent» або «In Children»,  яке визначає  тип зв’язку між моделями сповіщення. Що це значить простими словами?  Наприклад, у нас є батьківська модель Замовлення на продаж і дочірня до неї модель Рядки замовлення. В батьківській моделі є поле Рядок замовлення, яке пов’язує цю таблицю з моделлю Рядки замовлення.  Якщо ми працюємо у сповіщенні Замовлення на продаж і звертаємось до сповіщення Рядки замовлення, то це буде звернення від батьківської моделі до ,  звернення зверху вниз.  В такому випадку ми оберемо тип пошуку «In Children» і в полі «Дочірнє поле» вкажемо поле зв’язку між моделями з моделі Рядки замовлення. Якщо ж ми працюємо навпаки в дочірній моделі Рядки замовлення і нам необхідно перейти до батьківської моделі,  тобто піднятись на рівень вгору, то ти вказуємо тип пошуку «In Parent» і в полі «Дочірнє поле» вкажемо поле зв’язку між моделями з моделі Замовлення на продаж.

Поле «Дочірня модель»  та «Назва сповіщення моделі» заповнюються автоматично після вибору сповіщення в полі «Сповіщення про відправку». 

Поле «Дочірнє поле» - обирається поле зв’язку між моделями сповіщень в залежності від указаного типу пошуку.  Залишається порожнім, якщо  обидва сповіщення працюють в рамках однієї моделі даних.

Поле «Сповіщення про відправку»  - сповіщення, на яке відбувається перехід після натискання кнопки.

Приклад заповнення:

8.11. Крок вперед

Тип кнопки «Крок вперед» надає можливість в будь-який момент кроку повернутись від переходів в сповіщеннях  до ланцюга кроків налаштованого в боті. Наприклад, ми починаєм роботу в чат-боті через певну послідовність кроків Привітання –Знайомство – Розгалуження дій користувача. Потім  переходимо до списку всіх замовлень користувача використовуючи функціональність  сповіщення по зовнішній події.  Після перегляду замовлень ми бажаємо повернути користувача до наших кроків і, наприклад, направити його до оператора. 

Для цього в сповіщені створюємо кнопку «З’єднати з оператором». 

Поле «Стан»  - задається тип роботи  з кнопкою. В даному випадку обираємо «Крок вперед».

В полі «Крок вперед» обираємо крок, на який має відбуватись перехід. 

Налаштування виглядає наступним чином: 

8.12. URL

Задача

Необхідно вивести список товарів доступних для замовлення. Після опису кожного товару відобразити кнопку переходу на сайт, де відображається деталізований опис товару.  Посилання на товар зберігається в моделі Товари в полі Посилання на товар.

Налаштування кнопки:

Поле «Стан»  - задається тип роботи  з кнопкою. В даному випадку обираємо «URL».

В полі «Поле URL» вказуємо поле, в якому зберігається посилання.  

Налаштування виглядає наступним чином: 

8.13. Динамічна кнопка

Динамічна кнопка – кнопка, за допомогою якої можна реалізувати порівняння значення поля моделі з значенням константи. Або, якщо необхідно здійснити порівняння певного значення поля моделі, що використовується у сповіщенні,  з значенням іншого поля цієї самої моделі або дочірньої до неї моделі і потім в залежності від результату порівняння виконати ті чи інші дії, то використовуємо тип кнопки «Динамічна кнопка». 

Більш детально розглянемо на прикладі.

Задача

Ми бажаємо відобразити  клієнту список наших тендерних заявок на покупку зерна.  Кожна заявка містить поле «До покриття кампанії». В цьому полі зберігається кількість доступна для заявки клієнтом. Для кожного сповіщення сформований список цін і кількості, яку компанія готова закупити.  Список цін зберігається в модулі Цінова конфігурація. В моделі  заявок є моле Цінова конфігурація, яке я пов’язаним з моделлю Цінова конфігурація.

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

Налаштування кнопки:

В полі «Стан» обираємо тип кнопки «Динамічна кнопка».

Налаштування здійснюється на двох вкладках: «Надіслати сповіщення» та «Дії».  У вкладці «Надіслати сповіщення» налаштовуємо формулу порівняння даних.  У вкладці «Дії» налаштовуються варіанти переходів в залежності від результату перевірки. 

Вкладка «Надіслати сповіщення».

В полі «Поле» вказуємо поле, в якому зберігається значення, яке ми будемо порівнювати.  В даному прикладі це поле Цінова конфігурація з моделі заявок. Значення цього пов’язаного поля буде відображено на кнопках і його буде обирати користувач.

Поле «Inverse Field» - поле зв’язку між моделями цін та заявок

Поле «Дія» - вказує яку дію ми бажаємо виконати. Обираємо значення «Порівняння». 

Поле «Назва моделі динамічної кнопки» - відображає яка модель використовується для реалізації функціональності кнопки.

Домен «Рівень всіх записів» - дозволяє додати фільтр, щоб виконати дію порівняння не для всіх записів, а для певної групи записів.

Поле «Тип результату» - містить два варіанти: значення або поле. 

Поле «Поле запису».  Якщо в полі «Тип результату» обрано «значення», то в поле «Значення» вводиться значення з яким буде порівнюватись значення поля «Поле». Якщо в полі «Тип результату» обрано «Поле», то в полі «Поле запису» обирається поле з моделі сповіщення, значення якого буде порівнюватись з значенням поля «Поле». В нашому прикладі це буде поле «До покриття кампанії».

Поле «Дія» - містить список дозволених дій порівняння: дорівнює,  не дорівнює,  більше,  більше або дорівнює, менше, менше або дорівнює:

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

Поле «Текст результату порівняння» - містить текст, який буде відображатись користувачеві, при неуспішній операції порівняння. Наприклад: Обрана вами кількість перевищує  доступну до продажу.

Поле «Назва кнопки» - якщо потрібно, щоб назва кнопки містила не тільки текстове значення, та і значення полів порівняння, то в цьому полі задається вираз назви кнопку.  Наприклад, від {{object.count}}т - {{object.price}} $.

Приклад налаштування:

Вкладка «Дії». 

На вкладці «Дії» натиснути кнопку «Додати рядок».

В полі «Модель»  - відображається назва моделі, з якою працюємо в сповіщенні.

Домен «Рівень всіх записів» - дозволяє додати фільтр, щоб виконати дію для певної групи записів.

Поле «Тип дії» - вказує, коли має виконуватись дія: до виконання порівняння чи після виконання порівняння. 

Поле «Тип кроку» - вказує, куди переходить користувач після виконання дії: 

  • Крок;
  • Сповіщення ;
  • Виконати Pythom Code.

Поле «Тип результату дії»  - при якому результаті порівняння виконується створена дія: 

Будь-який – не залежно від результату порівняння виконати перехід на наступний крок в боті;

Успішний – при успішному порівнянні полів виконати перехід на наступний крок в боті;

Не успішний - при не успішному порівнянні полів виконати перехід на наступний крок в боті.

Поле «Успішний крок» - крок чи сповіщення, куди переходить бот , після виконання вказаних дій. 

Приклад налаштування:

Список дій:

Тип переходу «Виконати Pythom Code»:

Тип переходу «Сповіщення»:

Тип переходу «Крок»: 


8.14. Продажа

8.15. Опитування

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

В полі «Стан» обираємо тип кнопки «Опитування».

В полі «Опитування» - обираємо з списку існуючих в системі опитувань необхідне опитування, яке має пройти користувач.

Поле «Дочірнє поле» - якщо модель опитування є пов’язаною моделлю з моделлю сповіщення, то в полі вказується поле зв’язку між моделями. 

Поле «Модель сутності» - відображає назву моделі опитування.

Поле «Повідомлення та опитування» - містить текст повідомлення, яке ми покажемо користувачеві після закінчення опитування. 

Перемикач «Кнопка «Надіслати, завершити опитування».» - якщо увімкнений, то відображається кнопка завершення сповіщення. Якщо вимкнено, то сповіщення завершується автоматично після останнього питання.

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

Поле «Наступне сповіщення» - в залежності від вибору типу кроку повернення відображає список доступних до переходу кроків чи сповіщень.

Приклад налаштування: