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

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

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

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

image

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

  • Находим в поиске контактов бота @BotFather, в переводе буквально это "отец" ботов, с помощью него мы создадим нашего бота.
  • Нажимаем кнопку "Start" и начинаем отдавать команды боту
  • Первая команда - /newbot - создаем нового бота

Далее отец :) просит придумать нас имя для бота (будьте внимательны, нужно обязательно уникальное имя)

image

Следующее требование - это придумать "User name" для нашего бота, которое должно обязательно заканчиваться на "bot", и приводится пример

image

Если имена придуманы уникальные и все сделано правильно мы увидим следующее сообщение, которое содержит наш "token"

image

Теперь создаем групповой чат (New Group), называем например "Заявка с сайта" и добавляем в него нашего бота командой "/join @conv24_bot" (В вашем случае название бота естественно другое)

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

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

image

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

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

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

image

Ниже привожу код обработчика, обратите внимание, 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 .= "" . $key . "" . $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

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