Конкурс инструкций

Как отправлять заявки с лендинга прямо в Telegram

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

Создаём бота
Шаг 1
Находим @BotFather и жмем START

Отправлять заявки в чат будет бот. Поэтому первым шагом мы создадим
и настроим его.

Для создания бота в Telegram нам необходимо зарегистрировать его у бати ботов — @BotFather. Ищем его в поиске Telegram по нику @BotFather, открываем окно чата и жмем Start.

Регистрация бота

Вводим команду /newbot

После того, как вы нажали на START, появится список команд для работы
с вашими ботами. Нас интересует команда /newbot. Нажмите на неё в списке или введите в поле ввода и отправьте как сообщение.

Выбор имени и никнейма для бота, получение токена

Даём имя новому боту

После ввода команды /newbot, @BotFather попросит ввести имя для нашего бота. Имя — это то, что будет выводится в списке чатов.
Я выбрал имя Заявки с лендоса.

Далее @BotFather просит нас задать username для бота. Это тот самый ник,
по которому его можно будет найти в поиске. Причем батя просит, чтобы username заканчивался на bot. Например, TelegramBot или Telegram_bot.
Я выбрал ник @LendosOrder_bot.

Вводим username и получаем токен

После того, как мы отправили username, @BotFather сообщает, что бот успешно создан и выдает нам токен для доступа к боту по HTTP API. Он нам понадобится чуть позже.

Наш бот готов, переходим к следующему шагу.

Создаем чатик для заявок
Шаг 2

Создаём группу

Здесь всё просто.

1) Заходим в меню Telegram и создаем новую группу. Называем её
как душе угодно.

2) Добавляем в группу созданного ранее бота.

3) Переходим в бот и активируем его, нажав кнопку START.

Получаем chat_id

Чтобы получить chat_id, нужно вставить в адресную строку браузера ссылку такого вида:

https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates

где XXXXXXXXXXXXXXXXXXXXXXX — это токен, который дал @BotFather.

Получится примерно так:

https://api.telegram.org/bot1094153697:AAFiXXXX0hRDsxBij1lddKydKxSSsOg04/getUpdates

Откроется страница с данными, где нужно скопировать ID чата (с минусом). Сохраните его, он понадобится нам дальше.

Копируем chat_id
Форма на сайте
Шаг 3

В рамках инструкции не буду рассматривать сам процесс верстки. У меня есть форма, которая передает данные при помощи метода POST. В параметре action я указал php-обработчик с именем send.php (свой обработчик можете назвать как угодно).

<form class="form" method="post" action="/send.php"> <div class="form__item"> <input class="form__input" type="text" name="name" required> <label class="form__label">Ваше имя</label> </div> <div class="form__item"> <input class="form__input" type="text" name="phone" required> <label class="form__label">Номер телефона</label> </div> <input class="form__input btn" type="submit" value="Отправить"> <input type="hidden" name="act" value="order"> </form>

У каждого тэга input есть атрибут name. Эти атрибуты помогают собрать данные из формы и передать их в php-обработчик.

Вы можете сделать любую другую форму, с большим количеством полей и т.д.

С формой разобрались, переходим к финальному шагу!

Финалим
Шаг 4

Для отправки данных из формы боту, нужно написать обработчик. Я использовал обработчик на PHP, т.к. привык работать с ним.

Вот код моего обработчика (файл send.php):

<?php //В переменную $token нужно вставить токен, который нам прислал @botFather $token = "1094153697:AAFiLXXXXXLl0hRDsxBij1lddKydKxSSsOg04"; //Сюда вставляем chat_id $chat_id = "-40XXXX740"; //Определяем переменные для передачи данных из нашей формы if ($_POST['act'] == 'order') { $name = ($_POST['name']); $phone = ($_POST['phone']); //Собираем в массив то, что будет передаваться боту $arr = array( 'Имя:' => $name, 'Телефон:' => $phone ); //Настраиваем внешний вид сообщения в телеграме foreach($arr as $key => $value) { $txt .= "<b>".$key."</b> ".$value."%0A"; }; //Передаем данные боту $sendToTelegram = fopen("https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt}","r"); //Выводим сообщение об успешной отправке if ($sendToTelegram) { alert('Спасибо! Ваша заявка принята. Мы свяжемся с вами в ближайшее время.'); } //А здесь сообщение об ошибке при отправке else { alert('Что-то пошло не так. ПОпробуйте отправить форму ещё раз.'); } } ?>
  • $token — токен, который дал нам @BotFather;
  • $chat_id — ID чата, в который бот будет присылать заявки (его мы получили на втором шаге);
  • $name и $phone — переменные для обработки полей с атрибутами name и phone из нашей формы;

Всё! После выполнения этих действий форма с вашего сайта будет присылать заявки сразу в Telegram-чат.

Если что-то не получилось — пишите, помогу разобраться. Надеюсь что эта инструкция будет полезна:)

0
55 комментариев
Написать комментарий...
Тимур Тукаев
>>У меня есть форма, которая передает данные при помощи метода POST. В параметре action я указал php-обработчик с именем send.php (свой обработчик можете назвать как угодно).

Я гуманитарий, у меня нет формы с методом POST и своего личного обработчика)) я хочу лендос и бота, как мне быть?)))

Ответить
Развернуть ветку
QForm

Можете воспользоваться готовым решением, например https://ru.qform.io

Тут есть кратенькая инструкция по настройке экспорта данных с форм в Телеграм: https://ru.qform.io/forms/telegram-export

Сам конструктор полностью бесплатный, есть возможность адаптировать дизайн формы под сайт или работать без сайта, настраивать параллельно другие интеграции и т.д. Пользуйтесь, если ещё актуально ;)

Ответить
Развернуть ветку
Александр Лисов
Автор

Пример кода поможет?)

Ответить
Развернуть ветку
1 комментарий
Nikolay Safronov

Не может такого быть)

Ответить
Развернуть ветку
Отображаемое имя

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

Ответить
Развернуть ветку
1 комментарий

Комментарий удален модератором

Развернуть ветку
Алексей Медведев

Забанят. Должны. Эта статья есть на другом сайте. 

Ответить
Развернуть ветку
Виктор Давтян

Отвечаю из будущего: не забанили.

Ответить
Развернуть ветку
4 комментария
Роман М

Следует дополнить статью: чтобы работала вот это
https://api.telegram.org/botXXXXXXXXXXXXXXXXXXXXXXX/getUpdates
нужно, чтобы бот не был запущен.
Если у вас он уже запущен (/start) - вам нужно его замутить на время - свайп влево на телефоне.
И попробуйте снова - все должно получиться.

Ответить
Развернуть ветку
Евгений Германов

Спасибо тебе! Как раз споткнулся об это.

Ответить
Развернуть ветку
Семен Смирнов

Это все равно что 90% статьи описывать как завести аккаунт в гугле и 10% посвятить как отправлять почту

Ответить
Развернуть ветку
Arthur Katrushko

Спасибо автору. Я какраз искал такой способ сейвить лиды перед отправкой в ПП.

Ответить
Развернуть ветку
Артур Красномаков-Пауковский

На тильде делайте сайт и этого бота берите или тильдовского. Работали с срм, но не было уведомлений🤷🏻‍♂️ - пропустили Лид. Поэтому сделали телегу. 

Ответить
Развернуть ветку
Art

Вы втираете какую то дичь.
Отправляй лиды в crm, в телегу то зачем?

Ответить
Развернуть ветку
Александр Харитонов

Для быстрой обработки этой заявки во внерабочее время/не у ПК и т.п.

Ответить
Развернуть ветку
9 комментариев
Алексей Медведев

За crm обычно платить надо, а тут же ж на халяву!))) 

Ответить
Развернуть ветку
Михаил Яровой

Отличное решение! Я бы ещё больше обрадовался если вы, поделились решением по расширению в гугл рекламе google lead form ( форма для потенциальных клиентов ) с привязкой к телеграму. Бота я создал, токен получил, но на этапе url-вебхука встал и информации на сайтах снг я пока не нашёл, к сожалению... Классная тема! 

Ответить
Развернуть ветку
Danny Arty

Не подскажете, что нужно дописать в обработчик, если мне нужно отправлять данные в два телеграм чата? Во второй надо отправить только первые 3 цифры номера)

Ответить
Развернуть ветку
MaKSa Ten

Добрый день. Выбивает ошибку 400 Bad Request

Ответить
Развернуть ветку
edm dance

Здравствуйте. есть страница с 10 товарами. как сдлеать так чтоб отображалось какой именно товар купили?

Ответить
Развернуть ветку
Max Frol

Бот получает сообщения с формы, но в группу их не передает. Всё сделал пошагово как написано.

Ответить
Развернуть ветку
Юрій Турчак

Можно чтобы бот отображал заявки сразу для пару человек?

Ответить
Развернуть ветку
Artem Tutov

У меня периодически приходят пустые заявки в телеграмм бота. Хотя я пробовал отправить заявку без информации(это невозможно). Есть подозрение что это боты фейсбука при модерации проходят. Было у кого-нибудь такое?

Ответить
Развернуть ветку
Maxym Halimon

Привет, кто может помочь разобраться с проблемой? Я сделал все по инструкции, но каждый раз возникает ошибка отправки.
 

Ответить
Развернуть ветку
ALIAIDAR—GREAT LIONХАН

Почему оно не отправляет в телеграм, а просто открывает php файл на сайте

Ответить
Развернуть ветку
Том Трунов

Заявка приходит, но ее вижу только я. Другие участники группы не видят. В чем может быть проблема?

Ответить
Развернуть ветку
Том Трунов

Для тех, кто хочет что бы сообщения приходили всем участникам группы, задайте своему чату публичность - публичная. Задайте имя группы @namegroup
Далее наберите в браузере https://api.telegram.org/botХХХХХХХХХXXXXXXXXXX/sendMessage -d chat_id=@namegroup&text=my sample text
У вас в группу должно прийти сообщение
И отобразиться id чата в браузере, вот его подставьте в обработчик сообщений. После публичность можно убрать.

Ответить
Развернуть ветку
Вячеслав Емец

Скажите, а рhp нужно как то подключать к html? 

Ответить
Развернуть ветку
Фрилансер TJ

Привет!
сообщения отправляется в телеграм но alert не показывает благодарности 

Ответить
Развернуть ветку
Ярослав Романович

Добрый день. Смогли ездить проблему?

Ответить
Развернуть ветку
Надежда Евсикова

получаю пустой резалт
{"ok":true,"result":[]}

Ответить
Развернуть ветку
Ella Kudina

получаю пустой результат, что в этом случае делать?
{"ok":true,"result":[]}

Ответить
Развернуть ветку
Евгений Германов

Выше коммент на эту тему, останови бота /stop и повтори.

Ответить
Развернуть ветку
1 комментарий
Lond Treeforce

Если у кого НЕ работает то в настройках хостинга выберите PHP версии 7.0, в 8 версии многое поменяли!

Ответить
Развернуть ветку
Ярослав Романович

Форма работает. Но после выполнения дает ошибку,то есть не выводит текст об успешной отправке. Как лечить,подскажите!

Ответить
Развернуть ветку
Павел Макетов

Я сделал так:
//Выводим сообщение об успешной отправке
if ($sendToTelegram) {
echo "Ваша заявка принята, мы свяжемся с вами в ближайшее время!";
}

//А здесь сообщение об ошибке при отправке
else {
echo "Что-то пошло не так. Попробуйте отправить форму ещё раз. Ошибка отправки запроса: " . curl_error($curl);
}

Ответить
Развернуть ветку
Яков Тимофеев

Здравствуйте! Все сделал как написано. Отправляю форму, но не приходит сообщения. Делаю проверку в браузере пишу https://api.telegram.org/bot{$token}/sendMessage?chat_id={$chat_id}&parse_mode=html&text={$txt} Вставляю свой токен, и Чат ID Проверочный текст все приходит. А с формы не каких действий. За ранее спасибо

Ответить
Развернуть ветку
Олег Иванов

Как отправлять заявки и на почту и в телеграм?

Ответить
Развернуть ветку
Павел Макетов

Убрал минус из чат айди и все заработало:)

Ответить
Развернуть ветку
Костя Силинтин

Файл Send.php нужно создавать отдельно? или же это страница благодарности?

Ответить
Развернуть ветку
52 комментария
Раскрывать всегда