Блог

Чат-бот 1С для Telegram

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

API telegram має багато функцій, він постійно розвивається. Розглянемо тільки деякі можливості роботи з ботами на прикладах деяких функцій.

1. Створення боту Telegram

Перше, що треба зробити - це створити бот для якого будемо розробляти функціонал. В телеграм для цього є окремий бот @BotFather. Додаєте його в свої контакти і в чаті пишете команду “/start”. Він виведе список всіх доступних команд з описами. Для створення боту є команда: 

Далі спілкуємось з ботом і пошагово заповнюємо дані. Спочатку вводимо унікальну назву боту. Якщо ім'я вільне отримаємо повідомлення та унікальний токен який нам буде потрібний для роботи через АПІ.

Додаємо бот в контакти і можемо з ним працювати.

2. Підключення до серверу telegram через api.

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

Більш цікавий варіант - це розгорнути власний веб сервер і тоді телеграм буде сам надсилати нам нові повідомлення. Веб сервер обов'язково повинен працювати в захищеному режимі з валідними сертифікатами. Для надсилання повідомлень, нам треба в телеграм передати УРЛ на який він буде це робити.

Для початку створемо її обробку. Створюємо новий HTTP сервіс в 1С та модуль обробки POST запитів. В процедурі обработки запитів в якій пишемо наш код обробки:

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

де server – це доменне ім’я Вашего серверу, baza1c – ім’я бази вказане при публікації. І код передачі:

де Токен – це Ваш токен отриманий при реєстрації Вашого боту.

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

3. Отримання нових повідомлень з telegram в 1С.

Формат отримання нових пвідомлень простий і зрозумілий. Пишемо обробку отримання цих повідомлень.

 

4. Відправлення повідомлень з 1С в telegram

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

 

5. Вставка в повідомлення кнопок і отримання результату їх натиснення.

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

Для того, щоб відправити кнопки в чат треба до повідомлення додати ще параметр “reply_markup” і опис кнопок у форматі json. Наприклад, робимо вибір з декількох варіантів. Готуємо масив цих значень і формуємо з них json.

Додаємо до повідомлення: 

Коли в чаті користувач натисне кнопку ми отримаємо те значення яке передали в параметрі “callback_data”.

В нашій функції, на яку ми отримуємо нові повідомлення, серед  параметрів буде ознака натиснутої кнопки:

 

6. Вставка лінків в повідомлення

Бувають ситуації коли треба щоб на натиснену кнопку відривався, наприклад, сайт компанії.

Такі кнопки відрізняються від звичайних кнопок тільки одним параметром. Для вичайних кнопок ми передавали так:

А для кнопок з посиланнями другий параметр міняємо на посилання на сайт.

Можливостей у API Telegram значно більше, але для розуміння механізму цього достатньо.