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

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

Схема соединения бота с экземпляром 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"
    }
    }
  2. По ID чата на экземпляре проверяется наличие записи с привязкой пользователя и чата в таблице Связи чатов Telegram и пользователей (itsm_telegram_chat_bindings_with_users) table.

    • Если соответсвующая запись есть, то бот работает дальше по скрипту.
  3. Если записи нет, то в Telegram появляется кнопка Share your phone number, после нажатия на которую на конечную точку приходит запрос с ключом contact и phone_number По номеру телефона в базе данных находится запись пользователя, после создается запись в таблице Связи чатов Telegram и пользователей (itsm_telegram_chat_bindings_with_users).

примечание

Если на экземпляре не удалось найти пользователя по номеру телефона, указанному в Telegram, бот выдаст следующее сообщение:

Номер не зарегистрирован в системе. Авторизуйтесь с другого номера или свяжитесь со службой поддержки {почта поддержки}

Если учетная запись пользователя неактивна или заблокирована, бот выдаст следующее сообщение:

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