Відправка сповіщень в Telegram
ЗмістЗагальна інформація#1. Налаштування в Telegram#2. Створення WebhookДодаткова інформація
Загальна інформація
За допомогою вихідного Webhook можна налаштувати прихід сповіщень в Telegram при створенні Угоди / Завдання / Ліда / Клієнта, при переході на етап, при зміні відповідального і тому подібне.
Щоб налаштувати сповіщення потрібно виконати 2 кроки:
- Створити чат-бот в Telegram та отримати додаткові дані
- Налаштувати тригер в KeepinCRM
#1. Налаштування в Telegram
#1.1 Потрібно створити чат-бот та отримати API токен.
#1.2 Написати працівнику який буде отримувати сповіщення в чат-бот хоча б 2 рази й далі перейти по URL (вказати в URL свій API Токен, який буде отримано після успішного створення чат-боту): https://api.telegram.org/botAPI_ТОКЕН/getUpdates
знайти повідомлення потрібного працівника якому налаштовується сповіщення та скопіювати його ID чату
Примітка:
Якщо при переході по URL видається помилка: {"ok":false,"error_code":409,"description":"Conflict: can't use getUpdates method while webhook is active; use deleteWebhook to delete the webhook first"} це означає, що чат-бот вже приєднано до певної системи, тому можливі 2 варіанти вирішення проблеми: створити новий чат-бот тільки для сповіщень, отримати ID чату від системи до якої чат-бот приєднано (якщо вони це надають).
За результатами цих дій, у Вас повинні бути 2 параметри:
- API токен
- ID чату
#2. Створення Webhook
Щоб налаштувати відправку сповіщень створюється тригер - Webhook, в якому потрібно змінювати тільки 3 параметри (виділено червоним), все інше налаштовується чітко як на фото нижче:
- Таблиця з даними - Угоди / Контрагенти / Завдання
- Дія - Webhook
- URL - https://api.telegram.org/botAPIТОКЕН/sendMessage?chat_id=IDЧАТУ
- Метод відправки - POST (або інший)
- Успішний статус запиту - 200
- Content-Type - application/json (або інші)
- Параметри запиту (Params):
- Ключ text і в значення додається інформація, яка повинна приходити в сповіщенні з потрібними змінними (декілька прикладів описано нижче). Також можна додати візуальне форматування, документація Telegram.
- Ключ parse_mode і в значення додається html
- Тіло запиту (Body) - Не використовується, залишити стандартне {}
- Умова виконання - вказується необхідна
- created_at - при створенні угоди / контрагента / завдання
- stage.name == 'Відправлено' - при переході на етап відправлено
- та інші
Приклад значення #1
Передача назви угоди, суми та інформації про ліда / клієнта:
<b>Нове замовлення:</b> {{title}} <b>Сума:</b> {{total}} <b>Клієнт:</b> {{client.company}} {{client.phone}} {{client.email}}
Важливо:
- Якщо потрібно створити сповіщення кожному працівнику, то це різні тригери з різними ID чату вкінці URL (APIТОКЕН змінювати не треба, оскільки використовується один чат-бот). Тобто треба створити сповіщення для 3-х користувачів, значить це 3 тригери з різними:
- ID вкінці url
- Умовами виконання
- В умові виконання для кожного працівника потрібно ставити його ID:
created_at and user_id == 1
, щоб сповіщення приходили в Telegram тим хто відповідальний за угоду - В значенні можна використовувати додаткові змінні, в прикладі тільки основні
- Щоб додати гіперпосилання на угоду копіюєте повне url з браузера та підставляєте змінну {{id}} і додаєте в значення до ключа text (наприклад вкінці тексту сповіщення):
- <a>https://subdomain.keepincrm.com/#/app/agreements/{{id}}</a>
Приклад значення #2
Передача назви завдання, хто його створив та коментаря:
<b>Нове завдання:</b> {{title}} від {{creator.name}} <b>Коментар:</b> {{comment}}
Важливо:
- Якщо потрібно створити сповіщення кожному працівнику, то це різні тригери з різними ID чату вкінці URL (APIТОКЕН змінювати не треба, оскільки використовується один чат-бот). Тобто треба створити сповіщення для 3-х користувачів, значить це 3 тригери з різними:
- ID вкінці url
- Умовами виконання
- В умові виконання для кожного працівника потрібно ставити його ID:
created_at and user_id == 1
, щоб сповіщення приходили в Telegram тим хто відповідальний за завдання - В значенні можна використовувати додаткові змінні, в прикладі тільки основні. Наприклад змінна по даті завершення завдання: {{deadline_at}}
- Щоб додати гіперпосилання на завдання копіюєте повне url з браузера та підставляєте змінну {{id}} і додаєте в значення до ключа text (наприклад вкінці тексту сповіщення):
- <a>https://subdomain.keepincrm.com/#/app/tasks/{{id}}</a>
Приклад значення #3
Передача назви ліда / клієнта, телефону, email, джерела:
<b>Новий лід/клієнт:</b> {{company}} {{phone}} {{email}}, <b>Джерело:</b> {{source.name}}
Важливо:
- Якщо потрібно створити сповіщення кожному працівнику, то це різні тригери з різними ID чату вкінці URL (APIТОКЕН змінювати не треба, оскільки використовується один чат-бот). Тобто треба створити сповіщення для 3-х користувачів, значить це 3 тригери з різними:
- ID вкінці url
- Умовами виконання
- В умові виконання для кожного працівника потрібно ставити його ID:
created_at and main_responsible_id == 1
, щоб сповіщення приходили в Telegram тим хто відповідальний за контрагента. Умова created_at тільки для прикладу, можна використовувати й інші:stage_name == 'Підготувати документи' and main_responsible_id == 1
- В значенні можна використовувати додаткові змінні, в прикладі тільки основні
- Щоб додати гіперпосилання на контрагента копіюєте повне url з браузера та підставляєте змінну {{id}} і додаєте в значення до ключа text (наприклад вкінці тексту сповіщення):
- <a>https://subdomain.keepincrm.com/#/app/clients/{{id}}</a>
Щоб в угоду додати відправку інформації по товарах, додається такий формат:
{{#jobs}}
{
"amount": {{amount}},
"title": "{{title}}",
"product_attributes":
{
"sku": "{{sku}}",
"title": "{{title}}",
"price": "{{price}}"
}
}
{{^_last}},{{/_last}}
{{/jobs}}
Якщо потрібно відправити тільки назви товарів через кому, то використовується такий формат:
{{#jobs}}{{product.title}}{{^_last}}, {{/_last}}{{/jobs}}
Додаткові умови:
- Якщо потрібно відправляти сповіщення як тільки завдання стає протерміноване, то в умові додається:
is_overdue == true
- Якщо потрібно відправляти сповіщення при створенні нової нотатки (таблиця Нотатки) в контрагентах, угодах, завданнях, то в умові додається:
created_at and note and trigger_id == NULL
Додаткова інформація
- Доступно на розширеному тарифі
- Відступи з нового рядка не можна додати, як варіант використовувати додаткові символи для розділення
- Працює для угод, контрагентів, завдань
- На фото тільки приклад можливих відправлень
- Використовується для сповіщення користувачів KeepinCRM, не для сповіщення клієнтів про їх угоди (замовлення)
- Якщо потрібно передати поля з картки клієнта і таблиця Угоди, то додається приставка client. Якщо обрана таблиця контрагенти, то цю приставку не треба
- Якщо потрібні дані з користувацьких полів, то обов'язково додається приставка custom_fields
- Сповіщення відправляти можна також і в групу де доданий чат-бот
- Якщо помилка в значенні, то виводяться відповідний текст в журналі
- Якщо помилка в ID чату, то виводиться відповідний текст в журналі
Оновлено 20.08.2024