Перейти к основному содержимому
Версия: 1.12.2

Соединение с ботом

Схема соединения бота с экземпляром SimpleOne:

  1. Для создания Telegram-бота, администратор системы отправляет команду в Telegram @BotFather. После успешного создания бота, генерируется токен бота.
  2. Администратор создает заранее конечную точку в таблице Действия API. При подключении экземпляра SimpleOne к боту на соответствующей странице используется сгенерированный ранее токен бота и задается конечная точка.
  3. После сохранения, отправляется запрос в Telegram-бот с методом setWebhook для установки соединения. В запросе передается URL конечной точки.

Аутентификация пользователей


Алгоритм подключения пользователей к Telegram-боту выглядит следующим образом:

  1. Пользователь пишет Telegram-боту, на конечную точку приходит запрос.
Пример тела ответа
{"update_id":301617650,
"message":{
"message_id":34235,
"from":{
"id":1344171102,
"is_bot":false,
"first_name":"John",
"last_name":"Doe",
"username":"john.doe",
"language_code":"en"
},
"chat":{
"id":1322171102,
"first_name":"John",
"last_name":"Doe",
"username":"john.doe",
"type":"private"
},
"date":1676130018,
"text":start"
}
}
  1. По ID чата на экземпляре проверяется наличие записи с привязкой пользователя и чата в таблице Связи чатов Telegram и пользователей (itsm_telegram_chat_bindings_with_users) table.
    • Если соответсвующая запись есть, то бот работает дальше по скрипту.
  2. Если записи нет, то в Telegram появляется кнопка Share your phone number, после нажатия на которую на конечную точку приходит запрос с ключом contact и phone_number По номеру телефона в базе данных находится запись пользователя, после создается запись в таблице Связи чатов Telegram и пользователей (itsm_telegram_chat_bindings_with_users).
примечание

Если на экземпляре не удалось найти пользователя по номеру телефона, указанному в Telegram, бот выдаст следующее сообщение: Номер не зарегистрирован в системе. Авторизуйтесь с другого номера или свяжитесь со службой поддержки {почта поддержки}

Если учетная запись пользователя неактивна или заблокирована, бот выдаст следующее сообщение: Учетная запись не активна. Свяжитесь со службой поддержки {почта поддержки}