Интеграция WPForms с SMS-уведомлениями: настройка и примеры кода

Зачем нужна интеграция WPForms с SMS-уведомлениями

WPForms — один из самых популярных плагинов для создания форм в WordPress. Часто возникает задача получать уведомления не только на почту, но и на мобильный телефон через SMS. Это особенно важно для срочных заявок, заказов или поддержки клиентов, когда нужно мгновенно реагировать. SMS уведомления позволяют повысить оперативность и не пропустить важное сообщение.

Преимущества SMS-уведомлений:

  • Мгновенное получение информации;
  • Высокая вероятность прочтения;
  • Возможность автоматизировать обработку заявок;
  • Независимость от интернета и почтовых фильтров.

В этой статье мы разберём, как связать WPForms с SMS-шлюзами, приведём примеры кода и рассмотрим популярные сервисы для отправки сообщений.

Выбор SMS-сервиса для интеграции с WPForms

Для отправки SMS существует множество провайдеров: Twilio, SMS.ru, Nexmo (Vonage), Clickatell и другие. Выбор зависит от региона, стоимости и функционала.

Рассмотрим на примере SMS.ru — популярного российского сервиса с простым API.

Чтобы начать работу:

  1. Зарегистрируйтесь на sms.ru;
  2. Пополните баланс;
  3. Получите API-ключ в личном кабинете;
  4. Проверьте отправку SMS через тестовый запрос.

Подключение отправки SMS к форме WPForms с помощью хука отправки

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

Пример функции для отправки SMS через SMS.ru:

function wpformru_send_sms_notification($fields, $entry, $form_data) {
    $api_key = 'ВАШ_API_КЛЮЧ_SMSRU';
    $phone_field_id = 3; // ID поля с номером телефона в форме

    if ( empty($fields[$phone_field_id]['value']) ) {
        return; // Номер телефона не заполнен
    }

    $phone = $fields[$phone_field_id]['value'];
    $message = 'Новая заявка с сайта: ' . $form_data['settings']['form_title'];

    // Формируем URL для отправки
    $url = 'https://sms.ru/sms/send?api_id=' . $api_key . '&to=' . urlencode($phone) . '&msg=' . urlencode($message) . '&json=1';

    // Отправляем запрос
    $response = wp_remote_get($url);

    if (is_wp_error($response)) {
        error_log('Ошибка отправки SMS: ' . $response->get_error_message());
    } else {
        $body = json_decode(wp_remote_retrieve_body($response), true);
        if ($body['status'] != 'OK') {
            error_log('SMS.ru ответ с ошибкой: ' . print_r($body, true));
        }
    }
}
add_action('wpforms_process_complete', 'wpformru_send_sms_notification', 10, 3);

В этом коде мы используем ID поля с номером телефона, получаем его значение, формируем сообщение и отправляем запрос к API SMS.ru. При ошибках выводим сообщения в лог ошибок WordPress.

Как узнать ID поля в форме WPForms

В редакторе WPForms при выделении поля в правом блоке настроек отображается его ID. Его нужно указать в коде, чтобы правильно получить номер телефона.

Расширение функционала: отправка SMS нескольким получателям и динамическое тело сообщения

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

function wpformru_send_sms_to_multiple($fields, $entry, $form_data) {
    $api_key = 'ВАШ_API_КЛЮЧ_SMSRU';
    $phone_field_id = 3;

    if (empty($fields[$phone_field_id]['value'])) {
        return;
    }

    $phone_client = $fields[$phone_field_id]['value'];
    $manager_numbers = ['+79001234567', '+79007654321'];

    $message = 'Новая заявка с сайта: ' . $form_data['settings']['form_title'] . ". Телефон клиента: " . $phone_client;

    foreach ($manager_numbers as $phone) {
        $url = 'https://sms.ru/sms/send?api_id=' . $api_key . '&to=' . urlencode($phone) . '&msg=' . urlencode($message) . '&json=1';
        $response = wp_remote_get($url);
        if (is_wp_error($response)) {
            error_log('Ошибка отправки SMS менеджеру: ' . $response->get_error_message());
        }
    }
}
add_action('wpforms_process_complete', 'wpformru_send_sms_to_multiple', 10, 3);

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

Обработка ошибок и логирование отправки SMS

Для стабильной работы важно отслеживать ошибки отправки. В WordPress для этого удобно использовать error_log. Можно расширить код, чтобы записывать лог в отдельный файл или базу данных для последующего анализа.

Например, для записи в файл:

function wpformru_log_sms_error($message) {
    $log_file = WP_CONTENT_DIR . '/sms_errors.log';
    $date = date('Y-m-d H:i:s');
    file_put_contents($log_file, "[$date] $message\n", FILE_APPEND);
}
<

И вызывать эту функцию вместо error_log внутри обработчика.

Использование готовых плагинов для интеграции SMS и WPForms

Если писать код не хочется, можно использовать готовые решения. Например, есть плагин SMS Notifications for WPForms на wpshop.ru, который добавляет возможность отправлять SMS по событиям WPForms, с настройкой шаблонов и различных провайдеров.

Преимущества использования плагина:

  • Простая настройка через админку;
  • Поддержка нескольких SMS-сервисов;
  • Гибкие шаблоны сообщений;
  • Отслеживание статусов отправки.

Это может существенно сэкономить время и повысить надёжность.

Практические советы по работе с SMS-уведомлениями в WPForms

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

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

3. Используйте отложенную отправку при необходимости — например, отправлять SMS только после проверки заявки.

4. Обязательно тестируйте интеграцию на разных формах и с разными номерами.

Заключение

Интеграция WPForms с SMS-уведомлениями — мощный инструмент для оперативного взаимодействия с клиентами и командой. С помощью простого кода на PHP и API популярных SMS-сервисов вы можете настроить отправку мгновенных сообщений прямо из форм WordPress. При необходимости используйте готовые плагины с расширенным функционалом.

Для удобства работы с SMS уведомлениями в WPForms рекомендуем ознакомиться с плагином SMS Notifications for WPForms на wpshop.ru.

Как создать подключаемые поля в WPForms с применением хуков
27.01.2026
WPForms: как автоматически сохранять данные форм в базу данных WordPress
18.12.2025
Как создать свой уникальный шаблон для форм в WordPress с помощью WPForms
03.11.2025
WPForms и ответ на AJAX-запросы без перезагрузки страницы в WordPress
12.12.2025
WPForms: заполнение формы через AJAX без перезагрузки страницы
05.02.2026