Практична інструкція

Contact Form 7 і Elementor: заявки в Telegram

Форма на WordPress лишається як є, а кожна заявка приходить у Telegram. Покрокове налаштування вебхука для Contact Form 7 та Elementor Pro і місця, де найчастіше помиляються.

Коротка відповідь. Ні Contact Form 7, ні Elementor не вміють самі надсилати заявки в Telegram. Потрібен вебхук, який передає кожну заявку сервісу, а той уже пересилає її в Telegram. В Elementor Pro дія Webhook вбудована. Для Contact Form 7 потрібен безкоштовний плагін CF7 to Webhook. Якщо вебхук веде на Formgong, кожна заявка ще й приходить на пошту та зберігається у вхідних, навіть коли пошта WordPress не працює.

Formgong

Contact Form 7 і Elementor: заявки в Telegram
Contact Form 7 і Elementor: заявки в Telegram

Три способи отримувати заявки з WordPress у Telegram

  • Telegram-плагін із власним ботом. Ви створюєте бота через BotFather, дізнаєтеся chat ID і вставляєте обидва значення в плагін. Це працює, але плагін треба підтримувати, а токен бота зберігається у WordPress.
  • Вебхук на сервіс для форм. Форма лишається як є. Кожна заявка йде на сервіс, який надсилає її в Telegram і на пошту. У цій інструкції це Formgong.
  • Замінити форму на HTML-форму. Вставте звичайну HTML-форму в блок «Довільний HTML», і плагін форм більше не потрібен. Цей шлях описано на сторінці про WordPress.

Хочете власного бота? У статті про Telegram-бота для форми зворотного зв'язку є код.

Крок 1: створіть URL платформи у Formgong

  1. Створіть форму у Formgong і підключіть Telegram у її налаштуваннях: відкрийте посилання на бота Formgong і запустіть його кнопкою Start. Для групи надішліть команду підключення в самій групі.
  2. Відкрийте форму, перейдіть у Платформи й натисніть Додати платформу.
  3. Для форми Elementor виберіть Elementor. Для Contact Form 7 виберіть Інше (JSON або дані форми).
  4. Одразу скопіюйте URL. З міркувань безпеки його показують лише один раз. Якщо загубите, створіть новий.

Будь-хто з цим URL може надсилати заявки у вашу форму, тож не публікуйте його на сторінках і в коді.

Крок 2а: Contact Form 7 і плагін CF7 to Webhook

Своєї опції вебхука в Contact Form 7 немає. Її додає безкоштовний плагін CF7 to Webhook. Він надсилає кожну заявку як JSON, де ключі — це назви ваших полів. Назви налаштувань нижче наведено так, як вони виглядають в англійському інтерфейсі плагіна.

  1. Встановіть і активуйте CF7 to Webhook з каталогу плагінів WordPress.
  2. Відкрийте форму на редагування й перейдіть на нову вкладку Webhook. Поставте позначку Send to Webhook і вставте URL з Formgong.
  3. Зніміть позначку Send CF7 mail as usually. Contact Form 7 викликає вебхук лише після того, як успішно надіслав власний лист. Якщо пошта WordPress зламана, вебхук не спрацює ніколи.
  4. Додайте до тегів форми опції webhook:, як у шаблоні нижче. Вони перейменовують поля в JSON. За полями name та email Formgong заповнює ім'я відправника й адресу для відповіді в листі-сповіщенні. Поле з назвою _subject стає темою листа.
  5. Збережіть форму й надішліть тестову заявку з опублікованої сторінки.

Без перейменування заявки теж приходять, але з ключами на кшталт your-email. Formgong зберігає їх як є, тільки тоді відповідь із листа-сповіщення не потрапить до відвідувача. Підписи полів можна писати українською, а назви тегів лишайте латиницею.

Форма Contact Form 7
<label> Ваше ім'я
    [text* your-name autocomplete:name webhook:name] </label>

<label> Ваш email
    [email* your-email autocomplete:email webhook:email] </label>

<label> Тема
    [text* your-subject webhook:_subject] </label>

<label> Ваше повідомлення
    [textarea your-message webhook:message] </label>

[submit "Надіслати"]
Що плагін надсилає у Formgong
HTTP
POST https://formgong.com/in/YOUR_PLATFORM_TOKEN
Content-Type: application/json; charset=UTF-8

{"name":"Олена Коваль","email":"olena@example.com","_subject":"Запит ціни","message":"Скільки коштує сайт-візитка?"}

Крок 2б: форми Elementor Pro

Віджет Form і його дія Webhook є лише в Elementor Pro. У безкоштовному Elementor віджета форми немає. Назви нижче — як в англійському інтерфейсі Elementor.

  1. Відкрийте сторінку в редакторі й виберіть форму.
  2. У розділі Actions After Submit додайте Webhook.
  3. Відкрийте новий розділ Webhook, вставте URL з Formgong і ввімкніть Advanced Data.
  4. Дайте кожному полю зрозумілий підпис: саме його ви побачите в Telegram.
  5. Натисніть Update і надішліть тестову заявку з опублікованої сторінки.

Дію Email можна залишити поруч із вебхуком або прибрати, коли повідомлення в Telegram почнуть приходити.

Крок 3: перевірте

Надішліть з опублікованої сторінки заявку, яку легко впізнати, наприклад «Тест, Олена». За кілька секунд вона має з'явитися в Telegram, на пошті та у вхідних Formgong.

У списку платформ Formgong видно час останнього запиту і його статус: Працює, Отримано тестовий запит або Останній запит не вдався. Якщо не прийшло взагалі нічого, перевірте, що вебхук збережено, а сторінку опубліковано заново. Загальні кроки описано в статті про те, як надсилати заявки з форми сайту в Telegram.

Що варто знати заздалегідь

  • Без файлів. URL платформ не приймають файли. CF7 to Webhook передає завантажені файли як посилання на копії на вашому сервері. Опцію, що надсилає вміст файлу замість посилання, не вмикайте.
  • Спам перевіряється двічі. Спершу його фільтрують Contact Form 7 чи Elementor, наприклад через інтеграцію Contact Form 7 з Turnstile. Потім Formgong застосовує власні перевірки та список блокування.
  • Заявки входять у ліміт тарифу. Заявки з платформ рахуються в місячний ліміт Formgong так само, як і будь-які інші. На безкоштовному тарифі це 300 на місяць.
  • Тримайте URL у секреті. Якщо він витік, створіть новий URL у розділі «Платформи». Старий одразу перестане працювати.

Питання та відповіді

Чи може Contact Form 7 надсилати в Telegram без плагіна?

Ні. Contact Form 7 надсилає лише листи. Потрібен плагін: або Telegram-плагін із власним ботом, або плагін вебхуків, наприклад CF7 to Webhook.

Чи працює це з безкоштовним Elementor?

Ні. Віджет Form і дія Webhook є лише в Elementor Pro. У безкоштовному Elementor вставте HTML-форму у віджет HTML.

Чи прийде лист, якщо Telegram недоступний?

Так. Formgong надсилає лист окремо й зберігає кожну заявку у вхідних, тож збій одного каналу не означає втрачену заявку.

Чому вебхук не спрацьовує, коли не працює пошта WordPress?

CF7 to Webhook запускається після того, як Contact Form 7 повідомив про успішне надсилання листа. Зніміть позначку «Send CF7 mail as usually», тоді Contact Form 7 пропустить власний лист, а вебхук спрацьовуватиме щоразу.

Джерела та документація

Офіційні джерела для цієї інструкції: CF7 to Webhook plugin, Contact Form 7: tag syntax, Contact Form 7: Turnstile integration, Elementor: Actions After Submit, Elementor: Form widget. Formgong для WordPress, де зберігаються дані.

Завантажити текст статті (Markdown)

Оцініть цю статтю

Ваша оцінка

Ми читаємо кожну оцінку. Коментар з'явиться тут лише після нашого схвалення.

← До блогу