Как отправлять заявки с WordPress в Telegram

Автор:vkuzyomko

Как отправлять заявки с WordPress в Telegram

Краткий ответ: заявки с WordPress в Telegram можно отправлять через Telegram-бота, chat_id и серверный PHP-запрос к Telegram Bot API. Самый простой вариант — готовый плагин для Contact Form 7, WPForms или WooCommerce. Более надёжный вариант — отдельный мини-плагин WordPress, который сохраняет заявку, отправляет её в Telegram, пишет ошибки в лог и не показывает bot token во фронтенде.

Telegram удобно использовать как быстрый канал уведомлений для менеджера. Но лучше не делать его единственным местом хранения заявок. Правильная схема такая: заявка сохраняется в WordPress или CRM, email остаётся резервным каналом, а Telegram получает короткое уведомление для быстрой реакции.

Причина

Обычные заявки с WordPress чаще всего приходят на email. На практике email не всегда удобен: письма могут попадать в спам, задерживаться, теряться в почтовых фильтрах или оставаться незамеченными менеджером.

Telegram решает именно проблему скорости реакции. Менеджер получает уведомление сразу на телефон, видит имя, телефон, услугу, страницу заявки и может быстро связаться с клиентом.

  • заявки с формы приходят на почту слишком поздно;
  • email попадает в spam, junk или promotions;
  • менеджеры чаще смотрят Telegram, чем почту;
  • нужно отправлять заявки в общий чат отдела продаж;
  • нужно дублировать заявки из Contact Form 7 в Telegram;
  • нужно отправлять заявки из кастомной формы WordPress;
  • нужно получать уведомления о заказах WooCommerce;
  • нужно видеть UTM-метки, страницу заявки и источник лида;
  • нужно не терять заявки, если email временно не работает.

Если заявки вообще не доходят ни в почту, ни в Telegram, сначала проверьте общую цепочку формы: не приходят заявки с сайта WordPress. Если email работает, но нужен быстрый дубликат в мессенджер, тогда уже настраивается отправка в Telegram.

Какие есть способы отправки заявок в Telegram

Способ Когда подходит Риск
Готовый плагин Contact Form 7, WPForms, Elementor Form, простая форма Зависимость от обновлений плагина
Webhook/no-code сервис Нужно связать форму, Telegram, CRM, Google Sheets Зависимость от внешнего сервиса
Код в functions.php Быстрый тест на одном сайте Легко потерять код при смене темы
Отдельный мини-плагин Постоянная рабочая интеграция Нужно аккуратно написать и протестировать
Кастомная CRM-интеграция Нужны статусы, логи, UTM, повторные отправки Больше разработки, но надёжнее

Если заявки должны не только приходить в Telegram, но и попадать в воронку продаж, лучше сразу продумать интеграцию WordPress с CRM/API. Telegram в таком случае остаётся быстрым уведомлением, а CRM — основным хранилищем лидов.

Что нужно для отправки заявки в Telegram

Для базовой интеграции нужны три вещи: Telegram-бот, bot token и chat_id.

  • Telegram-бот — технический отправитель сообщений;
  • bot token — секретный ключ бота;
  • chat_id — ID пользователя, группы, супергруппы или канала, куда отправлять заявку;
  • форма WordPress — Contact Form 7, WPForms, Elementor Form или кастомная форма;
  • серверный PHP-код — безопасно отправляет данные в Telegram через wp_remote_post();
  • лог ошибок — помогает понять, почему заявка не ушла.

Куда можно отправлять заявки

  • в личный чат с ботом;
  • в Telegram-группу менеджеров;
  • в супергруппу;
  • в канал, если бот добавлен туда администратором;
  • в разные чаты в зависимости от формы или услуги.

Диагностика

Перед написанием кода нужно проверить, что Telegram-бот действительно может отправлять сообщения в нужный чат. Часто проблема не в WordPress, а в неправильном chat_id, токене или правах бота.

Что проверить сначала

  • бот создан через BotFather;
  • bot token скопирован полностью;
  • боту написали первое сообщение, если отправка идёт в личный чат;
  • бот добавлен в группу, если заявки должны идти в группу;
  • бот добавлен в канал как администратор, если заявки должны идти в канал;
  • chat_id получен именно для нужного чата;
  • хостинг не блокирует исходящие HTTPS-запросы;
  • на сайте работает wp_remote_post();
  • в debug.log нет PHP fatal error;
  • форма реально отправляется и передаёт нужные поля.

Типичные симптомы

Симптом Вероятная причина Что проверить
Форма отправилась, Telegram молчит Не вызвался hook формы или ошибка API debug.log, hook, ответ Telegram
Telegram возвращает 400 Неверный chat_id или формат сообщения chat_id, parse_mode, HTML-теги
Telegram возвращает 401 Неверный bot token Токен из BotFather
Telegram возвращает 403 Бот не имеет доступа к чату Бот в группе/канале, права, блокировка
Сообщение приходит без телефона Неверное имя поля формы name поля, mail-tags, posted_data
Форма стала долго отправляться Telegram API или внешний запрос тормозит timeout, логи, очередь
В сообщении видны HTML-теги Неверный parse_mode или неподдерживаемый HTML parse_mode, экранирование данных
После обновления плагина заявки пропали Изменился hook или настройки плагина changelog, настройки, debug.log

Нужно быстро решить проблему на сайте?

Если не хотите рисковать сайтом и тратить время на эксперименты, можно оставить заявку. Я посмотрю задачу и предложу аккуратное решение.

Оставить заявку

Решение

Надёжная отправка заявок в Telegram строится так: форма принимает данные, WordPress очищает поля, заявка сохраняется или логируется, затем сервер отправляет короткое сообщение в Telegram. Bot token хранится только на сервере.

Правильный порядок настройки

  • 1. Создать Telegram-бота. Получить bot token через BotFather.
  • 2. Получить chat_id. Для личного чата, группы или канала.
  • 3. Проверить ручную отправку. Убедиться, что бот может писать в нужный чат.
  • 4. Выбрать источник заявки. Contact Form 7, WPForms, Elementor Form, кастомная форма.
  • 5. Написать серверную функцию отправки. Использовать wp_remote_post().
  • 6. Очистить данные формы. sanitize_text_field(), sanitize_email(), sanitize_textarea_field().
  • 7. Экранировать текст для Telegram. Особенно при parse_mode HTML.
  • 8. Логировать ошибки. Сохранять код ответа и тело ошибки без секретного токена.
  • 9. Проверить тестовую заявку. Отправить с компьютера и телефона.
  • 10. Оставить email или CRM как резерв. Telegram не должен быть единственной копией заявки.

Что отправлять в Telegram

  • название формы;
  • имя клиента;
  • телефон;
  • email;
  • сообщение;
  • название услуги;
  • URL страницы, с которой пришла заявка;
  • UTM source, medium, campaign;
  • дата и время;
  • язык сайта, если сайт мультиязычный;
  • короткую ссылку на запись заявки в админке, если она сохраняется.

Что не стоит отправлять

  • пароли;
  • платёжные данные;
  • полные технические логи;
  • API-ключи;
  • секретные поля формы;
  • лишние персональные данные, которые менеджеру не нужны для обработки заявки.

Код

Важно: код ниже отправляет данные формы во внешний сервис Telegram. Не вставляйте bot token в JavaScript, HTML или публичный файл темы. Перед установкой на рабочий сайт сделайте бэкап и проверьте код на тестовой копии.

1. Хранение Telegram-настроек в wp-config.php

Куда вставлять: файл wp-config.php, перед строкой /* That’s all, stop editing! */.

define('SC_TELEGRAM_BOT_TOKEN', 'PASTE_YOUR_BOT_TOKEN_HERE');
define('SC_TELEGRAM_CHAT_ID', 'PASTE_YOUR_CHAT_ID_HERE');

2. Базовая функция отправки сообщения в Telegram

Куда вставлять: лучше в отдельный мини-плагин. Для теста можно временно вставить в functions.php дочерней темы.

<?php
if (!defined('ABSPATH')) {
    exit;
}

function sc_telegram_escape_html($text) {
    $text = (string) $text;

    return str_replace(
        array('&', '<', '>'),
        array('&amp;', '&lt;', '&gt;'),
        $text
    );
}

function sc_send_telegram_message($message) {
    if (!defined('SC_TELEGRAM_BOT_TOKEN') || !defined('SC_TELEGRAM_CHAT_ID')) {
        error_log('SC Telegram error: token or chat_id is missing.');
        return false;
    }

    $bot_token = SC_TELEGRAM_BOT_TOKEN;
    $chat_id = SC_TELEGRAM_CHAT_ID;

    if (empty($bot_token) || empty($chat_id) || empty($message)) {
        return false;
    }

    $api_url = 'https://api.telegram.org/bot' . $bot_token . '/sendMessage';

    $response = wp_remote_post($api_url, array(
        'timeout' => 15,
        'body' => array(
            'chat_id' => $chat_id,
            'text' => $message,
            'parse_mode' => 'HTML',
            'disable_web_page_preview' => true,
        ),
    ));

    if (is_wp_error($response)) {
        error_log('SC Telegram wp_remote_post error: ' . $response->get_error_message());
        return false;
    }

    $response_code = wp_remote_retrieve_response_code($response);
    $response_body = wp_remote_retrieve_body($response);

    if ($response_code !== 200) {
        error_log('SC Telegram response code: ' . $response_code);
        error_log('SC Telegram response body: ' . $response_body);
        return false;
    }

    return true;
}

3. Отправка заявки Contact Form 7 в Telegram

Куда вставлять: в тот же мини-плагин или временно в functions.php дочерней темы. Нужен активный Contact Form 7.

<?php
add_action('wpcf7_mail_sent', 'sc_send_cf7_lead_to_telegram');

function sc_send_cf7_lead_to_telegram($contact_form) {
    if (!function_exists('WPCF7_Submission')) {
        return;
    }

    $submission = WPCF7_Submission::get_instance();

    if (!$submission) {
        return;
    }

    $posted_data = $submission->get_posted_data();

    $name = isset($posted_data['your-name']) ? sanitize_text_field($posted_data['your-name']) : '';
    $phone = isset($posted_data['your-phone']) ? sanitize_text_field($posted_data['your-phone']) : '';
    $email = isset($posted_data['your-email']) ? sanitize_email($posted_data['your-email']) : '';
    $text = isset($posted_data['your-message']) ? sanitize_textarea_field($posted_data['your-message']) : '';

    $page_url = isset($_SERVER['HTTP_REFERER']) ? esc_url_raw($_SERVER['HTTP_REFERER']) : '';

    $message = '';
    $message .= "<b>Новая заявка с сайта</b>n";
    $message .= "Форма: " . sc_telegram_escape_html($contact_form->title()) . "n";
    $message .= "Имя: " . sc_telegram_escape_html($name) . "n";
    $message .= "Телефон: " . sc_telegram_escape_html($phone) . "n";
    $message .= "Email: " . sc_telegram_escape_html($email) . "n";
    $message .= "Сообщение: " . sc_telegram_escape_html($text) . "n";
    $message .= "Страница: " . sc_telegram_escape_html($page_url);

    sc_send_telegram_message($message);
}

4. Отправка кастомной AJAX-формы WordPress в Telegram

Важно: AJAX-форма должна использовать nonce. Не отправляйте данные из POST в Telegram без очистки.

HTML формы:

<div class="sc-telegram-form">
    <input type="text" id="sc_tg_name" placeholder="Ваше имя">
    <input type="text" id="sc_tg_phone" placeholder="Телефон">
    <input type="email" id="sc_tg_email" placeholder="Email">
    <textarea id="sc_tg_message" placeholder="Сообщение"></textarea>
    <input type="hidden" id="sc_tg_nonce" value="<?php echo esc_attr(wp_create_nonce('sc_send_tg_lead_nonce')); ?>">
    <button type="button" id="sc_tg_send">Отправить</button>
    <div id="sc_tg_result"></div>
</div>

jQuery:

<script>
jQuery(document).ready(function() {
    jQuery(document).on('click', '#sc_tg_send', function() {
        jQuery('#sc_tg_result').html('Отправка...');

        jQuery.ajax({
            url: '<?php echo admin_url("admin-ajax.php") ?>',
            type: 'POST',
            dataType: 'json',
            data: {
                action: 'sc_send_tg_lead',
                nonce: jQuery('#sc_tg_nonce').val(),
                name: jQuery('#sc_tg_name').val(),
                phone: jQuery('#sc_tg_phone').val(),
                email: jQuery('#sc_tg_email').val(),
                message: jQuery('#sc_tg_message').val(),
                page_url: window.location.href
            },
            success: function(response) {
                if (response.success) {
                    jQuery('#sc_tg_result').html(response.data.message);
                    jQuery('#sc_tg_name').val('');
                    jQuery('#sc_tg_phone').val('');
                    jQuery('#sc_tg_email').val('');
                    jQuery('#sc_tg_message').val('');
                } else {
                    jQuery('#sc_tg_result').html(response.data.message);
                }
            },
            error: function() {
                jQuery('#sc_tg_result').html('Ошибка отправки. Попробуйте позже.');
            }
        });
    });
});
</script>

PHP обработчик:

<?php
add_action('wp_ajax_sc_send_tg_lead', 'sc_send_tg_lead');
add_action('wp_ajax_nopriv_sc_send_tg_lead', 'sc_send_tg_lead');

function sc_send_tg_lead() {
    check_ajax_referer('sc_send_tg_lead_nonce', 'nonce');

    $name = isset($_POST['name']) ? sanitize_text_field($_POST['name']) : '';
    $phone = isset($_POST['phone']) ? sanitize_text_field($_POST['phone']) : '';
    $email = isset($_POST['email']) ? sanitize_email($_POST['email']) : '';
    $text = isset($_POST['message']) ? sanitize_textarea_field($_POST['message']) : '';
    $page_url = isset($_POST['page_url']) ? esc_url_raw($_POST['page_url']) : '';

    if (empty($phone) && empty($email)) {
        wp_send_json_error(array(
            'message' => 'Укажите телефон или email.'
        ));
    }

    $message = '';
    $message .= "<b>Новая заявка с сайта</b>n";
    $message .= "Имя: " . sc_telegram_escape_html($name) . "n";
    $message .= "Телефон: " . sc_telegram_escape_html($phone) . "n";
    $message .= "Email: " . sc_telegram_escape_html($email) . "n";
    $message .= "Сообщение: " . sc_telegram_escape_html($text) . "n";
    $message .= "Страница: " . sc_telegram_escape_html($page_url);

    $sent = sc_send_telegram_message($message);

    if (!$sent) {
        wp_send_json_error(array(
            'message' => 'Заявка принята, но Telegram временно недоступен.'
        ));
    }

    wp_send_json_success(array(
        'message' => 'Заявка отправлена.'
    ));
}

5. Резервное сохранение заявки в WordPress

Важно: если в заявках есть персональные данные, ограничьте доступ к ним в админке и продумайте срок хранения.

<?php
add_action('init', 'sc_register_telegram_lead_post_type');

function sc_register_telegram_lead_post_type() {
    register_post_type('sc_tg_lead', array(
        'labels' => array(
            'name' => 'Telegram заявки',
            'singular_name' => 'Telegram заявка',
        ),
        'public' => false,
        'show_ui' => true,
        'show_in_menu' => true,
        'supports' => array('title', 'editor'),
        'capability_type' => 'post',
    ));
}

function sc_save_telegram_lead_backup($name, $phone, $email, $text, $page_url) {
    $content = '';
    $content .= 'Имя: ' . sanitize_text_field($name) . "n";
    $content .= 'Телефон: ' . sanitize_text_field($phone) . "n";
    $content .= 'Email: ' . sanitize_email($email) . "n";
    $content .= 'Сообщение: ' . sanitize_textarea_field($text) . "n";
    $content .= 'Страница: ' . esc_url_raw($page_url) . "n";

    wp_insert_post(array(
        'post_type' => 'sc_tg_lead',
        'post_status' => 'private',
        'post_title' => 'Заявка от ' . current_time('Y-m-d H:i:s'),
        'post_content' => $content,
    ));
}

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

Результат

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

Хороший результат

  • заявка приходит в Telegram сразу после отправки формы;
  • bot token не виден в HTML, JS и коде страницы;
  • chat_id указывает на правильный чат;
  • бот имеет доступ к группе или каналу;
  • сообщение содержит имя, телефон, email, текст и страницу заявки;
  • ошибки Telegram API пишутся в debug.log;
  • данные формы очищаются перед отправкой;
  • email или CRM остаются резервным каналом;
  • заявка не теряется, если Telegram временно не ответил;
  • форма не зависает из-за долгого внешнего запроса.

Дополнительные способы

Вариант 1: Плагин для Contact Form 7

Подходит, если на сайте уже используется Contact Form 7 и нужно быстро отправлять заявки в Telegram без кастомного кода.

Плюсы: быстрое подключение, настройки в админке, не нужно писать PHP.

Минусы: зависимость от обновлений плагина, не всегда есть нужная структура сообщения, логи и резервное сохранение.

Вариант 2: WP Telegram / уведомления WordPress

Подходит, если нужно получать в Telegram не только заявки, но и другие уведомления WordPress: системные письма, WooCommerce, Contact Form 7 и события сайта.

Плюсы: шире покрытие событий WordPress.

Минусы: может быть больше настроек, чем нужно для простой формы.

Вариант 3: n8n, Make, Zapier или другой no-code

Подходит, если нужно связать WordPress, Telegram, CRM, Google Sheets и другие сервисы без разработки.

Плюсы: удобно для цепочек автоматизации.

Минусы: внешний сервис, тарифы, задержки, зависимость от webhook.

Вариант 4: Кастомный мини-плагин

Подходит, если нужна точная структура сообщения, защита токена, логи, разные чаты для разных форм и резервное сохранение заявок.

Плюсы: полный контроль, можно дорабатывать под бизнес-процесс.

Минусы: нужно тестирование и аккуратная поддержка.

Вариант 5: Telegram + CRM

Подходит для отдела продаж. Telegram получает быстрый сигнал, а CRM хранит лид, статус, менеджера, UTM-метки и историю обработки.

Плюсы: меньше риск потерять заявку.

Минусы: нужно настроить логику повторной отправки и обработку ошибок API.

Безопасность

Telegram-интеграция работает с bot token, chat_id и персональными данными клиента. Ошибки в безопасности здесь встречаются часто: токен вставляют в JavaScript, заявку отправляют в публичную группу, а ошибки API показывают пользователю.

Что нельзя делать

  • нельзя вставлять bot token в JavaScript;
  • нельзя хранить токен в HTML-разметке;
  • нельзя отправлять заявки в публичный канал с лишними людьми;
  • нельзя отправлять пароли и платёжные данные;
  • нельзя показывать пользователю сырой ответ Telegram API;
  • нельзя оставлять AJAX без nonce;
  • нельзя доверять данным из POST без sanitize;
  • нельзя логировать bot token в debug.log;
  • нельзя делать Telegram единственной копией заявки.

Что нужно использовать

  • хранение токена в wp-config.php или защищённых настройках плагина;
  • серверную отправку через PHP;
  • wp_remote_post();
  • check_ajax_referer();
  • sanitize_text_field();
  • sanitize_email();
  • sanitize_textarea_field();
  • экранирование текста перед parse_mode HTML;
  • debug.log без секретных ключей;
  • резервное сохранение заявки в WordPress или CRM.

Производительность

Отправка в Telegram — это внешний HTTP-запрос. Если Telegram API, хостинг или сеть отвечают медленно, пользователь может дольше ждать отправку формы.

Что может тормозить форму

  • долгий ответ Telegram API;
  • слишком большой timeout в wp_remote_post();
  • несколько внешних запросов подряд: Telegram, CRM, email, Google Sheets;
  • медленный хостинг;
  • PHP-ошибка перед отправкой;
  • security-плагин проверяет каждый AJAX-запрос;
  • форма отправляет большие вложения;
  • нет локального сохранения заявки перед внешней отправкой.

Что помогает

  • ставить разумный timeout для Telegram-запроса;
  • сначала сохранять заявку локально;
  • для сложных проектов отправлять Telegram в фоне через cron или очередь;
  • не отправлять в Telegram большие файлы без необходимости;
  • не выполнять несколько API-запросов до ответа пользователю;
  • логировать ошибки внешних запросов;
  • проверять Network и время AJAX-ответа формы.

Частые ошибки

Вставить bot token во фронтенд

Это опасно. Любой посетитель может открыть исходный код страницы и увидеть токен. Отправка должна идти только через PHP на сервере.

Неправильный chat_id

Личный чат, группа, супергруппа и канал имеют разные идентификаторы. Если chat_id неверный, Telegram вернёт ошибку или сообщение уйдёт не туда.

Бот не добавлен в группу

Если заявки должны идти в группу, бот должен быть участником этой группы. Для канала бот обычно должен быть добавлен как администратор.

Нет первого сообщения боту

Для личного чата пользователь должен сначала открыть бота и нажать Start. Иначе бот не сможет написать первым.

Сломанный HTML в сообщении

Если используется parse_mode HTML, пользовательские данные нужно экранировать. Символы <, > и & могут сломать сообщение.

Нет логов

Без логов непонятно, что случилось: неверный токен, неправильный chat_id, 403, 400, timeout или блокировка хостинга.

Нет резервного хранения

Если Telegram временно недоступен, заявка может потеряться. Лучше сохранять её в WordPress, CRM или базе до отправки.

Отключили email полностью

Telegram быстрый, но email лучше оставить как резервный канал. Особенно если заявки важны для бизнеса.

Диагностика проблем

Проблема: заявка не приходит в Telegram

  • проверить bot token;
  • проверить chat_id;
  • проверить, писал ли пользователь боту Start;
  • проверить, добавлен ли бот в группу;
  • проверить права бота в канале;
  • проверить debug.log;
  • проверить ответ wp_remote_post();
  • проверить, срабатывает ли hook формы.

Проблема: Telegram возвращает 400

  • проверить формат chat_id;
  • проверить parse_mode;
  • убрать HTML-разметку и отправить простой текст;
  • проверить длину сообщения;
  • проверить спецсимволы в данных формы;
  • экранировать пользовательский текст;
  • проверить тело ответа Telegram API.

Проблема: Telegram возвращает 401

  • проверить bot token;
  • убедиться, что токен не обрезан;
  • проверить, не вставлен ли лишний пробел;
  • создать новый token через BotFather;
  • обновить token в wp-config.php;
  • очистить кеш настроек, если используется плагин.

Проблема: Telegram возвращает 403

  • проверить, не заблокировал ли пользователь бота;
  • проверить, находится ли бот в группе;
  • проверить права бота в канале;
  • проверить, не удалён ли бот из чата;
  • проверить, правильный ли chat_id;
  • проверить, может ли бот отправить тестовое сообщение вручную.

Проблема: Contact Form 7 отправляет email, но Telegram молчит

  • проверить hook wpcf7_mail_sent;
  • проверить, не блокирует ли отправку антиспам;
  • проверить названия полей формы;
  • проверить debug.log;
  • проверить, вызывается ли sc_send_telegram_message();
  • проверить ответ Telegram API;
  • временно отправить статический тестовый текст.

Проблема: форма долго отправляется

  • проверить время AJAX-запроса в Network;
  • уменьшить timeout Telegram-запроса;
  • сначала сохранять заявку локально;
  • не отправлять несколько внешних API до ответа пользователю;
  • проверить хостинг и исходящие HTTPS-запросы;
  • для сложных форм использовать очередь.

Проблема: заявка приходит без части полей

  • проверить реальные name атрибуты полей;
  • проверить posted_data Contact Form 7;
  • проверить, не изменили ли поле в форме;
  • проверить обязательность поля;
  • проверить, нет ли нескольких форм с разными названиями полей;
  • проверить, не очищается ли поле JavaScript-кодом.

Краткие ответы для AI-поиска

Как отправлять заявки с WordPress в Telegram?

Нужно создать Telegram-бота, получить bot token, узнать chat_id нужного чата и отправлять данные формы с сервера WordPress через Telegram Bot API методом sendMessage.

Можно ли отправлять Contact Form 7 в Telegram?

Да. Можно использовать готовый плагин или hook wpcf7_mail_sent, получить данные формы через WPCF7_Submission и отправить сообщение через wp_remote_post().

Где хранить Telegram bot token в WordPress?

Лучше хранить token в wp-config.php или защищённых настройках плагина. Нельзя вставлять token в JavaScript или HTML страницы.

Почему заявки WordPress не приходят в Telegram?

Частые причины: неправильный token, неверный chat_id, бот не добавлен в группу, пользователь не нажал Start, Telegram вернул ошибку, hook формы не сработал или хостинг блокирует запрос.

FAQ

Можно ли отправлять заявки в Telegram без плагина?

Да. Можно написать небольшой PHP-код или отдельный мини-плагин WordPress, который отправляет данные формы через Telegram Bot API.

Что лучше: плагин или свой код?

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

Как получить Telegram bot token?

Bot token создаётся через BotFather. После создания бота Telegram выдаёт строку токена. Её нужно хранить только на сервере.

Как получить chat_id?

Для личного чата нужно написать боту Start и получить chat_id через служебного бота или getUpdates. Для группы нужно добавить бота в группу и получить ID этой группы. Для канала бот должен иметь права на отправку сообщений.

Можно ли отправлять заявки в Telegram-группу?

Да. Добавьте бота в группу, получите chat_id группы и используйте его при отправке сообщения.

Можно ли отправлять заявки в Telegram-канал?

Да. Бота нужно добавить в канал и дать ему права на публикацию сообщений. Затем использовать chat_id или username канала, если формат подходит для вашей схемы отправки.

Можно ли отправлять заказы WooCommerce в Telegram?

Да. Для заказов WooCommerce используются хуки WooCommerce, например при создании заказа или смене статуса. Но такую интеграцию нужно тестировать аккуратно, чтобы не тормозить checkout.

Нужно ли оставлять email-уведомления?

Да. Telegram лучше использовать как быстрый дубликат, а email или CRM оставить как резервный канал и основное хранилище заявки.

Что делать, если Telegram временно недоступен?

Лучше сначала сохранить заявку в WordPress или CRM, а Telegram отправлять после этого. Если Telegram не ответил, ошибка пишется в лог, а заявка не теряется.

Безопасно ли отправлять заявки в Telegram?

Да, если token хранится на сервере, чат закрыт для посторонних, данные очищаются, а в сообщение не отправляются пароли, платёжные данные и лишняя персональная информация.

Вывод

Отправка заявок с WordPress в Telegram помогает быстрее реагировать на обращения с сайта. Для простой задачи можно использовать готовый плагин. Для стабильной рабочей схемы лучше сделать серверную интеграцию через bot token, chat_id, wp_remote_post(), логи и резервное сохранение заявки.

Главное — не вставлять bot token во фронтенд, не делать Telegram единственным хранилищем заявки и не отправлять лишние персональные данные. Надёжная схема такая: WordPress принимает форму, сохраняет заявку, отправляет уведомление в Telegram, оставляет email или CRM как резерв и записывает ошибки в debug.log.

Об авторе

vkuzyomko administrator