Отправка заявок с сайта в Telegram

  • Блог
  • Отправка заявок с сайта в Telegram
image
image
image
Отправка заявок с сайта в Telegram

Для чего нужна отправка заявок в Telegram?

В наши дни очень трудно представить сайт, на котором не было бы формы обратной связи, это наиболее привычный способ обратится в Вашу компанию с вопросом, заказать товар или услугу. Благодаря API Telegram можно довольно просто и быстро настроить отправку этих данных в специальный чат Telegram. Работать с почтой менее удобно нежели с привычным мессенджером, заявки поступаю очень быстро и удобно.

Создаем бота и чат для заявок

  • Находим в поиске контактов бота @BotFather, в переводе буквально это "отец" ботов, с помощью него мы создадим нашего бота.
  • Нажимаем кнопку "Start" и начинаем отдавать команды боту
  • Первая команда - /newbot - создаем нового бота
  • Далее отец :) просит придумать нас имя для бота (будьте внимательны, нужно обязательно уникальное имя)
  • Следующее требование - это придумать "User name" для нашего бота, которое должно обязательно заканчиваться на "bot", и приводится пример
  • Если имена придуманы уникальные и все сделано правильно мы увидим следующее сообщение, которое содержит наш "token"
  • Теперь создаем групповой чат (New Group), называем например "Заявка с сайта" и добавляем в него нашего бота командой "/join @conv24_bot" (В вашем случае название бота естественно другое)
  • Далее необходимо нажать на название нашего бота (перейти в личную переписку) и нажать "Start", на этом подготовка Telegram временно закончена

Теперь переходим к созданию нашей формы обратной связи на самом сайте. Ниже представлен простейший пример которого достаточно для работы, стилизовать форму можно естественно как угодно.

  • Атрибут action ссылается на обработчик нашей формы (необходимо создать файл telegram.php)
  • Отправка формы осуществляется методом "POST"

Создаем обработчик нашей формы

Нам необходимо сначала записать все данные в переменные для удобства работы

Для получения $chat_id необходимо выполнить небольшую манипуляцию, в браузерной строке необходимо ввести следующий url: api.telegram.org/botХХХХХХ.../getUpdates заменив при этом символы ХХХХХХ... на полученный "token", в браузере отобразится вся нужная информация, в пункте "chat" находим наш id

Ниже привожу код обработчика, обратите внимание, Telegram внесен в реестр запрещенных сайтов на территории РФ, поэтому обращаться к HTTP API мы будем через PHP расширение "CURL" с использованием Proxy сервера

<? $token = 'jjsjdd:332MDJDKDDS-Ddkdsd__'; // Токен который мы получили при регистрации бота $chat_id = '-279210039'; // Массив с данными полученными из формы обратной связи $arr = [ "Имя клиента: " => trim(strip_tags($_POST['user_name'])), "Телефон клиента: " => trim(strip_tags($_POST['user_phone'])), "Email клиента: " => trim(strip_tags($_POST['user_email'])), ]; // Создаем строку со всеми данными от клиента для передачи API Telegram foreach ($arr as $key => $value) { $txt .= "<br>" . $key . "<br>" . $value . "%0A"; } $url = "https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}"; $proxy = "67.154.111.452:3128"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); // url на который осуществляется отправка // тестового запроса работает через https // поэтому нужно добавить флаги для работы с ssl curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0); // Подключение к прокси серверу curl_setopt($ch, CURLOPT_PROXY, $proxy); // если требуется авторизация // curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth); // отправка запроса curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_HEADER, 1); $curl_scraped_page = curl_exec($ch); curl_close($ch); // Конец обращения к Telegram API

Благодарю всех за внимание, если остались какие либо вопросы, задавайте на почту info@conversite.ru

Заказать звонок